{"version":3,"file":"sentry-spotlight.umd.cjs","sources":["../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react.production.min.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/index.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/.pnpm/react@18.3.1/node_modules/react/jsx-runtime.js","../../sidecar/dist/constants.js","../../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/cjs/scheduler.production.min.js","../../../node_modules/.pnpm/scheduler@0.23.2/node_modules/scheduler/index.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/cjs/react-dom.production.min.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/index.js","../../../node_modules/.pnpm/@remix-run+router@1.23.0/node_modules/@remix-run/router/dist/router.js","../../../node_modules/.pnpm/react-router@6.30.0_react@18.3.1/node_modules/react-router/dist/index.js","../../../node_modules/.pnpm/react-router-dom@6.30.0_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/react-router-dom/dist/index.js","../../../node_modules/.pnpm/@shikijs+types@3.13.0/node_modules/@shikijs/types/dist/index.mjs","../../../node_modules/.pnpm/@shikijs+vscode-textmate@10.0.2/node_modules/@shikijs/vscode-textmate/dist/index.js","../../../node_modules/.pnpm/html-void-elements@3.0.0/node_modules/html-void-elements/index.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/schema.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/merge.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/normalize.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/info.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/types.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/defined-info.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/create.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/aria.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-sensitive-transform.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/util/case-insensitive-transform.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/html.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/svg.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xlink.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xmlns.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/xml.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/lib/find.js","../../../node_modules/.pnpm/property-information@7.1.0/node_modules/property-information/index.js","../../../node_modules/.pnpm/zwitch@2.0.4/node_modules/zwitch/index.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/core.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-hexadecimal.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-decimal.js","../../../node_modules/.pnpm/character-entities-legacy@3.0.0/node_modules/character-entities-legacy/index.js","../../../node_modules/.pnpm/character-entities-html4@2.1.0/node_modules/character-entities-html4/index.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/constant/dangerous.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/to-named.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/util/format-smart.js","../../../node_modules/.pnpm/stringify-entities@4.0.4/node_modules/stringify-entities/lib/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/comment.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/doctype.js","../../../node_modules/.pnpm/ccount@2.0.1/node_modules/ccount/index.js","../../../node_modules/.pnpm/comma-separated-tokens@2.0.3/node_modules/comma-separated-tokens/index.js","../../../node_modules/.pnpm/space-separated-tokens@2.0.2/node_modules/space-separated-tokens/index.js","../../../node_modules/.pnpm/hast-util-whitespace@3.0.0/node_modules/hast-util-whitespace/lib/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/util/siblings.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/omission.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/closing.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/omission/opening.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/element.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/text.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/raw.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/root.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/handle/index.js","../../../node_modules/.pnpm/hast-util-to-html@9.0.5/node_modules/hast-util-to-html/lib/index.js","../../../node_modules/.pnpm/@shikijs+core@3.13.0/node_modules/@shikijs/core/dist/index.mjs","../../../node_modules/.pnpm/shiki@3.13.0/node_modules/shiki/dist/themes.mjs","../../../node_modules/.pnpm/@shikijs+engine-oniguruma@3.13.0/node_modules/@shikijs/engine-oniguruma/dist/index.mjs","../../../node_modules/.pnpm/shiki@3.13.0/node_modules/shiki/dist/bundle-web.mjs","../src/ShikiProvider.tsx","../src/lib/removeURLSuffix.ts","../src/lib/logger.ts","../src/sidecar.ts","../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../node_modules/.pnpm/tailwind-merge@3.3.0/node_modules/tailwind-merge/dist/bundle-mjs.mjs","../src/lib/cn.ts","../src/lib/routePersistence.ts","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@18.3.20_react@18.3.1/node_modules/zustand/esm/vanilla.mjs","../../../node_modules/.pnpm/zustand@5.0.3_@types+react@18.3.20_react@18.3.1/node_modules/zustand/esm/react.mjs","../src/telemetry/constants/sentry.ts","../src/telemetry/utils/sdkToPlatform.ts","../src/telemetry/store/slices/envelopesSlice.ts","../src/lib/uuid.ts","../src/telemetry/utils/traces.ts","../src/telemetry/data/profiles.ts","../src/telemetry/utils/sentry.ts","../src/telemetry/store/utils.ts","../src/telemetry/store/slices/eventsSlice.ts","../src/telemetry/store/slices/logsSlice.ts","../src/telemetry/store/slices/profilesSlice.ts","../src/telemetry/store/slices/sdksSlice.ts","../src/constants.ts","../src/telemetry/store/slices/settingsSlice.ts","../src/telemetry/utils/fetch.ts","../src/telemetry/store/slices/sharedSlice.ts","../src/telemetry/store/slices/subscriptionsSlice.ts","../src/telemetry/store/slices/tracesSlice.ts","../src/telemetry/store/store.ts","../../sidecar/dist/parser/helpers.js","../src/telemetry/utils/tabs.ts","../src/telemetry/components/TelemetryTabs.tsx","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/astro.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/default.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/dotnet.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/firefox.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/google.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/javascript.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/laravel.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/maui.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/nestjs.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/nextjs.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/nodejs.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/php.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/python.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/remix.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/ruby.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/safari.svg","../../../node_modules/.pnpm/platformicons@7.0.5_react@18.3.1/node_modules/platformicons/svg/symfony.svg","../src/telemetry/components/shared/PlatformIcon.tsx","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/debug-build.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/worldwide.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/version.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/carrier.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/debug-logger.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/stacktrace.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/instrument/handlers.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/instrument/globalError.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/instrument/globalUnhandledRejection.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/is.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/browser.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/string.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/object.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/misc.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/time.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/session.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/merge.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/propagationContext.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/spanOnScope.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/scope.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/defaultScopes.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/asyncContext/stackStrategy.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/asyncContext/index.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/currentScopes.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/semanticAttributes.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/spanstatus.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/utils.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/baggage.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/dsn.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/parseSampleRate.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/tracing.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/spanUtils.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/errors.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/hasSpansEnabled.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/constants.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/dynamicSamplingContext.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/sentryNonRecordingSpan.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/normalize.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/envelope.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/should-ignore-span.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/envelope.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/logSpans.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/measurement.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/sentrySpan.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/handleCallbackErrors.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/sampling.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/trace.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/tracing/idleSpan.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/syncpromise.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/eventProcessors.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/applyScopeDataToEvent.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/debug-ids.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/prepareEvent.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/exports.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/api.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/integration.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/clientreport.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/eventUtils.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/transactionEvent.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/client.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/logs/envelope.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/logs/exports.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/sdk.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/promisebuffer.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/ratelimit.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/transports/base.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/transports/offline.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/isSentryRequestUrl.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/ipAddress.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/sdkMetadata.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/traceData.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/debounce.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/breadcrumbs.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/integrations/functiontostring.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/integrations/eventFilters.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/aggregate-errors.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/instrument/console.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/severity.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/integrations/dedupe.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/url.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/fetch.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/breadcrumb-log-level.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/supports.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/instrument/fetch.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/env.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/node.js","../../../node_modules/.pnpm/@sentry+core@10.5.0/node_modules/@sentry/core/build/esm/utils/isBrowser.js","../../sidecar/dist/formatters/utils.js","../../sidecar/dist/formatters/md/event.js","../../sidecar/dist/formatters/md/errors.js","../src/assets/check.svg","../src/assets/copy.svg","../../../node_modules/.pnpm/@radix-ui+react-compose-refs@1.1.2_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-slot@1.2.3_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-slot/dist/index.mjs","../../../node_modules/.pnpm/class-variance-authority@0.7.1/node_modules/class-variance-authority/dist/index.mjs","../src/ui/button.tsx","../../../node_modules/.pnpm/@radix-ui+primitive@1.1.2/node_modules/@radix-ui/primitive/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-context@1.1.2_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-context/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-primitive@2.1.3_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@18_yq6rshhstdin2s6pzavaa3yqw4/node_modules/@radix-ui/react-primitive/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-use-callback-ref@1.1.1_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-use-escape-keydown@1.1.1_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-dismissable-layer@1.1.10_@types+react-dom@18.3.7_@types+react@18.3.20__@types_4xe7at73vhnylfkr7fu3s2otw4/node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-use-layout-effect@1.1.1_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-id@1.1.1_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-id/dist/index.mjs","../../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../../node_modules/.pnpm/@floating-ui+core@1.7.0/node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../../node_modules/.pnpm/@floating-ui+dom@1.7.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../../node_modules/.pnpm/@floating-ui+react-dom@2.1.2_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../../node_modules/.pnpm/@radix-ui+react-arrow@1.1.7_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@18.3.2_y6lfdenhgswzwqiwoceh5gtj4u/node_modules/@radix-ui/react-arrow/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-use-size@1.1.1_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-size/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-popper@1.2.7_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@18.3._qkmq3druwmykhy3lwlq2drg2jq/node_modules/@radix-ui/react-popper/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-portal@1.1.9_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@18.3._k3khfgpjnzc3wjlnxbnxs5hpce/node_modules/@radix-ui/react-portal/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-presence@1.1.4_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@18._5i3cuxurilfc6bjlordkqjogvu/node_modules/@radix-ui/react-presence/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-use-controllable-state@1.2.2_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-visually-hidden@1.2.3_@types+react-dom@18.3.7_@types+react@18.3.20__@types+re_5qqquos5qah5lhq2cdddnnd2qi/node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-tooltip@1.2.7_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@18.3_zki36nbrj6iv2aw6x6m6p6n724/node_modules/@radix-ui/react-tooltip/dist/index.mjs","../src/ui/tooltip.tsx","../src/telemetry/components/events/AICopyButton.tsx","../src/lib/values.tsx","../src/telemetry/components/shared/CopyToClipboard.tsx","../src/assets/pen.svg","../src/lib/useSpotlightContext.tsx","../src/telemetry/components/shared/OpenInEditor.tsx","../src/ui/table.tsx","../../../node_modules/.pnpm/@shikijs+transformers@3.13.0/node_modules/@shikijs/transformers/dist/index.mjs","../src/telemetry/components/insights/envelopes/CodeViewer.tsx","../src/telemetry/components/events/error/Frame.tsx","../src/telemetry/components/events/error/Error.tsx","../src/telemetry/components/events/Event.tsx","../../../node_modules/.pnpm/@microlink+react-json-view@1.26.1_@types+react@18.3.20_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/@microlink/react-json-view/dist/main.js","../src/telemetry/components/shared/JsonViewer.tsx","../../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/dayjs.min.js","../../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/localizedFormat.js","../src/telemetry/components/shared/Time.tsx","../src/telemetry/components/events/EventBreadcrumbs.tsx","../src/assets/download.svg","../src/lib/base64.ts","../src/telemetry/components/insights/envelopes/contentType.ts","../src/telemetry/components/insights/envelopes/Attachment.tsx","../src/ui/tag.tsx","../src/telemetry/components/shared/Tags.tsx","../src/telemetry/components/shared/ContextView.tsx","../src/telemetry/components/events/EventContexts.tsx","../src/telemetry/components/events/EventDetails.tsx","../src/telemetry/components/shared/CardList.tsx","../../../node_modules/.pnpm/dayjs@1.11.13/node_modules/dayjs/plugin/relativeTime.js","../../../node_modules/.pnpm/usehooks-ts@2.16.0_react@18.3.1/node_modules/usehooks-ts/dist/index.mjs","../src/telemetry/components/shared/TimeSince.tsx","../src/telemetry/data/sentryEventsContext.tsx","../src/telemetry/data/useSentryEvents.tsx","../src/telemetry/utils/text.ts","../src/telemetry/components/events/EventList.tsx","../src/telemetry/tabs/ErrorsTab.tsx","../src/assets/sort.svg","../src/assets/sortDown.svg","../src/telemetry/constants.ts","../src/telemetry/hooks/useSort.ts","../src/telemetry/utils/duration.ts","../src/telemetry/components/shared/TimeBar.tsx","../src/telemetry/components/insights/Profiles.tsx","../src/telemetry/data/useSentrySpans.ts","../src/telemetry/components/insights/Queries.tsx","../src/assets/chevronDown.svg","../src/ui/breadcrumbs.tsx","../src/telemetry/components/insights/QuerySummary.tsx","../src/telemetry/utils/bytes.ts","../src/telemetry/components/insights/Resources.tsx","../src/telemetry/context/SearchContext.tsx","../src/telemetry/store/helpers.ts","../src/telemetry/components/insights/aiTraces/sdks/vercelAISDK.ts","../src/telemetry/components/insights/aiTraces/sdks/aiLibraries.ts","../src/telemetry/data/useSpotlightAITraces.ts","../src/ui/badge.tsx","../src/ui/sidePanel.tsx","../src/telemetry/components/shared/DateTime.tsx","../src/telemetry/components/shared/Resizer.tsx","../src/telemetry/components/shared/SpanResizer.tsx","../src/telemetry/components/traces/spans/SpanItem.tsx","../src/telemetry/components/traces/spans/SpanTree.tsx","../src/telemetry/components/insights/aiTraces/AITraceDetails.tsx","../src/telemetry/components/insights/aiTraces/AITraceItem.tsx","../src/telemetry/components/insights/aiTraces/AITraceList.tsx","../src/telemetry/components/insights/aiTraces/index.tsx","../src/telemetry/data/useSentryEnvelopes.tsx","../src/telemetry/components/insights/envelopes/EnvelopeDetails.tsx","../src/telemetry/components/insights/envelopes/EnvelopeList.tsx","../src/telemetry/components/insights/envelopes/index.tsx","../src/telemetry/data/useSentrySdks.ts","../src/telemetry/components/insights/sdks/SdkList.tsx","../src/telemetry/components/insights/sdks/index.tsx","../src/telemetry/utils/webVitals.ts","../src/telemetry/components/insights/webVitals/index.tsx","../src/ui/ringChart.tsx","../src/telemetry/hooks/useMouseTracking.ts","../src/telemetry/components/insights/webVitals/PerformanceChart.tsx","../src/telemetry/components/insights/webVitals/WebVitalsDetail.tsx","../src/telemetry/components/insights/index.tsx","../src/telemetry/tabs/InsightsTab.tsx","../src/assets/filter.svg","../../../node_modules/.pnpm/@radix-ui+react-collection@1.1.7_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@1_7cl7n5da3qhjq54apwkxthgbdm/node_modules/@radix-ui/react-collection/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-direction@1.1.1_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-direction/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-focus-guards@1.1.2_@types+react@18.3.20_react@18.3.1/node_modules/@radix-ui/react-focus-guards/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-focus-scope@1.1.7_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@_ompfp4yvhf7tnnmb72ktiksljq/node_modules/@radix-ui/react-focus-scope/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-roving-focus@1.1.10_@types+react-dom@18.3.7_@types+react@18.3.20__@types+reac_i47baxyt2rymvupr4eyqc5gahe/node_modules/@radix-ui/react-roving-focus/dist/index.mjs","../../../node_modules/.pnpm/aria-hidden@1.2.6/node_modules/aria-hidden/dist/es2015/index.js","../../../node_modules/.pnpm/tslib@2.8.1/node_modules/tslib/tslib.es6.mjs","../../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/constants.js","../../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.20_react@18.3.1/node_modules/use-callback-ref/dist/es2015/assignRef.js","../../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.20_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useRef.js","../../../node_modules/.pnpm/use-callback-ref@1.3.3_@types+react@18.3.20_react@18.3.1/node_modules/use-callback-ref/dist/es2015/useMergeRef.js","../../../node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.20_react@18.3.1/node_modules/use-sidecar/dist/es2015/medium.js","../../../node_modules/.pnpm/use-sidecar@1.1.3_@types+react@18.3.20_react@18.3.1/node_modules/use-sidecar/dist/es2015/exports.js","../../../node_modules/.pnpm/react-remove-scroll@2.7.0_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/medium.js","../../../node_modules/.pnpm/react-remove-scroll@2.7.0_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/UI.js","../../../node_modules/.pnpm/get-nonce@1.0.1/node_modules/get-nonce/dist/es2015/index.js","../../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.20_react@18.3.1/node_modules/react-style-singleton/dist/es2015/singleton.js","../../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.20_react@18.3.1/node_modules/react-style-singleton/dist/es2015/hook.js","../../../node_modules/.pnpm/react-style-singleton@2.2.3_@types+react@18.3.20_react@18.3.1/node_modules/react-style-singleton/dist/es2015/component.js","../../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/utils.js","../../../node_modules/.pnpm/react-remove-scroll-bar@2.3.8_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll-bar/dist/es2015/component.js","../../../node_modules/.pnpm/react-remove-scroll@2.7.0_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/aggresiveCapture.js","../../../node_modules/.pnpm/react-remove-scroll@2.7.0_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/handleScroll.js","../../../node_modules/.pnpm/react-remove-scroll@2.7.0_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/SideEffect.js","../../../node_modules/.pnpm/react-remove-scroll@2.7.0_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/sidecar.js","../../../node_modules/.pnpm/react-remove-scroll@2.7.0_@types+react@18.3.20_react@18.3.1/node_modules/react-remove-scroll/dist/es2015/Combination.js","../../../node_modules/.pnpm/@radix-ui+react-menu@2.1.15_@types+react-dom@18.3.7_@types+react@18.3.20__@types+react@18.3.2_zgcn33eaq6tfd3635v534k65sa/node_modules/@radix-ui/react-menu/dist/index.mjs","../../../node_modules/.pnpm/@radix-ui+react-dropdown-menu@2.1.15_@types+react-dom@18.3.7_@types+react@18.3.20__@types+rea_4eukkghp7ookl5wu46isje4mou/node_modules/@radix-ui/react-dropdown-menu/dist/index.mjs","../src/assets/branch.svg","../src/assets/circle.svg","../src/ui/dropdownMenu.tsx","../src/telemetry/data/useSentryLogs.tsx","../src/telemetry/hooks/useColumnVisibility.ts","../src/telemetry/components/log/LogDetail.tsx","../src/telemetry/components/log/LogsList.tsx","../src/telemetry/components/log/index.tsx","../src/telemetry/tabs/LogsTab.tsx","../src/assets/cross.svg","../src/telemetry/hooks/useDebounce.ts","../src/telemetry/hooks/useSearchInput.ts","../src/telemetry/components/insights/aiTraces/AITranscription.tsx","../src/telemetry/components/insights/aiTraces/AITraceSplitView.tsx","../src/telemetry/constants/profile.ts","../src/telemetry/utils/frame.ts","../src/telemetry/utils/profileTree.ts","../src/telemetry/components/traces/TraceDetails/components/TraceProfileTree.tsx","../src/telemetry/components/traces/TraceDetails/index.tsx","../src/assets/search.svg","../src/ui/input.tsx","../src/telemetry/components/traces/TraceDetails/components/TraceTreeview.tsx","../src/telemetry/components/traces/TraceDetails/components/TraceRootTxnName.tsx","../src/telemetry/components/traces/TraceIcon.tsx","../src/telemetry/components/traces/TraceItem.tsx","../src/telemetry/components/traces/TraceList.tsx","../src/telemetry/components/shared/FilterDropdown.tsx","../src/telemetry/components/traces/TraceListFilter.tsx","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/lexer/token.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/expandPhrases.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/utils.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/bigquery/bigquery.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/bigquery/bigquery.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/bigquery/bigquery.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/db2/db2.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/db2/db2.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/db2/db2.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/hive/hive.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/hive/hive.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/hive/hive.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/mariadb/mariadb.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/mariadb/mariadb.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/mariadb/mariadb.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/mysql/mysql.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/mysql/mysql.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/mysql/mysql.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/n1ql/n1ql.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/n1ql/n1ql.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/n1ql/n1ql.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/plsql/plsql.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/plsql/plsql.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/plsql/plsql.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/postgresql/postgresql.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/postgresql/postgresql.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/postgresql/postgresql.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/redshift/redshift.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/redshift/redshift.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/redshift/redshift.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/spark/spark.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/spark/spark.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/spark/spark.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/sqlite/sqlite.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/sqlite/sqlite.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/sqlite/sqlite.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/sql/sql.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/sql/sql.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/sql/sql.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/trino/trino.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/trino/trino.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/trino/trino.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/transactsql/transactsql.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/transactsql/transactsql.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/transactsql/transactsql.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/singlestoredb/singlestoredb.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/singlestoredb/singlestoredb.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/singlestoredb/singlestoredb.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/snowflake/snowflake.functions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/snowflake/snowflake.keywords.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/languages/snowflake/snowflake.formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/lexer/regexUtil.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/lexer/regexFactory.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/lexer/lineColFromIndex.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/lexer/TokenizerEngine.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/lexer/NestedComment.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/lexer/Tokenizer.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/dialect.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/config.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/Params.js","../../../node_modules/.pnpm/nearley@2.20.1/node_modules/nearley/lib/nearley.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/lexer/disambiguateTokens.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/parser/LexerAdapter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/parser/ast.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/parser/grammar.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/parser/createParser.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/formatCommaPositions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/formatAliasPositions.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/Layout.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/tabularStyle.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/Indentation.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/InlineLayout.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/ExpressionFormatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/formatter/Formatter.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/validateConfig.js","../../../node_modules/.pnpm/sql-formatter@12.2.4/node_modules/sql-formatter/lib/sqlFormatter.js","../src/telemetry/components/traces/spans/SpanDetails.tsx","../src/assets/alertCircle.svg","../src/assets/clock.svg","../src/assets/hash.svg","../src/telemetry/hooks/useTraceFiltering.tsx","../src/telemetry/tabs/TracesTab.tsx","../src/assets/deleteIcon.svg","../src/assets/glyph.svg","../src/telemetry/components/TelemetrySidebar.tsx","../src/telemetry/components/TelemetryView.tsx","../src/telemetry/index.tsx","../src/App.tsx","../src/lib/Router.tsx","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/helpers.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/eventbuilder.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/client.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/types.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/generateUniqueID.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initUnique.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onFCP.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getCLS.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/InteractionManager.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getINP.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LCPEntryManager.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getLCP.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onTTFB.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/cls.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/lcp.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/browserMetrics.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/elementTiming.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/instrument/dom.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/instrument/history.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/getNativeImplementation.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/instrument/xhr.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/networkUtils.js","../../../node_modules/.pnpm/@sentry-internal+browser-utils@10.5.0/node_modules/@sentry-internal/browser-utils/build/esm/metrics/inp.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/transports/fetch.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/stack-parsers.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/debug-build.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/integrations/breadcrumbs.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/integrations/browserapierrors.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/integrations/browsersession.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/integrations/globalhandlers.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/integrations/httpcontext.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/integrations/linkederrors.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/utils/detectBrowserExtension.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/sdk.js","../../../node_modules/.pnpm/@sentry-internal+replay@10.5.0/node_modules/@sentry-internal/replay/build/npm/esm/index.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/tracing/resource-timing.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/tracing/request.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/tracing/backgroundtab.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/tracing/linkedTraces.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/tracing/browserTracingIntegration.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/transports/offline.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/profiling/utils.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/profiling/startProfileForSpan.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/profiling/integration.js","../../../node_modules/.pnpm/@sentry+browser@10.5.0/node_modules/@sentry/browser/build/npm/esm/integrations/spotlight.js","../../../node_modules/.pnpm/@sentry+react@10.5.0_react@18.3.1/node_modules/@sentry/react/build/esm/sdk.js","../../../node_modules/.pnpm/@sentry+react@10.5.0_react@18.3.1/node_modules/@sentry/react/build/esm/reactrouterv6-compat-utils.js","../../../node_modules/.pnpm/@sentry+react@10.5.0_react@18.3.1/node_modules/@sentry/react/build/esm/reactrouterv6.js","../../../node_modules/.pnpm/react-dom@18.3.1_react@18.3.1/node_modules/react-dom/client.js","../src/lib/serverTimingMeta.ts","../src/lib/instrumentation.ts","../src/index.tsx","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/andromeeda.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/aurora-x.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/ayu-dark.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/catppuccin-frappe.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/catppuccin-latte.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/catppuccin-macchiato.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/catppuccin-mocha.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/dark-plus.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/dracula.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/dracula-soft.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/everforest-dark.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/everforest-light.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/github-dark.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/github-dark-default.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/github-dark-dimmed.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/github-dark-high-contrast.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/github-light.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/github-light-default.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/github-light-high-contrast.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/gruvbox-dark-hard.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/gruvbox-dark-medium.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/gruvbox-dark-soft.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/gruvbox-light-hard.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/gruvbox-light-medium.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/gruvbox-light-soft.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/houston.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/kanagawa-dragon.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/kanagawa-lotus.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/kanagawa-wave.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/laserwave.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/light-plus.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/material-theme.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/material-theme-darker.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/material-theme-lighter.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/material-theme-ocean.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/material-theme-palenight.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/min-dark.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/min-light.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/monokai.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/night-owl.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/nord.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/one-dark-pro.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/one-light.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/plastic.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/poimandres.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/red.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/rose-pine.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/rose-pine-dawn.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/rose-pine-moon.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/slack-dark.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/slack-ochin.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/snazzy-light.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/solarized-dark.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/solarized-light.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/synthwave-84.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/tokyo-night.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/vesper.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/vitesse-black.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/vitesse-dark.mjs","../../../node_modules/.pnpm/@shikijs+themes@3.13.0/node_modules/@shikijs/themes/dist/vitesse-light.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/javascript.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/css.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/html.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/angular-expression.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/angular-let-declaration.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/angular-template.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/angular-template-blocks.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/angular-html.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/scss.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/angular-inline-style.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/angular-inline-template.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/angular-ts.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/json.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/typescript.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/postcss.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/tsx.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/astro.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/html-derivative.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/java.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/xml.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/sql.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/blade.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/c.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/coffee.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/regexp.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/glsl.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/cpp-macro.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/cpp.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/jsx.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/graphql.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/haml.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/yaml.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/handlebars.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/shellscript.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/http.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/imba.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/jinja-html.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/jinja.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/jison.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/json5.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/jsonc.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/jsonl.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/python.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/r.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/julia.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/less.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/markdown.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/marko.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/mdc.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/mdx.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/php.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/pug.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/sass.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/stylus.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/svelte.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/es-tag-css.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/es-tag-glsl.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/es-tag-html.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/es-tag-sql.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/es-tag-xml.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/ts-tags.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/markdown-vue.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/vue-directives.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/vue-interpolations.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/vue-sfc-style-variable-injection.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/vue.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/vue-html.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/vue-vine.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/wasm.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/wgsl.mjs","../../../node_modules/.pnpm/@shikijs+langs@3.13.0/node_modules/@shikijs/langs/dist/wit.mjs","../../../node_modules/.pnpm/@shikijs+engine-oniguruma@3.13.0/node_modules/@shikijs/engine-oniguruma/dist/wasm-inlined.mjs","../../../node_modules/.pnpm/nanovis@0.1.3/node_modules/nanovis/dist/shared/nanovis.D50MWeEo.mjs","../../../node_modules/.pnpm/nanovis@0.1.3/node_modules/nanovis/dist/index.mjs"],"sourcesContent":["/**\n * @license React\n * react.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var l=Symbol.for(\"react.element\"),n=Symbol.for(\"react.portal\"),p=Symbol.for(\"react.fragment\"),q=Symbol.for(\"react.strict_mode\"),r=Symbol.for(\"react.profiler\"),t=Symbol.for(\"react.provider\"),u=Symbol.for(\"react.context\"),v=Symbol.for(\"react.forward_ref\"),w=Symbol.for(\"react.suspense\"),x=Symbol.for(\"react.memo\"),y=Symbol.for(\"react.lazy\"),z=Symbol.iterator;function A(a){if(null===a||\"object\"!==typeof a)return null;a=z&&a[z]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}\nvar B={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,D={};function E(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}E.prototype.isReactComponent={};\nE.prototype.setState=function(a,b){if(\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a)throw Error(\"setState(...): takes an object of state variables to update or a function which returns an object of state variables.\");this.updater.enqueueSetState(this,a,b,\"setState\")};E.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};function F(){}F.prototype=E.prototype;function G(a,b,e){this.props=a;this.context=b;this.refs=D;this.updater=e||B}var H=G.prototype=new F;\nH.constructor=G;C(H,E.prototype);H.isPureReactComponent=!0;var I=Array.isArray,J=Object.prototype.hasOwnProperty,K={current:null},L={key:!0,ref:!0,__self:!0,__source:!0};\nfunction M(a,b,e){var d,c={},k=null,h=null;if(null!=b)for(d in void 0!==b.ref&&(h=b.ref),void 0!==b.key&&(k=\"\"+b.key),b)J.call(b,d)&&!L.hasOwnProperty(d)&&(c[d]=b[d]);var g=arguments.length-2;if(1===g)c.children=e;else if(1<g){for(var f=Array(g),m=0;m<g;m++)f[m]=arguments[m+2];c.children=f}if(a&&a.defaultProps)for(d in g=a.defaultProps,g)void 0===c[d]&&(c[d]=g[d]);return{$$typeof:l,type:a,key:k,ref:h,props:c,_owner:K.current}}\nfunction N(a,b){return{$$typeof:l,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}}function O(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===l}function escape(a){var b={\"=\":\"=0\",\":\":\"=2\"};return\"$\"+a.replace(/[=:]/g,function(a){return b[a]})}var P=/\\/+/g;function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(\"\"+a.key):b.toString(36)}\nfunction R(a,b,e,d,c){var k=typeof a;if(\"undefined\"===k||\"boolean\"===k)a=null;var h=!1;if(null===a)h=!0;else switch(k){case \"string\":case \"number\":h=!0;break;case \"object\":switch(a.$$typeof){case l:case n:h=!0}}if(h)return h=a,c=c(h),a=\"\"===d?\".\"+Q(h,0):d,I(c)?(e=\"\",null!=a&&(e=a.replace(P,\"$&/\")+\"/\"),R(c,b,e,\"\",function(a){return a})):null!=c&&(O(c)&&(c=N(c,e+(!c.key||h&&h.key===c.key?\"\":(\"\"+c.key).replace(P,\"$&/\")+\"/\")+a)),b.push(c)),1;h=0;d=\"\"===d?\".\":d+\":\";if(I(a))for(var g=0;g<a.length;g++){k=\na[g];var f=d+Q(k,g);h+=R(k,b,e,f,c)}else if(f=A(a),\"function\"===typeof f)for(a=f.call(a),g=0;!(k=a.next()).done;)k=k.value,f=d+Q(k,g++),h+=R(k,b,e,f,c);else if(\"object\"===k)throw b=String(a),Error(\"Objects are not valid as a React child (found: \"+(\"[object Object]\"===b?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":b)+\"). If you meant to render a collection of children, use an array instead.\");return h}\nfunction S(a,b,e){if(null==a)return a;var d=[],c=0;R(a,d,\"\",\"\",function(a){return b.call(e,a,c++)});return d}function T(a){if(-1===a._status){var b=a._result;b=b();b.then(function(b){if(0===a._status||-1===a._status)a._status=1,a._result=b},function(b){if(0===a._status||-1===a._status)a._status=2,a._result=b});-1===a._status&&(a._status=0,a._result=b)}if(1===a._status)return a._result.default;throw a._result;}\nvar U={current:null},V={transition:null},W={ReactCurrentDispatcher:U,ReactCurrentBatchConfig:V,ReactCurrentOwner:K};function X(){throw Error(\"act(...) is not supported in production builds of React.\");}\nexports.Children={map:S,forEach:function(a,b,e){S(a,function(){b.apply(this,arguments)},e)},count:function(a){var b=0;S(a,function(){b++});return b},toArray:function(a){return S(a,function(a){return a})||[]},only:function(a){if(!O(a))throw Error(\"React.Children.only expected to receive a single React element child.\");return a}};exports.Component=E;exports.Fragment=p;exports.Profiler=r;exports.PureComponent=G;exports.StrictMode=q;exports.Suspense=w;\nexports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=W;exports.act=X;\nexports.cloneElement=function(a,b,e){if(null===a||void 0===a)throw Error(\"React.cloneElement(...): The argument must be a React element, but you passed \"+a+\".\");var d=C({},a.props),c=a.key,k=a.ref,h=a._owner;if(null!=b){void 0!==b.ref&&(k=b.ref,h=K.current);void 0!==b.key&&(c=\"\"+b.key);if(a.type&&a.type.defaultProps)var g=a.type.defaultProps;for(f in b)J.call(b,f)&&!L.hasOwnProperty(f)&&(d[f]=void 0===b[f]&&void 0!==g?g[f]:b[f])}var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){g=Array(f);\nfor(var m=0;m<f;m++)g[m]=arguments[m+2];d.children=g}return{$$typeof:l,type:a.type,key:c,ref:k,props:d,_owner:h}};exports.createContext=function(a){a={$$typeof:u,_currentValue:a,_currentValue2:a,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null};a.Provider={$$typeof:t,_context:a};return a.Consumer=a};exports.createElement=M;exports.createFactory=function(a){var b=M.bind(null,a);b.type=a;return b};exports.createRef=function(){return{current:null}};\nexports.forwardRef=function(a){return{$$typeof:v,render:a}};exports.isValidElement=O;exports.lazy=function(a){return{$$typeof:y,_payload:{_status:-1,_result:a},_init:T}};exports.memo=function(a,b){return{$$typeof:x,type:a,compare:void 0===b?null:b}};exports.startTransition=function(a){var b=V.transition;V.transition={};try{a()}finally{V.transition=b}};exports.unstable_act=X;exports.useCallback=function(a,b){return U.current.useCallback(a,b)};exports.useContext=function(a){return U.current.useContext(a)};\nexports.useDebugValue=function(){};exports.useDeferredValue=function(a){return U.current.useDeferredValue(a)};exports.useEffect=function(a,b){return U.current.useEffect(a,b)};exports.useId=function(){return U.current.useId()};exports.useImperativeHandle=function(a,b,e){return U.current.useImperativeHandle(a,b,e)};exports.useInsertionEffect=function(a,b){return U.current.useInsertionEffect(a,b)};exports.useLayoutEffect=function(a,b){return U.current.useLayoutEffect(a,b)};\nexports.useMemo=function(a,b){return U.current.useMemo(a,b)};exports.useReducer=function(a,b,e){return U.current.useReducer(a,b,e)};exports.useRef=function(a){return U.current.useRef(a)};exports.useState=function(a){return U.current.useState(a)};exports.useSyncExternalStore=function(a,b,e){return U.current.useSyncExternalStore(a,b,e)};exports.useTransition=function(){return U.current.useTransition()};exports.version=\"18.3.1\";\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react.production.min.js');\n} else {\n  module.exports = require('./cjs/react.development.js');\n}\n","/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var f=require(\"react\"),k=Symbol.for(\"react.element\"),l=Symbol.for(\"react.fragment\"),m=Object.prototype.hasOwnProperty,n=f.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,p={key:!0,ref:!0,__self:!0,__source:!0};\nfunction q(c,a,g){var b,d={},e=null,h=null;void 0!==g&&(e=\"\"+g);void 0!==a.key&&(e=\"\"+a.key);void 0!==a.ref&&(h=a.ref);for(b in a)m.call(a,b)&&!p.hasOwnProperty(b)&&(d[b]=a[b]);if(c&&c.defaultProps)for(b in a=c.defaultProps,a)void 0===d[b]&&(d[b]=a[b]);return{$$typeof:k,type:c,key:e,ref:h,props:d,_owner:n.current}}exports.Fragment=l;exports.jsx=q;exports.jsxs=q;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/react-jsx-runtime.production.min.js');\n} else {\n  module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","export const DEFAULT_PORT = 8969;\nexport const SERVER_IDENTIFIER = \"spotlight-by-sentry\";\nexport const CONTEXT_LINES_ENDPOINT = \"/contextlines\";\nexport const RAW_TYPES = new Set([\"attachment\", \"replay_video\", \"statsd\"]);\nexport const SENTRY_CONTENT_TYPE = \"application/x-sentry-envelope\";\n","/**\n * @license React\n * scheduler.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';function f(a,b){var c=a.length;a.push(b);a:for(;0<c;){var d=c-1>>>1,e=a[d];if(0<g(e,b))a[d]=b,a[c]=e,c=d;else break a}}function h(a){return 0===a.length?null:a[0]}function k(a){if(0===a.length)return null;var b=a[0],c=a.pop();if(c!==b){a[0]=c;a:for(var d=0,e=a.length,w=e>>>1;d<w;){var m=2*(d+1)-1,C=a[m],n=m+1,x=a[n];if(0>g(C,c))n<e&&0>g(x,C)?(a[d]=x,a[n]=c,d=n):(a[d]=C,a[m]=c,d=m);else if(n<e&&0>g(x,c))a[d]=x,a[n]=c,d=n;else break a}}return b}\nfunction g(a,b){var c=a.sortIndex-b.sortIndex;return 0!==c?c:a.id-b.id}if(\"object\"===typeof performance&&\"function\"===typeof performance.now){var l=performance;exports.unstable_now=function(){return l.now()}}else{var p=Date,q=p.now();exports.unstable_now=function(){return p.now()-q}}var r=[],t=[],u=1,v=null,y=3,z=!1,A=!1,B=!1,D=\"function\"===typeof setTimeout?setTimeout:null,E=\"function\"===typeof clearTimeout?clearTimeout:null,F=\"undefined\"!==typeof setImmediate?setImmediate:null;\n\"undefined\"!==typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function G(a){for(var b=h(t);null!==b;){if(null===b.callback)k(t);else if(b.startTime<=a)k(t),b.sortIndex=b.expirationTime,f(r,b);else break;b=h(t)}}function H(a){B=!1;G(a);if(!A)if(null!==h(r))A=!0,I(J);else{var b=h(t);null!==b&&K(H,b.startTime-a)}}\nfunction J(a,b){A=!1;B&&(B=!1,E(L),L=-1);z=!0;var c=y;try{G(b);for(v=h(r);null!==v&&(!(v.expirationTime>b)||a&&!M());){var d=v.callback;if(\"function\"===typeof d){v.callback=null;y=v.priorityLevel;var e=d(v.expirationTime<=b);b=exports.unstable_now();\"function\"===typeof e?v.callback=e:v===h(r)&&k(r);G(b)}else k(r);v=h(r)}if(null!==v)var w=!0;else{var m=h(t);null!==m&&K(H,m.startTime-b);w=!1}return w}finally{v=null,y=c,z=!1}}var N=!1,O=null,L=-1,P=5,Q=-1;\nfunction M(){return exports.unstable_now()-Q<P?!1:!0}function R(){if(null!==O){var a=exports.unstable_now();Q=a;var b=!0;try{b=O(!0,a)}finally{b?S():(N=!1,O=null)}}else N=!1}var S;if(\"function\"===typeof F)S=function(){F(R)};else if(\"undefined\"!==typeof MessageChannel){var T=new MessageChannel,U=T.port2;T.port1.onmessage=R;S=function(){U.postMessage(null)}}else S=function(){D(R,0)};function I(a){O=a;N||(N=!0,S())}function K(a,b){L=D(function(){a(exports.unstable_now())},b)}\nexports.unstable_IdlePriority=5;exports.unstable_ImmediatePriority=1;exports.unstable_LowPriority=4;exports.unstable_NormalPriority=3;exports.unstable_Profiling=null;exports.unstable_UserBlockingPriority=2;exports.unstable_cancelCallback=function(a){a.callback=null};exports.unstable_continueExecution=function(){A||z||(A=!0,I(J))};\nexports.unstable_forceFrameRate=function(a){0>a||125<a?console.error(\"forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported\"):P=0<a?Math.floor(1E3/a):5};exports.unstable_getCurrentPriorityLevel=function(){return y};exports.unstable_getFirstCallbackNode=function(){return h(r)};exports.unstable_next=function(a){switch(y){case 1:case 2:case 3:var b=3;break;default:b=y}var c=y;y=b;try{return a()}finally{y=c}};exports.unstable_pauseExecution=function(){};\nexports.unstable_requestPaint=function(){};exports.unstable_runWithPriority=function(a,b){switch(a){case 1:case 2:case 3:case 4:case 5:break;default:a=3}var c=y;y=a;try{return b()}finally{y=c}};\nexports.unstable_scheduleCallback=function(a,b,c){var d=exports.unstable_now();\"object\"===typeof c&&null!==c?(c=c.delay,c=\"number\"===typeof c&&0<c?d+c:d):c=d;switch(a){case 1:var e=-1;break;case 2:e=250;break;case 5:e=1073741823;break;case 4:e=1E4;break;default:e=5E3}e=c+e;a={id:u++,callback:b,priorityLevel:a,startTime:c,expirationTime:e,sortIndex:-1};c>d?(a.sortIndex=c,f(t,a),null===h(r)&&a===h(t)&&(B?(E(L),L=-1):B=!0,K(H,c-d))):(a.sortIndex=e,f(r,a),A||z||(A=!0,I(J)));return a};\nexports.unstable_shouldYield=M;exports.unstable_wrapCallback=function(a){var b=y;return function(){var c=y;y=b;try{return a.apply(this,arguments)}finally{y=c}}};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n  module.exports = require('./cjs/scheduler.production.min.js');\n} else {\n  module.exports = require('./cjs/scheduler.development.js');\n}\n","/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),ca=require(\"scheduler\");function p(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c<arguments.length;c++)b+=\"&args[]=\"+encodeURIComponent(arguments[c]);return\"Minified React error #\"+a+\"; visit \"+b+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"}var da=new Set,ea={};function fa(a,b){ha(a,b);ha(a+\"Capture\",b)}\nfunction ha(a,b){ea[a]=b;for(a=0;a<b.length;a++)da.add(b[a])}\nvar ia=!(\"undefined\"===typeof window||\"undefined\"===typeof window.document||\"undefined\"===typeof window.document.createElement),ja=Object.prototype.hasOwnProperty,ka=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,la=\n{},ma={};function oa(a){if(ja.call(ma,a))return!0;if(ja.call(la,a))return!1;if(ka.test(a))return ma[a]=!0;la[a]=!0;return!1}function pa(a,b,c,d){if(null!==c&&0===c.type)return!1;switch(typeof b){case \"function\":case \"symbol\":return!0;case \"boolean\":if(d)return!1;if(null!==c)return!c.acceptsBooleans;a=a.toLowerCase().slice(0,5);return\"data-\"!==a&&\"aria-\"!==a;default:return!1}}\nfunction qa(a,b,c,d){if(null===b||\"undefined\"===typeof b||pa(a,b,c,d))return!0;if(d)return!1;if(null!==c)switch(c.type){case 3:return!b;case 4:return!1===b;case 5:return isNaN(b);case 6:return isNaN(b)||1>b}return!1}function v(a,b,c,d,e,f,g){this.acceptsBooleans=2===b||3===b||4===b;this.attributeName=d;this.attributeNamespace=e;this.mustUseProperty=c;this.propertyName=a;this.type=b;this.sanitizeURL=f;this.removeEmptyString=g}var z={};\n\"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style\".split(\" \").forEach(function(a){z[a]=new v(a,0,!1,a,null,!1,!1)});[[\"acceptCharset\",\"accept-charset\"],[\"className\",\"class\"],[\"htmlFor\",\"for\"],[\"httpEquiv\",\"http-equiv\"]].forEach(function(a){var b=a[0];z[b]=new v(b,1,!1,a[1],null,!1,!1)});[\"contentEditable\",\"draggable\",\"spellCheck\",\"value\"].forEach(function(a){z[a]=new v(a,2,!1,a.toLowerCase(),null,!1,!1)});\n[\"autoReverse\",\"externalResourcesRequired\",\"focusable\",\"preserveAlpha\"].forEach(function(a){z[a]=new v(a,2,!1,a,null,!1,!1)});\"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope\".split(\" \").forEach(function(a){z[a]=new v(a,3,!1,a.toLowerCase(),null,!1,!1)});\n[\"checked\",\"multiple\",\"muted\",\"selected\"].forEach(function(a){z[a]=new v(a,3,!0,a,null,!1,!1)});[\"capture\",\"download\"].forEach(function(a){z[a]=new v(a,4,!1,a,null,!1,!1)});[\"cols\",\"rows\",\"size\",\"span\"].forEach(function(a){z[a]=new v(a,6,!1,a,null,!1,!1)});[\"rowSpan\",\"start\"].forEach(function(a){z[a]=new v(a,5,!1,a.toLowerCase(),null,!1,!1)});var ra=/[\\-:]([a-z])/g;function sa(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height\".split(\" \").forEach(function(a){var b=a.replace(ra,\nsa);z[b]=new v(b,1,!1,a,null,!1,!1)});\"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type\".split(\" \").forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/1999/xlink\",!1,!1)});[\"xml:base\",\"xml:lang\",\"xml:space\"].forEach(function(a){var b=a.replace(ra,sa);z[b]=new v(b,1,!1,a,\"http://www.w3.org/XML/1998/namespace\",!1,!1)});[\"tabIndex\",\"crossOrigin\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!1,!1)});\nz.xlinkHref=new v(\"xlinkHref\",1,!1,\"xlink:href\",\"http://www.w3.org/1999/xlink\",!0,!1);[\"src\",\"href\",\"action\",\"formAction\"].forEach(function(a){z[a]=new v(a,1,!1,a.toLowerCase(),null,!0,!0)});\nfunction ta(a,b,c,d){var e=z.hasOwnProperty(b)?z[b]:null;if(null!==e?0!==e.type:d||!(2<b.length)||\"o\"!==b[0]&&\"O\"!==b[0]||\"n\"!==b[1]&&\"N\"!==b[1])qa(b,c,e,d)&&(c=null),d||null===e?oa(b)&&(null===c?a.removeAttribute(b):a.setAttribute(b,\"\"+c)):e.mustUseProperty?a[e.propertyName]=null===c?3===e.type?!1:\"\":c:(b=e.attributeName,d=e.attributeNamespace,null===c?a.removeAttribute(b):(e=e.type,c=3===e||4===e&&!0===c?\"\":\"\"+c,d?a.setAttributeNS(d,b,c):a.setAttribute(b,c)))}\nvar ua=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,va=Symbol.for(\"react.element\"),wa=Symbol.for(\"react.portal\"),ya=Symbol.for(\"react.fragment\"),za=Symbol.for(\"react.strict_mode\"),Aa=Symbol.for(\"react.profiler\"),Ba=Symbol.for(\"react.provider\"),Ca=Symbol.for(\"react.context\"),Da=Symbol.for(\"react.forward_ref\"),Ea=Symbol.for(\"react.suspense\"),Fa=Symbol.for(\"react.suspense_list\"),Ga=Symbol.for(\"react.memo\"),Ha=Symbol.for(\"react.lazy\");Symbol.for(\"react.scope\");Symbol.for(\"react.debug_trace_mode\");\nvar Ia=Symbol.for(\"react.offscreen\");Symbol.for(\"react.legacy_hidden\");Symbol.for(\"react.cache\");Symbol.for(\"react.tracing_marker\");var Ja=Symbol.iterator;function Ka(a){if(null===a||\"object\"!==typeof a)return null;a=Ja&&a[Ja]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var A=Object.assign,La;function Ma(a){if(void 0===La)try{throw Error();}catch(c){var b=c.stack.trim().match(/\\n( *(at )?)/);La=b&&b[1]||\"\"}return\"\\n\"+La+a}var Na=!1;\nfunction Oa(a,b){if(!a||Na)return\"\";Na=!0;var c=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(b)if(b=function(){throw Error();},Object.defineProperty(b.prototype,\"props\",{set:function(){throw Error();}}),\"object\"===typeof Reflect&&Reflect.construct){try{Reflect.construct(b,[])}catch(l){var d=l}Reflect.construct(a,[],b)}else{try{b.call()}catch(l){d=l}a.call(b.prototype)}else{try{throw Error();}catch(l){d=l}a()}}catch(l){if(l&&d&&\"string\"===typeof l.stack){for(var e=l.stack.split(\"\\n\"),\nf=d.stack.split(\"\\n\"),g=e.length-1,h=f.length-1;1<=g&&0<=h&&e[g]!==f[h];)h--;for(;1<=g&&0<=h;g--,h--)if(e[g]!==f[h]){if(1!==g||1!==h){do if(g--,h--,0>h||e[g]!==f[h]){var k=\"\\n\"+e[g].replace(\" at new \",\" at \");a.displayName&&k.includes(\"<anonymous>\")&&(k=k.replace(\"<anonymous>\",a.displayName));return k}while(1<=g&&0<=h)}break}}}finally{Na=!1,Error.prepareStackTrace=c}return(a=a?a.displayName||a.name:\"\")?Ma(a):\"\"}\nfunction Pa(a){switch(a.tag){case 5:return Ma(a.type);case 16:return Ma(\"Lazy\");case 13:return Ma(\"Suspense\");case 19:return Ma(\"SuspenseList\");case 0:case 2:case 15:return a=Oa(a.type,!1),a;case 11:return a=Oa(a.type.render,!1),a;case 1:return a=Oa(a.type,!0),a;default:return\"\"}}\nfunction Qa(a){if(null==a)return null;if(\"function\"===typeof a)return a.displayName||a.name||null;if(\"string\"===typeof a)return a;switch(a){case ya:return\"Fragment\";case wa:return\"Portal\";case Aa:return\"Profiler\";case za:return\"StrictMode\";case Ea:return\"Suspense\";case Fa:return\"SuspenseList\"}if(\"object\"===typeof a)switch(a.$$typeof){case Ca:return(a.displayName||\"Context\")+\".Consumer\";case Ba:return(a._context.displayName||\"Context\")+\".Provider\";case Da:var b=a.render;a=a.displayName;a||(a=b.displayName||\nb.name||\"\",a=\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");return a;case Ga:return b=a.displayName||null,null!==b?b:Qa(a.type)||\"Memo\";case Ha:b=a._payload;a=a._init;try{return Qa(a(b))}catch(c){}}return null}\nfunction Ra(a){var b=a.type;switch(a.tag){case 24:return\"Cache\";case 9:return(b.displayName||\"Context\")+\".Consumer\";case 10:return(b._context.displayName||\"Context\")+\".Provider\";case 18:return\"DehydratedFragment\";case 11:return a=b.render,a=a.displayName||a.name||\"\",b.displayName||(\"\"!==a?\"ForwardRef(\"+a+\")\":\"ForwardRef\");case 7:return\"Fragment\";case 5:return b;case 4:return\"Portal\";case 3:return\"Root\";case 6:return\"Text\";case 16:return Qa(b);case 8:return b===za?\"StrictMode\":\"Mode\";case 22:return\"Offscreen\";\ncase 12:return\"Profiler\";case 21:return\"Scope\";case 13:return\"Suspense\";case 19:return\"SuspenseList\";case 25:return\"TracingMarker\";case 1:case 0:case 17:case 2:case 14:case 15:if(\"function\"===typeof b)return b.displayName||b.name||null;if(\"string\"===typeof b)return b}return null}function Sa(a){switch(typeof a){case \"boolean\":case \"number\":case \"string\":case \"undefined\":return a;case \"object\":return a;default:return\"\"}}\nfunction Ta(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ua(a){var b=Ta(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"undefined\"!==typeof c&&\"function\"===typeof c.get&&\"function\"===typeof c.set){var e=c.get,f=c.set;Object.defineProperty(a,b,{configurable:!0,get:function(){return e.call(this)},set:function(a){d=\"\"+a;f.call(this,a)}});Object.defineProperty(a,b,{enumerable:c.enumerable});return{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=\nnull;delete a[b]}}}}function Va(a){a._valueTracker||(a._valueTracker=Ua(a))}function Wa(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=Ta(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}function Xa(a){a=a||(\"undefined\"!==typeof document?document:void 0);if(\"undefined\"===typeof a)return null;try{return a.activeElement||a.body}catch(b){return a.body}}\nfunction Ya(a,b){var c=b.checked;return A({},b,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=c?c:a._wrapperState.initialChecked})}function Za(a,b){var c=null==b.defaultValue?\"\":b.defaultValue,d=null!=b.checked?b.checked:b.defaultChecked;c=Sa(null!=b.value?b.value:c);a._wrapperState={initialChecked:d,initialValue:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}function ab(a,b){b=b.checked;null!=b&&ta(a,\"checked\",b,!1)}\nfunction bb(a,b){ab(a,b);var c=Sa(b.value),d=b.type;if(null!=c)if(\"number\"===d){if(0===c&&\"\"===a.value||a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else if(\"submit\"===d||\"reset\"===d){a.removeAttribute(\"value\");return}b.hasOwnProperty(\"value\")?cb(a,b.type,c):b.hasOwnProperty(\"defaultValue\")&&cb(a,b.type,Sa(b.defaultValue));null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction db(a,b,c){if(b.hasOwnProperty(\"value\")||b.hasOwnProperty(\"defaultValue\")){var d=b.type;if(!(\"submit\"!==d&&\"reset\"!==d||void 0!==b.value&&null!==b.value))return;b=\"\"+a._wrapperState.initialValue;c||b===a.value||(a.value=b);a.defaultValue=b}c=a.name;\"\"!==c&&(a.name=\"\");a.defaultChecked=!!a._wrapperState.initialChecked;\"\"!==c&&(a.name=c)}\nfunction cb(a,b,c){if(\"number\"!==b||Xa(a.ownerDocument)!==a)null==c?a.defaultValue=\"\"+a._wrapperState.initialValue:a.defaultValue!==\"\"+c&&(a.defaultValue=\"\"+c)}var eb=Array.isArray;\nfunction fb(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+Sa(c);b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction gb(a,b){if(null!=b.dangerouslySetInnerHTML)throw Error(p(91));return A({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function hb(a,b){var c=b.value;if(null==c){c=b.children;b=b.defaultValue;if(null!=c){if(null!=b)throw Error(p(92));if(eb(c)){if(1<c.length)throw Error(p(93));c=c[0]}b=c}null==b&&(b=\"\");c=b}a._wrapperState={initialValue:Sa(c)}}\nfunction ib(a,b){var c=Sa(b.value),d=Sa(b.defaultValue);null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&a.defaultValue!==c&&(a.defaultValue=c));null!=d&&(a.defaultValue=\"\"+d)}function jb(a){var b=a.textContent;b===a._wrapperState.initialValue&&\"\"!==b&&null!==b&&(a.value=b)}function kb(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}\nfunction lb(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?kb(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar mb,nb=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(\"http://www.w3.org/2000/svg\"!==a.namespaceURI||\"innerHTML\"in a)a.innerHTML=b;else{mb=mb||document.createElement(\"div\");mb.innerHTML=\"<svg>\"+b.valueOf().toString()+\"</svg>\";for(b=mb.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction ob(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar pb={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,\nzoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},qb=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(pb).forEach(function(a){qb.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);pb[b]=pb[a]})});function rb(a,b,c){return null==b||\"boolean\"===typeof b||\"\"===b?\"\":c||\"number\"!==typeof b||0===b||pb.hasOwnProperty(a)&&pb[a]?(\"\"+b).trim():b+\"px\"}\nfunction sb(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\"),e=rb(c,b[c],d);\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var tb=A({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction ub(a,b){if(b){if(tb[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML))throw Error(p(137,a));if(null!=b.dangerouslySetInnerHTML){if(null!=b.children)throw Error(p(60));if(\"object\"!==typeof b.dangerouslySetInnerHTML||!(\"__html\"in b.dangerouslySetInnerHTML))throw Error(p(61));}if(null!=b.style&&\"object\"!==typeof b.style)throw Error(p(62));}}\nfunction vb(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var wb=null;function xb(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var yb=null,zb=null,Ab=null;\nfunction Bb(a){if(a=Cb(a)){if(\"function\"!==typeof yb)throw Error(p(280));var b=a.stateNode;b&&(b=Db(b),yb(a.stateNode,a.type,b))}}function Eb(a){zb?Ab?Ab.push(a):Ab=[a]:zb=a}function Fb(){if(zb){var a=zb,b=Ab;Ab=zb=null;Bb(a);if(b)for(a=0;a<b.length;a++)Bb(b[a])}}function Gb(a,b){return a(b)}function Hb(){}var Ib=!1;function Jb(a,b,c){if(Ib)return a(b,c);Ib=!0;try{return Gb(a,b,c)}finally{if(Ib=!1,null!==zb||null!==Ab)Hb(),Fb()}}\nfunction Kb(a,b){var c=a.stateNode;if(null===c)return null;var d=Db(c);if(null===d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":case \"onMouseEnter\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;if(c&&\"function\"!==\ntypeof c)throw Error(p(231,b,typeof c));return c}var Lb=!1;if(ia)try{var Mb={};Object.defineProperty(Mb,\"passive\",{get:function(){Lb=!0}});window.addEventListener(\"test\",Mb,Mb);window.removeEventListener(\"test\",Mb,Mb)}catch(a){Lb=!1}function Nb(a,b,c,d,e,f,g,h,k){var l=Array.prototype.slice.call(arguments,3);try{b.apply(c,l)}catch(m){this.onError(m)}}var Ob=!1,Pb=null,Qb=!1,Rb=null,Sb={onError:function(a){Ob=!0;Pb=a}};function Tb(a,b,c,d,e,f,g,h,k){Ob=!1;Pb=null;Nb.apply(Sb,arguments)}\nfunction Ub(a,b,c,d,e,f,g,h,k){Tb.apply(this,arguments);if(Ob){if(Ob){var l=Pb;Ob=!1;Pb=null}else throw Error(p(198));Qb||(Qb=!0,Rb=l)}}function Vb(a){var b=a,c=a;if(a.alternate)for(;b.return;)b=b.return;else{a=b;do b=a,0!==(b.flags&4098)&&(c=b.return),a=b.return;while(a)}return 3===b.tag?c:null}function Wb(a){if(13===a.tag){var b=a.memoizedState;null===b&&(a=a.alternate,null!==a&&(b=a.memoizedState));if(null!==b)return b.dehydrated}return null}function Xb(a){if(Vb(a)!==a)throw Error(p(188));}\nfunction Yb(a){var b=a.alternate;if(!b){b=Vb(a);if(null===b)throw Error(p(188));return b!==a?null:a}for(var c=a,d=b;;){var e=c.return;if(null===e)break;var f=e.alternate;if(null===f){d=e.return;if(null!==d){c=d;continue}break}if(e.child===f.child){for(f=e.child;f;){if(f===c)return Xb(e),a;if(f===d)return Xb(e),b;f=f.sibling}throw Error(p(188));}if(c.return!==d.return)c=e,d=f;else{for(var g=!1,h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===\nc){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}if(!g)throw Error(p(189));}}if(c.alternate!==d)throw Error(p(190));}if(3!==c.tag)throw Error(p(188));return c.stateNode.current===c?a:b}function Zb(a){a=Yb(a);return null!==a?$b(a):null}function $b(a){if(5===a.tag||6===a.tag)return a;for(a=a.child;null!==a;){var b=$b(a);if(null!==b)return b;a=a.sibling}return null}\nvar ac=ca.unstable_scheduleCallback,bc=ca.unstable_cancelCallback,cc=ca.unstable_shouldYield,dc=ca.unstable_requestPaint,B=ca.unstable_now,ec=ca.unstable_getCurrentPriorityLevel,fc=ca.unstable_ImmediatePriority,gc=ca.unstable_UserBlockingPriority,hc=ca.unstable_NormalPriority,ic=ca.unstable_LowPriority,jc=ca.unstable_IdlePriority,kc=null,lc=null;function mc(a){if(lc&&\"function\"===typeof lc.onCommitFiberRoot)try{lc.onCommitFiberRoot(kc,a,void 0,128===(a.current.flags&128))}catch(b){}}\nvar oc=Math.clz32?Math.clz32:nc,pc=Math.log,qc=Math.LN2;function nc(a){a>>>=0;return 0===a?32:31-(pc(a)/qc|0)|0}var rc=64,sc=4194304;\nfunction tc(a){switch(a&-a){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return a&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;\ndefault:return a}}function uc(a,b){var c=a.pendingLanes;if(0===c)return 0;var d=0,e=a.suspendedLanes,f=a.pingedLanes,g=c&268435455;if(0!==g){var h=g&~e;0!==h?d=tc(h):(f&=g,0!==f&&(d=tc(f)))}else g=c&~e,0!==g?d=tc(g):0!==f&&(d=tc(f));if(0===d)return 0;if(0!==b&&b!==d&&0===(b&e)&&(e=d&-d,f=b&-b,e>=f||16===e&&0!==(f&4194240)))return b;0!==(d&4)&&(d|=c&16);b=a.entangledLanes;if(0!==b)for(a=a.entanglements,b&=d;0<b;)c=31-oc(b),e=1<<c,d|=a[c],b&=~e;return d}\nfunction vc(a,b){switch(a){case 1:case 2:case 4:return b+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return b+5E3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}\nfunction wc(a,b){for(var c=a.suspendedLanes,d=a.pingedLanes,e=a.expirationTimes,f=a.pendingLanes;0<f;){var g=31-oc(f),h=1<<g,k=e[g];if(-1===k){if(0===(h&c)||0!==(h&d))e[g]=vc(h,b)}else k<=b&&(a.expiredLanes|=h);f&=~h}}function xc(a){a=a.pendingLanes&-1073741825;return 0!==a?a:a&1073741824?1073741824:0}function yc(){var a=rc;rc<<=1;0===(rc&4194240)&&(rc=64);return a}function zc(a){for(var b=[],c=0;31>c;c++)b.push(a);return b}\nfunction Ac(a,b,c){a.pendingLanes|=b;536870912!==b&&(a.suspendedLanes=0,a.pingedLanes=0);a=a.eventTimes;b=31-oc(b);a[b]=c}function Bc(a,b){var c=a.pendingLanes&~b;a.pendingLanes=b;a.suspendedLanes=0;a.pingedLanes=0;a.expiredLanes&=b;a.mutableReadLanes&=b;a.entangledLanes&=b;b=a.entanglements;var d=a.eventTimes;for(a=a.expirationTimes;0<c;){var e=31-oc(c),f=1<<e;b[e]=0;d[e]=-1;a[e]=-1;c&=~f}}\nfunction Cc(a,b){var c=a.entangledLanes|=b;for(a=a.entanglements;c;){var d=31-oc(c),e=1<<d;e&b|a[d]&b&&(a[d]|=b);c&=~e}}var C=0;function Dc(a){a&=-a;return 1<a?4<a?0!==(a&268435455)?16:536870912:4:1}var Ec,Fc,Gc,Hc,Ic,Jc=!1,Kc=[],Lc=null,Mc=null,Nc=null,Oc=new Map,Pc=new Map,Qc=[],Rc=\"mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit\".split(\" \");\nfunction Sc(a,b){switch(a){case \"focusin\":case \"focusout\":Lc=null;break;case \"dragenter\":case \"dragleave\":Mc=null;break;case \"mouseover\":case \"mouseout\":Nc=null;break;case \"pointerover\":case \"pointerout\":Oc.delete(b.pointerId);break;case \"gotpointercapture\":case \"lostpointercapture\":Pc.delete(b.pointerId)}}\nfunction Tc(a,b,c,d,e,f){if(null===a||a.nativeEvent!==f)return a={blockedOn:b,domEventName:c,eventSystemFlags:d,nativeEvent:f,targetContainers:[e]},null!==b&&(b=Cb(b),null!==b&&Fc(b)),a;a.eventSystemFlags|=d;b=a.targetContainers;null!==e&&-1===b.indexOf(e)&&b.push(e);return a}\nfunction Uc(a,b,c,d,e){switch(b){case \"focusin\":return Lc=Tc(Lc,a,b,c,d,e),!0;case \"dragenter\":return Mc=Tc(Mc,a,b,c,d,e),!0;case \"mouseover\":return Nc=Tc(Nc,a,b,c,d,e),!0;case \"pointerover\":var f=e.pointerId;Oc.set(f,Tc(Oc.get(f)||null,a,b,c,d,e));return!0;case \"gotpointercapture\":return f=e.pointerId,Pc.set(f,Tc(Pc.get(f)||null,a,b,c,d,e)),!0}return!1}\nfunction Vc(a){var b=Wc(a.target);if(null!==b){var c=Vb(b);if(null!==c)if(b=c.tag,13===b){if(b=Wb(c),null!==b){a.blockedOn=b;Ic(a.priority,function(){Gc(c)});return}}else if(3===b&&c.stateNode.current.memoizedState.isDehydrated){a.blockedOn=3===c.tag?c.stateNode.containerInfo:null;return}}a.blockedOn=null}\nfunction Xc(a){if(null!==a.blockedOn)return!1;for(var b=a.targetContainers;0<b.length;){var c=Yc(a.domEventName,a.eventSystemFlags,b[0],a.nativeEvent);if(null===c){c=a.nativeEvent;var d=new c.constructor(c.type,c);wb=d;c.target.dispatchEvent(d);wb=null}else return b=Cb(c),null!==b&&Fc(b),a.blockedOn=c,!1;b.shift()}return!0}function Zc(a,b,c){Xc(a)&&c.delete(b)}function $c(){Jc=!1;null!==Lc&&Xc(Lc)&&(Lc=null);null!==Mc&&Xc(Mc)&&(Mc=null);null!==Nc&&Xc(Nc)&&(Nc=null);Oc.forEach(Zc);Pc.forEach(Zc)}\nfunction ad(a,b){a.blockedOn===b&&(a.blockedOn=null,Jc||(Jc=!0,ca.unstable_scheduleCallback(ca.unstable_NormalPriority,$c)))}\nfunction bd(a){function b(b){return ad(b,a)}if(0<Kc.length){ad(Kc[0],a);for(var c=1;c<Kc.length;c++){var d=Kc[c];d.blockedOn===a&&(d.blockedOn=null)}}null!==Lc&&ad(Lc,a);null!==Mc&&ad(Mc,a);null!==Nc&&ad(Nc,a);Oc.forEach(b);Pc.forEach(b);for(c=0;c<Qc.length;c++)d=Qc[c],d.blockedOn===a&&(d.blockedOn=null);for(;0<Qc.length&&(c=Qc[0],null===c.blockedOn);)Vc(c),null===c.blockedOn&&Qc.shift()}var cd=ua.ReactCurrentBatchConfig,dd=!0;\nfunction ed(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=1,fd(a,b,c,d)}finally{C=e,cd.transition=f}}function gd(a,b,c,d){var e=C,f=cd.transition;cd.transition=null;try{C=4,fd(a,b,c,d)}finally{C=e,cd.transition=f}}\nfunction fd(a,b,c,d){if(dd){var e=Yc(a,b,c,d);if(null===e)hd(a,b,d,id,c),Sc(a,d);else if(Uc(e,a,b,c,d))d.stopPropagation();else if(Sc(a,d),b&4&&-1<Rc.indexOf(a)){for(;null!==e;){var f=Cb(e);null!==f&&Ec(f);f=Yc(a,b,c,d);null===f&&hd(a,b,d,id,c);if(f===e)break;e=f}null!==e&&d.stopPropagation()}else hd(a,b,d,null,c)}}var id=null;\nfunction Yc(a,b,c,d){id=null;a=xb(d);a=Wc(a);if(null!==a)if(b=Vb(a),null===b)a=null;else if(c=b.tag,13===c){a=Wb(b);if(null!==a)return a;a=null}else if(3===c){if(b.stateNode.current.memoizedState.isDehydrated)return 3===b.tag?b.stateNode.containerInfo:null;a=null}else b!==a&&(a=null);id=a;return null}\nfunction jd(a){switch(a){case \"cancel\":case \"click\":case \"close\":case \"contextmenu\":case \"copy\":case \"cut\":case \"auxclick\":case \"dblclick\":case \"dragend\":case \"dragstart\":case \"drop\":case \"focusin\":case \"focusout\":case \"input\":case \"invalid\":case \"keydown\":case \"keypress\":case \"keyup\":case \"mousedown\":case \"mouseup\":case \"paste\":case \"pause\":case \"play\":case \"pointercancel\":case \"pointerdown\":case \"pointerup\":case \"ratechange\":case \"reset\":case \"resize\":case \"seeked\":case \"submit\":case \"touchcancel\":case \"touchend\":case \"touchstart\":case \"volumechange\":case \"change\":case \"selectionchange\":case \"textInput\":case \"compositionstart\":case \"compositionend\":case \"compositionupdate\":case \"beforeblur\":case \"afterblur\":case \"beforeinput\":case \"blur\":case \"fullscreenchange\":case \"focus\":case \"hashchange\":case \"popstate\":case \"select\":case \"selectstart\":return 1;case \"drag\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"mousemove\":case \"mouseout\":case \"mouseover\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"scroll\":case \"toggle\":case \"touchmove\":case \"wheel\":case \"mouseenter\":case \"mouseleave\":case \"pointerenter\":case \"pointerleave\":return 4;\ncase \"message\":switch(ec()){case fc:return 1;case gc:return 4;case hc:case ic:return 16;case jc:return 536870912;default:return 16}default:return 16}}var kd=null,ld=null,md=null;function nd(){if(md)return md;var a,b=ld,c=b.length,d,e=\"value\"in kd?kd.value:kd.textContent,f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);return md=e.slice(a,1<d?1-d:void 0)}\nfunction od(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;10===a&&(a=13);return 32<=a||13===a?a:0}function pd(){return!0}function qd(){return!1}\nfunction rd(a){function b(b,d,e,f,g){this._reactName=b;this._targetInst=e;this.type=d;this.nativeEvent=f;this.target=g;this.currentTarget=null;for(var c in a)a.hasOwnProperty(c)&&(b=a[c],this[c]=b?b(f):f[c]);this.isDefaultPrevented=(null!=f.defaultPrevented?f.defaultPrevented:!1===f.returnValue)?pd:qd;this.isPropagationStopped=qd;return this}A(b.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&\n(a.returnValue=!1),this.isDefaultPrevented=pd)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=pd)},persist:function(){},isPersistent:pd});return b}\nvar sd={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},td=rd(sd),ud=A({},sd,{view:0,detail:0}),vd=rd(ud),wd,xd,yd,Ad=A({},ud,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:zd,button:0,buttons:0,relatedTarget:function(a){return void 0===a.relatedTarget?a.fromElement===a.srcElement?a.toElement:a.fromElement:a.relatedTarget},movementX:function(a){if(\"movementX\"in\na)return a.movementX;a!==yd&&(yd&&\"mousemove\"===a.type?(wd=a.screenX-yd.screenX,xd=a.screenY-yd.screenY):xd=wd=0,yd=a);return wd},movementY:function(a){return\"movementY\"in a?a.movementY:xd}}),Bd=rd(Ad),Cd=A({},Ad,{dataTransfer:0}),Dd=rd(Cd),Ed=A({},ud,{relatedTarget:0}),Fd=rd(Ed),Gd=A({},sd,{animationName:0,elapsedTime:0,pseudoElement:0}),Hd=rd(Gd),Id=A({},sd,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}}),Jd=rd(Id),Kd=A({},sd,{data:0}),Ld=rd(Kd),Md={Esc:\"Escape\",\nSpacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Nd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",116:\"F5\",117:\"F6\",118:\"F7\",\n119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"},Od={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function Pd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=Od[a])?!!b[a]:!1}function zd(){return Pd}\nvar Qd=A({},ud,{key:function(a){if(a.key){var b=Md[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=od(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Nd[a.keyCode]||\"Unidentified\":\"\"},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:zd,charCode:function(a){return\"keypress\"===a.type?od(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?od(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}}),Rd=rd(Qd),Sd=A({},Ad,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),Td=rd(Sd),Ud=A({},ud,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:zd}),Vd=rd(Ud),Wd=A({},sd,{propertyName:0,elapsedTime:0,pseudoElement:0}),Xd=rd(Wd),Yd=A({},Ad,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},\ndeltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:0,deltaMode:0}),Zd=rd(Yd),$d=[9,13,27,32],ae=ia&&\"CompositionEvent\"in window,be=null;ia&&\"documentMode\"in document&&(be=document.documentMode);var ce=ia&&\"TextEvent\"in window&&!be,de=ia&&(!ae||be&&8<be&&11>=be),ee=String.fromCharCode(32),fe=!1;\nfunction ge(a,b){switch(a){case \"keyup\":return-1!==$d.indexOf(b.keyCode);case \"keydown\":return 229!==b.keyCode;case \"keypress\":case \"mousedown\":case \"focusout\":return!0;default:return!1}}function he(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var ie=!1;function je(a,b){switch(a){case \"compositionend\":return he(b);case \"keypress\":if(32!==b.which)return null;fe=!0;return ee;case \"textInput\":return a=b.data,a===ee&&fe?null:a;default:return null}}\nfunction ke(a,b){if(ie)return\"compositionend\"===a||!ae&&ge(a,b)?(a=nd(),md=ld=kd=null,ie=!1,a):null;switch(a){case \"paste\":return null;case \"keypress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"compositionend\":return de&&\"ko\"!==b.locale?null:b.data;default:return null}}\nvar le={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function me(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!le[a.type]:\"textarea\"===b?!0:!1}function ne(a,b,c,d){Eb(d);b=oe(b,\"onChange\");0<b.length&&(c=new td(\"onChange\",\"change\",null,c,d),a.push({event:c,listeners:b}))}var pe=null,qe=null;function re(a){se(a,0)}function te(a){var b=ue(a);if(Wa(b))return a}\nfunction ve(a,b){if(\"change\"===a)return b}var we=!1;if(ia){var xe;if(ia){var ye=\"oninput\"in document;if(!ye){var ze=document.createElement(\"div\");ze.setAttribute(\"oninput\",\"return;\");ye=\"function\"===typeof ze.oninput}xe=ye}else xe=!1;we=xe&&(!document.documentMode||9<document.documentMode)}function Ae(){pe&&(pe.detachEvent(\"onpropertychange\",Be),qe=pe=null)}function Be(a){if(\"value\"===a.propertyName&&te(qe)){var b=[];ne(b,qe,a,xb(a));Jb(re,b)}}\nfunction Ce(a,b,c){\"focusin\"===a?(Ae(),pe=b,qe=c,pe.attachEvent(\"onpropertychange\",Be)):\"focusout\"===a&&Ae()}function De(a){if(\"selectionchange\"===a||\"keyup\"===a||\"keydown\"===a)return te(qe)}function Ee(a,b){if(\"click\"===a)return te(b)}function Fe(a,b){if(\"input\"===a||\"change\"===a)return te(b)}function Ge(a,b){return a===b&&(0!==a||1/a===1/b)||a!==a&&b!==b}var He=\"function\"===typeof Object.is?Object.is:Ge;\nfunction Ie(a,b){if(He(a,b))return!0;if(\"object\"!==typeof a||null===a||\"object\"!==typeof b||null===b)return!1;var c=Object.keys(a),d=Object.keys(b);if(c.length!==d.length)return!1;for(d=0;d<c.length;d++){var e=c[d];if(!ja.call(b,e)||!He(a[e],b[e]))return!1}return!0}function Je(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Ke(a,b){var c=Je(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Je(c)}}function Le(a,b){return a&&b?a===b?!0:a&&3===a.nodeType?!1:b&&3===b.nodeType?Le(a,b.parentNode):\"contains\"in a?a.contains(b):a.compareDocumentPosition?!!(a.compareDocumentPosition(b)&16):!1:!1}\nfunction Me(){for(var a=window,b=Xa();b instanceof a.HTMLIFrameElement;){try{var c=\"string\"===typeof b.contentWindow.location.href}catch(d){c=!1}if(c)a=b.contentWindow;else break;b=Xa(a.document)}return b}function Ne(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&(\"text\"===a.type||\"search\"===a.type||\"tel\"===a.type||\"url\"===a.type||\"password\"===a.type)||\"textarea\"===b||\"true\"===a.contentEditable)}\nfunction Oe(a){var b=Me(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&c&&c.ownerDocument&&Le(c.ownerDocument.documentElement,c)){if(null!==d&&Ne(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(a=(b=c.ownerDocument||document)&&b.defaultView||window,a.getSelection){a=a.getSelection();var e=c.textContent.length,f=Math.min(d.start,e);d=void 0===d.end?f:Math.min(d.end,e);!a.extend&&f>d&&(e=d,d=f,f=e);e=Ke(c,f);var g=Ke(c,\nd);e&&g&&(1!==a.rangeCount||a.anchorNode!==e.node||a.anchorOffset!==e.offset||a.focusNode!==g.node||a.focusOffset!==g.offset)&&(b=b.createRange(),b.setStart(e.node,e.offset),a.removeAllRanges(),f>d?(a.addRange(b),a.extend(g.node,g.offset)):(b.setEnd(g.node,g.offset),a.addRange(b)))}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});\"function\"===typeof c.focus&&c.focus();for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=a.top}}\nvar Pe=ia&&\"documentMode\"in document&&11>=document.documentMode,Qe=null,Re=null,Se=null,Te=!1;\nfunction Ue(a,b,c){var d=c.window===c?c.document:9===c.nodeType?c:c.ownerDocument;Te||null==Qe||Qe!==Xa(d)||(d=Qe,\"selectionStart\"in d&&Ne(d)?d={start:d.selectionStart,end:d.selectionEnd}:(d=(d.ownerDocument&&d.ownerDocument.defaultView||window).getSelection(),d={anchorNode:d.anchorNode,anchorOffset:d.anchorOffset,focusNode:d.focusNode,focusOffset:d.focusOffset}),Se&&Ie(Se,d)||(Se=d,d=oe(Re,\"onSelect\"),0<d.length&&(b=new td(\"onSelect\",\"select\",null,b,c),a.push({event:b,listeners:d}),b.target=Qe)))}\nfunction Ve(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;return c}var We={animationend:Ve(\"Animation\",\"AnimationEnd\"),animationiteration:Ve(\"Animation\",\"AnimationIteration\"),animationstart:Ve(\"Animation\",\"AnimationStart\"),transitionend:Ve(\"Transition\",\"TransitionEnd\")},Xe={},Ye={};\nia&&(Ye=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete We.animationend.animation,delete We.animationiteration.animation,delete We.animationstart.animation),\"TransitionEvent\"in window||delete We.transitionend.transition);function Ze(a){if(Xe[a])return Xe[a];if(!We[a])return a;var b=We[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Ye)return Xe[a]=b[c];return a}var $e=Ze(\"animationend\"),af=Ze(\"animationiteration\"),bf=Ze(\"animationstart\"),cf=Ze(\"transitionend\"),df=new Map,ef=\"abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel\".split(\" \");\nfunction ff(a,b){df.set(a,b);fa(b,[a])}for(var gf=0;gf<ef.length;gf++){var hf=ef[gf],jf=hf.toLowerCase(),kf=hf[0].toUpperCase()+hf.slice(1);ff(jf,\"on\"+kf)}ff($e,\"onAnimationEnd\");ff(af,\"onAnimationIteration\");ff(bf,\"onAnimationStart\");ff(\"dblclick\",\"onDoubleClick\");ff(\"focusin\",\"onFocus\");ff(\"focusout\",\"onBlur\");ff(cf,\"onTransitionEnd\");ha(\"onMouseEnter\",[\"mouseout\",\"mouseover\"]);ha(\"onMouseLeave\",[\"mouseout\",\"mouseover\"]);ha(\"onPointerEnter\",[\"pointerout\",\"pointerover\"]);\nha(\"onPointerLeave\",[\"pointerout\",\"pointerover\"]);fa(\"onChange\",\"change click focusin focusout input keydown keyup selectionchange\".split(\" \"));fa(\"onSelect\",\"focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange\".split(\" \"));fa(\"onBeforeInput\",[\"compositionend\",\"keypress\",\"textInput\",\"paste\"]);fa(\"onCompositionEnd\",\"compositionend focusout keydown keypress keyup mousedown\".split(\" \"));fa(\"onCompositionStart\",\"compositionstart focusout keydown keypress keyup mousedown\".split(\" \"));\nfa(\"onCompositionUpdate\",\"compositionupdate focusout keydown keypress keyup mousedown\".split(\" \"));var lf=\"abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting\".split(\" \"),mf=new Set(\"cancel close invalid load scroll toggle\".split(\" \").concat(lf));\nfunction nf(a,b,c){var d=a.type||\"unknown-event\";a.currentTarget=c;Ub(d,b,void 0,a);a.currentTarget=null}\nfunction se(a,b){b=0!==(b&4);for(var c=0;c<a.length;c++){var d=a[c],e=d.event;d=d.listeners;a:{var f=void 0;if(b)for(var g=d.length-1;0<=g;g--){var h=d[g],k=h.instance,l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}else for(g=0;g<d.length;g++){h=d[g];k=h.instance;l=h.currentTarget;h=h.listener;if(k!==f&&e.isPropagationStopped())break a;nf(e,h,l);f=k}}}if(Qb)throw a=Rb,Qb=!1,Rb=null,a;}\nfunction D(a,b){var c=b[of];void 0===c&&(c=b[of]=new Set);var d=a+\"__bubble\";c.has(d)||(pf(b,a,2,!1),c.add(d))}function qf(a,b,c){var d=0;b&&(d|=4);pf(c,a,d,b)}var rf=\"_reactListening\"+Math.random().toString(36).slice(2);function sf(a){if(!a[rf]){a[rf]=!0;da.forEach(function(b){\"selectionchange\"!==b&&(mf.has(b)||qf(b,!1,a),qf(b,!0,a))});var b=9===a.nodeType?a:a.ownerDocument;null===b||b[rf]||(b[rf]=!0,qf(\"selectionchange\",!1,b))}}\nfunction pf(a,b,c,d){switch(jd(b)){case 1:var e=ed;break;case 4:e=gd;break;default:e=fd}c=e.bind(null,b,c,a);e=void 0;!Lb||\"touchstart\"!==b&&\"touchmove\"!==b&&\"wheel\"!==b||(e=!0);d?void 0!==e?a.addEventListener(b,c,{capture:!0,passive:e}):a.addEventListener(b,c,!0):void 0!==e?a.addEventListener(b,c,{passive:e}):a.addEventListener(b,c,!1)}\nfunction hd(a,b,c,d,e){var f=d;if(0===(b&1)&&0===(b&2)&&null!==d)a:for(;;){if(null===d)return;var g=d.tag;if(3===g||4===g){var h=d.stateNode.containerInfo;if(h===e||8===h.nodeType&&h.parentNode===e)break;if(4===g)for(g=d.return;null!==g;){var k=g.tag;if(3===k||4===k)if(k=g.stateNode.containerInfo,k===e||8===k.nodeType&&k.parentNode===e)return;g=g.return}for(;null!==h;){g=Wc(h);if(null===g)return;k=g.tag;if(5===k||6===k){d=f=g;continue a}h=h.parentNode}}d=d.return}Jb(function(){var d=f,e=xb(c),g=[];\na:{var h=df.get(a);if(void 0!==h){var k=td,n=a;switch(a){case \"keypress\":if(0===od(c))break a;case \"keydown\":case \"keyup\":k=Rd;break;case \"focusin\":n=\"focus\";k=Fd;break;case \"focusout\":n=\"blur\";k=Fd;break;case \"beforeblur\":case \"afterblur\":k=Fd;break;case \"click\":if(2===c.button)break a;case \"auxclick\":case \"dblclick\":case \"mousedown\":case \"mousemove\":case \"mouseup\":case \"mouseout\":case \"mouseover\":case \"contextmenu\":k=Bd;break;case \"drag\":case \"dragend\":case \"dragenter\":case \"dragexit\":case \"dragleave\":case \"dragover\":case \"dragstart\":case \"drop\":k=\nDd;break;case \"touchcancel\":case \"touchend\":case \"touchmove\":case \"touchstart\":k=Vd;break;case $e:case af:case bf:k=Hd;break;case cf:k=Xd;break;case \"scroll\":k=vd;break;case \"wheel\":k=Zd;break;case \"copy\":case \"cut\":case \"paste\":k=Jd;break;case \"gotpointercapture\":case \"lostpointercapture\":case \"pointercancel\":case \"pointerdown\":case \"pointermove\":case \"pointerout\":case \"pointerover\":case \"pointerup\":k=Td}var t=0!==(b&4),J=!t&&\"scroll\"===a,x=t?null!==h?h+\"Capture\":null:h;t=[];for(var w=d,u;null!==\nw;){u=w;var F=u.stateNode;5===u.tag&&null!==F&&(u=F,null!==x&&(F=Kb(w,x),null!=F&&t.push(tf(w,F,u))));if(J)break;w=w.return}0<t.length&&(h=new k(h,n,null,c,e),g.push({event:h,listeners:t}))}}if(0===(b&7)){a:{h=\"mouseover\"===a||\"pointerover\"===a;k=\"mouseout\"===a||\"pointerout\"===a;if(h&&c!==wb&&(n=c.relatedTarget||c.fromElement)&&(Wc(n)||n[uf]))break a;if(k||h){h=e.window===e?e:(h=e.ownerDocument)?h.defaultView||h.parentWindow:window;if(k){if(n=c.relatedTarget||c.toElement,k=d,n=n?Wc(n):null,null!==\nn&&(J=Vb(n),n!==J||5!==n.tag&&6!==n.tag))n=null}else k=null,n=d;if(k!==n){t=Bd;F=\"onMouseLeave\";x=\"onMouseEnter\";w=\"mouse\";if(\"pointerout\"===a||\"pointerover\"===a)t=Td,F=\"onPointerLeave\",x=\"onPointerEnter\",w=\"pointer\";J=null==k?h:ue(k);u=null==n?h:ue(n);h=new t(F,w+\"leave\",k,c,e);h.target=J;h.relatedTarget=u;F=null;Wc(e)===d&&(t=new t(x,w+\"enter\",n,c,e),t.target=u,t.relatedTarget=J,F=t);J=F;if(k&&n)b:{t=k;x=n;w=0;for(u=t;u;u=vf(u))w++;u=0;for(F=x;F;F=vf(F))u++;for(;0<w-u;)t=vf(t),w--;for(;0<u-w;)x=\nvf(x),u--;for(;w--;){if(t===x||null!==x&&t===x.alternate)break b;t=vf(t);x=vf(x)}t=null}else t=null;null!==k&&wf(g,h,k,t,!1);null!==n&&null!==J&&wf(g,J,n,t,!0)}}}a:{h=d?ue(d):window;k=h.nodeName&&h.nodeName.toLowerCase();if(\"select\"===k||\"input\"===k&&\"file\"===h.type)var na=ve;else if(me(h))if(we)na=Fe;else{na=De;var xa=Ce}else(k=h.nodeName)&&\"input\"===k.toLowerCase()&&(\"checkbox\"===h.type||\"radio\"===h.type)&&(na=Ee);if(na&&(na=na(a,d))){ne(g,na,c,e);break a}xa&&xa(a,h,d);\"focusout\"===a&&(xa=h._wrapperState)&&\nxa.controlled&&\"number\"===h.type&&cb(h,\"number\",h.value)}xa=d?ue(d):window;switch(a){case \"focusin\":if(me(xa)||\"true\"===xa.contentEditable)Qe=xa,Re=d,Se=null;break;case \"focusout\":Se=Re=Qe=null;break;case \"mousedown\":Te=!0;break;case \"contextmenu\":case \"mouseup\":case \"dragend\":Te=!1;Ue(g,c,e);break;case \"selectionchange\":if(Pe)break;case \"keydown\":case \"keyup\":Ue(g,c,e)}var $a;if(ae)b:{switch(a){case \"compositionstart\":var ba=\"onCompositionStart\";break b;case \"compositionend\":ba=\"onCompositionEnd\";\nbreak b;case \"compositionupdate\":ba=\"onCompositionUpdate\";break b}ba=void 0}else ie?ge(a,c)&&(ba=\"onCompositionEnd\"):\"keydown\"===a&&229===c.keyCode&&(ba=\"onCompositionStart\");ba&&(de&&\"ko\"!==c.locale&&(ie||\"onCompositionStart\"!==ba?\"onCompositionEnd\"===ba&&ie&&($a=nd()):(kd=e,ld=\"value\"in kd?kd.value:kd.textContent,ie=!0)),xa=oe(d,ba),0<xa.length&&(ba=new Ld(ba,a,null,c,e),g.push({event:ba,listeners:xa}),$a?ba.data=$a:($a=he(c),null!==$a&&(ba.data=$a))));if($a=ce?je(a,c):ke(a,c))d=oe(d,\"onBeforeInput\"),\n0<d.length&&(e=new Ld(\"onBeforeInput\",\"beforeinput\",null,c,e),g.push({event:e,listeners:d}),e.data=$a)}se(g,b)})}function tf(a,b,c){return{instance:a,listener:b,currentTarget:c}}function oe(a,b){for(var c=b+\"Capture\",d=[];null!==a;){var e=a,f=e.stateNode;5===e.tag&&null!==f&&(e=f,f=Kb(a,c),null!=f&&d.unshift(tf(a,f,e)),f=Kb(a,b),null!=f&&d.push(tf(a,f,e)));a=a.return}return d}function vf(a){if(null===a)return null;do a=a.return;while(a&&5!==a.tag);return a?a:null}\nfunction wf(a,b,c,d,e){for(var f=b._reactName,g=[];null!==c&&c!==d;){var h=c,k=h.alternate,l=h.stateNode;if(null!==k&&k===d)break;5===h.tag&&null!==l&&(h=l,e?(k=Kb(c,f),null!=k&&g.unshift(tf(c,k,h))):e||(k=Kb(c,f),null!=k&&g.push(tf(c,k,h))));c=c.return}0!==g.length&&a.push({event:b,listeners:g})}var xf=/\\r\\n?/g,yf=/\\u0000|\\uFFFD/g;function zf(a){return(\"string\"===typeof a?a:\"\"+a).replace(xf,\"\\n\").replace(yf,\"\")}function Af(a,b,c){b=zf(b);if(zf(a)!==b&&c)throw Error(p(425));}function Bf(){}\nvar Cf=null,Df=null;function Ef(a,b){return\"textarea\"===a||\"noscript\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===typeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&null!=b.dangerouslySetInnerHTML.__html}\nvar Ff=\"function\"===typeof setTimeout?setTimeout:void 0,Gf=\"function\"===typeof clearTimeout?clearTimeout:void 0,Hf=\"function\"===typeof Promise?Promise:void 0,Jf=\"function\"===typeof queueMicrotask?queueMicrotask:\"undefined\"!==typeof Hf?function(a){return Hf.resolve(null).then(a).catch(If)}:Ff;function If(a){setTimeout(function(){throw a;})}\nfunction Kf(a,b){var c=b,d=0;do{var e=c.nextSibling;a.removeChild(c);if(e&&8===e.nodeType)if(c=e.data,\"/$\"===c){if(0===d){a.removeChild(e);bd(b);return}d--}else\"$\"!==c&&\"$?\"!==c&&\"$!\"!==c||d++;c=e}while(c);bd(b)}function Lf(a){for(;null!=a;a=a.nextSibling){var b=a.nodeType;if(1===b||3===b)break;if(8===b){b=a.data;if(\"$\"===b||\"$!\"===b||\"$?\"===b)break;if(\"/$\"===b)return null}}return a}\nfunction Mf(a){a=a.previousSibling;for(var b=0;a;){if(8===a.nodeType){var c=a.data;if(\"$\"===c||\"$!\"===c||\"$?\"===c){if(0===b)return a;b--}else\"/$\"===c&&b++}a=a.previousSibling}return null}var Nf=Math.random().toString(36).slice(2),Of=\"__reactFiber$\"+Nf,Pf=\"__reactProps$\"+Nf,uf=\"__reactContainer$\"+Nf,of=\"__reactEvents$\"+Nf,Qf=\"__reactListeners$\"+Nf,Rf=\"__reactHandles$\"+Nf;\nfunction Wc(a){var b=a[Of];if(b)return b;for(var c=a.parentNode;c;){if(b=c[uf]||c[Of]){c=b.alternate;if(null!==b.child||null!==c&&null!==c.child)for(a=Mf(a);null!==a;){if(c=a[Of])return c;a=Mf(a)}return b}a=c;c=a.parentNode}return null}function Cb(a){a=a[Of]||a[uf];return!a||5!==a.tag&&6!==a.tag&&13!==a.tag&&3!==a.tag?null:a}function ue(a){if(5===a.tag||6===a.tag)return a.stateNode;throw Error(p(33));}function Db(a){return a[Pf]||null}var Sf=[],Tf=-1;function Uf(a){return{current:a}}\nfunction E(a){0>Tf||(a.current=Sf[Tf],Sf[Tf]=null,Tf--)}function G(a,b){Tf++;Sf[Tf]=a.current;a.current=b}var Vf={},H=Uf(Vf),Wf=Uf(!1),Xf=Vf;function Yf(a,b){var c=a.type.contextTypes;if(!c)return Vf;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}\nfunction Zf(a){a=a.childContextTypes;return null!==a&&void 0!==a}function $f(){E(Wf);E(H)}function ag(a,b,c){if(H.current!==Vf)throw Error(p(168));G(H,b);G(Wf,c)}function bg(a,b,c){var d=a.stateNode;b=b.childContextTypes;if(\"function\"!==typeof d.getChildContext)return c;d=d.getChildContext();for(var e in d)if(!(e in b))throw Error(p(108,Ra(a)||\"Unknown\",e));return A({},c,d)}\nfunction cg(a){a=(a=a.stateNode)&&a.__reactInternalMemoizedMergedChildContext||Vf;Xf=H.current;G(H,a);G(Wf,Wf.current);return!0}function dg(a,b,c){var d=a.stateNode;if(!d)throw Error(p(169));c?(a=bg(a,b,Xf),d.__reactInternalMemoizedMergedChildContext=a,E(Wf),E(H),G(H,a)):E(Wf);G(Wf,c)}var eg=null,fg=!1,gg=!1;function hg(a){null===eg?eg=[a]:eg.push(a)}function ig(a){fg=!0;hg(a)}\nfunction jg(){if(!gg&&null!==eg){gg=!0;var a=0,b=C;try{var c=eg;for(C=1;a<c.length;a++){var d=c[a];do d=d(!0);while(null!==d)}eg=null;fg=!1}catch(e){throw null!==eg&&(eg=eg.slice(a+1)),ac(fc,jg),e;}finally{C=b,gg=!1}}return null}var kg=[],lg=0,mg=null,ng=0,og=[],pg=0,qg=null,rg=1,sg=\"\";function tg(a,b){kg[lg++]=ng;kg[lg++]=mg;mg=a;ng=b}\nfunction ug(a,b,c){og[pg++]=rg;og[pg++]=sg;og[pg++]=qg;qg=a;var d=rg;a=sg;var e=32-oc(d)-1;d&=~(1<<e);c+=1;var f=32-oc(b)+e;if(30<f){var g=e-e%5;f=(d&(1<<g)-1).toString(32);d>>=g;e-=g;rg=1<<32-oc(b)+e|c<<e|d;sg=f+a}else rg=1<<f|c<<e|d,sg=a}function vg(a){null!==a.return&&(tg(a,1),ug(a,1,0))}function wg(a){for(;a===mg;)mg=kg[--lg],kg[lg]=null,ng=kg[--lg],kg[lg]=null;for(;a===qg;)qg=og[--pg],og[pg]=null,sg=og[--pg],og[pg]=null,rg=og[--pg],og[pg]=null}var xg=null,yg=null,I=!1,zg=null;\nfunction Ag(a,b){var c=Bg(5,null,null,0);c.elementType=\"DELETED\";c.stateNode=b;c.return=a;b=a.deletions;null===b?(a.deletions=[c],a.flags|=16):b.push(c)}\nfunction Cg(a,b){switch(a.tag){case 5:var c=a.type;b=1!==b.nodeType||c.toLowerCase()!==b.nodeName.toLowerCase()?null:b;return null!==b?(a.stateNode=b,xg=a,yg=Lf(b.firstChild),!0):!1;case 6:return b=\"\"===a.pendingProps||3!==b.nodeType?null:b,null!==b?(a.stateNode=b,xg=a,yg=null,!0):!1;case 13:return b=8!==b.nodeType?null:b,null!==b?(c=null!==qg?{id:rg,overflow:sg}:null,a.memoizedState={dehydrated:b,treeContext:c,retryLane:1073741824},c=Bg(18,null,null,0),c.stateNode=b,c.return=a,a.child=c,xg=a,yg=\nnull,!0):!1;default:return!1}}function Dg(a){return 0!==(a.mode&1)&&0===(a.flags&128)}function Eg(a){if(I){var b=yg;if(b){var c=b;if(!Cg(a,b)){if(Dg(a))throw Error(p(418));b=Lf(c.nextSibling);var d=xg;b&&Cg(a,b)?Ag(d,c):(a.flags=a.flags&-4097|2,I=!1,xg=a)}}else{if(Dg(a))throw Error(p(418));a.flags=a.flags&-4097|2;I=!1;xg=a}}}function Fg(a){for(a=a.return;null!==a&&5!==a.tag&&3!==a.tag&&13!==a.tag;)a=a.return;xg=a}\nfunction Gg(a){if(a!==xg)return!1;if(!I)return Fg(a),I=!0,!1;var b;(b=3!==a.tag)&&!(b=5!==a.tag)&&(b=a.type,b=\"head\"!==b&&\"body\"!==b&&!Ef(a.type,a.memoizedProps));if(b&&(b=yg)){if(Dg(a))throw Hg(),Error(p(418));for(;b;)Ag(a,b),b=Lf(b.nextSibling)}Fg(a);if(13===a.tag){a=a.memoizedState;a=null!==a?a.dehydrated:null;if(!a)throw Error(p(317));a:{a=a.nextSibling;for(b=0;a;){if(8===a.nodeType){var c=a.data;if(\"/$\"===c){if(0===b){yg=Lf(a.nextSibling);break a}b--}else\"$\"!==c&&\"$!\"!==c&&\"$?\"!==c||b++}a=a.nextSibling}yg=\nnull}}else yg=xg?Lf(a.stateNode.nextSibling):null;return!0}function Hg(){for(var a=yg;a;)a=Lf(a.nextSibling)}function Ig(){yg=xg=null;I=!1}function Jg(a){null===zg?zg=[a]:zg.push(a)}var Kg=ua.ReactCurrentBatchConfig;\nfunction Lg(a,b,c){a=c.ref;if(null!==a&&\"function\"!==typeof a&&\"object\"!==typeof a){if(c._owner){c=c._owner;if(c){if(1!==c.tag)throw Error(p(309));var d=c.stateNode}if(!d)throw Error(p(147,a));var e=d,f=\"\"+a;if(null!==b&&null!==b.ref&&\"function\"===typeof b.ref&&b.ref._stringRef===f)return b.ref;b=function(a){var b=e.refs;null===a?delete b[f]:b[f]=a};b._stringRef=f;return b}if(\"string\"!==typeof a)throw Error(p(284));if(!c._owner)throw Error(p(290,a));}return a}\nfunction Mg(a,b){a=Object.prototype.toString.call(b);throw Error(p(31,\"[object Object]\"===a?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":a));}function Ng(a){var b=a._init;return b(a._payload)}\nfunction Og(a){function b(b,c){if(a){var d=b.deletions;null===d?(b.deletions=[c],b.flags|=16):d.push(c)}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b){a=Pg(a,b);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return b.flags|=1048576,c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.flags|=2,c):d;b.flags|=2;return c}function g(b){a&&\nnull===b.alternate&&(b.flags|=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=Qg(c,a.mode,d),b.return=a,b;b=e(b,c);b.return=a;return b}function k(a,b,c,d){var f=c.type;if(f===ya)return m(a,b,c.props.children,d,c.key);if(null!==b&&(b.elementType===f||\"object\"===typeof f&&null!==f&&f.$$typeof===Ha&&Ng(f)===b.type))return d=e(b,c.props),d.ref=Lg(a,b,c),d.return=a,d;d=Rg(c.type,c.key,c.props,null,a.mode,d);d.ref=Lg(a,b,c);d.return=a;return d}function l(a,b,c,d){if(null===b||4!==b.tag||\nb.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=Sg(c,a.mode,d),b.return=a,b;b=e(b,c.children||[]);b.return=a;return b}function m(a,b,c,d,f){if(null===b||7!==b.tag)return b=Tg(c,a.mode,d,f),b.return=a,b;b=e(b,c);b.return=a;return b}function q(a,b,c){if(\"string\"===typeof b&&\"\"!==b||\"number\"===typeof b)return b=Qg(\"\"+b,a.mode,c),b.return=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case va:return c=Rg(b.type,b.key,b.props,null,a.mode,c),\nc.ref=Lg(a,null,b),c.return=a,c;case wa:return b=Sg(b,a.mode,c),b.return=a,b;case Ha:var d=b._init;return q(a,d(b._payload),c)}if(eb(b)||Ka(b))return b=Tg(b,a.mode,c,null),b.return=a,b;Mg(a,b)}return null}function r(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c&&\"\"!==c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case va:return c.key===e?k(a,b,c,d):null;case wa:return c.key===e?l(a,b,c,d):null;case Ha:return e=c._init,r(a,\nb,e(c._payload),d)}if(eb(c)||Ka(c))return null!==e?null:m(a,b,c,d,null);Mg(a,c)}return null}function y(a,b,c,d,e){if(\"string\"===typeof d&&\"\"!==d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case va:return a=a.get(null===d.key?c:d.key)||null,k(b,a,d,e);case wa:return a=a.get(null===d.key?c:d.key)||null,l(b,a,d,e);case Ha:var f=d._init;return y(a,b,c,f(d._payload),e)}if(eb(d)||Ka(d))return a=a.get(c)||null,m(b,a,d,e,null);Mg(b,d)}return null}\nfunction n(e,g,h,k){for(var l=null,m=null,u=g,w=g=0,x=null;null!==u&&w<h.length;w++){u.index>w?(x=u,u=null):x=u.sibling;var n=r(e,u,h[w],k);if(null===n){null===u&&(u=x);break}a&&u&&null===n.alternate&&b(e,u);g=f(n,g,w);null===m?l=n:m.sibling=n;m=n;u=x}if(w===h.length)return c(e,u),I&&tg(e,w),l;if(null===u){for(;w<h.length;w++)u=q(e,h[w],k),null!==u&&(g=f(u,g,w),null===m?l=u:m.sibling=u,m=u);I&&tg(e,w);return l}for(u=d(e,u);w<h.length;w++)x=y(u,e,w,h[w],k),null!==x&&(a&&null!==x.alternate&&u.delete(null===\nx.key?w:x.key),g=f(x,g,w),null===m?l=x:m.sibling=x,m=x);a&&u.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function t(e,g,h,k){var l=Ka(h);if(\"function\"!==typeof l)throw Error(p(150));h=l.call(h);if(null==h)throw Error(p(151));for(var u=l=null,m=g,w=g=0,x=null,n=h.next();null!==m&&!n.done;w++,n=h.next()){m.index>w?(x=m,m=null):x=m.sibling;var t=r(e,m,n.value,k);if(null===t){null===m&&(m=x);break}a&&m&&null===t.alternate&&b(e,m);g=f(t,g,w);null===u?l=t:u.sibling=t;u=t;m=x}if(n.done)return c(e,\nm),I&&tg(e,w),l;if(null===m){for(;!n.done;w++,n=h.next())n=q(e,n.value,k),null!==n&&(g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);I&&tg(e,w);return l}for(m=d(e,m);!n.done;w++,n=h.next())n=y(m,e,w,n.value,k),null!==n&&(a&&null!==n.alternate&&m.delete(null===n.key?w:n.key),g=f(n,g,w),null===u?l=n:u.sibling=n,u=n);a&&m.forEach(function(a){return b(e,a)});I&&tg(e,w);return l}function J(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===ya&&null===f.key&&(f=f.props.children);if(\"object\"===typeof f&&null!==f){switch(f.$$typeof){case va:a:{for(var k=\nf.key,l=d;null!==l;){if(l.key===k){k=f.type;if(k===ya){if(7===l.tag){c(a,l.sibling);d=e(l,f.props.children);d.return=a;a=d;break a}}else if(l.elementType===k||\"object\"===typeof k&&null!==k&&k.$$typeof===Ha&&Ng(k)===l.type){c(a,l.sibling);d=e(l,f.props);d.ref=Lg(a,l,f);d.return=a;a=d;break a}c(a,l);break}else b(a,l);l=l.sibling}f.type===ya?(d=Tg(f.props.children,a.mode,h,f.key),d.return=a,a=d):(h=Rg(f.type,f.key,f.props,null,a.mode,h),h.ref=Lg(a,d,f),h.return=a,a=h)}return g(a);case wa:a:{for(l=f.key;null!==\nd;){if(d.key===l)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===f.implementation){c(a,d.sibling);d=e(d,f.children||[]);d.return=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=Sg(f,a.mode,h);d.return=a;a=d}return g(a);case Ha:return l=f._init,J(a,d,l(f._payload),h)}if(eb(f))return n(a,d,f,h);if(Ka(f))return t(a,d,f,h);Mg(a,f)}return\"string\"===typeof f&&\"\"!==f||\"number\"===typeof f?(f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f),d.return=a,a=d):\n(c(a,d),d=Qg(f,a.mode,h),d.return=a,a=d),g(a)):c(a,d)}return J}var Ug=Og(!0),Vg=Og(!1),Wg=Uf(null),Xg=null,Yg=null,Zg=null;function $g(){Zg=Yg=Xg=null}function ah(a){var b=Wg.current;E(Wg);a._currentValue=b}function bh(a,b,c){for(;null!==a;){var d=a.alternate;(a.childLanes&b)!==b?(a.childLanes|=b,null!==d&&(d.childLanes|=b)):null!==d&&(d.childLanes&b)!==b&&(d.childLanes|=b);if(a===c)break;a=a.return}}\nfunction ch(a,b){Xg=a;Zg=Yg=null;a=a.dependencies;null!==a&&null!==a.firstContext&&(0!==(a.lanes&b)&&(dh=!0),a.firstContext=null)}function eh(a){var b=a._currentValue;if(Zg!==a)if(a={context:a,memoizedValue:b,next:null},null===Yg){if(null===Xg)throw Error(p(308));Yg=a;Xg.dependencies={lanes:0,firstContext:a}}else Yg=Yg.next=a;return b}var fh=null;function gh(a){null===fh?fh=[a]:fh.push(a)}\nfunction hh(a,b,c,d){var e=b.interleaved;null===e?(c.next=c,gh(b)):(c.next=e.next,e.next=c);b.interleaved=c;return ih(a,d)}function ih(a,b){a.lanes|=b;var c=a.alternate;null!==c&&(c.lanes|=b);c=a;for(a=a.return;null!==a;)a.childLanes|=b,c=a.alternate,null!==c&&(c.childLanes|=b),c=a,a=a.return;return 3===c.tag?c.stateNode:null}var jh=!1;function kh(a){a.updateQueue={baseState:a.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}\nfunction lh(a,b){a=a.updateQueue;b.updateQueue===a&&(b.updateQueue={baseState:a.baseState,firstBaseUpdate:a.firstBaseUpdate,lastBaseUpdate:a.lastBaseUpdate,shared:a.shared,effects:a.effects})}function mh(a,b){return{eventTime:a,lane:b,tag:0,payload:null,callback:null,next:null}}\nfunction nh(a,b,c){var d=a.updateQueue;if(null===d)return null;d=d.shared;if(0!==(K&2)){var e=d.pending;null===e?b.next=b:(b.next=e.next,e.next=b);d.pending=b;return ih(a,c)}e=d.interleaved;null===e?(b.next=b,gh(d)):(b.next=e.next,e.next=b);d.interleaved=b;return ih(a,c)}function oh(a,b,c){b=b.updateQueue;if(null!==b&&(b=b.shared,0!==(c&4194240))){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nfunction ph(a,b){var c=a.updateQueue,d=a.alternate;if(null!==d&&(d=d.updateQueue,c===d)){var e=null,f=null;c=c.firstBaseUpdate;if(null!==c){do{var g={eventTime:c.eventTime,lane:c.lane,tag:c.tag,payload:c.payload,callback:c.callback,next:null};null===f?e=f=g:f=f.next=g;c=c.next}while(null!==c);null===f?e=f=b:f=f.next=b}else e=f=b;c={baseState:d.baseState,firstBaseUpdate:e,lastBaseUpdate:f,shared:d.shared,effects:d.effects};a.updateQueue=c;return}a=c.lastBaseUpdate;null===a?c.firstBaseUpdate=b:a.next=\nb;c.lastBaseUpdate=b}\nfunction qh(a,b,c,d){var e=a.updateQueue;jh=!1;var f=e.firstBaseUpdate,g=e.lastBaseUpdate,h=e.shared.pending;if(null!==h){e.shared.pending=null;var k=h,l=k.next;k.next=null;null===g?f=l:g.next=l;g=k;var m=a.alternate;null!==m&&(m=m.updateQueue,h=m.lastBaseUpdate,h!==g&&(null===h?m.firstBaseUpdate=l:h.next=l,m.lastBaseUpdate=k))}if(null!==f){var q=e.baseState;g=0;m=l=k=null;h=f;do{var r=h.lane,y=h.eventTime;if((d&r)===r){null!==m&&(m=m.next={eventTime:y,lane:0,tag:h.tag,payload:h.payload,callback:h.callback,\nnext:null});a:{var n=a,t=h;r=b;y=c;switch(t.tag){case 1:n=t.payload;if(\"function\"===typeof n){q=n.call(y,q,r);break a}q=n;break a;case 3:n.flags=n.flags&-65537|128;case 0:n=t.payload;r=\"function\"===typeof n?n.call(y,q,r):n;if(null===r||void 0===r)break a;q=A({},q,r);break a;case 2:jh=!0}}null!==h.callback&&0!==h.lane&&(a.flags|=64,r=e.effects,null===r?e.effects=[h]:r.push(h))}else y={eventTime:y,lane:r,tag:h.tag,payload:h.payload,callback:h.callback,next:null},null===m?(l=m=y,k=q):m=m.next=y,g|=r;\nh=h.next;if(null===h)if(h=e.shared.pending,null===h)break;else r=h,h=r.next,r.next=null,e.lastBaseUpdate=r,e.shared.pending=null}while(1);null===m&&(k=q);e.baseState=k;e.firstBaseUpdate=l;e.lastBaseUpdate=m;b=e.shared.interleaved;if(null!==b){e=b;do g|=e.lane,e=e.next;while(e!==b)}else null===f&&(e.shared.lanes=0);rh|=g;a.lanes=g;a.memoizedState=q}}\nfunction sh(a,b,c){a=b.effects;b.effects=null;if(null!==a)for(b=0;b<a.length;b++){var d=a[b],e=d.callback;if(null!==e){d.callback=null;d=c;if(\"function\"!==typeof e)throw Error(p(191,e));e.call(d)}}}var th={},uh=Uf(th),vh=Uf(th),wh=Uf(th);function xh(a){if(a===th)throw Error(p(174));return a}\nfunction yh(a,b){G(wh,b);G(vh,a);G(uh,th);a=b.nodeType;switch(a){case 9:case 11:b=(b=b.documentElement)?b.namespaceURI:lb(null,\"\");break;default:a=8===a?b.parentNode:b,b=a.namespaceURI||null,a=a.tagName,b=lb(b,a)}E(uh);G(uh,b)}function zh(){E(uh);E(vh);E(wh)}function Ah(a){xh(wh.current);var b=xh(uh.current);var c=lb(b,a.type);b!==c&&(G(vh,a),G(uh,c))}function Bh(a){vh.current===a&&(E(uh),E(vh))}var L=Uf(0);\nfunction Ch(a){for(var b=a;null!==b;){if(13===b.tag){var c=b.memoizedState;if(null!==c&&(c=c.dehydrated,null===c||\"$?\"===c.data||\"$!\"===c.data))return b}else if(19===b.tag&&void 0!==b.memoizedProps.revealOrder){if(0!==(b.flags&128))return b}else if(null!==b.child){b.child.return=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return null;b=b.return}b.sibling.return=b.return;b=b.sibling}return null}var Dh=[];\nfunction Eh(){for(var a=0;a<Dh.length;a++)Dh[a]._workInProgressVersionPrimary=null;Dh.length=0}var Fh=ua.ReactCurrentDispatcher,Gh=ua.ReactCurrentBatchConfig,Hh=0,M=null,N=null,O=null,Ih=!1,Jh=!1,Kh=0,Lh=0;function P(){throw Error(p(321));}function Mh(a,b){if(null===b)return!1;for(var c=0;c<b.length&&c<a.length;c++)if(!He(a[c],b[c]))return!1;return!0}\nfunction Nh(a,b,c,d,e,f){Hh=f;M=b;b.memoizedState=null;b.updateQueue=null;b.lanes=0;Fh.current=null===a||null===a.memoizedState?Oh:Ph;a=c(d,e);if(Jh){f=0;do{Jh=!1;Kh=0;if(25<=f)throw Error(p(301));f+=1;O=N=null;b.updateQueue=null;Fh.current=Qh;a=c(d,e)}while(Jh)}Fh.current=Rh;b=null!==N&&null!==N.next;Hh=0;O=N=M=null;Ih=!1;if(b)throw Error(p(300));return a}function Sh(){var a=0!==Kh;Kh=0;return a}\nfunction Th(){var a={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};null===O?M.memoizedState=O=a:O=O.next=a;return O}function Uh(){if(null===N){var a=M.alternate;a=null!==a?a.memoizedState:null}else a=N.next;var b=null===O?M.memoizedState:O.next;if(null!==b)O=b,N=a;else{if(null===a)throw Error(p(310));N=a;a={memoizedState:N.memoizedState,baseState:N.baseState,baseQueue:N.baseQueue,queue:N.queue,next:null};null===O?M.memoizedState=O=a:O=O.next=a}return O}\nfunction Vh(a,b){return\"function\"===typeof b?b(a):b}\nfunction Wh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=N,e=d.baseQueue,f=c.pending;if(null!==f){if(null!==e){var g=e.next;e.next=f.next;f.next=g}d.baseQueue=e=f;c.pending=null}if(null!==e){f=e.next;d=d.baseState;var h=g=null,k=null,l=f;do{var m=l.lane;if((Hh&m)===m)null!==k&&(k=k.next={lane:0,action:l.action,hasEagerState:l.hasEagerState,eagerState:l.eagerState,next:null}),d=l.hasEagerState?l.eagerState:a(d,l.action);else{var q={lane:m,action:l.action,hasEagerState:l.hasEagerState,\neagerState:l.eagerState,next:null};null===k?(h=k=q,g=d):k=k.next=q;M.lanes|=m;rh|=m}l=l.next}while(null!==l&&l!==f);null===k?g=d:k.next=h;He(d,b.memoizedState)||(dh=!0);b.memoizedState=d;b.baseState=g;b.baseQueue=k;c.lastRenderedState=d}a=c.interleaved;if(null!==a){e=a;do f=e.lane,M.lanes|=f,rh|=f,e=e.next;while(e!==a)}else null===e&&(c.lanes=0);return[b.memoizedState,c.dispatch]}\nfunction Xh(a){var b=Uh(),c=b.queue;if(null===c)throw Error(p(311));c.lastRenderedReducer=a;var d=c.dispatch,e=c.pending,f=b.memoizedState;if(null!==e){c.pending=null;var g=e=e.next;do f=a(f,g.action),g=g.next;while(g!==e);He(f,b.memoizedState)||(dh=!0);b.memoizedState=f;null===b.baseQueue&&(b.baseState=f);c.lastRenderedState=f}return[f,d]}function Yh(){}\nfunction Zh(a,b){var c=M,d=Uh(),e=b(),f=!He(d.memoizedState,e);f&&(d.memoizedState=e,dh=!0);d=d.queue;$h(ai.bind(null,c,d,a),[a]);if(d.getSnapshot!==b||f||null!==O&&O.memoizedState.tag&1){c.flags|=2048;bi(9,ci.bind(null,c,d,e,b),void 0,null);if(null===Q)throw Error(p(349));0!==(Hh&30)||di(c,b,e)}return e}function di(a,b,c){a.flags|=16384;a={getSnapshot:b,value:c};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.stores=[a]):(c=b.stores,null===c?b.stores=[a]:c.push(a))}\nfunction ci(a,b,c,d){b.value=c;b.getSnapshot=d;ei(b)&&fi(a)}function ai(a,b,c){return c(function(){ei(b)&&fi(a)})}function ei(a){var b=a.getSnapshot;a=a.value;try{var c=b();return!He(a,c)}catch(d){return!0}}function fi(a){var b=ih(a,1);null!==b&&gi(b,a,1,-1)}\nfunction hi(a){var b=Th();\"function\"===typeof a&&(a=a());b.memoizedState=b.baseState=a;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Vh,lastRenderedState:a};b.queue=a;a=a.dispatch=ii.bind(null,M,a);return[b.memoizedState,a]}\nfunction bi(a,b,c,d){a={tag:a,create:b,destroy:c,deps:d,next:null};b=M.updateQueue;null===b?(b={lastEffect:null,stores:null},M.updateQueue=b,b.lastEffect=a.next=a):(c=b.lastEffect,null===c?b.lastEffect=a.next=a:(d=c.next,c.next=a,a.next=d,b.lastEffect=a));return a}function ji(){return Uh().memoizedState}function ki(a,b,c,d){var e=Th();M.flags|=a;e.memoizedState=bi(1|b,c,void 0,void 0===d?null:d)}\nfunction li(a,b,c,d){var e=Uh();d=void 0===d?null:d;var f=void 0;if(null!==N){var g=N.memoizedState;f=g.destroy;if(null!==d&&Mh(d,g.deps)){e.memoizedState=bi(b,c,f,d);return}}M.flags|=a;e.memoizedState=bi(1|b,c,f,d)}function mi(a,b){return ki(8390656,8,a,b)}function $h(a,b){return li(2048,8,a,b)}function ni(a,b){return li(4,2,a,b)}function oi(a,b){return li(4,4,a,b)}\nfunction pi(a,b){if(\"function\"===typeof b)return a=a(),b(a),function(){b(null)};if(null!==b&&void 0!==b)return a=a(),b.current=a,function(){b.current=null}}function qi(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return li(4,4,pi.bind(null,b,a),c)}function ri(){}function si(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];c.memoizedState=[a,b];return a}\nfunction ti(a,b){var c=Uh();b=void 0===b?null:b;var d=c.memoizedState;if(null!==d&&null!==b&&Mh(b,d[1]))return d[0];a=a();c.memoizedState=[a,b];return a}function ui(a,b,c){if(0===(Hh&21))return a.baseState&&(a.baseState=!1,dh=!0),a.memoizedState=c;He(c,b)||(c=yc(),M.lanes|=c,rh|=c,a.baseState=!0);return b}function vi(a,b){var c=C;C=0!==c&&4>c?c:4;a(!0);var d=Gh.transition;Gh.transition={};try{a(!1),b()}finally{C=c,Gh.transition=d}}function wi(){return Uh().memoizedState}\nfunction xi(a,b,c){var d=yi(a);c={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,c);else if(c=hh(a,b,c,d),null!==c){var e=R();gi(c,a,d,e);Bi(c,b,d)}}\nfunction ii(a,b,c){var d=yi(a),e={lane:d,action:c,hasEagerState:!1,eagerState:null,next:null};if(zi(a))Ai(b,e);else{var f=a.alternate;if(0===a.lanes&&(null===f||0===f.lanes)&&(f=b.lastRenderedReducer,null!==f))try{var g=b.lastRenderedState,h=f(g,c);e.hasEagerState=!0;e.eagerState=h;if(He(h,g)){var k=b.interleaved;null===k?(e.next=e,gh(b)):(e.next=k.next,k.next=e);b.interleaved=e;return}}catch(l){}finally{}c=hh(a,b,e,d);null!==c&&(e=R(),gi(c,a,d,e),Bi(c,b,d))}}\nfunction zi(a){var b=a.alternate;return a===M||null!==b&&b===M}function Ai(a,b){Jh=Ih=!0;var c=a.pending;null===c?b.next=b:(b.next=c.next,c.next=b);a.pending=b}function Bi(a,b,c){if(0!==(c&4194240)){var d=b.lanes;d&=a.pendingLanes;c|=d;b.lanes=c;Cc(a,c)}}\nvar Rh={readContext:eh,useCallback:P,useContext:P,useEffect:P,useImperativeHandle:P,useInsertionEffect:P,useLayoutEffect:P,useMemo:P,useReducer:P,useRef:P,useState:P,useDebugValue:P,useDeferredValue:P,useTransition:P,useMutableSource:P,useSyncExternalStore:P,useId:P,unstable_isNewReconciler:!1},Oh={readContext:eh,useCallback:function(a,b){Th().memoizedState=[a,void 0===b?null:b];return a},useContext:eh,useEffect:mi,useImperativeHandle:function(a,b,c){c=null!==c&&void 0!==c?c.concat([a]):null;return ki(4194308,\n4,pi.bind(null,b,a),c)},useLayoutEffect:function(a,b){return ki(4194308,4,a,b)},useInsertionEffect:function(a,b){return ki(4,2,a,b)},useMemo:function(a,b){var c=Th();b=void 0===b?null:b;a=a();c.memoizedState=[a,b];return a},useReducer:function(a,b,c){var d=Th();b=void 0!==c?c(b):b;d.memoizedState=d.baseState=b;a={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:a,lastRenderedState:b};d.queue=a;a=a.dispatch=xi.bind(null,M,a);return[d.memoizedState,a]},useRef:function(a){var b=\nTh();a={current:a};return b.memoizedState=a},useState:hi,useDebugValue:ri,useDeferredValue:function(a){return Th().memoizedState=a},useTransition:function(){var a=hi(!1),b=a[0];a=vi.bind(null,a[1]);Th().memoizedState=a;return[b,a]},useMutableSource:function(){},useSyncExternalStore:function(a,b,c){var d=M,e=Th();if(I){if(void 0===c)throw Error(p(407));c=c()}else{c=b();if(null===Q)throw Error(p(349));0!==(Hh&30)||di(d,b,c)}e.memoizedState=c;var f={value:c,getSnapshot:b};e.queue=f;mi(ai.bind(null,d,\nf,a),[a]);d.flags|=2048;bi(9,ci.bind(null,d,f,c,b),void 0,null);return c},useId:function(){var a=Th(),b=Q.identifierPrefix;if(I){var c=sg;var d=rg;c=(d&~(1<<32-oc(d)-1)).toString(32)+c;b=\":\"+b+\"R\"+c;c=Kh++;0<c&&(b+=\"H\"+c.toString(32));b+=\":\"}else c=Lh++,b=\":\"+b+\"r\"+c.toString(32)+\":\";return a.memoizedState=b},unstable_isNewReconciler:!1},Ph={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Wh,useRef:ji,useState:function(){return Wh(Vh)},\nuseDebugValue:ri,useDeferredValue:function(a){var b=Uh();return ui(b,N.memoizedState,a)},useTransition:function(){var a=Wh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1},Qh={readContext:eh,useCallback:si,useContext:eh,useEffect:$h,useImperativeHandle:qi,useInsertionEffect:ni,useLayoutEffect:oi,useMemo:ti,useReducer:Xh,useRef:ji,useState:function(){return Xh(Vh)},useDebugValue:ri,useDeferredValue:function(a){var b=Uh();return null===\nN?b.memoizedState=a:ui(b,N.memoizedState,a)},useTransition:function(){var a=Xh(Vh)[0],b=Uh().memoizedState;return[a,b]},useMutableSource:Yh,useSyncExternalStore:Zh,useId:wi,unstable_isNewReconciler:!1};function Ci(a,b){if(a&&a.defaultProps){b=A({},b);a=a.defaultProps;for(var c in a)void 0===b[c]&&(b[c]=a[c]);return b}return b}function Di(a,b,c,d){b=a.memoizedState;c=c(d,b);c=null===c||void 0===c?b:A({},b,c);a.memoizedState=c;0===a.lanes&&(a.updateQueue.baseState=c)}\nvar Ei={isMounted:function(a){return(a=a._reactInternals)?Vb(a)===a:!1},enqueueSetState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueReplaceState:function(a,b,c){a=a._reactInternals;var d=R(),e=yi(a),f=mh(d,e);f.tag=1;f.payload=b;void 0!==c&&null!==c&&(f.callback=c);b=nh(a,f,e);null!==b&&(gi(b,a,e,d),oh(b,a,e))},enqueueForceUpdate:function(a,b){a=a._reactInternals;var c=R(),d=\nyi(a),e=mh(c,d);e.tag=2;void 0!==b&&null!==b&&(e.callback=b);b=nh(a,e,d);null!==b&&(gi(b,a,d,c),oh(b,a,d))}};function Fi(a,b,c,d,e,f,g){a=a.stateNode;return\"function\"===typeof a.shouldComponentUpdate?a.shouldComponentUpdate(d,f,g):b.prototype&&b.prototype.isPureReactComponent?!Ie(c,d)||!Ie(e,f):!0}\nfunction Gi(a,b,c){var d=!1,e=Vf;var f=b.contextType;\"object\"===typeof f&&null!==f?f=eh(f):(e=Zf(b)?Xf:H.current,d=b.contextTypes,f=(d=null!==d&&void 0!==d)?Yf(a,e):Vf);b=new b(c,f);a.memoizedState=null!==b.state&&void 0!==b.state?b.state:null;b.updater=Ei;a.stateNode=b;b._reactInternals=a;d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=e,a.__reactInternalMemoizedMaskedChildContext=f);return b}\nfunction Hi(a,b,c,d){a=b.state;\"function\"===typeof b.componentWillReceiveProps&&b.componentWillReceiveProps(c,d);\"function\"===typeof b.UNSAFE_componentWillReceiveProps&&b.UNSAFE_componentWillReceiveProps(c,d);b.state!==a&&Ei.enqueueReplaceState(b,b.state,null)}\nfunction Ii(a,b,c,d){var e=a.stateNode;e.props=c;e.state=a.memoizedState;e.refs={};kh(a);var f=b.contextType;\"object\"===typeof f&&null!==f?e.context=eh(f):(f=Zf(b)?Xf:H.current,e.context=Yf(a,f));e.state=a.memoizedState;f=b.getDerivedStateFromProps;\"function\"===typeof f&&(Di(a,b,f,c),e.state=a.memoizedState);\"function\"===typeof b.getDerivedStateFromProps||\"function\"===typeof e.getSnapshotBeforeUpdate||\"function\"!==typeof e.UNSAFE_componentWillMount&&\"function\"!==typeof e.componentWillMount||(b=e.state,\n\"function\"===typeof e.componentWillMount&&e.componentWillMount(),\"function\"===typeof e.UNSAFE_componentWillMount&&e.UNSAFE_componentWillMount(),b!==e.state&&Ei.enqueueReplaceState(e,e.state,null),qh(a,c,e,d),e.state=a.memoizedState);\"function\"===typeof e.componentDidMount&&(a.flags|=4194308)}function Ji(a,b){try{var c=\"\",d=b;do c+=Pa(d),d=d.return;while(d);var e=c}catch(f){e=\"\\nError generating stack: \"+f.message+\"\\n\"+f.stack}return{value:a,source:b,stack:e,digest:null}}\nfunction Ki(a,b,c){return{value:a,source:null,stack:null!=c?c:null,digest:null!=b?b:null}}function Li(a,b){try{console.error(b.value)}catch(c){setTimeout(function(){throw c;})}}var Mi=\"function\"===typeof WeakMap?WeakMap:Map;function Ni(a,b,c){c=mh(-1,c);c.tag=3;c.payload={element:null};var d=b.value;c.callback=function(){Oi||(Oi=!0,Pi=d);Li(a,b)};return c}\nfunction Qi(a,b,c){c=mh(-1,c);c.tag=3;var d=a.type.getDerivedStateFromError;if(\"function\"===typeof d){var e=b.value;c.payload=function(){return d(e)};c.callback=function(){Li(a,b)}}var f=a.stateNode;null!==f&&\"function\"===typeof f.componentDidCatch&&(c.callback=function(){Li(a,b);\"function\"!==typeof d&&(null===Ri?Ri=new Set([this]):Ri.add(this));var c=b.stack;this.componentDidCatch(b.value,{componentStack:null!==c?c:\"\"})});return c}\nfunction Si(a,b,c){var d=a.pingCache;if(null===d){d=a.pingCache=new Mi;var e=new Set;d.set(b,e)}else e=d.get(b),void 0===e&&(e=new Set,d.set(b,e));e.has(c)||(e.add(c),a=Ti.bind(null,a,b,c),b.then(a,a))}function Ui(a){do{var b;if(b=13===a.tag)b=a.memoizedState,b=null!==b?null!==b.dehydrated?!0:!1:!0;if(b)return a;a=a.return}while(null!==a);return null}\nfunction Vi(a,b,c,d,e){if(0===(a.mode&1))return a===b?a.flags|=65536:(a.flags|=128,c.flags|=131072,c.flags&=-52805,1===c.tag&&(null===c.alternate?c.tag=17:(b=mh(-1,1),b.tag=2,nh(c,b,1))),c.lanes|=1),a;a.flags|=65536;a.lanes=e;return a}var Wi=ua.ReactCurrentOwner,dh=!1;function Xi(a,b,c,d){b.child=null===a?Vg(b,null,c,d):Ug(b,a.child,c,d)}\nfunction Yi(a,b,c,d,e){c=c.render;var f=b.ref;ch(b,e);d=Nh(a,b,c,d,f,e);c=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&c&&vg(b);b.flags|=1;Xi(a,b,d,e);return b.child}\nfunction $i(a,b,c,d,e){if(null===a){var f=c.type;if(\"function\"===typeof f&&!aj(f)&&void 0===f.defaultProps&&null===c.compare&&void 0===c.defaultProps)return b.tag=15,b.type=f,bj(a,b,f,d,e);a=Rg(c.type,null,d,b,b.mode,e);a.ref=b.ref;a.return=b;return b.child=a}f=a.child;if(0===(a.lanes&e)){var g=f.memoizedProps;c=c.compare;c=null!==c?c:Ie;if(c(g,d)&&a.ref===b.ref)return Zi(a,b,e)}b.flags|=1;a=Pg(f,d);a.ref=b.ref;a.return=b;return b.child=a}\nfunction bj(a,b,c,d,e){if(null!==a){var f=a.memoizedProps;if(Ie(f,d)&&a.ref===b.ref)if(dh=!1,b.pendingProps=d=f,0!==(a.lanes&e))0!==(a.flags&131072)&&(dh=!0);else return b.lanes=a.lanes,Zi(a,b,e)}return cj(a,b,c,d,e)}\nfunction dj(a,b,c){var d=b.pendingProps,e=d.children,f=null!==a?a.memoizedState:null;if(\"hidden\"===d.mode)if(0===(b.mode&1))b.memoizedState={baseLanes:0,cachePool:null,transitions:null},G(ej,fj),fj|=c;else{if(0===(c&1073741824))return a=null!==f?f.baseLanes|c:c,b.lanes=b.childLanes=1073741824,b.memoizedState={baseLanes:a,cachePool:null,transitions:null},b.updateQueue=null,G(ej,fj),fj|=a,null;b.memoizedState={baseLanes:0,cachePool:null,transitions:null};d=null!==f?f.baseLanes:c;G(ej,fj);fj|=d}else null!==\nf?(d=f.baseLanes|c,b.memoizedState=null):d=c,G(ej,fj),fj|=d;Xi(a,b,e,c);return b.child}function gj(a,b){var c=b.ref;if(null===a&&null!==c||null!==a&&a.ref!==c)b.flags|=512,b.flags|=2097152}function cj(a,b,c,d,e){var f=Zf(c)?Xf:H.current;f=Yf(b,f);ch(b,e);c=Nh(a,b,c,d,f,e);d=Sh();if(null!==a&&!dh)return b.updateQueue=a.updateQueue,b.flags&=-2053,a.lanes&=~e,Zi(a,b,e);I&&d&&vg(b);b.flags|=1;Xi(a,b,c,e);return b.child}\nfunction hj(a,b,c,d,e){if(Zf(c)){var f=!0;cg(b)}else f=!1;ch(b,e);if(null===b.stateNode)ij(a,b),Gi(b,c,d),Ii(b,c,d,e),d=!0;else if(null===a){var g=b.stateNode,h=b.memoizedProps;g.props=h;var k=g.context,l=c.contextType;\"object\"===typeof l&&null!==l?l=eh(l):(l=Zf(c)?Xf:H.current,l=Yf(b,l));var m=c.getDerivedStateFromProps,q=\"function\"===typeof m||\"function\"===typeof g.getSnapshotBeforeUpdate;q||\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||\n(h!==d||k!==l)&&Hi(b,g,d,l);jh=!1;var r=b.memoizedState;g.state=r;qh(b,d,g,e);k=b.memoizedState;h!==d||r!==k||Wf.current||jh?(\"function\"===typeof m&&(Di(b,c,m,d),k=b.memoizedState),(h=jh||Fi(b,c,h,d,r,k,l))?(q||\"function\"!==typeof g.UNSAFE_componentWillMount&&\"function\"!==typeof g.componentWillMount||(\"function\"===typeof g.componentWillMount&&g.componentWillMount(),\"function\"===typeof g.UNSAFE_componentWillMount&&g.UNSAFE_componentWillMount()),\"function\"===typeof g.componentDidMount&&(b.flags|=4194308)):\n(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),b.memoizedProps=d,b.memoizedState=k),g.props=d,g.state=k,g.context=l,d=h):(\"function\"===typeof g.componentDidMount&&(b.flags|=4194308),d=!1)}else{g=b.stateNode;lh(a,b);h=b.memoizedProps;l=b.type===b.elementType?h:Ci(b.type,h);g.props=l;q=b.pendingProps;r=g.context;k=c.contextType;\"object\"===typeof k&&null!==k?k=eh(k):(k=Zf(c)?Xf:H.current,k=Yf(b,k));var y=c.getDerivedStateFromProps;(m=\"function\"===typeof y||\"function\"===typeof g.getSnapshotBeforeUpdate)||\n\"function\"!==typeof g.UNSAFE_componentWillReceiveProps&&\"function\"!==typeof g.componentWillReceiveProps||(h!==q||r!==k)&&Hi(b,g,d,k);jh=!1;r=b.memoizedState;g.state=r;qh(b,d,g,e);var n=b.memoizedState;h!==q||r!==n||Wf.current||jh?(\"function\"===typeof y&&(Di(b,c,y,d),n=b.memoizedState),(l=jh||Fi(b,c,l,d,r,n,k)||!1)?(m||\"function\"!==typeof g.UNSAFE_componentWillUpdate&&\"function\"!==typeof g.componentWillUpdate||(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(d,n,k),\"function\"===typeof g.UNSAFE_componentWillUpdate&&\ng.UNSAFE_componentWillUpdate(d,n,k)),\"function\"===typeof g.componentDidUpdate&&(b.flags|=4),\"function\"===typeof g.getSnapshotBeforeUpdate&&(b.flags|=1024)):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),b.memoizedProps=d,b.memoizedState=n),g.props=d,g.state=n,g.context=k,d=l):(\"function\"!==typeof g.componentDidUpdate||h===a.memoizedProps&&r===\na.memoizedState||(b.flags|=4),\"function\"!==typeof g.getSnapshotBeforeUpdate||h===a.memoizedProps&&r===a.memoizedState||(b.flags|=1024),d=!1)}return jj(a,b,c,d,f,e)}\nfunction jj(a,b,c,d,e,f){gj(a,b);var g=0!==(b.flags&128);if(!d&&!g)return e&&dg(b,c,!1),Zi(a,b,f);d=b.stateNode;Wi.current=b;var h=g&&\"function\"!==typeof c.getDerivedStateFromError?null:d.render();b.flags|=1;null!==a&&g?(b.child=Ug(b,a.child,null,f),b.child=Ug(b,null,h,f)):Xi(a,b,h,f);b.memoizedState=d.state;e&&dg(b,c,!0);return b.child}function kj(a){var b=a.stateNode;b.pendingContext?ag(a,b.pendingContext,b.pendingContext!==b.context):b.context&&ag(a,b.context,!1);yh(a,b.containerInfo)}\nfunction lj(a,b,c,d,e){Ig();Jg(e);b.flags|=256;Xi(a,b,c,d);return b.child}var mj={dehydrated:null,treeContext:null,retryLane:0};function nj(a){return{baseLanes:a,cachePool:null,transitions:null}}\nfunction oj(a,b,c){var d=b.pendingProps,e=L.current,f=!1,g=0!==(b.flags&128),h;(h=g)||(h=null!==a&&null===a.memoizedState?!1:0!==(e&2));if(h)f=!0,b.flags&=-129;else if(null===a||null!==a.memoizedState)e|=1;G(L,e&1);if(null===a){Eg(b);a=b.memoizedState;if(null!==a&&(a=a.dehydrated,null!==a))return 0===(b.mode&1)?b.lanes=1:\"$!\"===a.data?b.lanes=8:b.lanes=1073741824,null;g=d.children;a=d.fallback;return f?(d=b.mode,f=b.child,g={mode:\"hidden\",children:g},0===(d&1)&&null!==f?(f.childLanes=0,f.pendingProps=\ng):f=pj(g,d,0,null),a=Tg(a,d,c,null),f.return=b,a.return=b,f.sibling=a,b.child=f,b.child.memoizedState=nj(c),b.memoizedState=mj,a):qj(b,g)}e=a.memoizedState;if(null!==e&&(h=e.dehydrated,null!==h))return rj(a,b,g,d,h,e,c);if(f){f=d.fallback;g=b.mode;e=a.child;h=e.sibling;var k={mode:\"hidden\",children:d.children};0===(g&1)&&b.child!==e?(d=b.child,d.childLanes=0,d.pendingProps=k,b.deletions=null):(d=Pg(e,k),d.subtreeFlags=e.subtreeFlags&14680064);null!==h?f=Pg(h,f):(f=Tg(f,g,c,null),f.flags|=2);f.return=\nb;d.return=b;d.sibling=f;b.child=d;d=f;f=b.child;g=a.child.memoizedState;g=null===g?nj(c):{baseLanes:g.baseLanes|c,cachePool:null,transitions:g.transitions};f.memoizedState=g;f.childLanes=a.childLanes&~c;b.memoizedState=mj;return d}f=a.child;a=f.sibling;d=Pg(f,{mode:\"visible\",children:d.children});0===(b.mode&1)&&(d.lanes=c);d.return=b;d.sibling=null;null!==a&&(c=b.deletions,null===c?(b.deletions=[a],b.flags|=16):c.push(a));b.child=d;b.memoizedState=null;return d}\nfunction qj(a,b){b=pj({mode:\"visible\",children:b},a.mode,0,null);b.return=a;return a.child=b}function sj(a,b,c,d){null!==d&&Jg(d);Ug(b,a.child,null,c);a=qj(b,b.pendingProps.children);a.flags|=2;b.memoizedState=null;return a}\nfunction rj(a,b,c,d,e,f,g){if(c){if(b.flags&256)return b.flags&=-257,d=Ki(Error(p(422))),sj(a,b,g,d);if(null!==b.memoizedState)return b.child=a.child,b.flags|=128,null;f=d.fallback;e=b.mode;d=pj({mode:\"visible\",children:d.children},e,0,null);f=Tg(f,e,g,null);f.flags|=2;d.return=b;f.return=b;d.sibling=f;b.child=d;0!==(b.mode&1)&&Ug(b,a.child,null,g);b.child.memoizedState=nj(g);b.memoizedState=mj;return f}if(0===(b.mode&1))return sj(a,b,g,null);if(\"$!\"===e.data){d=e.nextSibling&&e.nextSibling.dataset;\nif(d)var h=d.dgst;d=h;f=Error(p(419));d=Ki(f,d,void 0);return sj(a,b,g,d)}h=0!==(g&a.childLanes);if(dh||h){d=Q;if(null!==d){switch(g&-g){case 4:e=2;break;case 16:e=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:e=32;break;case 536870912:e=268435456;break;default:e=0}e=0!==(e&(d.suspendedLanes|g))?0:e;\n0!==e&&e!==f.retryLane&&(f.retryLane=e,ih(a,e),gi(d,a,e,-1))}tj();d=Ki(Error(p(421)));return sj(a,b,g,d)}if(\"$?\"===e.data)return b.flags|=128,b.child=a.child,b=uj.bind(null,a),e._reactRetry=b,null;a=f.treeContext;yg=Lf(e.nextSibling);xg=b;I=!0;zg=null;null!==a&&(og[pg++]=rg,og[pg++]=sg,og[pg++]=qg,rg=a.id,sg=a.overflow,qg=b);b=qj(b,d.children);b.flags|=4096;return b}function vj(a,b,c){a.lanes|=b;var d=a.alternate;null!==d&&(d.lanes|=b);bh(a.return,b,c)}\nfunction wj(a,b,c,d,e){var f=a.memoizedState;null===f?a.memoizedState={isBackwards:b,rendering:null,renderingStartTime:0,last:d,tail:c,tailMode:e}:(f.isBackwards=b,f.rendering=null,f.renderingStartTime=0,f.last=d,f.tail=c,f.tailMode=e)}\nfunction xj(a,b,c){var d=b.pendingProps,e=d.revealOrder,f=d.tail;Xi(a,b,d.children,c);d=L.current;if(0!==(d&2))d=d&1|2,b.flags|=128;else{if(null!==a&&0!==(a.flags&128))a:for(a=b.child;null!==a;){if(13===a.tag)null!==a.memoizedState&&vj(a,c,b);else if(19===a.tag)vj(a,c,b);else if(null!==a.child){a.child.return=a;a=a.child;continue}if(a===b)break a;for(;null===a.sibling;){if(null===a.return||a.return===b)break a;a=a.return}a.sibling.return=a.return;a=a.sibling}d&=1}G(L,d);if(0===(b.mode&1))b.memoizedState=\nnull;else switch(e){case \"forwards\":c=b.child;for(e=null;null!==c;)a=c.alternate,null!==a&&null===Ch(a)&&(e=c),c=c.sibling;c=e;null===c?(e=b.child,b.child=null):(e=c.sibling,c.sibling=null);wj(b,!1,e,c,f);break;case \"backwards\":c=null;e=b.child;for(b.child=null;null!==e;){a=e.alternate;if(null!==a&&null===Ch(a)){b.child=e;break}a=e.sibling;e.sibling=c;c=e;e=a}wj(b,!0,c,null,f);break;case \"together\":wj(b,!1,null,null,void 0);break;default:b.memoizedState=null}return b.child}\nfunction ij(a,b){0===(b.mode&1)&&null!==a&&(a.alternate=null,b.alternate=null,b.flags|=2)}function Zi(a,b,c){null!==a&&(b.dependencies=a.dependencies);rh|=b.lanes;if(0===(c&b.childLanes))return null;if(null!==a&&b.child!==a.child)throw Error(p(153));if(null!==b.child){a=b.child;c=Pg(a,a.pendingProps);b.child=c;for(c.return=b;null!==a.sibling;)a=a.sibling,c=c.sibling=Pg(a,a.pendingProps),c.return=b;c.sibling=null}return b.child}\nfunction yj(a,b,c){switch(b.tag){case 3:kj(b);Ig();break;case 5:Ah(b);break;case 1:Zf(b.type)&&cg(b);break;case 4:yh(b,b.stateNode.containerInfo);break;case 10:var d=b.type._context,e=b.memoizedProps.value;G(Wg,d._currentValue);d._currentValue=e;break;case 13:d=b.memoizedState;if(null!==d){if(null!==d.dehydrated)return G(L,L.current&1),b.flags|=128,null;if(0!==(c&b.child.childLanes))return oj(a,b,c);G(L,L.current&1);a=Zi(a,b,c);return null!==a?a.sibling:null}G(L,L.current&1);break;case 19:d=0!==(c&\nb.childLanes);if(0!==(a.flags&128)){if(d)return xj(a,b,c);b.flags|=128}e=b.memoizedState;null!==e&&(e.rendering=null,e.tail=null,e.lastEffect=null);G(L,L.current);if(d)break;else return null;case 22:case 23:return b.lanes=0,dj(a,b,c)}return Zi(a,b,c)}var zj,Aj,Bj,Cj;\nzj=function(a,b){for(var c=b.child;null!==c;){if(5===c.tag||6===c.tag)a.appendChild(c.stateNode);else if(4!==c.tag&&null!==c.child){c.child.return=c;c=c.child;continue}if(c===b)break;for(;null===c.sibling;){if(null===c.return||c.return===b)return;c=c.return}c.sibling.return=c.return;c=c.sibling}};Aj=function(){};\nBj=function(a,b,c,d){var e=a.memoizedProps;if(e!==d){a=b.stateNode;xh(uh.current);var f=null;switch(c){case \"input\":e=Ya(a,e);d=Ya(a,d);f=[];break;case \"select\":e=A({},e,{value:void 0});d=A({},d,{value:void 0});f=[];break;case \"textarea\":e=gb(a,e);d=gb(a,d);f=[];break;default:\"function\"!==typeof e.onClick&&\"function\"===typeof d.onClick&&(a.onclick=Bf)}ub(c,d);var g;c=null;for(l in e)if(!d.hasOwnProperty(l)&&e.hasOwnProperty(l)&&null!=e[l])if(\"style\"===l){var h=e[l];for(g in h)h.hasOwnProperty(g)&&\n(c||(c={}),c[g]=\"\")}else\"dangerouslySetInnerHTML\"!==l&&\"children\"!==l&&\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&\"autoFocus\"!==l&&(ea.hasOwnProperty(l)?f||(f=[]):(f=f||[]).push(l,null));for(l in d){var k=d[l];h=null!=e?e[l]:void 0;if(d.hasOwnProperty(l)&&k!==h&&(null!=k||null!=h))if(\"style\"===l)if(h){for(g in h)!h.hasOwnProperty(g)||k&&k.hasOwnProperty(g)||(c||(c={}),c[g]=\"\");for(g in k)k.hasOwnProperty(g)&&h[g]!==k[g]&&(c||(c={}),c[g]=k[g])}else c||(f||(f=[]),f.push(l,\nc)),c=k;else\"dangerouslySetInnerHTML\"===l?(k=k?k.__html:void 0,h=h?h.__html:void 0,null!=k&&h!==k&&(f=f||[]).push(l,k)):\"children\"===l?\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(l,\"\"+k):\"suppressContentEditableWarning\"!==l&&\"suppressHydrationWarning\"!==l&&(ea.hasOwnProperty(l)?(null!=k&&\"onScroll\"===l&&D(\"scroll\",a),f||h===k||(f=[])):(f=f||[]).push(l,k))}c&&(f=f||[]).push(\"style\",c);var l=f;if(b.updateQueue=l)b.flags|=4}};Cj=function(a,b,c,d){c!==d&&(b.flags|=4)};\nfunction Dj(a,b){if(!I)switch(a.tailMode){case \"hidden\":b=a.tail;for(var c=null;null!==b;)null!==b.alternate&&(c=b),b=b.sibling;null===c?a.tail=null:c.sibling=null;break;case \"collapsed\":c=a.tail;for(var d=null;null!==c;)null!==c.alternate&&(d=c),c=c.sibling;null===d?b||null===a.tail?a.tail=null:a.tail.sibling=null:d.sibling=null}}\nfunction S(a){var b=null!==a.alternate&&a.alternate.child===a.child,c=0,d=0;if(b)for(var e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags&14680064,d|=e.flags&14680064,e.return=a,e=e.sibling;else for(e=a.child;null!==e;)c|=e.lanes|e.childLanes,d|=e.subtreeFlags,d|=e.flags,e.return=a,e=e.sibling;a.subtreeFlags|=d;a.childLanes=c;return b}\nfunction Ej(a,b,c){var d=b.pendingProps;wg(b);switch(b.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return S(b),null;case 1:return Zf(b.type)&&$f(),S(b),null;case 3:d=b.stateNode;zh();E(Wf);E(H);Eh();d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null);if(null===a||null===a.child)Gg(b)?b.flags|=4:null===a||a.memoizedState.isDehydrated&&0===(b.flags&256)||(b.flags|=1024,null!==zg&&(Fj(zg),zg=null));Aj(a,b);S(b);return null;case 5:Bh(b);var e=xh(wh.current);\nc=b.type;if(null!==a&&null!=b.stateNode)Bj(a,b,c,d,e),a.ref!==b.ref&&(b.flags|=512,b.flags|=2097152);else{if(!d){if(null===b.stateNode)throw Error(p(166));S(b);return null}a=xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.type;var f=b.memoizedProps;d[Of]=b;d[Pf]=f;a=0!==(b.mode&1);switch(c){case \"dialog\":D(\"cancel\",d);D(\"close\",d);break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",d);break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],d);break;case \"source\":D(\"error\",d);break;case \"img\":case \"image\":case \"link\":D(\"error\",\nd);D(\"load\",d);break;case \"details\":D(\"toggle\",d);break;case \"input\":Za(d,f);D(\"invalid\",d);break;case \"select\":d._wrapperState={wasMultiple:!!f.multiple};D(\"invalid\",d);break;case \"textarea\":hb(d,f),D(\"invalid\",d)}ub(c,f);e=null;for(var g in f)if(f.hasOwnProperty(g)){var h=f[g];\"children\"===g?\"string\"===typeof h?d.textContent!==h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,h,a),e=[\"children\",h]):\"number\"===typeof h&&d.textContent!==\"\"+h&&(!0!==f.suppressHydrationWarning&&Af(d.textContent,\nh,a),e=[\"children\",\"\"+h]):ea.hasOwnProperty(g)&&null!=h&&\"onScroll\"===g&&D(\"scroll\",d)}switch(c){case \"input\":Va(d);db(d,f,!0);break;case \"textarea\":Va(d);jb(d);break;case \"select\":case \"option\":break;default:\"function\"===typeof f.onClick&&(d.onclick=Bf)}d=e;b.updateQueue=d;null!==d&&(b.flags|=4)}else{g=9===e.nodeType?e:e.ownerDocument;\"http://www.w3.org/1999/xhtml\"===a&&(a=kb(c));\"http://www.w3.org/1999/xhtml\"===a?\"script\"===c?(a=g.createElement(\"div\"),a.innerHTML=\"<script>\\x3c/script>\",a=a.removeChild(a.firstChild)):\n\"string\"===typeof d.is?a=g.createElement(c,{is:d.is}):(a=g.createElement(c),\"select\"===c&&(g=a,d.multiple?g.multiple=!0:d.size&&(g.size=d.size))):a=g.createElementNS(a,c);a[Of]=b;a[Pf]=d;zj(a,b,!1,!1);b.stateNode=a;a:{g=vb(c,d);switch(c){case \"dialog\":D(\"cancel\",a);D(\"close\",a);e=d;break;case \"iframe\":case \"object\":case \"embed\":D(\"load\",a);e=d;break;case \"video\":case \"audio\":for(e=0;e<lf.length;e++)D(lf[e],a);e=d;break;case \"source\":D(\"error\",a);e=d;break;case \"img\":case \"image\":case \"link\":D(\"error\",\na);D(\"load\",a);e=d;break;case \"details\":D(\"toggle\",a);e=d;break;case \"input\":Za(a,d);e=Ya(a,d);D(\"invalid\",a);break;case \"option\":e=d;break;case \"select\":a._wrapperState={wasMultiple:!!d.multiple};e=A({},d,{value:void 0});D(\"invalid\",a);break;case \"textarea\":hb(a,d);e=gb(a,d);D(\"invalid\",a);break;default:e=d}ub(c,e);h=e;for(f in h)if(h.hasOwnProperty(f)){var k=h[f];\"style\"===f?sb(a,k):\"dangerouslySetInnerHTML\"===f?(k=k?k.__html:void 0,null!=k&&nb(a,k)):\"children\"===f?\"string\"===typeof k?(\"textarea\"!==\nc||\"\"!==k)&&ob(a,k):\"number\"===typeof k&&ob(a,\"\"+k):\"suppressContentEditableWarning\"!==f&&\"suppressHydrationWarning\"!==f&&\"autoFocus\"!==f&&(ea.hasOwnProperty(f)?null!=k&&\"onScroll\"===f&&D(\"scroll\",a):null!=k&&ta(a,f,k,g))}switch(c){case \"input\":Va(a);db(a,d,!1);break;case \"textarea\":Va(a);jb(a);break;case \"option\":null!=d.value&&a.setAttribute(\"value\",\"\"+Sa(d.value));break;case \"select\":a.multiple=!!d.multiple;f=d.value;null!=f?fb(a,!!d.multiple,f,!1):null!=d.defaultValue&&fb(a,!!d.multiple,d.defaultValue,\n!0);break;default:\"function\"===typeof e.onClick&&(a.onclick=Bf)}switch(c){case \"button\":case \"input\":case \"select\":case \"textarea\":d=!!d.autoFocus;break a;case \"img\":d=!0;break a;default:d=!1}}d&&(b.flags|=4)}null!==b.ref&&(b.flags|=512,b.flags|=2097152)}S(b);return null;case 6:if(a&&null!=b.stateNode)Cj(a,b,a.memoizedProps,d);else{if(\"string\"!==typeof d&&null===b.stateNode)throw Error(p(166));c=xh(wh.current);xh(uh.current);if(Gg(b)){d=b.stateNode;c=b.memoizedProps;d[Of]=b;if(f=d.nodeValue!==c)if(a=\nxg,null!==a)switch(a.tag){case 3:Af(d.nodeValue,c,0!==(a.mode&1));break;case 5:!0!==a.memoizedProps.suppressHydrationWarning&&Af(d.nodeValue,c,0!==(a.mode&1))}f&&(b.flags|=4)}else d=(9===c.nodeType?c:c.ownerDocument).createTextNode(d),d[Of]=b,b.stateNode=d}S(b);return null;case 13:E(L);d=b.memoizedState;if(null===a||null!==a.memoizedState&&null!==a.memoizedState.dehydrated){if(I&&null!==yg&&0!==(b.mode&1)&&0===(b.flags&128))Hg(),Ig(),b.flags|=98560,f=!1;else if(f=Gg(b),null!==d&&null!==d.dehydrated){if(null===\na){if(!f)throw Error(p(318));f=b.memoizedState;f=null!==f?f.dehydrated:null;if(!f)throw Error(p(317));f[Of]=b}else Ig(),0===(b.flags&128)&&(b.memoizedState=null),b.flags|=4;S(b);f=!1}else null!==zg&&(Fj(zg),zg=null),f=!0;if(!f)return b.flags&65536?b:null}if(0!==(b.flags&128))return b.lanes=c,b;d=null!==d;d!==(null!==a&&null!==a.memoizedState)&&d&&(b.child.flags|=8192,0!==(b.mode&1)&&(null===a||0!==(L.current&1)?0===T&&(T=3):tj()));null!==b.updateQueue&&(b.flags|=4);S(b);return null;case 4:return zh(),\nAj(a,b),null===a&&sf(b.stateNode.containerInfo),S(b),null;case 10:return ah(b.type._context),S(b),null;case 17:return Zf(b.type)&&$f(),S(b),null;case 19:E(L);f=b.memoizedState;if(null===f)return S(b),null;d=0!==(b.flags&128);g=f.rendering;if(null===g)if(d)Dj(f,!1);else{if(0!==T||null!==a&&0!==(a.flags&128))for(a=b.child;null!==a;){g=Ch(a);if(null!==g){b.flags|=128;Dj(f,!1);d=g.updateQueue;null!==d&&(b.updateQueue=d,b.flags|=4);b.subtreeFlags=0;d=c;for(c=b.child;null!==c;)f=c,a=d,f.flags&=14680066,\ng=f.alternate,null===g?(f.childLanes=0,f.lanes=a,f.child=null,f.subtreeFlags=0,f.memoizedProps=null,f.memoizedState=null,f.updateQueue=null,f.dependencies=null,f.stateNode=null):(f.childLanes=g.childLanes,f.lanes=g.lanes,f.child=g.child,f.subtreeFlags=0,f.deletions=null,f.memoizedProps=g.memoizedProps,f.memoizedState=g.memoizedState,f.updateQueue=g.updateQueue,f.type=g.type,a=g.dependencies,f.dependencies=null===a?null:{lanes:a.lanes,firstContext:a.firstContext}),c=c.sibling;G(L,L.current&1|2);return b.child}a=\na.sibling}null!==f.tail&&B()>Gj&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304)}else{if(!d)if(a=Ch(g),null!==a){if(b.flags|=128,d=!0,c=a.updateQueue,null!==c&&(b.updateQueue=c,b.flags|=4),Dj(f,!0),null===f.tail&&\"hidden\"===f.tailMode&&!g.alternate&&!I)return S(b),null}else 2*B()-f.renderingStartTime>Gj&&1073741824!==c&&(b.flags|=128,d=!0,Dj(f,!1),b.lanes=4194304);f.isBackwards?(g.sibling=b.child,b.child=g):(c=f.last,null!==c?c.sibling=g:b.child=g,f.last=g)}if(null!==f.tail)return b=f.tail,f.rendering=\nb,f.tail=b.sibling,f.renderingStartTime=B(),b.sibling=null,c=L.current,G(L,d?c&1|2:c&1),b;S(b);return null;case 22:case 23:return Hj(),d=null!==b.memoizedState,null!==a&&null!==a.memoizedState!==d&&(b.flags|=8192),d&&0!==(b.mode&1)?0!==(fj&1073741824)&&(S(b),b.subtreeFlags&6&&(b.flags|=8192)):S(b),null;case 24:return null;case 25:return null}throw Error(p(156,b.tag));}\nfunction Ij(a,b){wg(b);switch(b.tag){case 1:return Zf(b.type)&&$f(),a=b.flags,a&65536?(b.flags=a&-65537|128,b):null;case 3:return zh(),E(Wf),E(H),Eh(),a=b.flags,0!==(a&65536)&&0===(a&128)?(b.flags=a&-65537|128,b):null;case 5:return Bh(b),null;case 13:E(L);a=b.memoizedState;if(null!==a&&null!==a.dehydrated){if(null===b.alternate)throw Error(p(340));Ig()}a=b.flags;return a&65536?(b.flags=a&-65537|128,b):null;case 19:return E(L),null;case 4:return zh(),null;case 10:return ah(b.type._context),null;case 22:case 23:return Hj(),\nnull;case 24:return null;default:return null}}var Jj=!1,U=!1,Kj=\"function\"===typeof WeakSet?WeakSet:Set,V=null;function Lj(a,b){var c=a.ref;if(null!==c)if(\"function\"===typeof c)try{c(null)}catch(d){W(a,b,d)}else c.current=null}function Mj(a,b,c){try{c()}catch(d){W(a,b,d)}}var Nj=!1;\nfunction Oj(a,b){Cf=dd;a=Me();if(Ne(a)){if(\"selectionStart\"in a)var c={start:a.selectionStart,end:a.selectionEnd};else a:{c=(c=a.ownerDocument)&&c.defaultView||window;var d=c.getSelection&&c.getSelection();if(d&&0!==d.rangeCount){c=d.anchorNode;var e=d.anchorOffset,f=d.focusNode;d=d.focusOffset;try{c.nodeType,f.nodeType}catch(F){c=null;break a}var g=0,h=-1,k=-1,l=0,m=0,q=a,r=null;b:for(;;){for(var y;;){q!==c||0!==e&&3!==q.nodeType||(h=g+e);q!==f||0!==d&&3!==q.nodeType||(k=g+d);3===q.nodeType&&(g+=\nq.nodeValue.length);if(null===(y=q.firstChild))break;r=q;q=y}for(;;){if(q===a)break b;r===c&&++l===e&&(h=g);r===f&&++m===d&&(k=g);if(null!==(y=q.nextSibling))break;q=r;r=q.parentNode}q=y}c=-1===h||-1===k?null:{start:h,end:k}}else c=null}c=c||{start:0,end:0}}else c=null;Df={focusedElem:a,selectionRange:c};dd=!1;for(V=b;null!==V;)if(b=V,a=b.child,0!==(b.subtreeFlags&1028)&&null!==a)a.return=b,V=a;else for(;null!==V;){b=V;try{var n=b.alternate;if(0!==(b.flags&1024))switch(b.tag){case 0:case 11:case 15:break;\ncase 1:if(null!==n){var t=n.memoizedProps,J=n.memoizedState,x=b.stateNode,w=x.getSnapshotBeforeUpdate(b.elementType===b.type?t:Ci(b.type,t),J);x.__reactInternalSnapshotBeforeUpdate=w}break;case 3:var u=b.stateNode.containerInfo;1===u.nodeType?u.textContent=\"\":9===u.nodeType&&u.documentElement&&u.removeChild(u.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(p(163));}}catch(F){W(b,b.return,F)}a=b.sibling;if(null!==a){a.return=b.return;V=a;break}V=b.return}n=Nj;Nj=!1;return n}\nfunction Pj(a,b,c){var d=b.updateQueue;d=null!==d?d.lastEffect:null;if(null!==d){var e=d=d.next;do{if((e.tag&a)===a){var f=e.destroy;e.destroy=void 0;void 0!==f&&Mj(b,c,f)}e=e.next}while(e!==d)}}function Qj(a,b){b=b.updateQueue;b=null!==b?b.lastEffect:null;if(null!==b){var c=b=b.next;do{if((c.tag&a)===a){var d=c.create;c.destroy=d()}c=c.next}while(c!==b)}}function Rj(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:a=c;break;default:a=c}\"function\"===typeof b?b(a):b.current=a}}\nfunction Sj(a){var b=a.alternate;null!==b&&(a.alternate=null,Sj(b));a.child=null;a.deletions=null;a.sibling=null;5===a.tag&&(b=a.stateNode,null!==b&&(delete b[Of],delete b[Pf],delete b[of],delete b[Qf],delete b[Rf]));a.stateNode=null;a.return=null;a.dependencies=null;a.memoizedProps=null;a.memoizedState=null;a.pendingProps=null;a.stateNode=null;a.updateQueue=null}function Tj(a){return 5===a.tag||3===a.tag||4===a.tag}\nfunction Uj(a){a:for(;;){for(;null===a.sibling;){if(null===a.return||Tj(a.return))return null;a=a.return}a.sibling.return=a.return;for(a=a.sibling;5!==a.tag&&6!==a.tag&&18!==a.tag;){if(a.flags&2)continue a;if(null===a.child||4===a.tag)continue a;else a.child.return=a,a=a.child}if(!(a.flags&2))return a.stateNode}}\nfunction Vj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?8===c.nodeType?c.parentNode.insertBefore(a,b):c.insertBefore(a,b):(8===c.nodeType?(b=c.parentNode,b.insertBefore(a,c)):(b=c,b.appendChild(a)),c=c._reactRootContainer,null!==c&&void 0!==c||null!==b.onclick||(b.onclick=Bf));else if(4!==d&&(a=a.child,null!==a))for(Vj(a,b,c),a=a.sibling;null!==a;)Vj(a,b,c),a=a.sibling}\nfunction Wj(a,b,c){var d=a.tag;if(5===d||6===d)a=a.stateNode,b?c.insertBefore(a,b):c.appendChild(a);else if(4!==d&&(a=a.child,null!==a))for(Wj(a,b,c),a=a.sibling;null!==a;)Wj(a,b,c),a=a.sibling}var X=null,Xj=!1;function Yj(a,b,c){for(c=c.child;null!==c;)Zj(a,b,c),c=c.sibling}\nfunction Zj(a,b,c){if(lc&&\"function\"===typeof lc.onCommitFiberUnmount)try{lc.onCommitFiberUnmount(kc,c)}catch(h){}switch(c.tag){case 5:U||Lj(c,b);case 6:var d=X,e=Xj;X=null;Yj(a,b,c);X=d;Xj=e;null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?a.parentNode.removeChild(c):a.removeChild(c)):X.removeChild(c.stateNode));break;case 18:null!==X&&(Xj?(a=X,c=c.stateNode,8===a.nodeType?Kf(a.parentNode,c):1===a.nodeType&&Kf(a,c),bd(a)):Kf(X,c.stateNode));break;case 4:d=X;e=Xj;X=c.stateNode.containerInfo;Xj=!0;\nYj(a,b,c);X=d;Xj=e;break;case 0:case 11:case 14:case 15:if(!U&&(d=c.updateQueue,null!==d&&(d=d.lastEffect,null!==d))){e=d=d.next;do{var f=e,g=f.destroy;f=f.tag;void 0!==g&&(0!==(f&2)?Mj(c,b,g):0!==(f&4)&&Mj(c,b,g));e=e.next}while(e!==d)}Yj(a,b,c);break;case 1:if(!U&&(Lj(c,b),d=c.stateNode,\"function\"===typeof d.componentWillUnmount))try{d.props=c.memoizedProps,d.state=c.memoizedState,d.componentWillUnmount()}catch(h){W(c,b,h)}Yj(a,b,c);break;case 21:Yj(a,b,c);break;case 22:c.mode&1?(U=(d=U)||null!==\nc.memoizedState,Yj(a,b,c),U=d):Yj(a,b,c);break;default:Yj(a,b,c)}}function ak(a){var b=a.updateQueue;if(null!==b){a.updateQueue=null;var c=a.stateNode;null===c&&(c=a.stateNode=new Kj);b.forEach(function(b){var d=bk.bind(null,a,b);c.has(b)||(c.add(b),b.then(d,d))})}}\nfunction ck(a,b){var c=b.deletions;if(null!==c)for(var d=0;d<c.length;d++){var e=c[d];try{var f=a,g=b,h=g;a:for(;null!==h;){switch(h.tag){case 5:X=h.stateNode;Xj=!1;break a;case 3:X=h.stateNode.containerInfo;Xj=!0;break a;case 4:X=h.stateNode.containerInfo;Xj=!0;break a}h=h.return}if(null===X)throw Error(p(160));Zj(f,g,e);X=null;Xj=!1;var k=e.alternate;null!==k&&(k.return=null);e.return=null}catch(l){W(e,b,l)}}if(b.subtreeFlags&12854)for(b=b.child;null!==b;)dk(b,a),b=b.sibling}\nfunction dk(a,b){var c=a.alternate,d=a.flags;switch(a.tag){case 0:case 11:case 14:case 15:ck(b,a);ek(a);if(d&4){try{Pj(3,a,a.return),Qj(3,a)}catch(t){W(a,a.return,t)}try{Pj(5,a,a.return)}catch(t){W(a,a.return,t)}}break;case 1:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);break;case 5:ck(b,a);ek(a);d&512&&null!==c&&Lj(c,c.return);if(a.flags&32){var e=a.stateNode;try{ob(e,\"\")}catch(t){W(a,a.return,t)}}if(d&4&&(e=a.stateNode,null!=e)){var f=a.memoizedProps,g=null!==c?c.memoizedProps:f,h=a.type,k=a.updateQueue;\na.updateQueue=null;if(null!==k)try{\"input\"===h&&\"radio\"===f.type&&null!=f.name&&ab(e,f);vb(h,g);var l=vb(h,f);for(g=0;g<k.length;g+=2){var m=k[g],q=k[g+1];\"style\"===m?sb(e,q):\"dangerouslySetInnerHTML\"===m?nb(e,q):\"children\"===m?ob(e,q):ta(e,m,q,l)}switch(h){case \"input\":bb(e,f);break;case \"textarea\":ib(e,f);break;case \"select\":var r=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=!!f.multiple;var y=f.value;null!=y?fb(e,!!f.multiple,y,!1):r!==!!f.multiple&&(null!=f.defaultValue?fb(e,!!f.multiple,\nf.defaultValue,!0):fb(e,!!f.multiple,f.multiple?[]:\"\",!1))}e[Pf]=f}catch(t){W(a,a.return,t)}}break;case 6:ck(b,a);ek(a);if(d&4){if(null===a.stateNode)throw Error(p(162));e=a.stateNode;f=a.memoizedProps;try{e.nodeValue=f}catch(t){W(a,a.return,t)}}break;case 3:ck(b,a);ek(a);if(d&4&&null!==c&&c.memoizedState.isDehydrated)try{bd(b.containerInfo)}catch(t){W(a,a.return,t)}break;case 4:ck(b,a);ek(a);break;case 13:ck(b,a);ek(a);e=a.child;e.flags&8192&&(f=null!==e.memoizedState,e.stateNode.isHidden=f,!f||\nnull!==e.alternate&&null!==e.alternate.memoizedState||(fk=B()));d&4&&ak(a);break;case 22:m=null!==c&&null!==c.memoizedState;a.mode&1?(U=(l=U)||m,ck(b,a),U=l):ck(b,a);ek(a);if(d&8192){l=null!==a.memoizedState;if((a.stateNode.isHidden=l)&&!m&&0!==(a.mode&1))for(V=a,m=a.child;null!==m;){for(q=V=m;null!==V;){r=V;y=r.child;switch(r.tag){case 0:case 11:case 14:case 15:Pj(4,r,r.return);break;case 1:Lj(r,r.return);var n=r.stateNode;if(\"function\"===typeof n.componentWillUnmount){d=r;c=r.return;try{b=d,n.props=\nb.memoizedProps,n.state=b.memoizedState,n.componentWillUnmount()}catch(t){W(d,c,t)}}break;case 5:Lj(r,r.return);break;case 22:if(null!==r.memoizedState){gk(q);continue}}null!==y?(y.return=r,V=y):gk(q)}m=m.sibling}a:for(m=null,q=a;;){if(5===q.tag){if(null===m){m=q;try{e=q.stateNode,l?(f=e.style,\"function\"===typeof f.setProperty?f.setProperty(\"display\",\"none\",\"important\"):f.display=\"none\"):(h=q.stateNode,k=q.memoizedProps.style,g=void 0!==k&&null!==k&&k.hasOwnProperty(\"display\")?k.display:null,h.style.display=\nrb(\"display\",g))}catch(t){W(a,a.return,t)}}}else if(6===q.tag){if(null===m)try{q.stateNode.nodeValue=l?\"\":q.memoizedProps}catch(t){W(a,a.return,t)}}else if((22!==q.tag&&23!==q.tag||null===q.memoizedState||q===a)&&null!==q.child){q.child.return=q;q=q.child;continue}if(q===a)break a;for(;null===q.sibling;){if(null===q.return||q.return===a)break a;m===q&&(m=null);q=q.return}m===q&&(m=null);q.sibling.return=q.return;q=q.sibling}}break;case 19:ck(b,a);ek(a);d&4&&ak(a);break;case 21:break;default:ck(b,\na),ek(a)}}function ek(a){var b=a.flags;if(b&2){try{a:{for(var c=a.return;null!==c;){if(Tj(c)){var d=c;break a}c=c.return}throw Error(p(160));}switch(d.tag){case 5:var e=d.stateNode;d.flags&32&&(ob(e,\"\"),d.flags&=-33);var f=Uj(a);Wj(a,f,e);break;case 3:case 4:var g=d.stateNode.containerInfo,h=Uj(a);Vj(a,h,g);break;default:throw Error(p(161));}}catch(k){W(a,a.return,k)}a.flags&=-3}b&4096&&(a.flags&=-4097)}function hk(a,b,c){V=a;ik(a,b,c)}\nfunction ik(a,b,c){for(var d=0!==(a.mode&1);null!==V;){var e=V,f=e.child;if(22===e.tag&&d){var g=null!==e.memoizedState||Jj;if(!g){var h=e.alternate,k=null!==h&&null!==h.memoizedState||U;h=Jj;var l=U;Jj=g;if((U=k)&&!l)for(V=e;null!==V;)g=V,k=g.child,22===g.tag&&null!==g.memoizedState?jk(e):null!==k?(k.return=g,V=k):jk(e);for(;null!==f;)V=f,ik(f,b,c),f=f.sibling;V=e;Jj=h;U=l}kk(a,b,c)}else 0!==(e.subtreeFlags&8772)&&null!==f?(f.return=e,V=f):kk(a,b,c)}}\nfunction kk(a){for(;null!==V;){var b=V;if(0!==(b.flags&8772)){var c=b.alternate;try{if(0!==(b.flags&8772))switch(b.tag){case 0:case 11:case 15:U||Qj(5,b);break;case 1:var d=b.stateNode;if(b.flags&4&&!U)if(null===c)d.componentDidMount();else{var e=b.elementType===b.type?c.memoizedProps:Ci(b.type,c.memoizedProps);d.componentDidUpdate(e,c.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var f=b.updateQueue;null!==f&&sh(b,f,d);break;case 3:var g=b.updateQueue;if(null!==g){c=null;if(null!==b.child)switch(b.child.tag){case 5:c=\nb.child.stateNode;break;case 1:c=b.child.stateNode}sh(b,g,c)}break;case 5:var h=b.stateNode;if(null===c&&b.flags&4){c=h;var k=b.memoizedProps;switch(b.type){case \"button\":case \"input\":case \"select\":case \"textarea\":k.autoFocus&&c.focus();break;case \"img\":k.src&&(c.src=k.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(null===b.memoizedState){var l=b.alternate;if(null!==l){var m=l.memoizedState;if(null!==m){var q=m.dehydrated;null!==q&&bd(q)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;\ndefault:throw Error(p(163));}U||b.flags&512&&Rj(b)}catch(r){W(b,b.return,r)}}if(b===a){V=null;break}c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}function gk(a){for(;null!==V;){var b=V;if(b===a){V=null;break}var c=b.sibling;if(null!==c){c.return=b.return;V=c;break}V=b.return}}\nfunction jk(a){for(;null!==V;){var b=V;try{switch(b.tag){case 0:case 11:case 15:var c=b.return;try{Qj(4,b)}catch(k){W(b,c,k)}break;case 1:var d=b.stateNode;if(\"function\"===typeof d.componentDidMount){var e=b.return;try{d.componentDidMount()}catch(k){W(b,e,k)}}var f=b.return;try{Rj(b)}catch(k){W(b,f,k)}break;case 5:var g=b.return;try{Rj(b)}catch(k){W(b,g,k)}}}catch(k){W(b,b.return,k)}if(b===a){V=null;break}var h=b.sibling;if(null!==h){h.return=b.return;V=h;break}V=b.return}}\nvar lk=Math.ceil,mk=ua.ReactCurrentDispatcher,nk=ua.ReactCurrentOwner,ok=ua.ReactCurrentBatchConfig,K=0,Q=null,Y=null,Z=0,fj=0,ej=Uf(0),T=0,pk=null,rh=0,qk=0,rk=0,sk=null,tk=null,fk=0,Gj=Infinity,uk=null,Oi=!1,Pi=null,Ri=null,vk=!1,wk=null,xk=0,yk=0,zk=null,Ak=-1,Bk=0;function R(){return 0!==(K&6)?B():-1!==Ak?Ak:Ak=B()}\nfunction yi(a){if(0===(a.mode&1))return 1;if(0!==(K&2)&&0!==Z)return Z&-Z;if(null!==Kg.transition)return 0===Bk&&(Bk=yc()),Bk;a=C;if(0!==a)return a;a=window.event;a=void 0===a?16:jd(a.type);return a}function gi(a,b,c,d){if(50<yk)throw yk=0,zk=null,Error(p(185));Ac(a,c,d);if(0===(K&2)||a!==Q)a===Q&&(0===(K&2)&&(qk|=c),4===T&&Ck(a,Z)),Dk(a,d),1===c&&0===K&&0===(b.mode&1)&&(Gj=B()+500,fg&&jg())}\nfunction Dk(a,b){var c=a.callbackNode;wc(a,b);var d=uc(a,a===Q?Z:0);if(0===d)null!==c&&bc(c),a.callbackNode=null,a.callbackPriority=0;else if(b=d&-d,a.callbackPriority!==b){null!=c&&bc(c);if(1===b)0===a.tag?ig(Ek.bind(null,a)):hg(Ek.bind(null,a)),Jf(function(){0===(K&6)&&jg()}),c=null;else{switch(Dc(d)){case 1:c=fc;break;case 4:c=gc;break;case 16:c=hc;break;case 536870912:c=jc;break;default:c=hc}c=Fk(c,Gk.bind(null,a))}a.callbackPriority=b;a.callbackNode=c}}\nfunction Gk(a,b){Ak=-1;Bk=0;if(0!==(K&6))throw Error(p(327));var c=a.callbackNode;if(Hk()&&a.callbackNode!==c)return null;var d=uc(a,a===Q?Z:0);if(0===d)return null;if(0!==(d&30)||0!==(d&a.expiredLanes)||b)b=Ik(a,d);else{b=d;var e=K;K|=2;var f=Jk();if(Q!==a||Z!==b)uk=null,Gj=B()+500,Kk(a,b);do try{Lk();break}catch(h){Mk(a,h)}while(1);$g();mk.current=f;K=e;null!==Y?b=0:(Q=null,Z=0,b=T)}if(0!==b){2===b&&(e=xc(a),0!==e&&(d=e,b=Nk(a,e)));if(1===b)throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;if(6===b)Ck(a,d);\nelse{e=a.current.alternate;if(0===(d&30)&&!Ok(e)&&(b=Ik(a,d),2===b&&(f=xc(a),0!==f&&(d=f,b=Nk(a,f))),1===b))throw c=pk,Kk(a,0),Ck(a,d),Dk(a,B()),c;a.finishedWork=e;a.finishedLanes=d;switch(b){case 0:case 1:throw Error(p(345));case 2:Pk(a,tk,uk);break;case 3:Ck(a,d);if((d&130023424)===d&&(b=fk+500-B(),10<b)){if(0!==uc(a,0))break;e=a.suspendedLanes;if((e&d)!==d){R();a.pingedLanes|=a.suspendedLanes&e;break}a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),b);break}Pk(a,tk,uk);break;case 4:Ck(a,d);if((d&4194240)===\nd)break;b=a.eventTimes;for(e=-1;0<d;){var g=31-oc(d);f=1<<g;g=b[g];g>e&&(e=g);d&=~f}d=e;d=B()-d;d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3E3>d?3E3:4320>d?4320:1960*lk(d/1960))-d;if(10<d){a.timeoutHandle=Ff(Pk.bind(null,a,tk,uk),d);break}Pk(a,tk,uk);break;case 5:Pk(a,tk,uk);break;default:throw Error(p(329));}}}Dk(a,B());return a.callbackNode===c?Gk.bind(null,a):null}\nfunction Nk(a,b){var c=sk;a.current.memoizedState.isDehydrated&&(Kk(a,b).flags|=256);a=Ik(a,b);2!==a&&(b=tk,tk=c,null!==b&&Fj(b));return a}function Fj(a){null===tk?tk=a:tk.push.apply(tk,a)}\nfunction Ok(a){for(var b=a;;){if(b.flags&16384){var c=b.updateQueue;if(null!==c&&(c=c.stores,null!==c))for(var d=0;d<c.length;d++){var e=c[d],f=e.getSnapshot;e=e.value;try{if(!He(f(),e))return!1}catch(g){return!1}}}c=b.child;if(b.subtreeFlags&16384&&null!==c)c.return=b,b=c;else{if(b===a)break;for(;null===b.sibling;){if(null===b.return||b.return===a)return!0;b=b.return}b.sibling.return=b.return;b=b.sibling}}return!0}\nfunction Ck(a,b){b&=~rk;b&=~qk;a.suspendedLanes|=b;a.pingedLanes&=~b;for(a=a.expirationTimes;0<b;){var c=31-oc(b),d=1<<c;a[c]=-1;b&=~d}}function Ek(a){if(0!==(K&6))throw Error(p(327));Hk();var b=uc(a,0);if(0===(b&1))return Dk(a,B()),null;var c=Ik(a,b);if(0!==a.tag&&2===c){var d=xc(a);0!==d&&(b=d,c=Nk(a,d))}if(1===c)throw c=pk,Kk(a,0),Ck(a,b),Dk(a,B()),c;if(6===c)throw Error(p(345));a.finishedWork=a.current.alternate;a.finishedLanes=b;Pk(a,tk,uk);Dk(a,B());return null}\nfunction Qk(a,b){var c=K;K|=1;try{return a(b)}finally{K=c,0===K&&(Gj=B()+500,fg&&jg())}}function Rk(a){null!==wk&&0===wk.tag&&0===(K&6)&&Hk();var b=K;K|=1;var c=ok.transition,d=C;try{if(ok.transition=null,C=1,a)return a()}finally{C=d,ok.transition=c,K=b,0===(K&6)&&jg()}}function Hj(){fj=ej.current;E(ej)}\nfunction Kk(a,b){a.finishedWork=null;a.finishedLanes=0;var c=a.timeoutHandle;-1!==c&&(a.timeoutHandle=-1,Gf(c));if(null!==Y)for(c=Y.return;null!==c;){var d=c;wg(d);switch(d.tag){case 1:d=d.type.childContextTypes;null!==d&&void 0!==d&&$f();break;case 3:zh();E(Wf);E(H);Eh();break;case 5:Bh(d);break;case 4:zh();break;case 13:E(L);break;case 19:E(L);break;case 10:ah(d.type._context);break;case 22:case 23:Hj()}c=c.return}Q=a;Y=a=Pg(a.current,null);Z=fj=b;T=0;pk=null;rk=qk=rh=0;tk=sk=null;if(null!==fh){for(b=\n0;b<fh.length;b++)if(c=fh[b],d=c.interleaved,null!==d){c.interleaved=null;var e=d.next,f=c.pending;if(null!==f){var g=f.next;f.next=e;d.next=g}c.pending=d}fh=null}return a}\nfunction Mk(a,b){do{var c=Y;try{$g();Fh.current=Rh;if(Ih){for(var d=M.memoizedState;null!==d;){var e=d.queue;null!==e&&(e.pending=null);d=d.next}Ih=!1}Hh=0;O=N=M=null;Jh=!1;Kh=0;nk.current=null;if(null===c||null===c.return){T=1;pk=b;Y=null;break}a:{var f=a,g=c.return,h=c,k=b;b=Z;h.flags|=32768;if(null!==k&&\"object\"===typeof k&&\"function\"===typeof k.then){var l=k,m=h,q=m.tag;if(0===(m.mode&1)&&(0===q||11===q||15===q)){var r=m.alternate;r?(m.updateQueue=r.updateQueue,m.memoizedState=r.memoizedState,\nm.lanes=r.lanes):(m.updateQueue=null,m.memoizedState=null)}var y=Ui(g);if(null!==y){y.flags&=-257;Vi(y,g,h,f,b);y.mode&1&&Si(f,l,b);b=y;k=l;var n=b.updateQueue;if(null===n){var t=new Set;t.add(k);b.updateQueue=t}else n.add(k);break a}else{if(0===(b&1)){Si(f,l,b);tj();break a}k=Error(p(426))}}else if(I&&h.mode&1){var J=Ui(g);if(null!==J){0===(J.flags&65536)&&(J.flags|=256);Vi(J,g,h,f,b);Jg(Ji(k,h));break a}}f=k=Ji(k,h);4!==T&&(T=2);null===sk?sk=[f]:sk.push(f);f=g;do{switch(f.tag){case 3:f.flags|=65536;\nb&=-b;f.lanes|=b;var x=Ni(f,k,b);ph(f,x);break a;case 1:h=k;var w=f.type,u=f.stateNode;if(0===(f.flags&128)&&(\"function\"===typeof w.getDerivedStateFromError||null!==u&&\"function\"===typeof u.componentDidCatch&&(null===Ri||!Ri.has(u)))){f.flags|=65536;b&=-b;f.lanes|=b;var F=Qi(f,h,b);ph(f,F);break a}}f=f.return}while(null!==f)}Sk(c)}catch(na){b=na;Y===c&&null!==c&&(Y=c=c.return);continue}break}while(1)}function Jk(){var a=mk.current;mk.current=Rh;return null===a?Rh:a}\nfunction tj(){if(0===T||3===T||2===T)T=4;null===Q||0===(rh&268435455)&&0===(qk&268435455)||Ck(Q,Z)}function Ik(a,b){var c=K;K|=2;var d=Jk();if(Q!==a||Z!==b)uk=null,Kk(a,b);do try{Tk();break}catch(e){Mk(a,e)}while(1);$g();K=c;mk.current=d;if(null!==Y)throw Error(p(261));Q=null;Z=0;return T}function Tk(){for(;null!==Y;)Uk(Y)}function Lk(){for(;null!==Y&&!cc();)Uk(Y)}function Uk(a){var b=Vk(a.alternate,a,fj);a.memoizedProps=a.pendingProps;null===b?Sk(a):Y=b;nk.current=null}\nfunction Sk(a){var b=a;do{var c=b.alternate;a=b.return;if(0===(b.flags&32768)){if(c=Ej(c,b,fj),null!==c){Y=c;return}}else{c=Ij(c,b);if(null!==c){c.flags&=32767;Y=c;return}if(null!==a)a.flags|=32768,a.subtreeFlags=0,a.deletions=null;else{T=6;Y=null;return}}b=b.sibling;if(null!==b){Y=b;return}Y=b=a}while(null!==b);0===T&&(T=5)}function Pk(a,b,c){var d=C,e=ok.transition;try{ok.transition=null,C=1,Wk(a,b,c,d)}finally{ok.transition=e,C=d}return null}\nfunction Wk(a,b,c,d){do Hk();while(null!==wk);if(0!==(K&6))throw Error(p(327));c=a.finishedWork;var e=a.finishedLanes;if(null===c)return null;a.finishedWork=null;a.finishedLanes=0;if(c===a.current)throw Error(p(177));a.callbackNode=null;a.callbackPriority=0;var f=c.lanes|c.childLanes;Bc(a,f);a===Q&&(Y=Q=null,Z=0);0===(c.subtreeFlags&2064)&&0===(c.flags&2064)||vk||(vk=!0,Fk(hc,function(){Hk();return null}));f=0!==(c.flags&15990);if(0!==(c.subtreeFlags&15990)||f){f=ok.transition;ok.transition=null;\nvar g=C;C=1;var h=K;K|=4;nk.current=null;Oj(a,c);dk(c,a);Oe(Df);dd=!!Cf;Df=Cf=null;a.current=c;hk(c,a,e);dc();K=h;C=g;ok.transition=f}else a.current=c;vk&&(vk=!1,wk=a,xk=e);f=a.pendingLanes;0===f&&(Ri=null);mc(c.stateNode,d);Dk(a,B());if(null!==b)for(d=a.onRecoverableError,c=0;c<b.length;c++)e=b[c],d(e.value,{componentStack:e.stack,digest:e.digest});if(Oi)throw Oi=!1,a=Pi,Pi=null,a;0!==(xk&1)&&0!==a.tag&&Hk();f=a.pendingLanes;0!==(f&1)?a===zk?yk++:(yk=0,zk=a):yk=0;jg();return null}\nfunction Hk(){if(null!==wk){var a=Dc(xk),b=ok.transition,c=C;try{ok.transition=null;C=16>a?16:a;if(null===wk)var d=!1;else{a=wk;wk=null;xk=0;if(0!==(K&6))throw Error(p(331));var e=K;K|=4;for(V=a.current;null!==V;){var f=V,g=f.child;if(0!==(V.flags&16)){var h=f.deletions;if(null!==h){for(var k=0;k<h.length;k++){var l=h[k];for(V=l;null!==V;){var m=V;switch(m.tag){case 0:case 11:case 15:Pj(8,m,f)}var q=m.child;if(null!==q)q.return=m,V=q;else for(;null!==V;){m=V;var r=m.sibling,y=m.return;Sj(m);if(m===\nl){V=null;break}if(null!==r){r.return=y;V=r;break}V=y}}}var n=f.alternate;if(null!==n){var t=n.child;if(null!==t){n.child=null;do{var J=t.sibling;t.sibling=null;t=J}while(null!==t)}}V=f}}if(0!==(f.subtreeFlags&2064)&&null!==g)g.return=f,V=g;else b:for(;null!==V;){f=V;if(0!==(f.flags&2048))switch(f.tag){case 0:case 11:case 15:Pj(9,f,f.return)}var x=f.sibling;if(null!==x){x.return=f.return;V=x;break b}V=f.return}}var w=a.current;for(V=w;null!==V;){g=V;var u=g.child;if(0!==(g.subtreeFlags&2064)&&null!==\nu)u.return=g,V=u;else b:for(g=w;null!==V;){h=V;if(0!==(h.flags&2048))try{switch(h.tag){case 0:case 11:case 15:Qj(9,h)}}catch(na){W(h,h.return,na)}if(h===g){V=null;break b}var F=h.sibling;if(null!==F){F.return=h.return;V=F;break b}V=h.return}}K=e;jg();if(lc&&\"function\"===typeof lc.onPostCommitFiberRoot)try{lc.onPostCommitFiberRoot(kc,a)}catch(na){}d=!0}return d}finally{C=c,ok.transition=b}}return!1}function Xk(a,b,c){b=Ji(c,b);b=Ni(a,b,1);a=nh(a,b,1);b=R();null!==a&&(Ac(a,1,b),Dk(a,b))}\nfunction W(a,b,c){if(3===a.tag)Xk(a,a,c);else for(;null!==b;){if(3===b.tag){Xk(b,a,c);break}else if(1===b.tag){var d=b.stateNode;if(\"function\"===typeof b.type.getDerivedStateFromError||\"function\"===typeof d.componentDidCatch&&(null===Ri||!Ri.has(d))){a=Ji(c,a);a=Qi(b,a,1);b=nh(b,a,1);a=R();null!==b&&(Ac(b,1,a),Dk(b,a));break}}b=b.return}}\nfunction Ti(a,b,c){var d=a.pingCache;null!==d&&d.delete(b);b=R();a.pingedLanes|=a.suspendedLanes&c;Q===a&&(Z&c)===c&&(4===T||3===T&&(Z&130023424)===Z&&500>B()-fk?Kk(a,0):rk|=c);Dk(a,b)}function Yk(a,b){0===b&&(0===(a.mode&1)?b=1:(b=sc,sc<<=1,0===(sc&130023424)&&(sc=4194304)));var c=R();a=ih(a,b);null!==a&&(Ac(a,b,c),Dk(a,c))}function uj(a){var b=a.memoizedState,c=0;null!==b&&(c=b.retryLane);Yk(a,c)}\nfunction bk(a,b){var c=0;switch(a.tag){case 13:var d=a.stateNode;var e=a.memoizedState;null!==e&&(c=e.retryLane);break;case 19:d=a.stateNode;break;default:throw Error(p(314));}null!==d&&d.delete(b);Yk(a,c)}var Vk;\nVk=function(a,b,c){if(null!==a)if(a.memoizedProps!==b.pendingProps||Wf.current)dh=!0;else{if(0===(a.lanes&c)&&0===(b.flags&128))return dh=!1,yj(a,b,c);dh=0!==(a.flags&131072)?!0:!1}else dh=!1,I&&0!==(b.flags&1048576)&&ug(b,ng,b.index);b.lanes=0;switch(b.tag){case 2:var d=b.type;ij(a,b);a=b.pendingProps;var e=Yf(b,H.current);ch(b,c);e=Nh(null,b,d,a,e,c);var f=Sh();b.flags|=1;\"object\"===typeof e&&null!==e&&\"function\"===typeof e.render&&void 0===e.$$typeof?(b.tag=1,b.memoizedState=null,b.updateQueue=\nnull,Zf(d)?(f=!0,cg(b)):f=!1,b.memoizedState=null!==e.state&&void 0!==e.state?e.state:null,kh(b),e.updater=Ei,b.stateNode=e,e._reactInternals=b,Ii(b,d,a,c),b=jj(null,b,d,!0,f,c)):(b.tag=0,I&&f&&vg(b),Xi(null,b,e,c),b=b.child);return b;case 16:d=b.elementType;a:{ij(a,b);a=b.pendingProps;e=d._init;d=e(d._payload);b.type=d;e=b.tag=Zk(d);a=Ci(d,a);switch(e){case 0:b=cj(null,b,d,a,c);break a;case 1:b=hj(null,b,d,a,c);break a;case 11:b=Yi(null,b,d,a,c);break a;case 14:b=$i(null,b,d,Ci(d.type,a),c);break a}throw Error(p(306,\nd,\"\"));}return b;case 0:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),cj(a,b,d,e,c);case 1:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),hj(a,b,d,e,c);case 3:a:{kj(b);if(null===a)throw Error(p(387));d=b.pendingProps;f=b.memoizedState;e=f.element;lh(a,b);qh(b,d,null,c);var g=b.memoizedState;d=g.element;if(f.isDehydrated)if(f={element:d,isDehydrated:!1,cache:g.cache,pendingSuspenseBoundaries:g.pendingSuspenseBoundaries,transitions:g.transitions},b.updateQueue.baseState=\nf,b.memoizedState=f,b.flags&256){e=Ji(Error(p(423)),b);b=lj(a,b,d,c,e);break a}else if(d!==e){e=Ji(Error(p(424)),b);b=lj(a,b,d,c,e);break a}else for(yg=Lf(b.stateNode.containerInfo.firstChild),xg=b,I=!0,zg=null,c=Vg(b,null,d,c),b.child=c;c;)c.flags=c.flags&-3|4096,c=c.sibling;else{Ig();if(d===e){b=Zi(a,b,c);break a}Xi(a,b,d,c)}b=b.child}return b;case 5:return Ah(b),null===a&&Eg(b),d=b.type,e=b.pendingProps,f=null!==a?a.memoizedProps:null,g=e.children,Ef(d,e)?g=null:null!==f&&Ef(d,f)&&(b.flags|=32),\ngj(a,b),Xi(a,b,g,c),b.child;case 6:return null===a&&Eg(b),null;case 13:return oj(a,b,c);case 4:return yh(b,b.stateNode.containerInfo),d=b.pendingProps,null===a?b.child=Ug(b,null,d,c):Xi(a,b,d,c),b.child;case 11:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),Yi(a,b,d,e,c);case 7:return Xi(a,b,b.pendingProps,c),b.child;case 8:return Xi(a,b,b.pendingProps.children,c),b.child;case 12:return Xi(a,b,b.pendingProps.children,c),b.child;case 10:a:{d=b.type._context;e=b.pendingProps;f=b.memoizedProps;\ng=e.value;G(Wg,d._currentValue);d._currentValue=g;if(null!==f)if(He(f.value,g)){if(f.children===e.children&&!Wf.current){b=Zi(a,b,c);break a}}else for(f=b.child,null!==f&&(f.return=b);null!==f;){var h=f.dependencies;if(null!==h){g=f.child;for(var k=h.firstContext;null!==k;){if(k.context===d){if(1===f.tag){k=mh(-1,c&-c);k.tag=2;var l=f.updateQueue;if(null!==l){l=l.shared;var m=l.pending;null===m?k.next=k:(k.next=m.next,m.next=k);l.pending=k}}f.lanes|=c;k=f.alternate;null!==k&&(k.lanes|=c);bh(f.return,\nc,b);h.lanes|=c;break}k=k.next}}else if(10===f.tag)g=f.type===b.type?null:f.child;else if(18===f.tag){g=f.return;if(null===g)throw Error(p(341));g.lanes|=c;h=g.alternate;null!==h&&(h.lanes|=c);bh(g,c,b);g=f.sibling}else g=f.child;if(null!==g)g.return=f;else for(g=f;null!==g;){if(g===b){g=null;break}f=g.sibling;if(null!==f){f.return=g.return;g=f;break}g=g.return}f=g}Xi(a,b,e.children,c);b=b.child}return b;case 9:return e=b.type,d=b.pendingProps.children,ch(b,c),e=eh(e),d=d(e),b.flags|=1,Xi(a,b,d,c),\nb.child;case 14:return d=b.type,e=Ci(d,b.pendingProps),e=Ci(d.type,e),$i(a,b,d,e,c);case 15:return bj(a,b,b.type,b.pendingProps,c);case 17:return d=b.type,e=b.pendingProps,e=b.elementType===d?e:Ci(d,e),ij(a,b),b.tag=1,Zf(d)?(a=!0,cg(b)):a=!1,ch(b,c),Gi(b,d,e),Ii(b,d,e,c),jj(null,b,d,!0,a,c);case 19:return xj(a,b,c);case 22:return dj(a,b,c)}throw Error(p(156,b.tag));};function Fk(a,b){return ac(a,b)}\nfunction $k(a,b,c,d){this.tag=a;this.key=c;this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null;this.index=0;this.ref=null;this.pendingProps=b;this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null;this.mode=d;this.subtreeFlags=this.flags=0;this.deletions=null;this.childLanes=this.lanes=0;this.alternate=null}function Bg(a,b,c,d){return new $k(a,b,c,d)}function aj(a){a=a.prototype;return!(!a||!a.isReactComponent)}\nfunction Zk(a){if(\"function\"===typeof a)return aj(a)?1:0;if(void 0!==a&&null!==a){a=a.$$typeof;if(a===Da)return 11;if(a===Ga)return 14}return 2}\nfunction Pg(a,b){var c=a.alternate;null===c?(c=Bg(a.tag,b,a.key,a.mode),c.elementType=a.elementType,c.type=a.type,c.stateNode=a.stateNode,c.alternate=a,a.alternate=c):(c.pendingProps=b,c.type=a.type,c.flags=0,c.subtreeFlags=0,c.deletions=null);c.flags=a.flags&14680064;c.childLanes=a.childLanes;c.lanes=a.lanes;c.child=a.child;c.memoizedProps=a.memoizedProps;c.memoizedState=a.memoizedState;c.updateQueue=a.updateQueue;b=a.dependencies;c.dependencies=null===b?null:{lanes:b.lanes,firstContext:b.firstContext};\nc.sibling=a.sibling;c.index=a.index;c.ref=a.ref;return c}\nfunction Rg(a,b,c,d,e,f){var g=2;d=a;if(\"function\"===typeof a)aj(a)&&(g=1);else if(\"string\"===typeof a)g=5;else a:switch(a){case ya:return Tg(c.children,e,f,b);case za:g=8;e|=8;break;case Aa:return a=Bg(12,c,b,e|2),a.elementType=Aa,a.lanes=f,a;case Ea:return a=Bg(13,c,b,e),a.elementType=Ea,a.lanes=f,a;case Fa:return a=Bg(19,c,b,e),a.elementType=Fa,a.lanes=f,a;case Ia:return pj(c,e,f,b);default:if(\"object\"===typeof a&&null!==a)switch(a.$$typeof){case Ba:g=10;break a;case Ca:g=9;break a;case Da:g=11;\nbreak a;case Ga:g=14;break a;case Ha:g=16;d=null;break a}throw Error(p(130,null==a?a:typeof a,\"\"));}b=Bg(g,c,b,e);b.elementType=a;b.type=d;b.lanes=f;return b}function Tg(a,b,c,d){a=Bg(7,a,d,b);a.lanes=c;return a}function pj(a,b,c,d){a=Bg(22,a,d,b);a.elementType=Ia;a.lanes=c;a.stateNode={isHidden:!1};return a}function Qg(a,b,c){a=Bg(6,a,null,b);a.lanes=c;return a}\nfunction Sg(a,b,c){b=Bg(4,null!==a.children?a.children:[],a.key,b);b.lanes=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}\nfunction al(a,b,c,d,e){this.tag=b;this.containerInfo=a;this.finishedWork=this.pingCache=this.current=this.pendingChildren=null;this.timeoutHandle=-1;this.callbackNode=this.pendingContext=this.context=null;this.callbackPriority=0;this.eventTimes=zc(0);this.expirationTimes=zc(-1);this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0;this.entanglements=zc(0);this.identifierPrefix=d;this.onRecoverableError=e;this.mutableSourceEagerHydrationData=\nnull}function bl(a,b,c,d,e,f,g,h,k){a=new al(a,b,c,h,k);1===b?(b=1,!0===f&&(b|=8)):b=0;f=Bg(3,null,null,b);a.current=f;f.stateNode=a;f.memoizedState={element:d,isDehydrated:c,cache:null,transitions:null,pendingSuspenseBoundaries:null};kh(f);return a}function cl(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:wa,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}\nfunction dl(a){if(!a)return Vf;a=a._reactInternals;a:{if(Vb(a)!==a||1!==a.tag)throw Error(p(170));var b=a;do{switch(b.tag){case 3:b=b.stateNode.context;break a;case 1:if(Zf(b.type)){b=b.stateNode.__reactInternalMemoizedMergedChildContext;break a}}b=b.return}while(null!==b);throw Error(p(171));}if(1===a.tag){var c=a.type;if(Zf(c))return bg(a,c,b)}return b}\nfunction el(a,b,c,d,e,f,g,h,k){a=bl(c,d,!0,a,e,f,g,h,k);a.context=dl(null);c=a.current;d=R();e=yi(c);f=mh(d,e);f.callback=void 0!==b&&null!==b?b:null;nh(c,f,e);a.current.lanes=e;Ac(a,e,d);Dk(a,d);return a}function fl(a,b,c,d){var e=b.current,f=R(),g=yi(e);c=dl(c);null===b.context?b.context=c:b.pendingContext=c;b=mh(f,g);b.payload={element:a};d=void 0===d?null:d;null!==d&&(b.callback=d);a=nh(e,b,g);null!==a&&(gi(a,e,g,f),oh(a,e,g));return g}\nfunction gl(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return a.child.stateNode;default:return a.child.stateNode}}function hl(a,b){a=a.memoizedState;if(null!==a&&null!==a.dehydrated){var c=a.retryLane;a.retryLane=0!==c&&c<b?c:b}}function il(a,b){hl(a,b);(a=a.alternate)&&hl(a,b)}function jl(){return null}var kl=\"function\"===typeof reportError?reportError:function(a){console.error(a)};function ll(a){this._internalRoot=a}\nml.prototype.render=ll.prototype.render=function(a){var b=this._internalRoot;if(null===b)throw Error(p(409));fl(a,b,null,null)};ml.prototype.unmount=ll.prototype.unmount=function(){var a=this._internalRoot;if(null!==a){this._internalRoot=null;var b=a.containerInfo;Rk(function(){fl(null,a,null,null)});b[uf]=null}};function ml(a){this._internalRoot=a}\nml.prototype.unstable_scheduleHydration=function(a){if(a){var b=Hc();a={blockedOn:null,target:a,priority:b};for(var c=0;c<Qc.length&&0!==b&&b<Qc[c].priority;c++);Qc.splice(c,0,a);0===c&&Vc(a)}};function nl(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType)}function ol(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}function pl(){}\nfunction ql(a,b,c,d,e){if(e){if(\"function\"===typeof d){var f=d;d=function(){var a=gl(g);f.call(a)}}var g=el(b,d,a,0,null,!1,!1,\"\",pl);a._reactRootContainer=g;a[uf]=g.current;sf(8===a.nodeType?a.parentNode:a);Rk();return g}for(;e=a.lastChild;)a.removeChild(e);if(\"function\"===typeof d){var h=d;d=function(){var a=gl(k);h.call(a)}}var k=bl(a,0,!1,null,null,!1,!1,\"\",pl);a._reactRootContainer=k;a[uf]=k.current;sf(8===a.nodeType?a.parentNode:a);Rk(function(){fl(b,k,c,d)});return k}\nfunction rl(a,b,c,d,e){var f=c._reactRootContainer;if(f){var g=f;if(\"function\"===typeof e){var h=e;e=function(){var a=gl(g);h.call(a)}}fl(b,g,a,e)}else g=ql(c,b,a,e,d);return gl(g)}Ec=function(a){switch(a.tag){case 3:var b=a.stateNode;if(b.current.memoizedState.isDehydrated){var c=tc(b.pendingLanes);0!==c&&(Cc(b,c|1),Dk(b,B()),0===(K&6)&&(Gj=B()+500,jg()))}break;case 13:Rk(function(){var b=ih(a,1);if(null!==b){var c=R();gi(b,a,1,c)}}),il(a,1)}};\nFc=function(a){if(13===a.tag){var b=ih(a,134217728);if(null!==b){var c=R();gi(b,a,134217728,c)}il(a,134217728)}};Gc=function(a){if(13===a.tag){var b=yi(a),c=ih(a,b);if(null!==c){var d=R();gi(c,a,b,d)}il(a,b)}};Hc=function(){return C};Ic=function(a,b){var c=C;try{return C=a,b()}finally{C=c}};\nyb=function(a,b,c){switch(b){case \"input\":bb(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=c.parentNode;c=c.querySelectorAll(\"input[name=\"+JSON.stringify(\"\"+b)+'][type=\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=Db(d);if(!e)throw Error(p(90));Wa(d);bb(d,e)}}}break;case \"textarea\":ib(a,c);break;case \"select\":b=c.value,null!=b&&fb(a,!!c.multiple,b,!1)}};Gb=Qk;Hb=Rk;\nvar sl={usingClientEntryPoint:!1,Events:[Cb,ue,Db,Eb,Fb,Qk]},tl={findFiberByHostInstance:Wc,bundleType:0,version:\"18.3.1\",rendererPackageName:\"react-dom\"};\nvar ul={bundleType:tl.bundleType,version:tl.version,rendererPackageName:tl.rendererPackageName,rendererConfig:tl.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:ua.ReactCurrentDispatcher,findHostInstanceByFiber:function(a){a=Zb(a);return null===a?null:a.stateNode},findFiberByHostInstance:tl.findFiberByHostInstance||\njl,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:\"18.3.1-next-f1338f8080-20240426\"};if(\"undefined\"!==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var vl=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!vl.isDisabled&&vl.supportsFiber)try{kc=vl.inject(ul),lc=vl}catch(a){}}exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=sl;\nexports.createPortal=function(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!nl(b))throw Error(p(200));return cl(a,b,null,c)};exports.createRoot=function(a,b){if(!nl(a))throw Error(p(299));var c=!1,d=\"\",e=kl;null!==b&&void 0!==b&&(!0===b.unstable_strictMode&&(c=!0),void 0!==b.identifierPrefix&&(d=b.identifierPrefix),void 0!==b.onRecoverableError&&(e=b.onRecoverableError));b=bl(a,1,!1,null,null,c,!1,d,e);a[uf]=b.current;sf(8===a.nodeType?a.parentNode:a);return new ll(b)};\nexports.findDOMNode=function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternals;if(void 0===b){if(\"function\"===typeof a.render)throw Error(p(188));a=Object.keys(a).join(\",\");throw Error(p(268,a));}a=Zb(b);a=null===a?null:a.stateNode;return a};exports.flushSync=function(a){return Rk(a)};exports.hydrate=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!0,c)};\nexports.hydrateRoot=function(a,b,c){if(!nl(a))throw Error(p(405));var d=null!=c&&c.hydratedSources||null,e=!1,f=\"\",g=kl;null!==c&&void 0!==c&&(!0===c.unstable_strictMode&&(e=!0),void 0!==c.identifierPrefix&&(f=c.identifierPrefix),void 0!==c.onRecoverableError&&(g=c.onRecoverableError));b=el(b,null,a,1,null!=c?c:null,e,!1,f,g);a[uf]=b.current;sf(a);if(d)for(a=0;a<d.length;a++)c=d[a],e=c._getVersion,e=e(c._source),null==b.mutableSourceEagerHydrationData?b.mutableSourceEagerHydrationData=[c,e]:b.mutableSourceEagerHydrationData.push(c,\ne);return new ml(b)};exports.render=function(a,b,c){if(!ol(b))throw Error(p(200));return rl(null,a,b,!1,c)};exports.unmountComponentAtNode=function(a){if(!ol(a))throw Error(p(40));return a._reactRootContainer?(Rk(function(){rl(null,null,a,!1,function(){a._reactRootContainer=null;a[uf]=null})}),!0):!1};exports.unstable_batchedUpdates=Qk;\nexports.unstable_renderSubtreeIntoContainer=function(a,b,c,d){if(!ol(c))throw Error(p(200));if(null==a||void 0===a._reactInternals)throw Error(p(38));return rl(a,b,c,!1,d)};exports.version=\"18.3.1-next-f1338f8080-20240426\";\n","'use strict';\n\nfunction checkDCE() {\n  /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n  if (\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n    typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n  ) {\n    return;\n  }\n  if (process.env.NODE_ENV !== 'production') {\n    // This branch is unreachable because this function is only called\n    // in production, but the condition is true only in development.\n    // Therefore if the branch is still here, dead code elimination wasn't\n    // properly applied.\n    // Don't change the message. React DevTools relies on it. Also make sure\n    // this message doesn't occur elsewhere in this function, or it will cause\n    // a false positive.\n    throw new Error('^_^');\n  }\n  try {\n    // Verify that the code above has been dead code eliminated (DCE'd).\n    __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n  } catch (err) {\n    // DevTools shouldn't crash React, no matter what.\n    // We should still report in case we break this code.\n    console.error(err);\n  }\n}\n\nif (process.env.NODE_ENV === 'production') {\n  // DCE check should happen before ReactDOM bundle executes so that\n  // DevTools can report bad minification during injection.\n  checkDCE();\n  module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n  module.exports = require('./cjs/react-dom.development.js');\n}\n","/**\n * @remix-run/router v1.23.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\n////////////////////////////////////////////////////////////////////////////////\n//#region Types and Constants\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Actions represent the type of change to a location value.\n */\nvar Action;\n(function (Action) {\n  /**\n   * A POP indicates a change to an arbitrary index in the history stack, such\n   * as a back or forward navigation. It does not describe the direction of the\n   * navigation, only that the current index changed.\n   *\n   * Note: This is the default action for newly created history objects.\n   */\n  Action[\"Pop\"] = \"POP\";\n  /**\n   * A PUSH indicates a new entry being added to the history stack, such as when\n   * a link is clicked and a new page loads. When this happens, all subsequent\n   * entries in the stack are lost.\n   */\n  Action[\"Push\"] = \"PUSH\";\n  /**\n   * A REPLACE indicates the entry at the current index in the history stack\n   * being replaced by a new one.\n   */\n  Action[\"Replace\"] = \"REPLACE\";\n})(Action || (Action = {}));\nconst PopStateEventType = \"popstate\";\n/**\n * Memory history stores the current location in memory. It is designed for use\n * in stateful non-browser environments like tests and React Native.\n */\nfunction createMemoryHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  let {\n    initialEntries = [\"/\"],\n    initialIndex,\n    v5Compat = false\n  } = options;\n  let entries; // Declare so we can access from createMemoryLocation\n  entries = initialEntries.map((entry, index) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index === 0 ? \"default\" : undefined));\n  let index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n  let action = Action.Pop;\n  let listener = null;\n  function clampIndex(n) {\n    return Math.min(Math.max(n, 0), entries.length - 1);\n  }\n  function getCurrentLocation() {\n    return entries[index];\n  }\n  function createMemoryLocation(to, state, key) {\n    if (state === void 0) {\n      state = null;\n    }\n    let location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key);\n    warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in memory history: \" + JSON.stringify(to));\n    return location;\n  }\n  function createHref(to) {\n    return typeof to === \"string\" ? to : createPath(to);\n  }\n  let history = {\n    get index() {\n      return index;\n    },\n    get action() {\n      return action;\n    },\n    get location() {\n      return getCurrentLocation();\n    },\n    createHref,\n    createURL(to) {\n      return new URL(createHref(to), \"http://localhost\");\n    },\n    encodeLocation(to) {\n      let path = typeof to === \"string\" ? parsePath(to) : to;\n      return {\n        pathname: path.pathname || \"\",\n        search: path.search || \"\",\n        hash: path.hash || \"\"\n      };\n    },\n    push(to, state) {\n      action = Action.Push;\n      let nextLocation = createMemoryLocation(to, state);\n      index += 1;\n      entries.splice(index, entries.length, nextLocation);\n      if (v5Compat && listener) {\n        listener({\n          action,\n          location: nextLocation,\n          delta: 1\n        });\n      }\n    },\n    replace(to, state) {\n      action = Action.Replace;\n      let nextLocation = createMemoryLocation(to, state);\n      entries[index] = nextLocation;\n      if (v5Compat && listener) {\n        listener({\n          action,\n          location: nextLocation,\n          delta: 0\n        });\n      }\n    },\n    go(delta) {\n      action = Action.Pop;\n      let nextIndex = clampIndex(index + delta);\n      let nextLocation = entries[nextIndex];\n      index = nextIndex;\n      if (listener) {\n        listener({\n          action,\n          location: nextLocation,\n          delta\n        });\n      }\n    },\n    listen(fn) {\n      listener = fn;\n      return () => {\n        listener = null;\n      };\n    }\n  };\n  return history;\n}\n/**\n * Browser history stores the location in regular URLs. This is the standard for\n * most web apps, but it requires some configuration on the server to ensure you\n * serve the same app at multiple URLs.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createbrowserhistory\n */\nfunction createBrowserHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  function createBrowserLocation(window, globalHistory) {\n    let {\n      pathname,\n      search,\n      hash\n    } = window.location;\n    return createLocation(\"\", {\n      pathname,\n      search,\n      hash\n    },\n    // state defaults to `null` because `window.history.state` does\n    globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n  }\n  function createBrowserHref(window, to) {\n    return typeof to === \"string\" ? to : createPath(to);\n  }\n  return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\n/**\n * Hash history stores the location in window.location.hash. This makes it ideal\n * for situations where you don't want to send the location to the server for\n * some reason, either because you do cannot configure it or the URL space is\n * reserved for something else.\n *\n * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#createhashhistory\n */\nfunction createHashHistory(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  function createHashLocation(window, globalHistory) {\n    let {\n      pathname = \"/\",\n      search = \"\",\n      hash = \"\"\n    } = parsePath(window.location.hash.substr(1));\n    // Hash URL should always have a leading / just like window.location.pathname\n    // does, so if an app ends up at a route like /#something then we add a\n    // leading slash so all of our path-matching behaves the same as if it would\n    // in a browser router.  This is particularly important when there exists a\n    // root splat route (<Route path=\"*\">) since that matches internally against\n    // \"/*\" and we'd expect /#something to 404 in a hash router app.\n    if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n      pathname = \"/\" + pathname;\n    }\n    return createLocation(\"\", {\n      pathname,\n      search,\n      hash\n    },\n    // state defaults to `null` because `window.history.state` does\n    globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n  }\n  function createHashHref(window, to) {\n    let base = window.document.querySelector(\"base\");\n    let href = \"\";\n    if (base && base.getAttribute(\"href\")) {\n      let url = window.location.href;\n      let hashIndex = url.indexOf(\"#\");\n      href = hashIndex === -1 ? url : url.slice(0, hashIndex);\n    }\n    return href + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n  }\n  function validateHashLocation(location, to) {\n    warning(location.pathname.charAt(0) === \"/\", \"relative pathnames are not supported in hash history.push(\" + JSON.stringify(to) + \")\");\n  }\n  return getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n  if (value === false || value === null || typeof value === \"undefined\") {\n    throw new Error(message);\n  }\n}\nfunction warning(cond, message) {\n  if (!cond) {\n    // eslint-disable-next-line no-console\n    if (typeof console !== \"undefined\") console.warn(message);\n    try {\n      // Welcome to debugging history!\n      //\n      // This error is thrown as a convenience, so you can more easily\n      // find the source for a warning that appears in the console by\n      // enabling \"pause on exceptions\" in your JavaScript debugger.\n      throw new Error(message);\n      // eslint-disable-next-line no-empty\n    } catch (e) {}\n  }\n}\nfunction createKey() {\n  return Math.random().toString(36).substr(2, 8);\n}\n/**\n * For browser-based histories, we combine the state and key into an object\n */\nfunction getHistoryState(location, index) {\n  return {\n    usr: location.state,\n    key: location.key,\n    idx: index\n  };\n}\n/**\n * Creates a Location object with a unique key from the given Path\n */\nfunction createLocation(current, to, state, key) {\n  if (state === void 0) {\n    state = null;\n  }\n  let location = _extends({\n    pathname: typeof current === \"string\" ? current : current.pathname,\n    search: \"\",\n    hash: \"\"\n  }, typeof to === \"string\" ? parsePath(to) : to, {\n    state,\n    // TODO: This could be cleaned up.  push/replace should probably just take\n    // full Locations now and avoid the need to run through this flow at all\n    // But that's a pretty big refactor to the current test suite so going to\n    // keep as is for the time being and just let any incoming keys take precedence\n    key: to && to.key || key || createKey()\n  });\n  return location;\n}\n/**\n * Creates a string URL path from the given pathname, search, and hash components.\n */\nfunction createPath(_ref) {\n  let {\n    pathname = \"/\",\n    search = \"\",\n    hash = \"\"\n  } = _ref;\n  if (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n  if (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n  return pathname;\n}\n/**\n * Parses a string URL path into its separate pathname, search, and hash components.\n */\nfunction parsePath(path) {\n  let parsedPath = {};\n  if (path) {\n    let hashIndex = path.indexOf(\"#\");\n    if (hashIndex >= 0) {\n      parsedPath.hash = path.substr(hashIndex);\n      path = path.substr(0, hashIndex);\n    }\n    let searchIndex = path.indexOf(\"?\");\n    if (searchIndex >= 0) {\n      parsedPath.search = path.substr(searchIndex);\n      path = path.substr(0, searchIndex);\n    }\n    if (path) {\n      parsedPath.pathname = path;\n    }\n  }\n  return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref, validateLocation, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  let {\n    window = document.defaultView,\n    v5Compat = false\n  } = options;\n  let globalHistory = window.history;\n  let action = Action.Pop;\n  let listener = null;\n  let index = getIndex();\n  // Index should only be null when we initialize. If not, it's because the\n  // user called history.pushState or history.replaceState directly, in which\n  // case we should log a warning as it will result in bugs.\n  if (index == null) {\n    index = 0;\n    globalHistory.replaceState(_extends({}, globalHistory.state, {\n      idx: index\n    }), \"\");\n  }\n  function getIndex() {\n    let state = globalHistory.state || {\n      idx: null\n    };\n    return state.idx;\n  }\n  function handlePop() {\n    action = Action.Pop;\n    let nextIndex = getIndex();\n    let delta = nextIndex == null ? null : nextIndex - index;\n    index = nextIndex;\n    if (listener) {\n      listener({\n        action,\n        location: history.location,\n        delta\n      });\n    }\n  }\n  function push(to, state) {\n    action = Action.Push;\n    let location = createLocation(history.location, to, state);\n    if (validateLocation) validateLocation(location, to);\n    index = getIndex() + 1;\n    let historyState = getHistoryState(location, index);\n    let url = history.createHref(location);\n    // try...catch because iOS limits us to 100 pushState calls :/\n    try {\n      globalHistory.pushState(historyState, \"\", url);\n    } catch (error) {\n      // If the exception is because `state` can't be serialized, let that throw\n      // outwards just like a replace call would so the dev knows the cause\n      // https://html.spec.whatwg.org/multipage/nav-history-apis.html#shared-history-push/replace-state-steps\n      // https://html.spec.whatwg.org/multipage/structured-data.html#structuredserializeinternal\n      if (error instanceof DOMException && error.name === \"DataCloneError\") {\n        throw error;\n      }\n      // They are going to lose state here, but there is no real\n      // way to warn them about it since the page will refresh...\n      window.location.assign(url);\n    }\n    if (v5Compat && listener) {\n      listener({\n        action,\n        location: history.location,\n        delta: 1\n      });\n    }\n  }\n  function replace(to, state) {\n    action = Action.Replace;\n    let location = createLocation(history.location, to, state);\n    if (validateLocation) validateLocation(location, to);\n    index = getIndex();\n    let historyState = getHistoryState(location, index);\n    let url = history.createHref(location);\n    globalHistory.replaceState(historyState, \"\", url);\n    if (v5Compat && listener) {\n      listener({\n        action,\n        location: history.location,\n        delta: 0\n      });\n    }\n  }\n  function createURL(to) {\n    // window.location.origin is \"null\" (the literal string value) in Firefox\n    // under certain conditions, notably when serving from a local HTML file\n    // See https://bugzilla.mozilla.org/show_bug.cgi?id=878297\n    let base = window.location.origin !== \"null\" ? window.location.origin : window.location.href;\n    let href = typeof to === \"string\" ? to : createPath(to);\n    // Treating this as a full URL will strip any trailing spaces so we need to\n    // pre-encode them since they might be part of a matching splat param from\n    // an ancestor route\n    href = href.replace(/ $/, \"%20\");\n    invariant(base, \"No window.location.(origin|href) available to create URL for href: \" + href);\n    return new URL(href, base);\n  }\n  let history = {\n    get action() {\n      return action;\n    },\n    get location() {\n      return getLocation(window, globalHistory);\n    },\n    listen(fn) {\n      if (listener) {\n        throw new Error(\"A history only accepts one active listener\");\n      }\n      window.addEventListener(PopStateEventType, handlePop);\n      listener = fn;\n      return () => {\n        window.removeEventListener(PopStateEventType, handlePop);\n        listener = null;\n      };\n    },\n    createHref(to) {\n      return createHref(window, to);\n    },\n    createURL,\n    encodeLocation(to) {\n      // Encode a Location the same way window.location would\n      let url = createURL(to);\n      return {\n        pathname: url.pathname,\n        search: url.search,\n        hash: url.hash\n      };\n    },\n    push,\n    replace,\n    go(n) {\n      return globalHistory.go(n);\n    }\n  };\n  return history;\n}\n//#endregion\n\nvar ResultType;\n(function (ResultType) {\n  ResultType[\"data\"] = \"data\";\n  ResultType[\"deferred\"] = \"deferred\";\n  ResultType[\"redirect\"] = \"redirect\";\n  ResultType[\"error\"] = \"error\";\n})(ResultType || (ResultType = {}));\nconst immutableRouteKeys = new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"children\"]);\nfunction isIndexRoute(route) {\n  return route.index === true;\n}\n// Walk the route tree generating unique IDs where necessary, so we are working\n// solely with AgnosticDataRouteObject's within the Router\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties, parentPath, manifest) {\n  if (parentPath === void 0) {\n    parentPath = [];\n  }\n  if (manifest === void 0) {\n    manifest = {};\n  }\n  return routes.map((route, index) => {\n    let treePath = [...parentPath, String(index)];\n    let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n    invariant(route.index !== true || !route.children, \"Cannot specify children on an index route\");\n    invariant(!manifest[id], \"Found a route id collision on id \\\"\" + id + \"\\\".  Route \" + \"id's must be globally unique within Data Router usages\");\n    if (isIndexRoute(route)) {\n      let indexRoute = _extends({}, route, mapRouteProperties(route), {\n        id\n      });\n      manifest[id] = indexRoute;\n      return indexRoute;\n    } else {\n      let pathOrLayoutRoute = _extends({}, route, mapRouteProperties(route), {\n        id,\n        children: undefined\n      });\n      manifest[id] = pathOrLayoutRoute;\n      if (route.children) {\n        pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties, treePath, manifest);\n      }\n      return pathOrLayoutRoute;\n    }\n  });\n}\n/**\n * Matches the given routes to a location and returns the match data.\n *\n * @see https://reactrouter.com/v6/utils/match-routes\n */\nfunction matchRoutes(routes, locationArg, basename) {\n  if (basename === void 0) {\n    basename = \"/\";\n  }\n  return matchRoutesImpl(routes, locationArg, basename, false);\n}\nfunction matchRoutesImpl(routes, locationArg, basename, allowPartial) {\n  let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n  let pathname = stripBasename(location.pathname || \"/\", basename);\n  if (pathname == null) {\n    return null;\n  }\n  let branches = flattenRoutes(routes);\n  rankRouteBranches(branches);\n  let matches = null;\n  for (let i = 0; matches == null && i < branches.length; ++i) {\n    // Incoming pathnames are generally encoded from either window.location\n    // or from router.navigate, but we want to match against the unencoded\n    // paths in the route definitions.  Memory router locations won't be\n    // encoded here but there also shouldn't be anything to decode so this\n    // should be a safe operation.  This avoids needing matchRoutes to be\n    // history-aware.\n    let decoded = decodePath(pathname);\n    matches = matchRouteBranch(branches[i], decoded, allowPartial);\n  }\n  return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n  let {\n    route,\n    pathname,\n    params\n  } = match;\n  return {\n    id: route.id,\n    pathname,\n    params,\n    data: loaderData[route.id],\n    handle: route.handle\n  };\n}\nfunction flattenRoutes(routes, branches, parentsMeta, parentPath) {\n  if (branches === void 0) {\n    branches = [];\n  }\n  if (parentsMeta === void 0) {\n    parentsMeta = [];\n  }\n  if (parentPath === void 0) {\n    parentPath = \"\";\n  }\n  let flattenRoute = (route, index, relativePath) => {\n    let meta = {\n      relativePath: relativePath === undefined ? route.path || \"\" : relativePath,\n      caseSensitive: route.caseSensitive === true,\n      childrenIndex: index,\n      route\n    };\n    if (meta.relativePath.startsWith(\"/\")) {\n      invariant(meta.relativePath.startsWith(parentPath), \"Absolute route path \\\"\" + meta.relativePath + \"\\\" nested under path \" + (\"\\\"\" + parentPath + \"\\\" is not valid. An absolute child route path \") + \"must start with the combined path of all its parent routes.\");\n      meta.relativePath = meta.relativePath.slice(parentPath.length);\n    }\n    let path = joinPaths([parentPath, meta.relativePath]);\n    let routesMeta = parentsMeta.concat(meta);\n    // Add the children before adding this route to the array, so we traverse the\n    // route tree depth-first and child routes appear before their parents in\n    // the \"flattened\" version.\n    if (route.children && route.children.length > 0) {\n      invariant(\n      // Our types know better, but runtime JS may not!\n      // @ts-expect-error\n      route.index !== true, \"Index routes must not have child routes. Please remove \" + (\"all child routes from route path \\\"\" + path + \"\\\".\"));\n      flattenRoutes(route.children, branches, routesMeta, path);\n    }\n    // Routes without a path shouldn't ever match by themselves unless they are\n    // index routes, so don't add them to the list of possible branches.\n    if (route.path == null && !route.index) {\n      return;\n    }\n    branches.push({\n      path,\n      score: computeScore(path, route.index),\n      routesMeta\n    });\n  };\n  routes.forEach((route, index) => {\n    var _route$path;\n    // coarse-grain check for optional params\n    if (route.path === \"\" || !((_route$path = route.path) != null && _route$path.includes(\"?\"))) {\n      flattenRoute(route, index);\n    } else {\n      for (let exploded of explodeOptionalSegments(route.path)) {\n        flattenRoute(route, index, exploded);\n      }\n    }\n  });\n  return branches;\n}\n/**\n * Computes all combinations of optional path segments for a given path,\n * excluding combinations that are ambiguous and of lower priority.\n *\n * For example, `/one/:two?/three/:four?/:five?` explodes to:\n * - `/one/three`\n * - `/one/:two/three`\n * - `/one/three/:four`\n * - `/one/three/:five`\n * - `/one/:two/three/:four`\n * - `/one/:two/three/:five`\n * - `/one/three/:four/:five`\n * - `/one/:two/three/:four/:five`\n */\nfunction explodeOptionalSegments(path) {\n  let segments = path.split(\"/\");\n  if (segments.length === 0) return [];\n  let [first, ...rest] = segments;\n  // Optional path segments are denoted by a trailing `?`\n  let isOptional = first.endsWith(\"?\");\n  // Compute the corresponding required segment: `foo?` -> `foo`\n  let required = first.replace(/\\?$/, \"\");\n  if (rest.length === 0) {\n    // Intepret empty string as omitting an optional segment\n    // `[\"one\", \"\", \"three\"]` corresponds to omitting `:two` from `/one/:two?/three` -> `/one/three`\n    return isOptional ? [required, \"\"] : [required];\n  }\n  let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n  let result = [];\n  // All child paths with the prefix.  Do this for all children before the\n  // optional version for all children, so we get consistent ordering where the\n  // parent optional aspect is preferred as required.  Otherwise, we can get\n  // child sections interspersed where deeper optional segments are higher than\n  // parent optional segments, where for example, /:two would explode _earlier_\n  // then /:one.  By always including the parent as required _for all children_\n  // first, we avoid this issue\n  result.push(...restExploded.map(subpath => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n  // Then, if this is an optional value, add all child versions without\n  if (isOptional) {\n    result.push(...restExploded);\n  }\n  // for absolute paths, ensure `/` instead of empty segment\n  return result.map(exploded => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n  branches.sort((a, b) => a.score !== b.score ? b.score - a.score // Higher score first\n  : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\nconst paramRe = /^:[\\w-]+$/;\nconst dynamicSegmentValue = 3;\nconst indexRouteValue = 2;\nconst emptySegmentValue = 1;\nconst staticSegmentValue = 10;\nconst splatPenalty = -2;\nconst isSplat = s => s === \"*\";\nfunction computeScore(path, index) {\n  let segments = path.split(\"/\");\n  let initialScore = segments.length;\n  if (segments.some(isSplat)) {\n    initialScore += splatPenalty;\n  }\n  if (index) {\n    initialScore += indexRouteValue;\n  }\n  return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n  let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n  return siblings ?\n  // If two routes are siblings, we should try to match the earlier sibling\n  // first. This allows people to have fine-grained control over the matching\n  // behavior by simply putting routes with identical paths in the order they\n  // want them tried.\n  a[a.length - 1] - b[b.length - 1] :\n  // Otherwise, it doesn't really make sense to rank non-siblings by index,\n  // so they sort equally.\n  0;\n}\nfunction matchRouteBranch(branch, pathname, allowPartial) {\n  if (allowPartial === void 0) {\n    allowPartial = false;\n  }\n  let {\n    routesMeta\n  } = branch;\n  let matchedParams = {};\n  let matchedPathname = \"/\";\n  let matches = [];\n  for (let i = 0; i < routesMeta.length; ++i) {\n    let meta = routesMeta[i];\n    let end = i === routesMeta.length - 1;\n    let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n    let match = matchPath({\n      path: meta.relativePath,\n      caseSensitive: meta.caseSensitive,\n      end\n    }, remainingPathname);\n    let route = meta.route;\n    if (!match && end && allowPartial && !routesMeta[routesMeta.length - 1].route.index) {\n      match = matchPath({\n        path: meta.relativePath,\n        caseSensitive: meta.caseSensitive,\n        end: false\n      }, remainingPathname);\n    }\n    if (!match) {\n      return null;\n    }\n    Object.assign(matchedParams, match.params);\n    matches.push({\n      // TODO: Can this as be avoided?\n      params: matchedParams,\n      pathname: joinPaths([matchedPathname, match.pathname]),\n      pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n      route\n    });\n    if (match.pathnameBase !== \"/\") {\n      matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n    }\n  }\n  return matches;\n}\n/**\n * Returns a path with params interpolated.\n *\n * @see https://reactrouter.com/v6/utils/generate-path\n */\nfunction generatePath(originalPath, params) {\n  if (params === void 0) {\n    params = {};\n  }\n  let path = originalPath;\n  if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n    warning(false, \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n    path = path.replace(/\\*$/, \"/*\");\n  }\n  // ensure `/` is added at the beginning if the path is absolute\n  const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n  const stringify = p => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n  const segments = path.split(/\\/+/).map((segment, index, array) => {\n    const isLastSegment = index === array.length - 1;\n    // only apply the splat if it's the last segment\n    if (isLastSegment && segment === \"*\") {\n      const star = \"*\";\n      // Apply the splat\n      return stringify(params[star]);\n    }\n    const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n    if (keyMatch) {\n      const [, key, optional] = keyMatch;\n      let param = params[key];\n      invariant(optional === \"?\" || param != null, \"Missing \\\":\" + key + \"\\\" param\");\n      return stringify(param);\n    }\n    // Remove any optional markers from optional static segments\n    return segment.replace(/\\?$/g, \"\");\n  })\n  // Remove empty segments\n  .filter(segment => !!segment);\n  return prefix + segments.join(\"/\");\n}\n/**\n * Performs pattern matching on a URL pathname and returns information about\n * the match.\n *\n * @see https://reactrouter.com/v6/utils/match-path\n */\nfunction matchPath(pattern, pathname) {\n  if (typeof pattern === \"string\") {\n    pattern = {\n      path: pattern,\n      caseSensitive: false,\n      end: true\n    };\n  }\n  let [matcher, compiledParams] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n  let match = pathname.match(matcher);\n  if (!match) return null;\n  let matchedPathname = match[0];\n  let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n  let captureGroups = match.slice(1);\n  let params = compiledParams.reduce((memo, _ref, index) => {\n    let {\n      paramName,\n      isOptional\n    } = _ref;\n    // We need to compute the pathnameBase here using the raw splat value\n    // instead of using params[\"*\"] later because it will be decoded then\n    if (paramName === \"*\") {\n      let splatValue = captureGroups[index] || \"\";\n      pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n    }\n    const value = captureGroups[index];\n    if (isOptional && !value) {\n      memo[paramName] = undefined;\n    } else {\n      memo[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n    }\n    return memo;\n  }, {});\n  return {\n    params,\n    pathname: matchedPathname,\n    pathnameBase,\n    pattern\n  };\n}\nfunction compilePath(path, caseSensitive, end) {\n  if (caseSensitive === void 0) {\n    caseSensitive = false;\n  }\n  if (end === void 0) {\n    end = true;\n  }\n  warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), \"Route path \\\"\" + path + \"\\\" will be treated as if it were \" + (\"\\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\" because the `*` character must \") + \"always follow a `/` in the pattern. To get rid of this warning, \" + (\"please change the route path to \\\"\" + path.replace(/\\*$/, \"/*\") + \"\\\".\"));\n  let params = [];\n  let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\") // Ignore trailing / and /*, we'll handle it below\n  .replace(/^\\/*/, \"/\") // Make sure it has a leading /\n  .replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\") // Escape special regex chars\n  .replace(/\\/:([\\w-]+)(\\?)?/g, (_, paramName, isOptional) => {\n    params.push({\n      paramName,\n      isOptional: isOptional != null\n    });\n    return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n  });\n  if (path.endsWith(\"*\")) {\n    params.push({\n      paramName: \"*\"\n    });\n    regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" // Already matched the initial /, just match the rest\n    : \"(?:\\\\/(.+)|\\\\/*)$\"; // Don't include the / in params[\"*\"]\n  } else if (end) {\n    // When matching to the end, ignore trailing slashes\n    regexpSource += \"\\\\/*$\";\n  } else if (path !== \"\" && path !== \"/\") {\n    // If our path is non-empty and contains anything beyond an initial slash,\n    // then we have _some_ form of path in our regex, so we should expect to\n    // match only if we find the end of this path segment.  Look for an optional\n    // non-captured trailing slash (to match a portion of the URL) or the end\n    // of the path (if we've matched to the end).  We used to do this with a\n    // word boundary but that gives false positives on routes like\n    // /user-preferences since `-` counts as a word boundary.\n    regexpSource += \"(?:(?=\\\\/|$))\";\n  } else ;\n  let matcher = new RegExp(regexpSource, caseSensitive ? undefined : \"i\");\n  return [matcher, params];\n}\nfunction decodePath(value) {\n  try {\n    return value.split(\"/\").map(v => decodeURIComponent(v).replace(/\\//g, \"%2F\")).join(\"/\");\n  } catch (error) {\n    warning(false, \"The URL path \\\"\" + value + \"\\\" could not be decoded because it is is a \" + \"malformed URL segment. This is probably due to a bad percent \" + (\"encoding (\" + error + \").\"));\n    return value;\n  }\n}\n/**\n * @private\n */\nfunction stripBasename(pathname, basename) {\n  if (basename === \"/\") return pathname;\n  if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n    return null;\n  }\n  // We want to leave trailing slash behavior in the user's control, so if they\n  // specify a basename with a trailing slash, we should support it\n  let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n  let nextChar = pathname.charAt(startIndex);\n  if (nextChar && nextChar !== \"/\") {\n    // pathname does not start with basename/\n    return null;\n  }\n  return pathname.slice(startIndex) || \"/\";\n}\n/**\n * Returns a resolved path object relative to the given pathname.\n *\n * @see https://reactrouter.com/v6/utils/resolve-path\n */\nfunction resolvePath(to, fromPathname) {\n  if (fromPathname === void 0) {\n    fromPathname = \"/\";\n  }\n  let {\n    pathname: toPathname,\n    search = \"\",\n    hash = \"\"\n  } = typeof to === \"string\" ? parsePath(to) : to;\n  let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n  return {\n    pathname,\n    search: normalizeSearch(search),\n    hash: normalizeHash(hash)\n  };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n  let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n  let relativeSegments = relativePath.split(\"/\");\n  relativeSegments.forEach(segment => {\n    if (segment === \"..\") {\n      // Keep the root \"\" segment so the pathname starts at /\n      if (segments.length > 1) segments.pop();\n    } else if (segment !== \".\") {\n      segments.push(segment);\n    }\n  });\n  return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n  return \"Cannot include a '\" + char + \"' character in a manually specified \" + (\"`to.\" + field + \"` field [\" + JSON.stringify(path) + \"].  Please separate it out to the \") + (\"`to.\" + dest + \"` field. Alternatively you may provide the full path as \") + \"a string in <Link to=\\\"...\\\"> and the router will parse it for you.\";\n}\n/**\n * @private\n *\n * When processing relative navigation we want to ignore ancestor routes that\n * do not contribute to the path, such that index/pathless layout routes don't\n * interfere.\n *\n * For example, when moving a route element into an index route and/or a\n * pathless layout route, relative link behavior contained within should stay\n * the same.  Both of the following examples should link back to the root:\n *\n *   <Route path=\"/\">\n *     <Route path=\"accounts\" element={<Link to=\"..\"}>\n *   </Route>\n *\n *   <Route path=\"/\">\n *     <Route path=\"accounts\">\n *       <Route element={<AccountsLayout />}>       // <-- Does not contribute\n *         <Route index element={<Link to=\"..\"} />  // <-- Does not contribute\n *       </Route\n *     </Route>\n *   </Route>\n */\nfunction getPathContributingMatches(matches) {\n  return matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\n// Return the array of pathnames for the current route matches - used to\n// generate the routePathnames input for resolveTo()\nfunction getResolveToMatches(matches, v7_relativeSplatPath) {\n  let pathMatches = getPathContributingMatches(matches);\n  // When v7_relativeSplatPath is enabled, use the full pathname for the leaf\n  // match so we include splat values for \".\" links.  See:\n  // https://github.com/remix-run/react-router/issues/11052#issuecomment-1836589329\n  if (v7_relativeSplatPath) {\n    return pathMatches.map((match, idx) => idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase);\n  }\n  return pathMatches.map(match => match.pathnameBase);\n}\n/**\n * @private\n */\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative) {\n  if (isPathRelative === void 0) {\n    isPathRelative = false;\n  }\n  let to;\n  if (typeof toArg === \"string\") {\n    to = parsePath(toArg);\n  } else {\n    to = _extends({}, toArg);\n    invariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n    invariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n    invariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n  }\n  let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n  let toPathname = isEmptyPath ? \"/\" : to.pathname;\n  let from;\n  // Routing is relative to the current pathname if explicitly requested.\n  //\n  // If a pathname is explicitly provided in `to`, it should be relative to the\n  // route context. This is explained in `Note on `<Link to>` values` in our\n  // migration guide from v5 as a means of disambiguation between `to` values\n  // that begin with `/` and those that do not. However, this is problematic for\n  // `to` values that do not provide a pathname. `to` can simply be a search or\n  // hash string, in which case we should assume that the navigation is relative\n  // to the current location's pathname and *not* the route pathname.\n  if (toPathname == null) {\n    from = locationPathname;\n  } else {\n    let routePathnameIndex = routePathnames.length - 1;\n    // With relative=\"route\" (the default), each leading .. segment means\n    // \"go up one route\" instead of \"go up one URL segment\".  This is a key\n    // difference from how <a href> works and a major reason we call this a\n    // \"to\" value instead of a \"href\".\n    if (!isPathRelative && toPathname.startsWith(\"..\")) {\n      let toSegments = toPathname.split(\"/\");\n      while (toSegments[0] === \"..\") {\n        toSegments.shift();\n        routePathnameIndex -= 1;\n      }\n      to.pathname = toSegments.join(\"/\");\n    }\n    from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n  }\n  let path = resolvePath(to, from);\n  // Ensure the pathname has a trailing slash if the original \"to\" had one\n  let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n  // Or if this was a link to the current path which has a trailing slash\n  let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n  if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n    path.pathname += \"/\";\n  }\n  return path;\n}\n/**\n * @private\n */\nfunction getToPathname(to) {\n  // Empty strings should be treated the same as / paths\n  return to === \"\" || to.pathname === \"\" ? \"/\" : typeof to === \"string\" ? parsePath(to).pathname : to.pathname;\n}\n/**\n * @private\n */\nconst joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\n/**\n * @private\n */\nconst normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\n/**\n * @private\n */\nconst normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\n/**\n * @private\n */\nconst normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\n/**\n * This is a shortcut for creating `application/json` responses. Converts `data`\n * to JSON and sets the `Content-Type` header.\n *\n * @deprecated The `json` method is deprecated in favor of returning raw objects.\n * This method will be removed in v7.\n */\nconst json = function json(data, init) {\n  if (init === void 0) {\n    init = {};\n  }\n  let responseInit = typeof init === \"number\" ? {\n    status: init\n  } : init;\n  let headers = new Headers(responseInit.headers);\n  if (!headers.has(\"Content-Type\")) {\n    headers.set(\"Content-Type\", \"application/json; charset=utf-8\");\n  }\n  return new Response(JSON.stringify(data), _extends({}, responseInit, {\n    headers\n  }));\n};\nclass DataWithResponseInit {\n  constructor(data, init) {\n    this.type = \"DataWithResponseInit\";\n    this.data = data;\n    this.init = init || null;\n  }\n}\n/**\n * Create \"responses\" that contain `status`/`headers` without forcing\n * serialization into an actual `Response` - used by Remix single fetch\n */\nfunction data(data, init) {\n  return new DataWithResponseInit(data, typeof init === \"number\" ? {\n    status: init\n  } : init);\n}\nclass AbortedDeferredError extends Error {}\nclass DeferredData {\n  constructor(data, responseInit) {\n    this.pendingKeysSet = new Set();\n    this.subscribers = new Set();\n    this.deferredKeys = [];\n    invariant(data && typeof data === \"object\" && !Array.isArray(data), \"defer() only accepts plain objects\");\n    // Set up an AbortController + Promise we can race against to exit early\n    // cancellation\n    let reject;\n    this.abortPromise = new Promise((_, r) => reject = r);\n    this.controller = new AbortController();\n    let onAbort = () => reject(new AbortedDeferredError(\"Deferred data aborted\"));\n    this.unlistenAbortSignal = () => this.controller.signal.removeEventListener(\"abort\", onAbort);\n    this.controller.signal.addEventListener(\"abort\", onAbort);\n    this.data = Object.entries(data).reduce((acc, _ref2) => {\n      let [key, value] = _ref2;\n      return Object.assign(acc, {\n        [key]: this.trackPromise(key, value)\n      });\n    }, {});\n    if (this.done) {\n      // All incoming values were resolved\n      this.unlistenAbortSignal();\n    }\n    this.init = responseInit;\n  }\n  trackPromise(key, value) {\n    if (!(value instanceof Promise)) {\n      return value;\n    }\n    this.deferredKeys.push(key);\n    this.pendingKeysSet.add(key);\n    // We store a little wrapper promise that will be extended with\n    // _data/_error props upon resolve/reject\n    let promise = Promise.race([value, this.abortPromise]).then(data => this.onSettle(promise, key, undefined, data), error => this.onSettle(promise, key, error));\n    // Register rejection listeners to avoid uncaught promise rejections on\n    // errors or aborted deferred values\n    promise.catch(() => {});\n    Object.defineProperty(promise, \"_tracked\", {\n      get: () => true\n    });\n    return promise;\n  }\n  onSettle(promise, key, error, data) {\n    if (this.controller.signal.aborted && error instanceof AbortedDeferredError) {\n      this.unlistenAbortSignal();\n      Object.defineProperty(promise, \"_error\", {\n        get: () => error\n      });\n      return Promise.reject(error);\n    }\n    this.pendingKeysSet.delete(key);\n    if (this.done) {\n      // Nothing left to abort!\n      this.unlistenAbortSignal();\n    }\n    // If the promise was resolved/rejected with undefined, we'll throw an error as you\n    // should always resolve with a value or null\n    if (error === undefined && data === undefined) {\n      let undefinedError = new Error(\"Deferred data for key \\\"\" + key + \"\\\" resolved/rejected with `undefined`, \" + \"you must resolve/reject with a value or `null`.\");\n      Object.defineProperty(promise, \"_error\", {\n        get: () => undefinedError\n      });\n      this.emit(false, key);\n      return Promise.reject(undefinedError);\n    }\n    if (data === undefined) {\n      Object.defineProperty(promise, \"_error\", {\n        get: () => error\n      });\n      this.emit(false, key);\n      return Promise.reject(error);\n    }\n    Object.defineProperty(promise, \"_data\", {\n      get: () => data\n    });\n    this.emit(false, key);\n    return data;\n  }\n  emit(aborted, settledKey) {\n    this.subscribers.forEach(subscriber => subscriber(aborted, settledKey));\n  }\n  subscribe(fn) {\n    this.subscribers.add(fn);\n    return () => this.subscribers.delete(fn);\n  }\n  cancel() {\n    this.controller.abort();\n    this.pendingKeysSet.forEach((v, k) => this.pendingKeysSet.delete(k));\n    this.emit(true);\n  }\n  async resolveData(signal) {\n    let aborted = false;\n    if (!this.done) {\n      let onAbort = () => this.cancel();\n      signal.addEventListener(\"abort\", onAbort);\n      aborted = await new Promise(resolve => {\n        this.subscribe(aborted => {\n          signal.removeEventListener(\"abort\", onAbort);\n          if (aborted || this.done) {\n            resolve(aborted);\n          }\n        });\n      });\n    }\n    return aborted;\n  }\n  get done() {\n    return this.pendingKeysSet.size === 0;\n  }\n  get unwrappedData() {\n    invariant(this.data !== null && this.done, \"Can only unwrap data on initialized and settled deferreds\");\n    return Object.entries(this.data).reduce((acc, _ref3) => {\n      let [key, value] = _ref3;\n      return Object.assign(acc, {\n        [key]: unwrapTrackedPromise(value)\n      });\n    }, {});\n  }\n  get pendingKeys() {\n    return Array.from(this.pendingKeysSet);\n  }\n}\nfunction isTrackedPromise(value) {\n  return value instanceof Promise && value._tracked === true;\n}\nfunction unwrapTrackedPromise(value) {\n  if (!isTrackedPromise(value)) {\n    return value;\n  }\n  if (value._error) {\n    throw value._error;\n  }\n  return value._data;\n}\n/**\n * @deprecated The `defer` method is deprecated in favor of returning raw\n * objects. This method will be removed in v7.\n */\nconst defer = function defer(data, init) {\n  if (init === void 0) {\n    init = {};\n  }\n  let responseInit = typeof init === \"number\" ? {\n    status: init\n  } : init;\n  return new DeferredData(data, responseInit);\n};\n/**\n * A redirect response. Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirect = function redirect(url, init) {\n  if (init === void 0) {\n    init = 302;\n  }\n  let responseInit = init;\n  if (typeof responseInit === \"number\") {\n    responseInit = {\n      status: responseInit\n    };\n  } else if (typeof responseInit.status === \"undefined\") {\n    responseInit.status = 302;\n  }\n  let headers = new Headers(responseInit.headers);\n  headers.set(\"Location\", url);\n  return new Response(null, _extends({}, responseInit, {\n    headers\n  }));\n};\n/**\n * A redirect response that will force a document reload to the new location.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst redirectDocument = (url, init) => {\n  let response = redirect(url, init);\n  response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n  return response;\n};\n/**\n * A redirect response that will perform a `history.replaceState` instead of a\n * `history.pushState` for client-side navigation redirects.\n * Sets the status code and the `Location` header.\n * Defaults to \"302 Found\".\n */\nconst replace = (url, init) => {\n  let response = redirect(url, init);\n  response.headers.set(\"X-Remix-Replace\", \"true\");\n  return response;\n};\n/**\n * @private\n * Utility class we use to hold auto-unwrapped 4xx/5xx Response bodies\n *\n * We don't export the class for public use since it's an implementation\n * detail, but we export the interface above so folks can build their own\n * abstractions around instances via isRouteErrorResponse()\n */\nclass ErrorResponseImpl {\n  constructor(status, statusText, data, internal) {\n    if (internal === void 0) {\n      internal = false;\n    }\n    this.status = status;\n    this.statusText = statusText || \"\";\n    this.internal = internal;\n    if (data instanceof Error) {\n      this.data = data.toString();\n      this.error = data;\n    } else {\n      this.data = data;\n    }\n  }\n}\n/**\n * Check if the given error is an ErrorResponse generated from a 4xx/5xx\n * Response thrown from an action/loader\n */\nfunction isRouteErrorResponse(error) {\n  return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\nconst validMutationMethodsArr = [\"post\", \"put\", \"patch\", \"delete\"];\nconst validMutationMethods = new Set(validMutationMethodsArr);\nconst validRequestMethodsArr = [\"get\", ...validMutationMethodsArr];\nconst validRequestMethods = new Set(validRequestMethodsArr);\nconst redirectStatusCodes = new Set([301, 302, 303, 307, 308]);\nconst redirectPreserveMethodStatusCodes = new Set([307, 308]);\nconst IDLE_NAVIGATION = {\n  state: \"idle\",\n  location: undefined,\n  formMethod: undefined,\n  formAction: undefined,\n  formEncType: undefined,\n  formData: undefined,\n  json: undefined,\n  text: undefined\n};\nconst IDLE_FETCHER = {\n  state: \"idle\",\n  data: undefined,\n  formMethod: undefined,\n  formAction: undefined,\n  formEncType: undefined,\n  formData: undefined,\n  json: undefined,\n  text: undefined\n};\nconst IDLE_BLOCKER = {\n  state: \"unblocked\",\n  proceed: undefined,\n  reset: undefined,\n  location: undefined\n};\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nconst defaultMapRouteProperties = route => ({\n  hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nconst TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createRouter\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Create a router and listen to history POP navigations\n */\nfunction createRouter(init) {\n  const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : undefined;\n  const isBrowser = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n  const isServer = !isBrowser;\n  invariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n  let mapRouteProperties;\n  if (init.mapRouteProperties) {\n    mapRouteProperties = init.mapRouteProperties;\n  } else if (init.detectErrorBoundary) {\n    // If they are still using the deprecated version, wrap it with the new API\n    let detectErrorBoundary = init.detectErrorBoundary;\n    mapRouteProperties = route => ({\n      hasErrorBoundary: detectErrorBoundary(route)\n    });\n  } else {\n    mapRouteProperties = defaultMapRouteProperties;\n  }\n  // Routes keyed by ID\n  let manifest = {};\n  // Routes in tree format for matching\n  let dataRoutes = convertRoutesToDataRoutes(init.routes, mapRouteProperties, undefined, manifest);\n  let inFlightDataRoutes;\n  let basename = init.basename || \"/\";\n  let dataStrategyImpl = init.dataStrategy || defaultDataStrategy;\n  let patchRoutesOnNavigationImpl = init.patchRoutesOnNavigation;\n  // Config driven behavior flags\n  let future = _extends({\n    v7_fetcherPersist: false,\n    v7_normalizeFormMethod: false,\n    v7_partialHydration: false,\n    v7_prependBasename: false,\n    v7_relativeSplatPath: false,\n    v7_skipActionErrorRevalidation: false\n  }, init.future);\n  // Cleanup function for history\n  let unlistenHistory = null;\n  // Externally-provided functions to call on all state changes\n  let subscribers = new Set();\n  // Externally-provided object to hold scroll restoration locations during routing\n  let savedScrollPositions = null;\n  // Externally-provided function to get scroll restoration keys\n  let getScrollRestorationKey = null;\n  // Externally-provided function to get current scroll position\n  let getScrollPosition = null;\n  // One-time flag to control the initial hydration scroll restoration.  Because\n  // we don't get the saved positions from <ScrollRestoration /> until _after_\n  // the initial render, we need to manually trigger a separate updateState to\n  // send along the restoreScrollPosition\n  // Set to true if we have `hydrationData` since we assume we were SSR'd and that\n  // SSR did the initial scroll restoration.\n  let initialScrollRestored = init.hydrationData != null;\n  let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n  let initialMatchesIsFOW = false;\n  let initialErrors = null;\n  if (initialMatches == null && !patchRoutesOnNavigationImpl) {\n    // If we do not match a user-provided-route, fall back to the root\n    // to allow the error boundary to take over\n    let error = getInternalRouterError(404, {\n      pathname: init.history.location.pathname\n    });\n    let {\n      matches,\n      route\n    } = getShortCircuitMatches(dataRoutes);\n    initialMatches = matches;\n    initialErrors = {\n      [route.id]: error\n    };\n  }\n  // In SPA apps, if the user provided a patchRoutesOnNavigation implementation and\n  // our initial match is a splat route, clear them out so we run through lazy\n  // discovery on hydration in case there's a more accurate lazy route match.\n  // In SSR apps (with `hydrationData`), we expect that the server will send\n  // up the proper matched routes so we don't want to run lazy discovery on\n  // initial hydration and want to hydrate into the splat route.\n  if (initialMatches && !init.hydrationData) {\n    let fogOfWar = checkFogOfWar(initialMatches, dataRoutes, init.history.location.pathname);\n    if (fogOfWar.active) {\n      initialMatches = null;\n    }\n  }\n  let initialized;\n  if (!initialMatches) {\n    initialized = false;\n    initialMatches = [];\n    // If partial hydration and fog of war is enabled, we will be running\n    // `patchRoutesOnNavigation` during hydration so include any partial matches as\n    // the initial matches so we can properly render `HydrateFallback`'s\n    if (future.v7_partialHydration) {\n      let fogOfWar = checkFogOfWar(null, dataRoutes, init.history.location.pathname);\n      if (fogOfWar.active && fogOfWar.matches) {\n        initialMatchesIsFOW = true;\n        initialMatches = fogOfWar.matches;\n      }\n    }\n  } else if (initialMatches.some(m => m.route.lazy)) {\n    // All initialMatches need to be loaded before we're ready.  If we have lazy\n    // functions around still then we'll need to run them in initialize()\n    initialized = false;\n  } else if (!initialMatches.some(m => m.route.loader)) {\n    // If we've got no loaders to run, then we're good to go\n    initialized = true;\n  } else if (future.v7_partialHydration) {\n    // If partial hydration is enabled, we're initialized so long as we were\n    // provided with hydrationData for every route with a loader, and no loaders\n    // were marked for explicit hydration\n    let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n    let errors = init.hydrationData ? init.hydrationData.errors : null;\n    // If errors exist, don't consider routes below the boundary\n    if (errors) {\n      let idx = initialMatches.findIndex(m => errors[m.route.id] !== undefined);\n      initialized = initialMatches.slice(0, idx + 1).every(m => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n    } else {\n      initialized = initialMatches.every(m => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n    }\n  } else {\n    // Without partial hydration - we're initialized if we were provided any\n    // hydrationData - which is expected to be complete\n    initialized = init.hydrationData != null;\n  }\n  let router;\n  let state = {\n    historyAction: init.history.action,\n    location: init.history.location,\n    matches: initialMatches,\n    initialized,\n    navigation: IDLE_NAVIGATION,\n    // Don't restore on initial updateState() if we were SSR'd\n    restoreScrollPosition: init.hydrationData != null ? false : null,\n    preventScrollReset: false,\n    revalidation: \"idle\",\n    loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n    actionData: init.hydrationData && init.hydrationData.actionData || null,\n    errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n    fetchers: new Map(),\n    blockers: new Map()\n  };\n  // -- Stateful internal variables to manage navigations --\n  // Current navigation in progress (to be committed in completeNavigation)\n  let pendingAction = Action.Pop;\n  // Should the current navigation prevent the scroll reset if scroll cannot\n  // be restored?\n  let pendingPreventScrollReset = false;\n  // AbortController for the active navigation\n  let pendingNavigationController;\n  // Should the current navigation enable document.startViewTransition?\n  let pendingViewTransitionEnabled = false;\n  // Store applied view transitions so we can apply them on POP\n  let appliedViewTransitions = new Map();\n  // Cleanup function for persisting applied transitions to sessionStorage\n  let removePageHideEventListener = null;\n  // We use this to avoid touching history in completeNavigation if a\n  // revalidation is entirely uninterrupted\n  let isUninterruptedRevalidation = false;\n  // Use this internal flag to force revalidation of all loaders:\n  //  - submissions (completed or interrupted)\n  //  - useRevalidator()\n  //  - X-Remix-Revalidate (from redirect)\n  let isRevalidationRequired = false;\n  // Use this internal array to capture routes that require revalidation due\n  // to a cancelled deferred on action submission\n  let cancelledDeferredRoutes = [];\n  // Use this internal array to capture fetcher loads that were cancelled by an\n  // action navigation and require revalidation\n  let cancelledFetcherLoads = new Set();\n  // AbortControllers for any in-flight fetchers\n  let fetchControllers = new Map();\n  // Track loads based on the order in which they started\n  let incrementingLoadId = 0;\n  // Track the outstanding pending navigation data load to be compared against\n  // the globally incrementing load when a fetcher load lands after a completed\n  // navigation\n  let pendingNavigationLoadId = -1;\n  // Fetchers that triggered data reloads as a result of their actions\n  let fetchReloadIds = new Map();\n  // Fetchers that triggered redirect navigations\n  let fetchRedirectIds = new Set();\n  // Most recent href/match for fetcher.load calls for fetchers\n  let fetchLoadMatches = new Map();\n  // Ref-count mounted fetchers so we know when it's ok to clean them up\n  let activeFetchers = new Map();\n  // Fetchers that have requested a delete when using v7_fetcherPersist,\n  // they'll be officially removed after they return to idle\n  let deletedFetchers = new Set();\n  // Store DeferredData instances for active route matches.  When a\n  // route loader returns defer() we stick one in here.  Then, when a nested\n  // promise resolves we update loaderData.  If a new navigation starts we\n  // cancel active deferreds for eliminated routes.\n  let activeDeferreds = new Map();\n  // Store blocker functions in a separate Map outside of router state since\n  // we don't need to update UI state if they change\n  let blockerFunctions = new Map();\n  // Flag to ignore the next history update, so we can revert the URL change on\n  // a POP navigation that was blocked by the user without touching router state\n  let unblockBlockerHistoryUpdate = undefined;\n  // Initialize the router, all side effects should be kicked off from here.\n  // Implemented as a Fluent API for ease of:\n  //   let router = createRouter(init).initialize();\n  function initialize() {\n    // If history informs us of a POP navigation, start the navigation but do not update\n    // state.  We'll update our own state once the navigation completes\n    unlistenHistory = init.history.listen(_ref => {\n      let {\n        action: historyAction,\n        location,\n        delta\n      } = _ref;\n      // Ignore this event if it was just us resetting the URL from a\n      // blocked POP navigation\n      if (unblockBlockerHistoryUpdate) {\n        unblockBlockerHistoryUpdate();\n        unblockBlockerHistoryUpdate = undefined;\n        return;\n      }\n      warning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location \" + \"that was not created by @remix-run/router. This will fail silently in \" + \"production. This can happen if you are navigating outside the router \" + \"via `window.history.pushState`/`window.location.hash` instead of using \" + \"router navigation APIs.  This can also happen if you are using \" + \"createHashRouter and the user manually changes the URL.\");\n      let blockerKey = shouldBlockNavigation({\n        currentLocation: state.location,\n        nextLocation: location,\n        historyAction\n      });\n      if (blockerKey && delta != null) {\n        // Restore the URL to match the current UI, but don't update router state\n        let nextHistoryUpdatePromise = new Promise(resolve => {\n          unblockBlockerHistoryUpdate = resolve;\n        });\n        init.history.go(delta * -1);\n        // Put the blocker into a blocked state\n        updateBlocker(blockerKey, {\n          state: \"blocked\",\n          location,\n          proceed() {\n            updateBlocker(blockerKey, {\n              state: \"proceeding\",\n              proceed: undefined,\n              reset: undefined,\n              location\n            });\n            // Re-do the same POP navigation we just blocked, after the url\n            // restoration is also complete.  See:\n            // https://github.com/remix-run/react-router/issues/11613\n            nextHistoryUpdatePromise.then(() => init.history.go(delta));\n          },\n          reset() {\n            let blockers = new Map(state.blockers);\n            blockers.set(blockerKey, IDLE_BLOCKER);\n            updateState({\n              blockers\n            });\n          }\n        });\n        return;\n      }\n      return startNavigation(historyAction, location);\n    });\n    if (isBrowser) {\n      // FIXME: This feels gross.  How can we cleanup the lines between\n      // scrollRestoration/appliedTransitions persistance?\n      restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n      let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n      routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n      removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n    }\n    // Kick off initial data load if needed.  Use Pop to avoid modifying history\n    // Note we don't do any handling of lazy here.  For SPA's it'll get handled\n    // in the normal navigation flow.  For SSR it's expected that lazy modules are\n    // resolved prior to router creation since we can't go into a fallbackElement\n    // UI for SSR'd apps\n    if (!state.initialized) {\n      startNavigation(Action.Pop, state.location, {\n        initialHydration: true\n      });\n    }\n    return router;\n  }\n  // Clean up a router and it's side effects\n  function dispose() {\n    if (unlistenHistory) {\n      unlistenHistory();\n    }\n    if (removePageHideEventListener) {\n      removePageHideEventListener();\n    }\n    subscribers.clear();\n    pendingNavigationController && pendingNavigationController.abort();\n    state.fetchers.forEach((_, key) => deleteFetcher(key));\n    state.blockers.forEach((_, key) => deleteBlocker(key));\n  }\n  // Subscribe to state updates for the router\n  function subscribe(fn) {\n    subscribers.add(fn);\n    return () => subscribers.delete(fn);\n  }\n  // Update our state and notify the calling context of the change\n  function updateState(newState, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    state = _extends({}, state, newState);\n    // Prep fetcher cleanup so we can tell the UI which fetcher data entries\n    // can be removed\n    let completedFetchers = [];\n    let deletedFetchersKeys = [];\n    if (future.v7_fetcherPersist) {\n      state.fetchers.forEach((fetcher, key) => {\n        if (fetcher.state === \"idle\") {\n          if (deletedFetchers.has(key)) {\n            // Unmounted from the UI and can be totally removed\n            deletedFetchersKeys.push(key);\n          } else {\n            // Returned to idle but still mounted in the UI, so semi-remains for\n            // revalidations and such\n            completedFetchers.push(key);\n          }\n        }\n      });\n    }\n    // Remove any lingering deleted fetchers that have already been removed\n    // from state.fetchers\n    deletedFetchers.forEach(key => {\n      if (!state.fetchers.has(key) && !fetchControllers.has(key)) {\n        deletedFetchersKeys.push(key);\n      }\n    });\n    // Iterate over a local copy so that if flushSync is used and we end up\n    // removing and adding a new subscriber due to the useCallback dependencies,\n    // we don't get ourselves into a loop calling the new subscriber immediately\n    [...subscribers].forEach(subscriber => subscriber(state, {\n      deletedFetchers: deletedFetchersKeys,\n      viewTransitionOpts: opts.viewTransitionOpts,\n      flushSync: opts.flushSync === true\n    }));\n    // Remove idle fetchers from state since we only care about in-flight fetchers.\n    if (future.v7_fetcherPersist) {\n      completedFetchers.forEach(key => state.fetchers.delete(key));\n      deletedFetchersKeys.forEach(key => deleteFetcher(key));\n    } else {\n      // We already called deleteFetcher() on these, can remove them from this\n      // Set now that we've handed the keys off to the data layer\n      deletedFetchersKeys.forEach(key => deletedFetchers.delete(key));\n    }\n  }\n  // Complete a navigation returning the state.navigation back to the IDLE_NAVIGATION\n  // and setting state.[historyAction/location/matches] to the new route.\n  // - Location is a required param\n  // - Navigation will always be set to IDLE_NAVIGATION\n  // - Can pass any other state in newState\n  function completeNavigation(location, newState, _temp) {\n    var _location$state, _location$state2;\n    let {\n      flushSync\n    } = _temp === void 0 ? {} : _temp;\n    // Deduce if we're in a loading/actionReload state:\n    // - We have committed actionData in the store\n    // - The current navigation was a mutation submission\n    // - We're past the submitting state and into the loading state\n    // - The location being loaded is not the result of a redirect\n    let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && ((_location$state = location.state) == null ? void 0 : _location$state._isRedirect) !== true;\n    let actionData;\n    if (newState.actionData) {\n      if (Object.keys(newState.actionData).length > 0) {\n        actionData = newState.actionData;\n      } else {\n        // Empty actionData -> clear prior actionData due to an action error\n        actionData = null;\n      }\n    } else if (isActionReload) {\n      // Keep the current data if we're wrapping up the action reload\n      actionData = state.actionData;\n    } else {\n      // Clear actionData on any other completed navigations\n      actionData = null;\n    }\n    // Always preserve any existing loaderData from re-used routes\n    let loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n    // On a successful navigation we can assume we got through all blockers\n    // so we can start fresh\n    let blockers = state.blockers;\n    if (blockers.size > 0) {\n      blockers = new Map(blockers);\n      blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n    }\n    // Always respect the user flag.  Otherwise don't reset on mutation\n    // submission navigations unless they redirect\n    let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && ((_location$state2 = location.state) == null ? void 0 : _location$state2._isRedirect) !== true;\n    // Commit any in-flight routes at the end of the HMR revalidation \"navigation\"\n    if (inFlightDataRoutes) {\n      dataRoutes = inFlightDataRoutes;\n      inFlightDataRoutes = undefined;\n    }\n    if (isUninterruptedRevalidation) ; else if (pendingAction === Action.Pop) ; else if (pendingAction === Action.Push) {\n      init.history.push(location, location.state);\n    } else if (pendingAction === Action.Replace) {\n      init.history.replace(location, location.state);\n    }\n    let viewTransitionOpts;\n    // On POP, enable transitions if they were enabled on the original navigation\n    if (pendingAction === Action.Pop) {\n      // Forward takes precedence so they behave like the original navigation\n      let priorPaths = appliedViewTransitions.get(state.location.pathname);\n      if (priorPaths && priorPaths.has(location.pathname)) {\n        viewTransitionOpts = {\n          currentLocation: state.location,\n          nextLocation: location\n        };\n      } else if (appliedViewTransitions.has(location.pathname)) {\n        // If we don't have a previous forward nav, assume we're popping back to\n        // the new location and enable if that location previously enabled\n        viewTransitionOpts = {\n          currentLocation: location,\n          nextLocation: state.location\n        };\n      }\n    } else if (pendingViewTransitionEnabled) {\n      // Store the applied transition on PUSH/REPLACE\n      let toPaths = appliedViewTransitions.get(state.location.pathname);\n      if (toPaths) {\n        toPaths.add(location.pathname);\n      } else {\n        toPaths = new Set([location.pathname]);\n        appliedViewTransitions.set(state.location.pathname, toPaths);\n      }\n      viewTransitionOpts = {\n        currentLocation: state.location,\n        nextLocation: location\n      };\n    }\n    updateState(_extends({}, newState, {\n      actionData,\n      loaderData,\n      historyAction: pendingAction,\n      location,\n      initialized: true,\n      navigation: IDLE_NAVIGATION,\n      revalidation: \"idle\",\n      restoreScrollPosition: getSavedScrollPosition(location, newState.matches || state.matches),\n      preventScrollReset,\n      blockers\n    }), {\n      viewTransitionOpts,\n      flushSync: flushSync === true\n    });\n    // Reset stateful navigation vars\n    pendingAction = Action.Pop;\n    pendingPreventScrollReset = false;\n    pendingViewTransitionEnabled = false;\n    isUninterruptedRevalidation = false;\n    isRevalidationRequired = false;\n    cancelledDeferredRoutes = [];\n  }\n  // Trigger a navigation event, which can either be a numerical POP or a PUSH\n  // replace with an optional submission\n  async function navigate(to, opts) {\n    if (typeof to === \"number\") {\n      init.history.go(to);\n      return;\n    }\n    let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, to, future.v7_relativeSplatPath, opts == null ? void 0 : opts.fromRouteId, opts == null ? void 0 : opts.relative);\n    let {\n      path,\n      submission,\n      error\n    } = normalizeNavigateOptions(future.v7_normalizeFormMethod, false, normalizedPath, opts);\n    let currentLocation = state.location;\n    let nextLocation = createLocation(state.location, path, opts && opts.state);\n    // When using navigate as a PUSH/REPLACE we aren't reading an already-encoded\n    // URL from window.location, so we need to encode it here so the behavior\n    // remains the same as POP and non-data-router usages.  new URL() does all\n    // the same encoding we'd get from a history.pushState/window.location read\n    // without having to touch history\n    nextLocation = _extends({}, nextLocation, init.history.encodeLocation(nextLocation));\n    let userReplace = opts && opts.replace != null ? opts.replace : undefined;\n    let historyAction = Action.Push;\n    if (userReplace === true) {\n      historyAction = Action.Replace;\n    } else if (userReplace === false) ; else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n      // By default on submissions to the current location we REPLACE so that\n      // users don't have to double-click the back button to get to the prior\n      // location.  If the user redirects to a different location from the\n      // action/loader this will be ignored and the redirect will be a PUSH\n      historyAction = Action.Replace;\n    }\n    let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : undefined;\n    let flushSync = (opts && opts.flushSync) === true;\n    let blockerKey = shouldBlockNavigation({\n      currentLocation,\n      nextLocation,\n      historyAction\n    });\n    if (blockerKey) {\n      // Put the blocker into a blocked state\n      updateBlocker(blockerKey, {\n        state: \"blocked\",\n        location: nextLocation,\n        proceed() {\n          updateBlocker(blockerKey, {\n            state: \"proceeding\",\n            proceed: undefined,\n            reset: undefined,\n            location: nextLocation\n          });\n          // Send the same navigation through\n          navigate(to, opts);\n        },\n        reset() {\n          let blockers = new Map(state.blockers);\n          blockers.set(blockerKey, IDLE_BLOCKER);\n          updateState({\n            blockers\n          });\n        }\n      });\n      return;\n    }\n    return await startNavigation(historyAction, nextLocation, {\n      submission,\n      // Send through the formData serialization error if we have one so we can\n      // render at the right error boundary after we match routes\n      pendingError: error,\n      preventScrollReset,\n      replace: opts && opts.replace,\n      enableViewTransition: opts && opts.viewTransition,\n      flushSync\n    });\n  }\n  // Revalidate all current loaders.  If a navigation is in progress or if this\n  // is interrupted by a navigation, allow this to \"succeed\" by calling all\n  // loaders during the next loader round\n  function revalidate() {\n    interruptActiveLoads();\n    updateState({\n      revalidation: \"loading\"\n    });\n    // If we're currently submitting an action, we don't need to start a new\n    // navigation, we'll just let the follow up loader execution call all loaders\n    if (state.navigation.state === \"submitting\") {\n      return;\n    }\n    // If we're currently in an idle state, start a new navigation for the current\n    // action/location and mark it as uninterrupted, which will skip the history\n    // update in completeNavigation\n    if (state.navigation.state === \"idle\") {\n      startNavigation(state.historyAction, state.location, {\n        startUninterruptedRevalidation: true\n      });\n      return;\n    }\n    // Otherwise, if we're currently in a loading state, just start a new\n    // navigation to the navigation.location but do not trigger an uninterrupted\n    // revalidation so that history correctly updates once the navigation completes\n    startNavigation(pendingAction || state.historyAction, state.navigation.location, {\n      overrideNavigation: state.navigation,\n      // Proxy through any rending view transition\n      enableViewTransition: pendingViewTransitionEnabled === true\n    });\n  }\n  // Start a navigation to the given action/location.  Can optionally provide a\n  // overrideNavigation which will override the normalLoad in the case of a redirect\n  // navigation\n  async function startNavigation(historyAction, location, opts) {\n    // Abort any in-progress navigations and start a new one. Unset any ongoing\n    // uninterrupted revalidations unless told otherwise, since we want this\n    // new navigation to update history normally\n    pendingNavigationController && pendingNavigationController.abort();\n    pendingNavigationController = null;\n    pendingAction = historyAction;\n    isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n    // Save the current scroll position every time we start a new navigation,\n    // and track whether we should reset scroll on completion\n    saveScrollPosition(state.location, state.matches);\n    pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n    pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let loadingNavigation = opts && opts.overrideNavigation;\n    let matches = opts != null && opts.initialHydration && state.matches && state.matches.length > 0 && !initialMatchesIsFOW ?\n    // `matchRoutes()` has already been called if we're in here via `router.initialize()`\n    state.matches : matchRoutes(routesToUse, location, basename);\n    let flushSync = (opts && opts.flushSync) === true;\n    // Short circuit if it's only a hash change and not a revalidation or\n    // mutation submission.\n    //\n    // Ignore on initial page loads because since the initial hydration will always\n    // be \"same hash\".  For example, on /page#hash and submit a <Form method=\"post\">\n    // which will default to a navigation to /page\n    if (matches && state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n      completeNavigation(location, {\n        matches\n      }, {\n        flushSync\n      });\n      return;\n    }\n    let fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n    if (fogOfWar.active && fogOfWar.matches) {\n      matches = fogOfWar.matches;\n    }\n    // Short circuit with a 404 on the root error boundary if we match nothing\n    if (!matches) {\n      let {\n        error,\n        notFoundMatches,\n        route\n      } = handleNavigational404(location.pathname);\n      completeNavigation(location, {\n        matches: notFoundMatches,\n        loaderData: {},\n        errors: {\n          [route.id]: error\n        }\n      }, {\n        flushSync\n      });\n      return;\n    }\n    // Create a controller/Request for this navigation\n    pendingNavigationController = new AbortController();\n    let request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n    let pendingActionResult;\n    if (opts && opts.pendingError) {\n      // If we have a pendingError, it means the user attempted a GET submission\n      // with binary FormData so assign here and skip to handleLoaders.  That\n      // way we handle calling loaders above the boundary etc.  It's not really\n      // different from an actionError in that sense.\n      pendingActionResult = [findNearestBoundary(matches).route.id, {\n        type: ResultType.error,\n        error: opts.pendingError\n      }];\n    } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n      // Call action if we received an action submission\n      let actionResult = await handleAction(request, location, opts.submission, matches, fogOfWar.active, {\n        replace: opts.replace,\n        flushSync\n      });\n      if (actionResult.shortCircuited) {\n        return;\n      }\n      // If we received a 404 from handleAction, it's because we couldn't lazily\n      // discover the destination route so we don't want to call loaders\n      if (actionResult.pendingActionResult) {\n        let [routeId, result] = actionResult.pendingActionResult;\n        if (isErrorResult(result) && isRouteErrorResponse(result.error) && result.error.status === 404) {\n          pendingNavigationController = null;\n          completeNavigation(location, {\n            matches: actionResult.matches,\n            loaderData: {},\n            errors: {\n              [routeId]: result.error\n            }\n          });\n          return;\n        }\n      }\n      matches = actionResult.matches || matches;\n      pendingActionResult = actionResult.pendingActionResult;\n      loadingNavigation = getLoadingNavigation(location, opts.submission);\n      flushSync = false;\n      // No need to do fog of war matching again on loader execution\n      fogOfWar.active = false;\n      // Create a GET request for the loaders\n      request = createClientSideRequest(init.history, request.url, request.signal);\n    }\n    // Call loaders\n    let {\n      shortCircuited,\n      matches: updatedMatches,\n      loaderData,\n      errors\n    } = await handleLoaders(request, location, matches, fogOfWar.active, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, opts && opts.initialHydration === true, flushSync, pendingActionResult);\n    if (shortCircuited) {\n      return;\n    }\n    // Clean up now that the action/loaders have completed.  Don't clean up if\n    // we short circuited because pendingNavigationController will have already\n    // been assigned to a new controller for the next navigation\n    pendingNavigationController = null;\n    completeNavigation(location, _extends({\n      matches: updatedMatches || matches\n    }, getActionDataForCommit(pendingActionResult), {\n      loaderData,\n      errors\n    }));\n  }\n  // Call the action matched by the leaf route for this navigation and handle\n  // redirects/errors\n  async function handleAction(request, location, submission, matches, isFogOfWar, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    interruptActiveLoads();\n    // Put us in a submitting state\n    let navigation = getSubmittingNavigation(location, submission);\n    updateState({\n      navigation\n    }, {\n      flushSync: opts.flushSync === true\n    });\n    if (isFogOfWar) {\n      let discoverResult = await discoverRoutes(matches, location.pathname, request.signal);\n      if (discoverResult.type === \"aborted\") {\n        return {\n          shortCircuited: true\n        };\n      } else if (discoverResult.type === \"error\") {\n        let boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n        return {\n          matches: discoverResult.partialMatches,\n          pendingActionResult: [boundaryId, {\n            type: ResultType.error,\n            error: discoverResult.error\n          }]\n        };\n      } else if (!discoverResult.matches) {\n        let {\n          notFoundMatches,\n          error,\n          route\n        } = handleNavigational404(location.pathname);\n        return {\n          matches: notFoundMatches,\n          pendingActionResult: [route.id, {\n            type: ResultType.error,\n            error\n          }]\n        };\n      } else {\n        matches = discoverResult.matches;\n      }\n    }\n    // Call our action and get the result\n    let result;\n    let actionMatch = getTargetMatch(matches, location);\n    if (!actionMatch.route.action && !actionMatch.route.lazy) {\n      result = {\n        type: ResultType.error,\n        error: getInternalRouterError(405, {\n          method: request.method,\n          pathname: location.pathname,\n          routeId: actionMatch.route.id\n        })\n      };\n    } else {\n      let results = await callDataStrategy(\"action\", state, request, [actionMatch], matches, null);\n      result = results[actionMatch.route.id];\n      if (request.signal.aborted) {\n        return {\n          shortCircuited: true\n        };\n      }\n    }\n    if (isRedirectResult(result)) {\n      let replace;\n      if (opts && opts.replace != null) {\n        replace = opts.replace;\n      } else {\n        // If the user didn't explicity indicate replace behavior, replace if\n        // we redirected to the exact same location we're currently at to avoid\n        // double back-buttons\n        let location = normalizeRedirectLocation(result.response.headers.get(\"Location\"), new URL(request.url), basename);\n        replace = location === state.location.pathname + state.location.search;\n      }\n      await startRedirectNavigation(request, result, true, {\n        submission,\n        replace\n      });\n      return {\n        shortCircuited: true\n      };\n    }\n    if (isDeferredResult(result)) {\n      throw getInternalRouterError(400, {\n        type: \"defer-action\"\n      });\n    }\n    if (isErrorResult(result)) {\n      // Store off the pending error - we use it to determine which loaders\n      // to call and will commit it when we complete the navigation\n      let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n      // By default, all submissions to the current location are REPLACE\n      // navigations, but if the action threw an error that'll be rendered in\n      // an errorElement, we fall back to PUSH so that the user can use the\n      // back button to get back to the pre-submission form location to try\n      // again\n      if ((opts && opts.replace) !== true) {\n        pendingAction = Action.Push;\n      }\n      return {\n        matches,\n        pendingActionResult: [boundaryMatch.route.id, result]\n      };\n    }\n    return {\n      matches,\n      pendingActionResult: [actionMatch.route.id, result]\n    };\n  }\n  // Call all applicable loaders for the given matches, handling redirects,\n  // errors, etc.\n  async function handleLoaders(request, location, matches, isFogOfWar, overrideNavigation, submission, fetcherSubmission, replace, initialHydration, flushSync, pendingActionResult) {\n    // Figure out the right navigation we want to use for data loading\n    let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n    // If this was a redirect from an action we don't have a \"submission\" but\n    // we have it on the loading navigation so use that if available\n    let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n    // If this is an uninterrupted revalidation, we remain in our current idle\n    // state.  If not, we need to switch to our loading state and load data,\n    // preserving any new action data or existing action data (in the case of\n    // a revalidation interrupting an actionReload)\n    // If we have partialHydration enabled, then don't update the state for the\n    // initial data load since it's not a \"navigation\"\n    let shouldUpdateNavigationState = !isUninterruptedRevalidation && (!future.v7_partialHydration || !initialHydration);\n    // When fog of war is enabled, we enter our `loading` state earlier so we\n    // can discover new routes during the `loading` state.  We skip this if\n    // we've already run actions since we would have done our matching already.\n    // If the children() function threw then, we want to proceed with the\n    // partial matches it discovered.\n    if (isFogOfWar) {\n      if (shouldUpdateNavigationState) {\n        let actionData = getUpdatedActionData(pendingActionResult);\n        updateState(_extends({\n          navigation: loadingNavigation\n        }, actionData !== undefined ? {\n          actionData\n        } : {}), {\n          flushSync\n        });\n      }\n      let discoverResult = await discoverRoutes(matches, location.pathname, request.signal);\n      if (discoverResult.type === \"aborted\") {\n        return {\n          shortCircuited: true\n        };\n      } else if (discoverResult.type === \"error\") {\n        let boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n        return {\n          matches: discoverResult.partialMatches,\n          loaderData: {},\n          errors: {\n            [boundaryId]: discoverResult.error\n          }\n        };\n      } else if (!discoverResult.matches) {\n        let {\n          error,\n          notFoundMatches,\n          route\n        } = handleNavigational404(location.pathname);\n        return {\n          matches: notFoundMatches,\n          loaderData: {},\n          errors: {\n            [route.id]: error\n          }\n        };\n      } else {\n        matches = discoverResult.matches;\n      }\n    }\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, activeSubmission, location, future.v7_partialHydration && initialHydration === true, future.v7_skipActionErrorRevalidation, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionResult);\n    // Cancel pending deferreds for no-longer-matched routes or routes we're\n    // about to reload.  Note that if this is an action reload we would have\n    // already cancelled all pending deferreds so this would be a no-op\n    cancelActiveDeferreds(routeId => !(matches && matches.some(m => m.route.id === routeId)) || matchesToLoad && matchesToLoad.some(m => m.route.id === routeId));\n    pendingNavigationLoadId = ++incrementingLoadId;\n    // Short circuit if we have no loaders to run\n    if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n      let updatedFetchers = markFetchRedirectsDone();\n      completeNavigation(location, _extends({\n        matches,\n        loaderData: {},\n        // Commit pending error if we're short circuiting\n        errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? {\n          [pendingActionResult[0]]: pendingActionResult[1].error\n        } : null\n      }, getActionDataForCommit(pendingActionResult), updatedFetchers ? {\n        fetchers: new Map(state.fetchers)\n      } : {}), {\n        flushSync\n      });\n      return {\n        shortCircuited: true\n      };\n    }\n    if (shouldUpdateNavigationState) {\n      let updates = {};\n      if (!isFogOfWar) {\n        // Only update navigation/actionNData if we didn't already do it above\n        updates.navigation = loadingNavigation;\n        let actionData = getUpdatedActionData(pendingActionResult);\n        if (actionData !== undefined) {\n          updates.actionData = actionData;\n        }\n      }\n      if (revalidatingFetchers.length > 0) {\n        updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n      }\n      updateState(updates, {\n        flushSync\n      });\n    }\n    revalidatingFetchers.forEach(rf => {\n      abortFetcher(rf.key);\n      if (rf.controller) {\n        // Fetchers use an independent AbortController so that aborting a fetcher\n        // (via deleteFetcher) does not abort the triggering navigation that\n        // triggered the revalidation\n        fetchControllers.set(rf.key, rf.controller);\n      }\n    });\n    // Proxy navigation abort through to revalidation fetchers\n    let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(f => abortFetcher(f.key));\n    if (pendingNavigationController) {\n      pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n    }\n    let {\n      loaderResults,\n      fetcherResults\n    } = await callLoadersAndMaybeResolveData(state, matches, matchesToLoad, revalidatingFetchers, request);\n    if (request.signal.aborted) {\n      return {\n        shortCircuited: true\n      };\n    }\n    // Clean up _after_ loaders have completed.  Don't clean up if we short\n    // circuited because fetchControllers would have been aborted and\n    // reassigned to new controllers for the next navigation\n    if (pendingNavigationController) {\n      pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n    }\n    revalidatingFetchers.forEach(rf => fetchControllers.delete(rf.key));\n    // If any loaders returned a redirect Response, start a new REPLACE navigation\n    let redirect = findRedirect(loaderResults);\n    if (redirect) {\n      await startRedirectNavigation(request, redirect.result, true, {\n        replace\n      });\n      return {\n        shortCircuited: true\n      };\n    }\n    redirect = findRedirect(fetcherResults);\n    if (redirect) {\n      // If this redirect came from a fetcher make sure we mark it in\n      // fetchRedirectIds so it doesn't get revalidated on the next set of\n      // loader executions\n      fetchRedirectIds.add(redirect.key);\n      await startRedirectNavigation(request, redirect.result, true, {\n        replace\n      });\n      return {\n        shortCircuited: true\n      };\n    }\n    // Process and commit output from loaders\n    let {\n      loaderData,\n      errors\n    } = processLoaderData(state, matches, loaderResults, pendingActionResult, revalidatingFetchers, fetcherResults, activeDeferreds);\n    // Wire up subscribers to update loaderData as promises settle\n    activeDeferreds.forEach((deferredData, routeId) => {\n      deferredData.subscribe(aborted => {\n        // Note: No need to updateState here since the TrackedPromise on\n        // loaderData is stable across resolve/reject\n        // Remove this instance if we were aborted or if promises have settled\n        if (aborted || deferredData.done) {\n          activeDeferreds.delete(routeId);\n        }\n      });\n    });\n    // Preserve SSR errors during partial hydration\n    if (future.v7_partialHydration && initialHydration && state.errors) {\n      errors = _extends({}, state.errors, errors);\n    }\n    let updatedFetchers = markFetchRedirectsDone();\n    let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n    let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n    return _extends({\n      matches,\n      loaderData,\n      errors\n    }, shouldUpdateFetchers ? {\n      fetchers: new Map(state.fetchers)\n    } : {});\n  }\n  function getUpdatedActionData(pendingActionResult) {\n    if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n      // This is cast to `any` currently because `RouteData`uses any and it\n      // would be a breaking change to use any.\n      // TODO: v7 - change `RouteData` to use `unknown` instead of `any`\n      return {\n        [pendingActionResult[0]]: pendingActionResult[1].data\n      };\n    } else if (state.actionData) {\n      if (Object.keys(state.actionData).length === 0) {\n        return null;\n      } else {\n        return state.actionData;\n      }\n    }\n  }\n  function getUpdatedRevalidatingFetchers(revalidatingFetchers) {\n    revalidatingFetchers.forEach(rf => {\n      let fetcher = state.fetchers.get(rf.key);\n      let revalidatingFetcher = getLoadingFetcher(undefined, fetcher ? fetcher.data : undefined);\n      state.fetchers.set(rf.key, revalidatingFetcher);\n    });\n    return new Map(state.fetchers);\n  }\n  // Trigger a fetcher load/submit for the given fetcher key\n  function fetch(key, routeId, href, opts) {\n    if (isServer) {\n      throw new Error(\"router.fetch() was called during the server render, but it shouldn't be. \" + \"You are likely calling a useFetcher() method in the body of your component. \" + \"Try moving it to a useEffect or a callback.\");\n    }\n    abortFetcher(key);\n    let flushSync = (opts && opts.flushSync) === true;\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let normalizedPath = normalizeTo(state.location, state.matches, basename, future.v7_prependBasename, href, future.v7_relativeSplatPath, routeId, opts == null ? void 0 : opts.relative);\n    let matches = matchRoutes(routesToUse, normalizedPath, basename);\n    let fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n    if (fogOfWar.active && fogOfWar.matches) {\n      matches = fogOfWar.matches;\n    }\n    if (!matches) {\n      setFetcherError(key, routeId, getInternalRouterError(404, {\n        pathname: normalizedPath\n      }), {\n        flushSync\n      });\n      return;\n    }\n    let {\n      path,\n      submission,\n      error\n    } = normalizeNavigateOptions(future.v7_normalizeFormMethod, true, normalizedPath, opts);\n    if (error) {\n      setFetcherError(key, routeId, error, {\n        flushSync\n      });\n      return;\n    }\n    let match = getTargetMatch(matches, path);\n    let preventScrollReset = (opts && opts.preventScrollReset) === true;\n    if (submission && isMutationMethod(submission.formMethod)) {\n      handleFetcherAction(key, routeId, path, match, matches, fogOfWar.active, flushSync, preventScrollReset, submission);\n      return;\n    }\n    // Store off the match so we can call it's shouldRevalidate on subsequent\n    // revalidations\n    fetchLoadMatches.set(key, {\n      routeId,\n      path\n    });\n    handleFetcherLoader(key, routeId, path, match, matches, fogOfWar.active, flushSync, preventScrollReset, submission);\n  }\n  // Call the action for the matched fetcher.submit(), and then handle redirects,\n  // errors, and revalidation\n  async function handleFetcherAction(key, routeId, path, match, requestMatches, isFogOfWar, flushSync, preventScrollReset, submission) {\n    interruptActiveLoads();\n    fetchLoadMatches.delete(key);\n    function detectAndHandle405Error(m) {\n      if (!m.route.action && !m.route.lazy) {\n        let error = getInternalRouterError(405, {\n          method: submission.formMethod,\n          pathname: path,\n          routeId: routeId\n        });\n        setFetcherError(key, routeId, error, {\n          flushSync\n        });\n        return true;\n      }\n      return false;\n    }\n    if (!isFogOfWar && detectAndHandle405Error(match)) {\n      return;\n    }\n    // Put this fetcher into it's submitting state\n    let existingFetcher = state.fetchers.get(key);\n    updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n      flushSync\n    });\n    let abortController = new AbortController();\n    let fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n    if (isFogOfWar) {\n      let discoverResult = await discoverRoutes(requestMatches, new URL(fetchRequest.url).pathname, fetchRequest.signal, key);\n      if (discoverResult.type === \"aborted\") {\n        return;\n      } else if (discoverResult.type === \"error\") {\n        setFetcherError(key, routeId, discoverResult.error, {\n          flushSync\n        });\n        return;\n      } else if (!discoverResult.matches) {\n        setFetcherError(key, routeId, getInternalRouterError(404, {\n          pathname: path\n        }), {\n          flushSync\n        });\n        return;\n      } else {\n        requestMatches = discoverResult.matches;\n        match = getTargetMatch(requestMatches, path);\n        if (detectAndHandle405Error(match)) {\n          return;\n        }\n      }\n    }\n    // Call the action for the fetcher\n    fetchControllers.set(key, abortController);\n    let originatingLoadId = incrementingLoadId;\n    let actionResults = await callDataStrategy(\"action\", state, fetchRequest, [match], requestMatches, key);\n    let actionResult = actionResults[match.route.id];\n    if (fetchRequest.signal.aborted) {\n      // We can delete this so long as we weren't aborted by our own fetcher\n      // re-submit which would have put _new_ controller is in fetchControllers\n      if (fetchControllers.get(key) === abortController) {\n        fetchControllers.delete(key);\n      }\n      return;\n    }\n    // When using v7_fetcherPersist, we don't want errors bubbling up to the UI\n    // or redirects processed for unmounted fetchers so we just revert them to\n    // idle\n    if (future.v7_fetcherPersist && deletedFetchers.has(key)) {\n      if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n        updateFetcherState(key, getDoneFetcher(undefined));\n        return;\n      }\n      // Let SuccessResult's fall through for revalidation\n    } else {\n      if (isRedirectResult(actionResult)) {\n        fetchControllers.delete(key);\n        if (pendingNavigationLoadId > originatingLoadId) {\n          // A new navigation was kicked off after our action started, so that\n          // should take precedence over this redirect navigation.  We already\n          // set isRevalidationRequired so all loaders for the new route should\n          // fire unless opted out via shouldRevalidate\n          updateFetcherState(key, getDoneFetcher(undefined));\n          return;\n        } else {\n          fetchRedirectIds.add(key);\n          updateFetcherState(key, getLoadingFetcher(submission));\n          return startRedirectNavigation(fetchRequest, actionResult, false, {\n            fetcherSubmission: submission,\n            preventScrollReset\n          });\n        }\n      }\n      // Process any non-redirect errors thrown\n      if (isErrorResult(actionResult)) {\n        setFetcherError(key, routeId, actionResult.error);\n        return;\n      }\n    }\n    if (isDeferredResult(actionResult)) {\n      throw getInternalRouterError(400, {\n        type: \"defer-action\"\n      });\n    }\n    // Start the data load for current matches, or the next location if we're\n    // in the middle of a navigation\n    let nextLocation = state.navigation.location || state.location;\n    let revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n    invariant(matches, \"Didn't find any matches after fetcher action\");\n    let loadId = ++incrementingLoadId;\n    fetchReloadIds.set(key, loadId);\n    let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n    state.fetchers.set(key, loadFetcher);\n    let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, submission, nextLocation, false, future.v7_skipActionErrorRevalidation, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, [match.route.id, actionResult]);\n    // Put all revalidating fetchers into the loading state, except for the\n    // current fetcher which we want to keep in it's current loading state which\n    // contains it's action submission info + action data\n    revalidatingFetchers.filter(rf => rf.key !== key).forEach(rf => {\n      let staleKey = rf.key;\n      let existingFetcher = state.fetchers.get(staleKey);\n      let revalidatingFetcher = getLoadingFetcher(undefined, existingFetcher ? existingFetcher.data : undefined);\n      state.fetchers.set(staleKey, revalidatingFetcher);\n      abortFetcher(staleKey);\n      if (rf.controller) {\n        fetchControllers.set(staleKey, rf.controller);\n      }\n    });\n    updateState({\n      fetchers: new Map(state.fetchers)\n    });\n    let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(rf => abortFetcher(rf.key));\n    abortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n    let {\n      loaderResults,\n      fetcherResults\n    } = await callLoadersAndMaybeResolveData(state, matches, matchesToLoad, revalidatingFetchers, revalidationRequest);\n    if (abortController.signal.aborted) {\n      return;\n    }\n    abortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n    fetchReloadIds.delete(key);\n    fetchControllers.delete(key);\n    revalidatingFetchers.forEach(r => fetchControllers.delete(r.key));\n    let redirect = findRedirect(loaderResults);\n    if (redirect) {\n      return startRedirectNavigation(revalidationRequest, redirect.result, false, {\n        preventScrollReset\n      });\n    }\n    redirect = findRedirect(fetcherResults);\n    if (redirect) {\n      // If this redirect came from a fetcher make sure we mark it in\n      // fetchRedirectIds so it doesn't get revalidated on the next set of\n      // loader executions\n      fetchRedirectIds.add(redirect.key);\n      return startRedirectNavigation(revalidationRequest, redirect.result, false, {\n        preventScrollReset\n      });\n    }\n    // Process and commit output from loaders\n    let {\n      loaderData,\n      errors\n    } = processLoaderData(state, matches, loaderResults, undefined, revalidatingFetchers, fetcherResults, activeDeferreds);\n    // Since we let revalidations complete even if the submitting fetcher was\n    // deleted, only put it back to idle if it hasn't been deleted\n    if (state.fetchers.has(key)) {\n      let doneFetcher = getDoneFetcher(actionResult.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n    abortStaleFetchLoads(loadId);\n    // If we are currently in a navigation loading state and this fetcher is\n    // more recent than the navigation, we want the newer data so abort the\n    // navigation and complete it with the fetcher data\n    if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n      invariant(pendingAction, \"Expected pending action\");\n      pendingNavigationController && pendingNavigationController.abort();\n      completeNavigation(state.navigation.location, {\n        matches,\n        loaderData,\n        errors,\n        fetchers: new Map(state.fetchers)\n      });\n    } else {\n      // otherwise just update with the fetcher data, preserving any existing\n      // loaderData for loaders that did not need to reload.  We have to\n      // manually merge here since we aren't going through completeNavigation\n      updateState({\n        errors,\n        loaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors),\n        fetchers: new Map(state.fetchers)\n      });\n      isRevalidationRequired = false;\n    }\n  }\n  // Call the matched loader for fetcher.load(), handling redirects, errors, etc.\n  async function handleFetcherLoader(key, routeId, path, match, matches, isFogOfWar, flushSync, preventScrollReset, submission) {\n    let existingFetcher = state.fetchers.get(key);\n    updateFetcherState(key, getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : undefined), {\n      flushSync\n    });\n    let abortController = new AbortController();\n    let fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n    if (isFogOfWar) {\n      let discoverResult = await discoverRoutes(matches, new URL(fetchRequest.url).pathname, fetchRequest.signal, key);\n      if (discoverResult.type === \"aborted\") {\n        return;\n      } else if (discoverResult.type === \"error\") {\n        setFetcherError(key, routeId, discoverResult.error, {\n          flushSync\n        });\n        return;\n      } else if (!discoverResult.matches) {\n        setFetcherError(key, routeId, getInternalRouterError(404, {\n          pathname: path\n        }), {\n          flushSync\n        });\n        return;\n      } else {\n        matches = discoverResult.matches;\n        match = getTargetMatch(matches, path);\n      }\n    }\n    // Call the loader for this fetcher route match\n    fetchControllers.set(key, abortController);\n    let originatingLoadId = incrementingLoadId;\n    let results = await callDataStrategy(\"loader\", state, fetchRequest, [match], matches, key);\n    let result = results[match.route.id];\n    // Deferred isn't supported for fetcher loads, await everything and treat it\n    // as a normal load.  resolveDeferredData will return undefined if this\n    // fetcher gets aborted, so we just leave result untouched and short circuit\n    // below if that happens\n    if (isDeferredResult(result)) {\n      result = (await resolveDeferredData(result, fetchRequest.signal, true)) || result;\n    }\n    // We can delete this so long as we weren't aborted by our our own fetcher\n    // re-load which would have put _new_ controller is in fetchControllers\n    if (fetchControllers.get(key) === abortController) {\n      fetchControllers.delete(key);\n    }\n    if (fetchRequest.signal.aborted) {\n      return;\n    }\n    // We don't want errors bubbling up or redirects followed for unmounted\n    // fetchers, so short circuit here if it was removed from the UI\n    if (deletedFetchers.has(key)) {\n      updateFetcherState(key, getDoneFetcher(undefined));\n      return;\n    }\n    // If the loader threw a redirect Response, start a new REPLACE navigation\n    if (isRedirectResult(result)) {\n      if (pendingNavigationLoadId > originatingLoadId) {\n        // A new navigation was kicked off after our loader started, so that\n        // should take precedence over this redirect navigation\n        updateFetcherState(key, getDoneFetcher(undefined));\n        return;\n      } else {\n        fetchRedirectIds.add(key);\n        await startRedirectNavigation(fetchRequest, result, false, {\n          preventScrollReset\n        });\n        return;\n      }\n    }\n    // Process any non-redirect errors thrown\n    if (isErrorResult(result)) {\n      setFetcherError(key, routeId, result.error);\n      return;\n    }\n    invariant(!isDeferredResult(result), \"Unhandled fetcher deferred data\");\n    // Put the fetcher back into an idle state\n    updateFetcherState(key, getDoneFetcher(result.data));\n  }\n  /**\n   * Utility function to handle redirects returned from an action or loader.\n   * Normally, a redirect \"replaces\" the navigation that triggered it.  So, for\n   * example:\n   *\n   *  - user is on /a\n   *  - user clicks a link to /b\n   *  - loader for /b redirects to /c\n   *\n   * In a non-JS app the browser would track the in-flight navigation to /b and\n   * then replace it with /c when it encountered the redirect response.  In\n   * the end it would only ever update the URL bar with /c.\n   *\n   * In client-side routing using pushState/replaceState, we aim to emulate\n   * this behavior and we also do not update history until the end of the\n   * navigation (including processed redirects).  This means that we never\n   * actually touch history until we've processed redirects, so we just use\n   * the history action from the original navigation (PUSH or REPLACE).\n   */\n  async function startRedirectNavigation(request, redirect, isNavigation, _temp2) {\n    let {\n      submission,\n      fetcherSubmission,\n      preventScrollReset,\n      replace\n    } = _temp2 === void 0 ? {} : _temp2;\n    if (redirect.response.headers.has(\"X-Remix-Revalidate\")) {\n      isRevalidationRequired = true;\n    }\n    let location = redirect.response.headers.get(\"Location\");\n    invariant(location, \"Expected a Location header on the redirect Response\");\n    location = normalizeRedirectLocation(location, new URL(request.url), basename);\n    let redirectLocation = createLocation(state.location, location, {\n      _isRedirect: true\n    });\n    if (isBrowser) {\n      let isDocumentReload = false;\n      if (redirect.response.headers.has(\"X-Remix-Reload-Document\")) {\n        // Hard reload if the response contained X-Remix-Reload-Document\n        isDocumentReload = true;\n      } else if (ABSOLUTE_URL_REGEX.test(location)) {\n        const url = init.history.createURL(location);\n        isDocumentReload =\n        // Hard reload if it's an absolute URL to a new origin\n        url.origin !== routerWindow.location.origin ||\n        // Hard reload if it's an absolute URL that does not match our basename\n        stripBasename(url.pathname, basename) == null;\n      }\n      if (isDocumentReload) {\n        if (replace) {\n          routerWindow.location.replace(location);\n        } else {\n          routerWindow.location.assign(location);\n        }\n        return;\n      }\n    }\n    // There's no need to abort on redirects, since we don't detect the\n    // redirect until the action/loaders have settled\n    pendingNavigationController = null;\n    let redirectHistoryAction = replace === true || redirect.response.headers.has(\"X-Remix-Replace\") ? Action.Replace : Action.Push;\n    // Use the incoming submission if provided, fallback on the active one in\n    // state.navigation\n    let {\n      formMethod,\n      formAction,\n      formEncType\n    } = state.navigation;\n    if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n      submission = getSubmissionFromNavigation(state.navigation);\n    }\n    // If this was a 307/308 submission we want to preserve the HTTP method and\n    // re-submit the GET/POST/PUT/PATCH/DELETE as a submission navigation to the\n    // redirected location\n    let activeSubmission = submission || fetcherSubmission;\n    if (redirectPreserveMethodStatusCodes.has(redirect.response.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n      await startNavigation(redirectHistoryAction, redirectLocation, {\n        submission: _extends({}, activeSubmission, {\n          formAction: location\n        }),\n        // Preserve these flags across redirects\n        preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n        enableViewTransition: isNavigation ? pendingViewTransitionEnabled : undefined\n      });\n    } else {\n      // If we have a navigation submission, we will preserve it through the\n      // redirect navigation\n      let overrideNavigation = getLoadingNavigation(redirectLocation, submission);\n      await startNavigation(redirectHistoryAction, redirectLocation, {\n        overrideNavigation,\n        // Send fetcher submissions through for shouldRevalidate\n        fetcherSubmission,\n        // Preserve these flags across redirects\n        preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n        enableViewTransition: isNavigation ? pendingViewTransitionEnabled : undefined\n      });\n    }\n  }\n  // Utility wrapper for calling dataStrategy client-side without having to\n  // pass around the manifest, mapRouteProperties, etc.\n  async function callDataStrategy(type, state, request, matchesToLoad, matches, fetcherKey) {\n    let results;\n    let dataResults = {};\n    try {\n      results = await callDataStrategyImpl(dataStrategyImpl, type, state, request, matchesToLoad, matches, fetcherKey, manifest, mapRouteProperties);\n    } catch (e) {\n      // If the outer dataStrategy method throws, just return the error for all\n      // matches - and it'll naturally bubble to the root\n      matchesToLoad.forEach(m => {\n        dataResults[m.route.id] = {\n          type: ResultType.error,\n          error: e\n        };\n      });\n      return dataResults;\n    }\n    for (let [routeId, result] of Object.entries(results)) {\n      if (isRedirectDataStrategyResultResult(result)) {\n        let response = result.result;\n        dataResults[routeId] = {\n          type: ResultType.redirect,\n          response: normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename, future.v7_relativeSplatPath)\n        };\n      } else {\n        dataResults[routeId] = await convertDataStrategyResultToDataResult(result);\n      }\n    }\n    return dataResults;\n  }\n  async function callLoadersAndMaybeResolveData(state, matches, matchesToLoad, fetchersToLoad, request) {\n    let currentMatches = state.matches;\n    // Kick off loaders and fetchers in parallel\n    let loaderResultsPromise = callDataStrategy(\"loader\", state, request, matchesToLoad, matches, null);\n    let fetcherResultsPromise = Promise.all(fetchersToLoad.map(async f => {\n      if (f.matches && f.match && f.controller) {\n        let results = await callDataStrategy(\"loader\", state, createClientSideRequest(init.history, f.path, f.controller.signal), [f.match], f.matches, f.key);\n        let result = results[f.match.route.id];\n        // Fetcher results are keyed by fetcher key from here on out, not routeId\n        return {\n          [f.key]: result\n        };\n      } else {\n        return Promise.resolve({\n          [f.key]: {\n            type: ResultType.error,\n            error: getInternalRouterError(404, {\n              pathname: f.path\n            })\n          }\n        });\n      }\n    }));\n    let loaderResults = await loaderResultsPromise;\n    let fetcherResults = (await fetcherResultsPromise).reduce((acc, r) => Object.assign(acc, r), {});\n    await Promise.all([resolveNavigationDeferredResults(matches, loaderResults, request.signal, currentMatches, state.loaderData), resolveFetcherDeferredResults(matches, fetcherResults, fetchersToLoad)]);\n    return {\n      loaderResults,\n      fetcherResults\n    };\n  }\n  function interruptActiveLoads() {\n    // Every interruption triggers a revalidation\n    isRevalidationRequired = true;\n    // Cancel pending route-level deferreds and mark cancelled routes for\n    // revalidation\n    cancelledDeferredRoutes.push(...cancelActiveDeferreds());\n    // Abort in-flight fetcher loads\n    fetchLoadMatches.forEach((_, key) => {\n      if (fetchControllers.has(key)) {\n        cancelledFetcherLoads.add(key);\n      }\n      abortFetcher(key);\n    });\n  }\n  function updateFetcherState(key, fetcher, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    state.fetchers.set(key, fetcher);\n    updateState({\n      fetchers: new Map(state.fetchers)\n    }, {\n      flushSync: (opts && opts.flushSync) === true\n    });\n  }\n  function setFetcherError(key, routeId, error, opts) {\n    if (opts === void 0) {\n      opts = {};\n    }\n    let boundaryMatch = findNearestBoundary(state.matches, routeId);\n    deleteFetcher(key);\n    updateState({\n      errors: {\n        [boundaryMatch.route.id]: error\n      },\n      fetchers: new Map(state.fetchers)\n    }, {\n      flushSync: (opts && opts.flushSync) === true\n    });\n  }\n  function getFetcher(key) {\n    activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n    // If this fetcher was previously marked for deletion, unmark it since we\n    // have a new instance\n    if (deletedFetchers.has(key)) {\n      deletedFetchers.delete(key);\n    }\n    return state.fetchers.get(key) || IDLE_FETCHER;\n  }\n  function deleteFetcher(key) {\n    let fetcher = state.fetchers.get(key);\n    // Don't abort the controller if this is a deletion of a fetcher.submit()\n    // in it's loading phase since - we don't want to abort the corresponding\n    // revalidation and want them to complete and land\n    if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n      abortFetcher(key);\n    }\n    fetchLoadMatches.delete(key);\n    fetchReloadIds.delete(key);\n    fetchRedirectIds.delete(key);\n    // If we opted into the flag we can clear this now since we're calling\n    // deleteFetcher() at the end of updateState() and we've already handed the\n    // deleted fetcher keys off to the data layer.\n    // If not, we're eagerly calling deleteFetcher() and we need to keep this\n    // Set populated until the next updateState call, and we'll clear\n    // `deletedFetchers` then\n    if (future.v7_fetcherPersist) {\n      deletedFetchers.delete(key);\n    }\n    cancelledFetcherLoads.delete(key);\n    state.fetchers.delete(key);\n  }\n  function deleteFetcherAndUpdateState(key) {\n    let count = (activeFetchers.get(key) || 0) - 1;\n    if (count <= 0) {\n      activeFetchers.delete(key);\n      deletedFetchers.add(key);\n      if (!future.v7_fetcherPersist) {\n        deleteFetcher(key);\n      }\n    } else {\n      activeFetchers.set(key, count);\n    }\n    updateState({\n      fetchers: new Map(state.fetchers)\n    });\n  }\n  function abortFetcher(key) {\n    let controller = fetchControllers.get(key);\n    if (controller) {\n      controller.abort();\n      fetchControllers.delete(key);\n    }\n  }\n  function markFetchersDone(keys) {\n    for (let key of keys) {\n      let fetcher = getFetcher(key);\n      let doneFetcher = getDoneFetcher(fetcher.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n  }\n  function markFetchRedirectsDone() {\n    let doneKeys = [];\n    let updatedFetchers = false;\n    for (let key of fetchRedirectIds) {\n      let fetcher = state.fetchers.get(key);\n      invariant(fetcher, \"Expected fetcher: \" + key);\n      if (fetcher.state === \"loading\") {\n        fetchRedirectIds.delete(key);\n        doneKeys.push(key);\n        updatedFetchers = true;\n      }\n    }\n    markFetchersDone(doneKeys);\n    return updatedFetchers;\n  }\n  function abortStaleFetchLoads(landedId) {\n    let yeetedKeys = [];\n    for (let [key, id] of fetchReloadIds) {\n      if (id < landedId) {\n        let fetcher = state.fetchers.get(key);\n        invariant(fetcher, \"Expected fetcher: \" + key);\n        if (fetcher.state === \"loading\") {\n          abortFetcher(key);\n          fetchReloadIds.delete(key);\n          yeetedKeys.push(key);\n        }\n      }\n    }\n    markFetchersDone(yeetedKeys);\n    return yeetedKeys.length > 0;\n  }\n  function getBlocker(key, fn) {\n    let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n    if (blockerFunctions.get(key) !== fn) {\n      blockerFunctions.set(key, fn);\n    }\n    return blocker;\n  }\n  function deleteBlocker(key) {\n    state.blockers.delete(key);\n    blockerFunctions.delete(key);\n  }\n  // Utility function to update blockers, ensuring valid state transitions\n  function updateBlocker(key, newBlocker) {\n    let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n    // Poor mans state machine :)\n    // https://mermaid.live/edit#pako:eNqVkc9OwzAMxl8l8nnjAYrEtDIOHEBIgwvKJTReGy3_lDpIqO27k6awMG0XcrLlnz87nwdonESogKXXBuE79rq75XZO3-yHds0RJVuv70YrPlUrCEe2HfrORS3rubqZfuhtpg5C9wk5tZ4VKcRUq88q9Z8RS0-48cE1iHJkL0ugbHuFLus9L6spZy8nX9MP2CNdomVaposqu3fGayT8T8-jJQwhepo_UtpgBQaDEUom04dZhAN1aJBDlUKJBxE1ceB2Smj0Mln-IBW5AFU2dwUiktt_2Qaq2dBfaKdEup85UV7Yd-dKjlnkabl2Pvr0DTkTreM\n    invariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", \"Invalid blocker state transition: \" + blocker.state + \" -> \" + newBlocker.state);\n    let blockers = new Map(state.blockers);\n    blockers.set(key, newBlocker);\n    updateState({\n      blockers\n    });\n  }\n  function shouldBlockNavigation(_ref2) {\n    let {\n      currentLocation,\n      nextLocation,\n      historyAction\n    } = _ref2;\n    if (blockerFunctions.size === 0) {\n      return;\n    }\n    // We ony support a single active blocker at the moment since we don't have\n    // any compelling use cases for multi-blocker yet\n    if (blockerFunctions.size > 1) {\n      warning(false, \"A router only supports one blocker at a time\");\n    }\n    let entries = Array.from(blockerFunctions.entries());\n    let [blockerKey, blockerFunction] = entries[entries.length - 1];\n    let blocker = state.blockers.get(blockerKey);\n    if (blocker && blocker.state === \"proceeding\") {\n      // If the blocker is currently proceeding, we don't need to re-check\n      // it and can let this navigation continue\n      return;\n    }\n    // At this point, we know we're unblocked/blocked so we need to check the\n    // user-provided blocker function\n    if (blockerFunction({\n      currentLocation,\n      nextLocation,\n      historyAction\n    })) {\n      return blockerKey;\n    }\n  }\n  function handleNavigational404(pathname) {\n    let error = getInternalRouterError(404, {\n      pathname\n    });\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    let {\n      matches,\n      route\n    } = getShortCircuitMatches(routesToUse);\n    // Cancel all pending deferred on 404s since we don't keep any routes\n    cancelActiveDeferreds();\n    return {\n      notFoundMatches: matches,\n      route,\n      error\n    };\n  }\n  function cancelActiveDeferreds(predicate) {\n    let cancelledRouteIds = [];\n    activeDeferreds.forEach((dfd, routeId) => {\n      if (!predicate || predicate(routeId)) {\n        // Cancel the deferred - but do not remove from activeDeferreds here -\n        // we rely on the subscribers to do that so our tests can assert proper\n        // cleanup via _internalActiveDeferreds\n        dfd.cancel();\n        cancelledRouteIds.push(routeId);\n        activeDeferreds.delete(routeId);\n      }\n    });\n    return cancelledRouteIds;\n  }\n  // Opt in to capturing and reporting scroll positions during navigations,\n  // used by the <ScrollRestoration> component\n  function enableScrollRestoration(positions, getPosition, getKey) {\n    savedScrollPositions = positions;\n    getScrollPosition = getPosition;\n    getScrollRestorationKey = getKey || null;\n    // Perform initial hydration scroll restoration, since we miss the boat on\n    // the initial updateState() because we've not yet rendered <ScrollRestoration/>\n    // and therefore have no savedScrollPositions available\n    if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n      initialScrollRestored = true;\n      let y = getSavedScrollPosition(state.location, state.matches);\n      if (y != null) {\n        updateState({\n          restoreScrollPosition: y\n        });\n      }\n    }\n    return () => {\n      savedScrollPositions = null;\n      getScrollPosition = null;\n      getScrollRestorationKey = null;\n    };\n  }\n  function getScrollKey(location, matches) {\n    if (getScrollRestorationKey) {\n      let key = getScrollRestorationKey(location, matches.map(m => convertRouteMatchToUiMatch(m, state.loaderData)));\n      return key || location.key;\n    }\n    return location.key;\n  }\n  function saveScrollPosition(location, matches) {\n    if (savedScrollPositions && getScrollPosition) {\n      let key = getScrollKey(location, matches);\n      savedScrollPositions[key] = getScrollPosition();\n    }\n  }\n  function getSavedScrollPosition(location, matches) {\n    if (savedScrollPositions) {\n      let key = getScrollKey(location, matches);\n      let y = savedScrollPositions[key];\n      if (typeof y === \"number\") {\n        return y;\n      }\n    }\n    return null;\n  }\n  function checkFogOfWar(matches, routesToUse, pathname) {\n    if (patchRoutesOnNavigationImpl) {\n      if (!matches) {\n        let fogMatches = matchRoutesImpl(routesToUse, pathname, basename, true);\n        return {\n          active: true,\n          matches: fogMatches || []\n        };\n      } else {\n        if (Object.keys(matches[0].params).length > 0) {\n          // If we matched a dynamic param or a splat, it might only be because\n          // we haven't yet discovered other routes that would match with a\n          // higher score.  Call patchRoutesOnNavigation just to be sure\n          let partialMatches = matchRoutesImpl(routesToUse, pathname, basename, true);\n          return {\n            active: true,\n            matches: partialMatches\n          };\n        }\n      }\n    }\n    return {\n      active: false,\n      matches: null\n    };\n  }\n  async function discoverRoutes(matches, pathname, signal, fetcherKey) {\n    if (!patchRoutesOnNavigationImpl) {\n      return {\n        type: \"success\",\n        matches\n      };\n    }\n    let partialMatches = matches;\n    while (true) {\n      let isNonHMR = inFlightDataRoutes == null;\n      let routesToUse = inFlightDataRoutes || dataRoutes;\n      let localManifest = manifest;\n      try {\n        await patchRoutesOnNavigationImpl({\n          signal,\n          path: pathname,\n          matches: partialMatches,\n          fetcherKey,\n          patch: (routeId, children) => {\n            if (signal.aborted) return;\n            patchRoutesImpl(routeId, children, routesToUse, localManifest, mapRouteProperties);\n          }\n        });\n      } catch (e) {\n        return {\n          type: \"error\",\n          error: e,\n          partialMatches\n        };\n      } finally {\n        // If we are not in the middle of an HMR revalidation and we changed the\n        // routes, provide a new identity so when we `updateState` at the end of\n        // this navigation/fetch `router.routes` will be a new identity and\n        // trigger a re-run of memoized `router.routes` dependencies.\n        // HMR will already update the identity and reflow when it lands\n        // `inFlightDataRoutes` in `completeNavigation`\n        if (isNonHMR && !signal.aborted) {\n          dataRoutes = [...dataRoutes];\n        }\n      }\n      if (signal.aborted) {\n        return {\n          type: \"aborted\"\n        };\n      }\n      let newMatches = matchRoutes(routesToUse, pathname, basename);\n      if (newMatches) {\n        return {\n          type: \"success\",\n          matches: newMatches\n        };\n      }\n      let newPartialMatches = matchRoutesImpl(routesToUse, pathname, basename, true);\n      // Avoid loops if the second pass results in the same partial matches\n      if (!newPartialMatches || partialMatches.length === newPartialMatches.length && partialMatches.every((m, i) => m.route.id === newPartialMatches[i].route.id)) {\n        return {\n          type: \"success\",\n          matches: null\n        };\n      }\n      partialMatches = newPartialMatches;\n    }\n  }\n  function _internalSetRoutes(newRoutes) {\n    manifest = {};\n    inFlightDataRoutes = convertRoutesToDataRoutes(newRoutes, mapRouteProperties, undefined, manifest);\n  }\n  function patchRoutes(routeId, children) {\n    let isNonHMR = inFlightDataRoutes == null;\n    let routesToUse = inFlightDataRoutes || dataRoutes;\n    patchRoutesImpl(routeId, children, routesToUse, manifest, mapRouteProperties);\n    // If we are not in the middle of an HMR revalidation and we changed the\n    // routes, provide a new identity and trigger a reflow via `updateState`\n    // to re-run memoized `router.routes` dependencies.\n    // HMR will already update the identity and reflow when it lands\n    // `inFlightDataRoutes` in `completeNavigation`\n    if (isNonHMR) {\n      dataRoutes = [...dataRoutes];\n      updateState({});\n    }\n  }\n  router = {\n    get basename() {\n      return basename;\n    },\n    get future() {\n      return future;\n    },\n    get state() {\n      return state;\n    },\n    get routes() {\n      return dataRoutes;\n    },\n    get window() {\n      return routerWindow;\n    },\n    initialize,\n    subscribe,\n    enableScrollRestoration,\n    navigate,\n    fetch,\n    revalidate,\n    // Passthrough to history-aware createHref used by useHref so we get proper\n    // hash-aware URLs in DOM paths\n    createHref: to => init.history.createHref(to),\n    encodeLocation: to => init.history.encodeLocation(to),\n    getFetcher,\n    deleteFetcher: deleteFetcherAndUpdateState,\n    dispose,\n    getBlocker,\n    deleteBlocker,\n    patchRoutes,\n    _internalFetchControllers: fetchControllers,\n    _internalActiveDeferreds: activeDeferreds,\n    // TODO: Remove setRoutes, it's temporary to avoid dealing with\n    // updating the tree while validating the update algorithm.\n    _internalSetRoutes\n  };\n  return router;\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region createStaticHandler\n////////////////////////////////////////////////////////////////////////////////\nconst UNSAFE_DEFERRED_SYMBOL = Symbol(\"deferred\");\nfunction createStaticHandler(routes, opts) {\n  invariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n  let manifest = {};\n  let basename = (opts ? opts.basename : null) || \"/\";\n  let mapRouteProperties;\n  if (opts != null && opts.mapRouteProperties) {\n    mapRouteProperties = opts.mapRouteProperties;\n  } else if (opts != null && opts.detectErrorBoundary) {\n    // If they are still using the deprecated version, wrap it with the new API\n    let detectErrorBoundary = opts.detectErrorBoundary;\n    mapRouteProperties = route => ({\n      hasErrorBoundary: detectErrorBoundary(route)\n    });\n  } else {\n    mapRouteProperties = defaultMapRouteProperties;\n  }\n  // Config driven behavior flags\n  let future = _extends({\n    v7_relativeSplatPath: false,\n    v7_throwAbortReason: false\n  }, opts ? opts.future : null);\n  let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties, undefined, manifest);\n  /**\n   * The query() method is intended for document requests, in which we want to\n   * call an optional action and potentially multiple loaders for all nested\n   * routes.  It returns a StaticHandlerContext object, which is very similar\n   * to the router state (location, loaderData, actionData, errors, etc.) and\n   * also adds SSR-specific information such as the statusCode and headers\n   * from action/loaders Responses.\n   *\n   * It _should_ never throw and should report all errors through the\n   * returned context.errors object, properly associating errors to their error\n   * boundary.  Additionally, it tracks _deepestRenderedBoundaryId which can be\n   * used to emulate React error boundaries during SSr by performing a second\n   * pass only down to the boundaryId.\n   *\n   * The one exception where we do not return a StaticHandlerContext is when a\n   * redirect response is returned or thrown from any action/loader.  We\n   * propagate that out and return the raw Response so the HTTP server can\n   * return it directly.\n   *\n   * - `opts.requestContext` is an optional server context that will be passed\n   *   to actions/loaders in the `context` parameter\n   * - `opts.skipLoaderErrorBubbling` is an optional parameter that will prevent\n   *   the bubbling of errors which allows single-fetch-type implementations\n   *   where the client will handle the bubbling and we may need to return data\n   *   for the handling route\n   */\n  async function query(request, _temp3) {\n    let {\n      requestContext,\n      skipLoaderErrorBubbling,\n      dataStrategy\n    } = _temp3 === void 0 ? {} : _temp3;\n    let url = new URL(request.url);\n    let method = request.method;\n    let location = createLocation(\"\", createPath(url), null, \"default\");\n    let matches = matchRoutes(dataRoutes, location, basename);\n    // SSR supports HEAD requests while SPA doesn't\n    if (!isValidMethod(method) && method !== \"HEAD\") {\n      let error = getInternalRouterError(405, {\n        method\n      });\n      let {\n        matches: methodNotAllowedMatches,\n        route\n      } = getShortCircuitMatches(dataRoutes);\n      return {\n        basename,\n        location,\n        matches: methodNotAllowedMatches,\n        loaderData: {},\n        actionData: null,\n        errors: {\n          [route.id]: error\n        },\n        statusCode: error.status,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null\n      };\n    } else if (!matches) {\n      let error = getInternalRouterError(404, {\n        pathname: location.pathname\n      });\n      let {\n        matches: notFoundMatches,\n        route\n      } = getShortCircuitMatches(dataRoutes);\n      return {\n        basename,\n        location,\n        matches: notFoundMatches,\n        loaderData: {},\n        actionData: null,\n        errors: {\n          [route.id]: error\n        },\n        statusCode: error.status,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null\n      };\n    }\n    let result = await queryImpl(request, location, matches, requestContext, dataStrategy || null, skipLoaderErrorBubbling === true, null);\n    if (isResponse(result)) {\n      return result;\n    }\n    // When returning StaticHandlerContext, we patch back in the location here\n    // since we need it for React Context.  But this helps keep our submit and\n    // loadRouteData operating on a Request instead of a Location\n    return _extends({\n      location,\n      basename\n    }, result);\n  }\n  /**\n   * The queryRoute() method is intended for targeted route requests, either\n   * for fetch ?_data requests or resource route requests.  In this case, we\n   * are only ever calling a single action or loader, and we are returning the\n   * returned value directly.  In most cases, this will be a Response returned\n   * from the action/loader, but it may be a primitive or other value as well -\n   * and in such cases the calling context should handle that accordingly.\n   *\n   * We do respect the throw/return differentiation, so if an action/loader\n   * throws, then this method will throw the value.  This is important so we\n   * can do proper boundary identification in Remix where a thrown Response\n   * must go to the Catch Boundary but a returned Response is happy-path.\n   *\n   * One thing to note is that any Router-initiated Errors that make sense\n   * to associate with a status code will be thrown as an ErrorResponse\n   * instance which include the raw Error, such that the calling context can\n   * serialize the error as they see fit while including the proper response\n   * code.  Examples here are 404 and 405 errors that occur prior to reaching\n   * any user-defined loaders.\n   *\n   * - `opts.routeId` allows you to specify the specific route handler to call.\n   *   If not provided the handler will determine the proper route by matching\n   *   against `request.url`\n   * - `opts.requestContext` is an optional server context that will be passed\n   *    to actions/loaders in the `context` parameter\n   */\n  async function queryRoute(request, _temp4) {\n    let {\n      routeId,\n      requestContext,\n      dataStrategy\n    } = _temp4 === void 0 ? {} : _temp4;\n    let url = new URL(request.url);\n    let method = request.method;\n    let location = createLocation(\"\", createPath(url), null, \"default\");\n    let matches = matchRoutes(dataRoutes, location, basename);\n    // SSR supports HEAD requests while SPA doesn't\n    if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n      throw getInternalRouterError(405, {\n        method\n      });\n    } else if (!matches) {\n      throw getInternalRouterError(404, {\n        pathname: location.pathname\n      });\n    }\n    let match = routeId ? matches.find(m => m.route.id === routeId) : getTargetMatch(matches, location);\n    if (routeId && !match) {\n      throw getInternalRouterError(403, {\n        pathname: location.pathname,\n        routeId\n      });\n    } else if (!match) {\n      // This should never hit I don't think?\n      throw getInternalRouterError(404, {\n        pathname: location.pathname\n      });\n    }\n    let result = await queryImpl(request, location, matches, requestContext, dataStrategy || null, false, match);\n    if (isResponse(result)) {\n      return result;\n    }\n    let error = result.errors ? Object.values(result.errors)[0] : undefined;\n    if (error !== undefined) {\n      // If we got back result.errors, that means the loader/action threw\n      // _something_ that wasn't a Response, but it's not guaranteed/required\n      // to be an `instanceof Error` either, so we have to use throw here to\n      // preserve the \"error\" state outside of queryImpl.\n      throw error;\n    }\n    // Pick off the right state value to return\n    if (result.actionData) {\n      return Object.values(result.actionData)[0];\n    }\n    if (result.loaderData) {\n      var _result$activeDeferre;\n      let data = Object.values(result.loaderData)[0];\n      if ((_result$activeDeferre = result.activeDeferreds) != null && _result$activeDeferre[match.route.id]) {\n        data[UNSAFE_DEFERRED_SYMBOL] = result.activeDeferreds[match.route.id];\n      }\n      return data;\n    }\n    return undefined;\n  }\n  async function queryImpl(request, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch) {\n    invariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n    try {\n      if (isMutationMethod(request.method.toLowerCase())) {\n        let result = await submit(request, matches, routeMatch || getTargetMatch(matches, location), requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch != null);\n        return result;\n      }\n      let result = await loadRouteData(request, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch);\n      return isResponse(result) ? result : _extends({}, result, {\n        actionData: null,\n        actionHeaders: {}\n      });\n    } catch (e) {\n      // If the user threw/returned a Response in callLoaderOrAction for a\n      // `queryRoute` call, we throw the `DataStrategyResult` to bail out early\n      // and then return or throw the raw Response here accordingly\n      if (isDataStrategyResult(e) && isResponse(e.result)) {\n        if (e.type === ResultType.error) {\n          throw e.result;\n        }\n        return e.result;\n      }\n      // Redirects are always returned since they don't propagate to catch\n      // boundaries\n      if (isRedirectResponse(e)) {\n        return e;\n      }\n      throw e;\n    }\n  }\n  async function submit(request, matches, actionMatch, requestContext, dataStrategy, skipLoaderErrorBubbling, isRouteRequest) {\n    let result;\n    if (!actionMatch.route.action && !actionMatch.route.lazy) {\n      let error = getInternalRouterError(405, {\n        method: request.method,\n        pathname: new URL(request.url).pathname,\n        routeId: actionMatch.route.id\n      });\n      if (isRouteRequest) {\n        throw error;\n      }\n      result = {\n        type: ResultType.error,\n        error\n      };\n    } else {\n      let results = await callDataStrategy(\"action\", request, [actionMatch], matches, isRouteRequest, requestContext, dataStrategy);\n      result = results[actionMatch.route.id];\n      if (request.signal.aborted) {\n        throwStaticHandlerAbortedError(request, isRouteRequest, future);\n      }\n    }\n    if (isRedirectResult(result)) {\n      // Uhhhh - this should never happen, we should always throw these from\n      // callLoaderOrAction, but the type narrowing here keeps TS happy and we\n      // can get back on the \"throw all redirect responses\" train here should\n      // this ever happen :/\n      throw new Response(null, {\n        status: result.response.status,\n        headers: {\n          Location: result.response.headers.get(\"Location\")\n        }\n      });\n    }\n    if (isDeferredResult(result)) {\n      let error = getInternalRouterError(400, {\n        type: \"defer-action\"\n      });\n      if (isRouteRequest) {\n        throw error;\n      }\n      result = {\n        type: ResultType.error,\n        error\n      };\n    }\n    if (isRouteRequest) {\n      // Note: This should only be non-Response values if we get here, since\n      // isRouteRequest should throw any Response received in callLoaderOrAction\n      if (isErrorResult(result)) {\n        throw result.error;\n      }\n      return {\n        matches: [actionMatch],\n        loaderData: {},\n        actionData: {\n          [actionMatch.route.id]: result.data\n        },\n        errors: null,\n        // Note: statusCode + headers are unused here since queryRoute will\n        // return the raw Response or value\n        statusCode: 200,\n        loaderHeaders: {},\n        actionHeaders: {},\n        activeDeferreds: null\n      };\n    }\n    // Create a GET request for the loaders\n    let loaderRequest = new Request(request.url, {\n      headers: request.headers,\n      redirect: request.redirect,\n      signal: request.signal\n    });\n    if (isErrorResult(result)) {\n      // Store off the pending error - we use it to determine which loaders\n      // to call and will commit it when we complete the navigation\n      let boundaryMatch = skipLoaderErrorBubbling ? actionMatch : findNearestBoundary(matches, actionMatch.route.id);\n      let context = await loadRouteData(loaderRequest, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, null, [boundaryMatch.route.id, result]);\n      // action status codes take precedence over loader status codes\n      return _extends({}, context, {\n        statusCode: isRouteErrorResponse(result.error) ? result.error.status : result.statusCode != null ? result.statusCode : 500,\n        actionData: null,\n        actionHeaders: _extends({}, result.headers ? {\n          [actionMatch.route.id]: result.headers\n        } : {})\n      });\n    }\n    let context = await loadRouteData(loaderRequest, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, null);\n    return _extends({}, context, {\n      actionData: {\n        [actionMatch.route.id]: result.data\n      }\n    }, result.statusCode ? {\n      statusCode: result.statusCode\n    } : {}, {\n      actionHeaders: result.headers ? {\n        [actionMatch.route.id]: result.headers\n      } : {}\n    });\n  }\n  async function loadRouteData(request, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, pendingActionResult) {\n    let isRouteRequest = routeMatch != null;\n    // Short circuit if we have no loaders to run (queryRoute())\n    if (isRouteRequest && !(routeMatch != null && routeMatch.route.loader) && !(routeMatch != null && routeMatch.route.lazy)) {\n      throw getInternalRouterError(400, {\n        method: request.method,\n        pathname: new URL(request.url).pathname,\n        routeId: routeMatch == null ? void 0 : routeMatch.route.id\n      });\n    }\n    let requestMatches = routeMatch ? [routeMatch] : pendingActionResult && isErrorResult(pendingActionResult[1]) ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0]) : matches;\n    let matchesToLoad = requestMatches.filter(m => m.route.loader || m.route.lazy);\n    // Short circuit if we have no loaders to run (query())\n    if (matchesToLoad.length === 0) {\n      return {\n        matches,\n        // Add a null for all matched routes for proper revalidation on the client\n        loaderData: matches.reduce((acc, m) => Object.assign(acc, {\n          [m.route.id]: null\n        }), {}),\n        errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? {\n          [pendingActionResult[0]]: pendingActionResult[1].error\n        } : null,\n        statusCode: 200,\n        loaderHeaders: {},\n        activeDeferreds: null\n      };\n    }\n    let results = await callDataStrategy(\"loader\", request, matchesToLoad, matches, isRouteRequest, requestContext, dataStrategy);\n    if (request.signal.aborted) {\n      throwStaticHandlerAbortedError(request, isRouteRequest, future);\n    }\n    // Process and commit output from loaders\n    let activeDeferreds = new Map();\n    let context = processRouteLoaderData(matches, results, pendingActionResult, activeDeferreds, skipLoaderErrorBubbling);\n    // Add a null for any non-loader matches for proper revalidation on the client\n    let executedLoaders = new Set(matchesToLoad.map(match => match.route.id));\n    matches.forEach(match => {\n      if (!executedLoaders.has(match.route.id)) {\n        context.loaderData[match.route.id] = null;\n      }\n    });\n    return _extends({}, context, {\n      matches,\n      activeDeferreds: activeDeferreds.size > 0 ? Object.fromEntries(activeDeferreds.entries()) : null\n    });\n  }\n  // Utility wrapper for calling dataStrategy server-side without having to\n  // pass around the manifest, mapRouteProperties, etc.\n  async function callDataStrategy(type, request, matchesToLoad, matches, isRouteRequest, requestContext, dataStrategy) {\n    let results = await callDataStrategyImpl(dataStrategy || defaultDataStrategy, type, null, request, matchesToLoad, matches, null, manifest, mapRouteProperties, requestContext);\n    let dataResults = {};\n    await Promise.all(matches.map(async match => {\n      if (!(match.route.id in results)) {\n        return;\n      }\n      let result = results[match.route.id];\n      if (isRedirectDataStrategyResultResult(result)) {\n        let response = result.result;\n        // Throw redirects and let the server handle them with an HTTP redirect\n        throw normalizeRelativeRoutingRedirectResponse(response, request, match.route.id, matches, basename, future.v7_relativeSplatPath);\n      }\n      if (isResponse(result.result) && isRouteRequest) {\n        // For SSR single-route requests, we want to hand Responses back\n        // directly without unwrapping\n        throw result;\n      }\n      dataResults[match.route.id] = await convertDataStrategyResultToDataResult(result);\n    }));\n    return dataResults;\n  }\n  return {\n    dataRoutes,\n    query,\n    queryRoute\n  };\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Helpers\n////////////////////////////////////////////////////////////////////////////////\n/**\n * Given an existing StaticHandlerContext and an error thrown at render time,\n * provide an updated StaticHandlerContext suitable for a second SSR render\n */\nfunction getStaticContextFromError(routes, context, error) {\n  let newContext = _extends({}, context, {\n    statusCode: isRouteErrorResponse(error) ? error.status : 500,\n    errors: {\n      [context._deepestRenderedBoundaryId || routes[0].id]: error\n    }\n  });\n  return newContext;\n}\nfunction throwStaticHandlerAbortedError(request, isRouteRequest, future) {\n  if (future.v7_throwAbortReason && request.signal.reason !== undefined) {\n    throw request.signal.reason;\n  }\n  let method = isRouteRequest ? \"queryRoute\" : \"query\";\n  throw new Error(method + \"() call aborted: \" + request.method + \" \" + request.url);\n}\nfunction isSubmissionNavigation(opts) {\n  return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== undefined);\n}\nfunction normalizeTo(location, matches, basename, prependBasename, to, v7_relativeSplatPath, fromRouteId, relative) {\n  let contextualMatches;\n  let activeRouteMatch;\n  if (fromRouteId) {\n    // Grab matches up to the calling route so our route-relative logic is\n    // relative to the correct source route\n    contextualMatches = [];\n    for (let match of matches) {\n      contextualMatches.push(match);\n      if (match.route.id === fromRouteId) {\n        activeRouteMatch = match;\n        break;\n      }\n    }\n  } else {\n    contextualMatches = matches;\n    activeRouteMatch = matches[matches.length - 1];\n  }\n  // Resolve the relative path\n  let path = resolveTo(to ? to : \".\", getResolveToMatches(contextualMatches, v7_relativeSplatPath), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n  // When `to` is not specified we inherit search/hash from the current\n  // location, unlike when to=\".\" and we just inherit the path.\n  // See https://github.com/remix-run/remix/issues/927\n  if (to == null) {\n    path.search = location.search;\n    path.hash = location.hash;\n  }\n  // Account for `?index` params when routing to the current location\n  if ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n    let nakedIndex = hasNakedIndexQuery(path.search);\n    if (activeRouteMatch.route.index && !nakedIndex) {\n      // Add one when we're targeting an index route\n      path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n    } else if (!activeRouteMatch.route.index && nakedIndex) {\n      // Remove existing ones when we're not\n      let params = new URLSearchParams(path.search);\n      let indexValues = params.getAll(\"index\");\n      params.delete(\"index\");\n      indexValues.filter(v => v).forEach(v => params.append(\"index\", v));\n      let qs = params.toString();\n      path.search = qs ? \"?\" + qs : \"\";\n    }\n  }\n  // If we're operating within a basename, prepend it to the pathname.  If\n  // this is a root navigation, then just use the raw basename which allows\n  // the basename to have full control over the presence of a trailing slash\n  // on root actions\n  if (prependBasename && basename !== \"/\") {\n    path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n  }\n  return createPath(path);\n}\n// Normalize navigation options by converting formMethod=GET formData objects to\n// URLSearchParams so they behave identically to links with query params\nfunction normalizeNavigateOptions(normalizeFormMethod, isFetcher, path, opts) {\n  // Return location verbatim on non-submission navigations\n  if (!opts || !isSubmissionNavigation(opts)) {\n    return {\n      path\n    };\n  }\n  if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n    return {\n      path,\n      error: getInternalRouterError(405, {\n        method: opts.formMethod\n      })\n    };\n  }\n  let getInvalidBodyError = () => ({\n    path,\n    error: getInternalRouterError(400, {\n      type: \"invalid-body\"\n    })\n  });\n  // Create a Submission on non-GET navigations\n  let rawFormMethod = opts.formMethod || \"get\";\n  let formMethod = normalizeFormMethod ? rawFormMethod.toUpperCase() : rawFormMethod.toLowerCase();\n  let formAction = stripHashFromPath(path);\n  if (opts.body !== undefined) {\n    if (opts.formEncType === \"text/plain\") {\n      // text only support POST/PUT/PATCH/DELETE submissions\n      if (!isMutationMethod(formMethod)) {\n        return getInvalidBodyError();\n      }\n      let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ?\n      // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n      Array.from(opts.body.entries()).reduce((acc, _ref3) => {\n        let [name, value] = _ref3;\n        return \"\" + acc + name + \"=\" + value + \"\\n\";\n      }, \"\") : String(opts.body);\n      return {\n        path,\n        submission: {\n          formMethod,\n          formAction,\n          formEncType: opts.formEncType,\n          formData: undefined,\n          json: undefined,\n          text\n        }\n      };\n    } else if (opts.formEncType === \"application/json\") {\n      // json only supports POST/PUT/PATCH/DELETE submissions\n      if (!isMutationMethod(formMethod)) {\n        return getInvalidBodyError();\n      }\n      try {\n        let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n        return {\n          path,\n          submission: {\n            formMethod,\n            formAction,\n            formEncType: opts.formEncType,\n            formData: undefined,\n            json,\n            text: undefined\n          }\n        };\n      } catch (e) {\n        return getInvalidBodyError();\n      }\n    }\n  }\n  invariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n  let searchParams;\n  let formData;\n  if (opts.formData) {\n    searchParams = convertFormDataToSearchParams(opts.formData);\n    formData = opts.formData;\n  } else if (opts.body instanceof FormData) {\n    searchParams = convertFormDataToSearchParams(opts.body);\n    formData = opts.body;\n  } else if (opts.body instanceof URLSearchParams) {\n    searchParams = opts.body;\n    formData = convertSearchParamsToFormData(searchParams);\n  } else if (opts.body == null) {\n    searchParams = new URLSearchParams();\n    formData = new FormData();\n  } else {\n    try {\n      searchParams = new URLSearchParams(opts.body);\n      formData = convertSearchParamsToFormData(searchParams);\n    } catch (e) {\n      return getInvalidBodyError();\n    }\n  }\n  let submission = {\n    formMethod,\n    formAction,\n    formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n    formData,\n    json: undefined,\n    text: undefined\n  };\n  if (isMutationMethod(submission.formMethod)) {\n    return {\n      path,\n      submission\n    };\n  }\n  // Flatten submission onto URLSearchParams for GET submissions\n  let parsedPath = parsePath(path);\n  // On GET navigation submissions we can drop the ?index param from the\n  // resulting location since all loaders will run.  But fetcher GET submissions\n  // only run a single loader so we need to preserve any incoming ?index params\n  if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n    searchParams.append(\"index\", \"\");\n  }\n  parsedPath.search = \"?\" + searchParams;\n  return {\n    path: createPath(parsedPath),\n    submission\n  };\n}\n// Filter out all routes at/below any caught error as they aren't going to\n// render so we don't need to load them\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId, includeBoundary) {\n  if (includeBoundary === void 0) {\n    includeBoundary = false;\n  }\n  let index = matches.findIndex(m => m.route.id === boundaryId);\n  if (index >= 0) {\n    return matches.slice(0, includeBoundary ? index + 1 : index);\n  }\n  return matches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, initialHydration, skipActionErrorRevalidation, isRevalidationRequired, cancelledDeferredRoutes, cancelledFetcherLoads, deletedFetchers, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionResult) {\n  let actionResult = pendingActionResult ? isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : pendingActionResult[1].data : undefined;\n  let currentUrl = history.createURL(state.location);\n  let nextUrl = history.createURL(location);\n  // Pick navigation matches that are net-new or qualify for revalidation\n  let boundaryMatches = matches;\n  if (initialHydration && state.errors) {\n    // On initial hydration, only consider matches up to _and including_ the boundary.\n    // This is inclusive to handle cases where a server loader ran successfully,\n    // a child server loader bubbled up to this route, but this route has\n    // `clientLoader.hydrate` so we want to still run the `clientLoader` so that\n    // we have a complete version of `loaderData`\n    boundaryMatches = getLoaderMatchesUntilBoundary(matches, Object.keys(state.errors)[0], true);\n  } else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n    // If an action threw an error, we call loaders up to, but not including the\n    // boundary\n    boundaryMatches = getLoaderMatchesUntilBoundary(matches, pendingActionResult[0]);\n  }\n  // Don't revalidate loaders by default after action 4xx/5xx responses\n  // when the flag is enabled.  They can still opt-into revalidation via\n  // `shouldRevalidate` via `actionResult`\n  let actionStatus = pendingActionResult ? pendingActionResult[1].statusCode : undefined;\n  let shouldSkipRevalidation = skipActionErrorRevalidation && actionStatus && actionStatus >= 400;\n  let navigationMatches = boundaryMatches.filter((match, index) => {\n    let {\n      route\n    } = match;\n    if (route.lazy) {\n      // We haven't loaded this route yet so we don't know if it's got a loader!\n      return true;\n    }\n    if (route.loader == null) {\n      return false;\n    }\n    if (initialHydration) {\n      return shouldLoadRouteOnHydration(route, state.loaderData, state.errors);\n    }\n    // Always call the loader on new route instances and pending defer cancellations\n    if (isNewLoader(state.loaderData, state.matches[index], match) || cancelledDeferredRoutes.some(id => id === match.route.id)) {\n      return true;\n    }\n    // This is the default implementation for when we revalidate.  If the route\n    // provides it's own implementation, then we give them full control but\n    // provide this value so they can leverage it if needed after they check\n    // their own specific use cases\n    let currentRouteMatch = state.matches[index];\n    let nextRouteMatch = match;\n    return shouldRevalidateLoader(match, _extends({\n      currentUrl,\n      currentParams: currentRouteMatch.params,\n      nextUrl,\n      nextParams: nextRouteMatch.params\n    }, submission, {\n      actionResult,\n      actionStatus,\n      defaultShouldRevalidate: shouldSkipRevalidation ? false :\n      // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n      isRevalidationRequired || currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search ||\n      // Search params affect all loaders\n      currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n    }));\n  });\n  // Pick fetcher.loads that need to be revalidated\n  let revalidatingFetchers = [];\n  fetchLoadMatches.forEach((f, key) => {\n    // Don't revalidate:\n    //  - on initial hydration (shouldn't be any fetchers then anyway)\n    //  - if fetcher won't be present in the subsequent render\n    //    - no longer matches the URL (v7_fetcherPersist=false)\n    //    - was unmounted but persisted due to v7_fetcherPersist=true\n    if (initialHydration || !matches.some(m => m.route.id === f.routeId) || deletedFetchers.has(key)) {\n      return;\n    }\n    let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n    // If the fetcher path no longer matches, push it in with null matches so\n    // we can trigger a 404 in callLoadersAndMaybeResolveData.  Note this is\n    // currently only a use-case for Remix HMR where the route tree can change\n    // at runtime and remove a route previously loaded via a fetcher\n    if (!fetcherMatches) {\n      revalidatingFetchers.push({\n        key,\n        routeId: f.routeId,\n        path: f.path,\n        matches: null,\n        match: null,\n        controller: null\n      });\n      return;\n    }\n    // Revalidating fetchers are decoupled from the route matches since they\n    // load from a static href.  They revalidate based on explicit revalidation\n    // (submission, useRevalidator, or X-Remix-Revalidate)\n    let fetcher = state.fetchers.get(key);\n    let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n    let shouldRevalidate = false;\n    if (fetchRedirectIds.has(key)) {\n      // Never trigger a revalidation of an actively redirecting fetcher\n      shouldRevalidate = false;\n    } else if (cancelledFetcherLoads.has(key)) {\n      // Always mark for revalidation if the fetcher was cancelled\n      cancelledFetcherLoads.delete(key);\n      shouldRevalidate = true;\n    } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === undefined) {\n      // If the fetcher hasn't ever completed loading yet, then this isn't a\n      // revalidation, it would just be a brand new load if an explicit\n      // revalidation is required\n      shouldRevalidate = isRevalidationRequired;\n    } else {\n      // Otherwise fall back on any user-defined shouldRevalidate, defaulting\n      // to explicit revalidations only\n      shouldRevalidate = shouldRevalidateLoader(fetcherMatch, _extends({\n        currentUrl,\n        currentParams: state.matches[state.matches.length - 1].params,\n        nextUrl,\n        nextParams: matches[matches.length - 1].params\n      }, submission, {\n        actionResult,\n        actionStatus,\n        defaultShouldRevalidate: shouldSkipRevalidation ? false : isRevalidationRequired\n      }));\n    }\n    if (shouldRevalidate) {\n      revalidatingFetchers.push({\n        key,\n        routeId: f.routeId,\n        path: f.path,\n        matches: fetcherMatches,\n        match: fetcherMatch,\n        controller: new AbortController()\n      });\n    }\n  });\n  return [navigationMatches, revalidatingFetchers];\n}\nfunction shouldLoadRouteOnHydration(route, loaderData, errors) {\n  // We dunno if we have a loader - gotta find out!\n  if (route.lazy) {\n    return true;\n  }\n  // No loader, nothing to initialize\n  if (!route.loader) {\n    return false;\n  }\n  let hasData = loaderData != null && loaderData[route.id] !== undefined;\n  let hasError = errors != null && errors[route.id] !== undefined;\n  // Don't run if we error'd during SSR\n  if (!hasData && hasError) {\n    return false;\n  }\n  // Explicitly opting-in to running on hydration\n  if (typeof route.loader === \"function\" && route.loader.hydrate === true) {\n    return true;\n  }\n  // Otherwise, run if we're not yet initialized with anything\n  return !hasData && !hasError;\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n  let isNew =\n  // [a] -> [a, b]\n  !currentMatch ||\n  // [a, b] -> [a, c]\n  match.route.id !== currentMatch.route.id;\n  // Handle the case that we don't have data for a re-used route, potentially\n  // from a prior error or from a cancelled pending deferred\n  let isMissingData = currentLoaderData[match.route.id] === undefined;\n  // Always load if this is a net-new route or we don't yet have data\n  return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n  let currentPath = currentMatch.route.path;\n  return (\n    // param change for this match, /users/123 -> /users/456\n    currentMatch.pathname !== match.pathname ||\n    // splat param changed, which is not present in match.path\n    // e.g. /files/images/avatar.jpg -> files/finances.xls\n    currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n  );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n  if (loaderMatch.route.shouldRevalidate) {\n    let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n    if (typeof routeChoice === \"boolean\") {\n      return routeChoice;\n    }\n  }\n  return arg.defaultShouldRevalidate;\n}\nfunction patchRoutesImpl(routeId, children, routesToUse, manifest, mapRouteProperties) {\n  var _childrenToPatch;\n  let childrenToPatch;\n  if (routeId) {\n    let route = manifest[routeId];\n    invariant(route, \"No route found to patch children into: routeId = \" + routeId);\n    if (!route.children) {\n      route.children = [];\n    }\n    childrenToPatch = route.children;\n  } else {\n    childrenToPatch = routesToUse;\n  }\n  // Don't patch in routes we already know about so that `patch` is idempotent\n  // to simplify user-land code. This is useful because we re-call the\n  // `patchRoutesOnNavigation` function for matched routes with params.\n  let uniqueChildren = children.filter(newRoute => !childrenToPatch.some(existingRoute => isSameRoute(newRoute, existingRoute)));\n  let newRoutes = convertRoutesToDataRoutes(uniqueChildren, mapRouteProperties, [routeId || \"_\", \"patch\", String(((_childrenToPatch = childrenToPatch) == null ? void 0 : _childrenToPatch.length) || \"0\")], manifest);\n  childrenToPatch.push(...newRoutes);\n}\nfunction isSameRoute(newRoute, existingRoute) {\n  // Most optimal check is by id\n  if (\"id\" in newRoute && \"id\" in existingRoute && newRoute.id === existingRoute.id) {\n    return true;\n  }\n  // Second is by pathing differences\n  if (!(newRoute.index === existingRoute.index && newRoute.path === existingRoute.path && newRoute.caseSensitive === existingRoute.caseSensitive)) {\n    return false;\n  }\n  // Pathless layout routes are trickier since we need to check children.\n  // If they have no children then they're the same as far as we can tell\n  if ((!newRoute.children || newRoute.children.length === 0) && (!existingRoute.children || existingRoute.children.length === 0)) {\n    return true;\n  }\n  // Otherwise, we look to see if every child in the new route is already\n  // represented in the existing route's children\n  return newRoute.children.every((aChild, i) => {\n    var _existingRoute$childr;\n    return (_existingRoute$childr = existingRoute.children) == null ? void 0 : _existingRoute$childr.some(bChild => isSameRoute(aChild, bChild));\n  });\n}\n/**\n * Execute route.lazy() methods to lazily load route modules (loader, action,\n * shouldRevalidate) and update the routeManifest in place which shares objects\n * with dataRoutes so those get updated as well.\n */\nasync function loadLazyRouteModule(route, mapRouteProperties, manifest) {\n  if (!route.lazy) {\n    return;\n  }\n  let lazyRoute = await route.lazy();\n  // If the lazy route function was executed and removed by another parallel\n  // call then we can return - first lazy() to finish wins because the return\n  // value of lazy is expected to be static\n  if (!route.lazy) {\n    return;\n  }\n  let routeToUpdate = manifest[route.id];\n  invariant(routeToUpdate, \"No route found in manifest\");\n  // Update the route in place.  This should be safe because there's no way\n  // we could yet be sitting on this route as we can't get there without\n  // resolving lazy() first.\n  //\n  // This is different than the HMR \"update\" use-case where we may actively be\n  // on the route being updated.  The main concern boils down to \"does this\n  // mutation affect any ongoing navigations or any current state.matches\n  // values?\".  If not, it should be safe to update in place.\n  let routeUpdates = {};\n  for (let lazyRouteProperty in lazyRoute) {\n    let staticRouteValue = routeToUpdate[lazyRouteProperty];\n    let isPropertyStaticallyDefined = staticRouteValue !== undefined &&\n    // This property isn't static since it should always be updated based\n    // on the route updates\n    lazyRouteProperty !== \"hasErrorBoundary\";\n    warning(!isPropertyStaticallyDefined, \"Route \\\"\" + routeToUpdate.id + \"\\\" has a static property \\\"\" + lazyRouteProperty + \"\\\" \" + \"defined but its lazy function is also returning a value for this property. \" + (\"The lazy route property \\\"\" + lazyRouteProperty + \"\\\" will be ignored.\"));\n    if (!isPropertyStaticallyDefined && !immutableRouteKeys.has(lazyRouteProperty)) {\n      routeUpdates[lazyRouteProperty] = lazyRoute[lazyRouteProperty];\n    }\n  }\n  // Mutate the route with the provided updates.  Do this first so we pass\n  // the updated version to mapRouteProperties\n  Object.assign(routeToUpdate, routeUpdates);\n  // Mutate the `hasErrorBoundary` property on the route based on the route\n  // updates and remove the `lazy` function so we don't resolve the lazy\n  // route again.\n  Object.assign(routeToUpdate, _extends({}, mapRouteProperties(routeToUpdate), {\n    lazy: undefined\n  }));\n}\n// Default implementation of `dataStrategy` which fetches all loaders in parallel\nasync function defaultDataStrategy(_ref4) {\n  let {\n    matches\n  } = _ref4;\n  let matchesToLoad = matches.filter(m => m.shouldLoad);\n  let results = await Promise.all(matchesToLoad.map(m => m.resolve()));\n  return results.reduce((acc, result, i) => Object.assign(acc, {\n    [matchesToLoad[i].route.id]: result\n  }), {});\n}\nasync function callDataStrategyImpl(dataStrategyImpl, type, state, request, matchesToLoad, matches, fetcherKey, manifest, mapRouteProperties, requestContext) {\n  let loadRouteDefinitionsPromises = matches.map(m => m.route.lazy ? loadLazyRouteModule(m.route, mapRouteProperties, manifest) : undefined);\n  let dsMatches = matches.map((match, i) => {\n    let loadRoutePromise = loadRouteDefinitionsPromises[i];\n    let shouldLoad = matchesToLoad.some(m => m.route.id === match.route.id);\n    // `resolve` encapsulates route.lazy(), executing the loader/action,\n    // and mapping return values/thrown errors to a `DataStrategyResult`.  Users\n    // can pass a callback to take fine-grained control over the execution\n    // of the loader/action\n    let resolve = async handlerOverride => {\n      if (handlerOverride && request.method === \"GET\" && (match.route.lazy || match.route.loader)) {\n        shouldLoad = true;\n      }\n      return shouldLoad ? callLoaderOrAction(type, request, match, loadRoutePromise, handlerOverride, requestContext) : Promise.resolve({\n        type: ResultType.data,\n        result: undefined\n      });\n    };\n    return _extends({}, match, {\n      shouldLoad,\n      resolve\n    });\n  });\n  // Send all matches here to allow for a middleware-type implementation.\n  // handler will be a no-op for unneeded routes and we filter those results\n  // back out below.\n  let results = await dataStrategyImpl({\n    matches: dsMatches,\n    request,\n    params: matches[0].params,\n    fetcherKey,\n    context: requestContext\n  });\n  // Wait for all routes to load here but 'swallow the error since we want\n  // it to bubble up from the `await loadRoutePromise` in `callLoaderOrAction` -\n  // called from `match.resolve()`\n  try {\n    await Promise.all(loadRouteDefinitionsPromises);\n  } catch (e) {\n    // No-op\n  }\n  return results;\n}\n// Default logic for calling a loader/action is the user has no specified a dataStrategy\nasync function callLoaderOrAction(type, request, match, loadRoutePromise, handlerOverride, staticContext) {\n  let result;\n  let onReject;\n  let runHandler = handler => {\n    // Setup a promise we can race against so that abort signals short circuit\n    let reject;\n    // This will never resolve so safe to type it as Promise<DataStrategyResult> to\n    // satisfy the function return value\n    let abortPromise = new Promise((_, r) => reject = r);\n    onReject = () => reject();\n    request.signal.addEventListener(\"abort\", onReject);\n    let actualHandler = ctx => {\n      if (typeof handler !== \"function\") {\n        return Promise.reject(new Error(\"You cannot call the handler for a route which defines a boolean \" + (\"\\\"\" + type + \"\\\" [routeId: \" + match.route.id + \"]\")));\n      }\n      return handler({\n        request,\n        params: match.params,\n        context: staticContext\n      }, ...(ctx !== undefined ? [ctx] : []));\n    };\n    let handlerPromise = (async () => {\n      try {\n        let val = await (handlerOverride ? handlerOverride(ctx => actualHandler(ctx)) : actualHandler());\n        return {\n          type: \"data\",\n          result: val\n        };\n      } catch (e) {\n        return {\n          type: \"error\",\n          result: e\n        };\n      }\n    })();\n    return Promise.race([handlerPromise, abortPromise]);\n  };\n  try {\n    let handler = match.route[type];\n    // If we have a route.lazy promise, await that first\n    if (loadRoutePromise) {\n      if (handler) {\n        // Run statically defined handler in parallel with lazy()\n        let handlerError;\n        let [value] = await Promise.all([\n        // If the handler throws, don't let it immediately bubble out,\n        // since we need to let the lazy() execution finish so we know if this\n        // route has a boundary that can handle the error\n        runHandler(handler).catch(e => {\n          handlerError = e;\n        }), loadRoutePromise]);\n        if (handlerError !== undefined) {\n          throw handlerError;\n        }\n        result = value;\n      } else {\n        // Load lazy route module, then run any returned handler\n        await loadRoutePromise;\n        handler = match.route[type];\n        if (handler) {\n          // Handler still runs even if we got interrupted to maintain consistency\n          // with un-abortable behavior of handler execution on non-lazy or\n          // previously-lazy-loaded routes\n          result = await runHandler(handler);\n        } else if (type === \"action\") {\n          let url = new URL(request.url);\n          let pathname = url.pathname + url.search;\n          throw getInternalRouterError(405, {\n            method: request.method,\n            pathname,\n            routeId: match.route.id\n          });\n        } else {\n          // lazy() route has no loader to run.  Short circuit here so we don't\n          // hit the invariant below that errors on returning undefined.\n          return {\n            type: ResultType.data,\n            result: undefined\n          };\n        }\n      }\n    } else if (!handler) {\n      let url = new URL(request.url);\n      let pathname = url.pathname + url.search;\n      throw getInternalRouterError(404, {\n        pathname\n      });\n    } else {\n      result = await runHandler(handler);\n    }\n    invariant(result.result !== undefined, \"You defined \" + (type === \"action\" ? \"an action\" : \"a loader\") + \" for route \" + (\"\\\"\" + match.route.id + \"\\\" but didn't return anything from your `\" + type + \"` \") + \"function. Please return a value or `null`.\");\n  } catch (e) {\n    // We should already be catching and converting normal handler executions to\n    // DataStrategyResults and returning them, so anything that throws here is an\n    // unexpected error we still need to wrap\n    return {\n      type: ResultType.error,\n      result: e\n    };\n  } finally {\n    if (onReject) {\n      request.signal.removeEventListener(\"abort\", onReject);\n    }\n  }\n  return result;\n}\nasync function convertDataStrategyResultToDataResult(dataStrategyResult) {\n  let {\n    result,\n    type\n  } = dataStrategyResult;\n  if (isResponse(result)) {\n    let data;\n    try {\n      let contentType = result.headers.get(\"Content-Type\");\n      // Check between word boundaries instead of startsWith() due to the last\n      // paragraph of https://httpwg.org/specs/rfc9110.html#field.content-type\n      if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n        if (result.body == null) {\n          data = null;\n        } else {\n          data = await result.json();\n        }\n      } else {\n        data = await result.text();\n      }\n    } catch (e) {\n      return {\n        type: ResultType.error,\n        error: e\n      };\n    }\n    if (type === ResultType.error) {\n      return {\n        type: ResultType.error,\n        error: new ErrorResponseImpl(result.status, result.statusText, data),\n        statusCode: result.status,\n        headers: result.headers\n      };\n    }\n    return {\n      type: ResultType.data,\n      data,\n      statusCode: result.status,\n      headers: result.headers\n    };\n  }\n  if (type === ResultType.error) {\n    if (isDataWithResponseInit(result)) {\n      var _result$init3, _result$init4;\n      if (result.data instanceof Error) {\n        var _result$init, _result$init2;\n        return {\n          type: ResultType.error,\n          error: result.data,\n          statusCode: (_result$init = result.init) == null ? void 0 : _result$init.status,\n          headers: (_result$init2 = result.init) != null && _result$init2.headers ? new Headers(result.init.headers) : undefined\n        };\n      }\n      // Convert thrown data() to ErrorResponse instances\n      return {\n        type: ResultType.error,\n        error: new ErrorResponseImpl(((_result$init3 = result.init) == null ? void 0 : _result$init3.status) || 500, undefined, result.data),\n        statusCode: isRouteErrorResponse(result) ? result.status : undefined,\n        headers: (_result$init4 = result.init) != null && _result$init4.headers ? new Headers(result.init.headers) : undefined\n      };\n    }\n    return {\n      type: ResultType.error,\n      error: result,\n      statusCode: isRouteErrorResponse(result) ? result.status : undefined\n    };\n  }\n  if (isDeferredData(result)) {\n    var _result$init5, _result$init6;\n    return {\n      type: ResultType.deferred,\n      deferredData: result,\n      statusCode: (_result$init5 = result.init) == null ? void 0 : _result$init5.status,\n      headers: ((_result$init6 = result.init) == null ? void 0 : _result$init6.headers) && new Headers(result.init.headers)\n    };\n  }\n  if (isDataWithResponseInit(result)) {\n    var _result$init7, _result$init8;\n    return {\n      type: ResultType.data,\n      data: result.data,\n      statusCode: (_result$init7 = result.init) == null ? void 0 : _result$init7.status,\n      headers: (_result$init8 = result.init) != null && _result$init8.headers ? new Headers(result.init.headers) : undefined\n    };\n  }\n  return {\n    type: ResultType.data,\n    data: result\n  };\n}\n// Support relative routing in internal redirects\nfunction normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename, v7_relativeSplatPath) {\n  let location = response.headers.get(\"Location\");\n  invariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n  if (!ABSOLUTE_URL_REGEX.test(location)) {\n    let trimmedMatches = matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1);\n    location = normalizeTo(new URL(request.url), trimmedMatches, basename, true, location, v7_relativeSplatPath);\n    response.headers.set(\"Location\", location);\n  }\n  return response;\n}\nfunction normalizeRedirectLocation(location, currentUrl, basename) {\n  if (ABSOLUTE_URL_REGEX.test(location)) {\n    // Strip off the protocol+origin for same-origin + same-basename absolute redirects\n    let normalizedLocation = location;\n    let url = normalizedLocation.startsWith(\"//\") ? new URL(currentUrl.protocol + normalizedLocation) : new URL(normalizedLocation);\n    let isSameBasename = stripBasename(url.pathname, basename) != null;\n    if (url.origin === currentUrl.origin && isSameBasename) {\n      return url.pathname + url.search + url.hash;\n    }\n  }\n  return location;\n}\n// Utility method for creating the Request instances for loaders/actions during\n// client-side navigations and fetches.  During SSR we will always have a\n// Request instance from the static handler (query/queryRoute)\nfunction createClientSideRequest(history, location, signal, submission) {\n  let url = history.createURL(stripHashFromPath(location)).toString();\n  let init = {\n    signal\n  };\n  if (submission && isMutationMethod(submission.formMethod)) {\n    let {\n      formMethod,\n      formEncType\n    } = submission;\n    // Didn't think we needed this but it turns out unlike other methods, patch\n    // won't be properly normalized to uppercase and results in a 405 error.\n    // See: https://fetch.spec.whatwg.org/#concept-method\n    init.method = formMethod.toUpperCase();\n    if (formEncType === \"application/json\") {\n      init.headers = new Headers({\n        \"Content-Type\": formEncType\n      });\n      init.body = JSON.stringify(submission.json);\n    } else if (formEncType === \"text/plain\") {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = submission.text;\n    } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = convertFormDataToSearchParams(submission.formData);\n    } else {\n      // Content-Type is inferred (https://fetch.spec.whatwg.org/#dom-request)\n      init.body = submission.formData;\n    }\n  }\n  return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n  let searchParams = new URLSearchParams();\n  for (let [key, value] of formData.entries()) {\n    // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#converting-an-entry-list-to-a-list-of-name-value-pairs\n    searchParams.append(key, typeof value === \"string\" ? value : value.name);\n  }\n  return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n  let formData = new FormData();\n  for (let [key, value] of searchParams.entries()) {\n    formData.append(key, value);\n  }\n  return formData;\n}\nfunction processRouteLoaderData(matches, results, pendingActionResult, activeDeferreds, skipLoaderErrorBubbling) {\n  // Fill in loaderData/errors from our loaders\n  let loaderData = {};\n  let errors = null;\n  let statusCode;\n  let foundError = false;\n  let loaderHeaders = {};\n  let pendingError = pendingActionResult && isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : undefined;\n  // Process loader results into state.loaderData/state.errors\n  matches.forEach(match => {\n    if (!(match.route.id in results)) {\n      return;\n    }\n    let id = match.route.id;\n    let result = results[id];\n    invariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n    if (isErrorResult(result)) {\n      let error = result.error;\n      // If we have a pending action error, we report it at the highest-route\n      // that throws a loader error, and then clear it out to indicate that\n      // it was consumed\n      if (pendingError !== undefined) {\n        error = pendingError;\n        pendingError = undefined;\n      }\n      errors = errors || {};\n      if (skipLoaderErrorBubbling) {\n        errors[id] = error;\n      } else {\n        // Look upwards from the matched route for the closest ancestor error\n        // boundary, defaulting to the root match.  Prefer higher error values\n        // if lower errors bubble to the same boundary\n        let boundaryMatch = findNearestBoundary(matches, id);\n        if (errors[boundaryMatch.route.id] == null) {\n          errors[boundaryMatch.route.id] = error;\n        }\n      }\n      // Clear our any prior loaderData for the throwing route\n      loaderData[id] = undefined;\n      // Once we find our first (highest) error, we set the status code and\n      // prevent deeper status codes from overriding\n      if (!foundError) {\n        foundError = true;\n        statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n      }\n      if (result.headers) {\n        loaderHeaders[id] = result.headers;\n      }\n    } else {\n      if (isDeferredResult(result)) {\n        activeDeferreds.set(id, result.deferredData);\n        loaderData[id] = result.deferredData.data;\n        // Error status codes always override success status codes, but if all\n        // loaders are successful we take the deepest status code.\n        if (result.statusCode != null && result.statusCode !== 200 && !foundError) {\n          statusCode = result.statusCode;\n        }\n        if (result.headers) {\n          loaderHeaders[id] = result.headers;\n        }\n      } else {\n        loaderData[id] = result.data;\n        // Error status codes always override success status codes, but if all\n        // loaders are successful we take the deepest status code.\n        if (result.statusCode && result.statusCode !== 200 && !foundError) {\n          statusCode = result.statusCode;\n        }\n        if (result.headers) {\n          loaderHeaders[id] = result.headers;\n        }\n      }\n    }\n  });\n  // If we didn't consume the pending action error (i.e., all loaders\n  // resolved), then consume it here.  Also clear out any loaderData for the\n  // throwing route\n  if (pendingError !== undefined && pendingActionResult) {\n    errors = {\n      [pendingActionResult[0]]: pendingError\n    };\n    loaderData[pendingActionResult[0]] = undefined;\n  }\n  return {\n    loaderData,\n    errors,\n    statusCode: statusCode || 200,\n    loaderHeaders\n  };\n}\nfunction processLoaderData(state, matches, results, pendingActionResult, revalidatingFetchers, fetcherResults, activeDeferreds) {\n  let {\n    loaderData,\n    errors\n  } = processRouteLoaderData(matches, results, pendingActionResult, activeDeferreds, false // This method is only called client side so we always want to bubble\n  );\n  // Process results from our revalidating fetchers\n  revalidatingFetchers.forEach(rf => {\n    let {\n      key,\n      match,\n      controller\n    } = rf;\n    let result = fetcherResults[key];\n    invariant(result, \"Did not find corresponding fetcher result\");\n    // Process fetcher non-redirect errors\n    if (controller && controller.signal.aborted) {\n      // Nothing to do for aborted fetchers\n      return;\n    } else if (isErrorResult(result)) {\n      let boundaryMatch = findNearestBoundary(state.matches, match == null ? void 0 : match.route.id);\n      if (!(errors && errors[boundaryMatch.route.id])) {\n        errors = _extends({}, errors, {\n          [boundaryMatch.route.id]: result.error\n        });\n      }\n      state.fetchers.delete(key);\n    } else if (isRedirectResult(result)) {\n      // Should never get here, redirects should get processed above, but we\n      // keep this to type narrow to a success result in the else\n      invariant(false, \"Unhandled fetcher revalidation redirect\");\n    } else if (isDeferredResult(result)) {\n      // Should never get here, deferred data should be awaited for fetchers\n      // in resolveDeferredResults\n      invariant(false, \"Unhandled fetcher deferred data\");\n    } else {\n      let doneFetcher = getDoneFetcher(result.data);\n      state.fetchers.set(key, doneFetcher);\n    }\n  });\n  return {\n    loaderData,\n    errors\n  };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n  let mergedLoaderData = _extends({}, newLoaderData);\n  for (let match of matches) {\n    let id = match.route.id;\n    if (newLoaderData.hasOwnProperty(id)) {\n      if (newLoaderData[id] !== undefined) {\n        mergedLoaderData[id] = newLoaderData[id];\n      }\n    } else if (loaderData[id] !== undefined && match.route.loader) {\n      // Preserve existing keys not included in newLoaderData and where a loader\n      // wasn't removed by HMR\n      mergedLoaderData[id] = loaderData[id];\n    }\n    if (errors && errors.hasOwnProperty(id)) {\n      // Don't keep any loader data below the boundary\n      break;\n    }\n  }\n  return mergedLoaderData;\n}\nfunction getActionDataForCommit(pendingActionResult) {\n  if (!pendingActionResult) {\n    return {};\n  }\n  return isErrorResult(pendingActionResult[1]) ? {\n    // Clear out prior actionData on errors\n    actionData: {}\n  } : {\n    actionData: {\n      [pendingActionResult[0]]: pendingActionResult[1].data\n    }\n  };\n}\n// Find the nearest error boundary, looking upwards from the leaf route (or the\n// route specified by routeId) for the closest ancestor error boundary,\n// defaulting to the root match\nfunction findNearestBoundary(matches, routeId) {\n  let eligibleMatches = routeId ? matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1) : [...matches];\n  return eligibleMatches.reverse().find(m => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n  // Prefer a root layout route if present, otherwise shim in a route object\n  let route = routes.length === 1 ? routes[0] : routes.find(r => r.index || !r.path || r.path === \"/\") || {\n    id: \"__shim-error-route__\"\n  };\n  return {\n    matches: [{\n      params: {},\n      pathname: \"\",\n      pathnameBase: \"\",\n      route\n    }],\n    route\n  };\n}\nfunction getInternalRouterError(status, _temp5) {\n  let {\n    pathname,\n    routeId,\n    method,\n    type,\n    message\n  } = _temp5 === void 0 ? {} : _temp5;\n  let statusText = \"Unknown Server Error\";\n  let errorMessage = \"Unknown @remix-run/router error\";\n  if (status === 400) {\n    statusText = \"Bad Request\";\n    if (method && pathname && routeId) {\n      errorMessage = \"You made a \" + method + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide a `loader` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n    } else if (type === \"defer-action\") {\n      errorMessage = \"defer() is not supported in actions\";\n    } else if (type === \"invalid-body\") {\n      errorMessage = \"Unable to encode submission body\";\n    }\n  } else if (status === 403) {\n    statusText = \"Forbidden\";\n    errorMessage = \"Route \\\"\" + routeId + \"\\\" does not match URL \\\"\" + pathname + \"\\\"\";\n  } else if (status === 404) {\n    statusText = \"Not Found\";\n    errorMessage = \"No route matches URL \\\"\" + pathname + \"\\\"\";\n  } else if (status === 405) {\n    statusText = \"Method Not Allowed\";\n    if (method && pathname && routeId) {\n      errorMessage = \"You made a \" + method.toUpperCase() + \" request to \\\"\" + pathname + \"\\\" but \" + (\"did not provide an `action` for route \\\"\" + routeId + \"\\\", \") + \"so there is no way to handle the request.\";\n    } else if (method) {\n      errorMessage = \"Invalid request method \\\"\" + method.toUpperCase() + \"\\\"\";\n    }\n  }\n  return new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\n// Find any returned redirect errors, starting from the lowest match\nfunction findRedirect(results) {\n  let entries = Object.entries(results);\n  for (let i = entries.length - 1; i >= 0; i--) {\n    let [key, result] = entries[i];\n    if (isRedirectResult(result)) {\n      return {\n        key,\n        result\n      };\n    }\n  }\n}\nfunction stripHashFromPath(path) {\n  let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n  return createPath(_extends({}, parsedPath, {\n    hash: \"\"\n  }));\n}\nfunction isHashChangeOnly(a, b) {\n  if (a.pathname !== b.pathname || a.search !== b.search) {\n    return false;\n  }\n  if (a.hash === \"\") {\n    // /page -> /page#hash\n    return b.hash !== \"\";\n  } else if (a.hash === b.hash) {\n    // /page#hash -> /page#hash\n    return true;\n  } else if (b.hash !== \"\") {\n    // /page#hash -> /page#other\n    return true;\n  }\n  // If the hash is removed the browser will re-perform a request to the server\n  // /page#hash -> /page\n  return false;\n}\nfunction isDataStrategyResult(result) {\n  return result != null && typeof result === \"object\" && \"type\" in result && \"result\" in result && (result.type === ResultType.data || result.type === ResultType.error);\n}\nfunction isRedirectDataStrategyResultResult(result) {\n  return isResponse(result.result) && redirectStatusCodes.has(result.result.status);\n}\nfunction isDeferredResult(result) {\n  return result.type === ResultType.deferred;\n}\nfunction isErrorResult(result) {\n  return result.type === ResultType.error;\n}\nfunction isRedirectResult(result) {\n  return (result && result.type) === ResultType.redirect;\n}\nfunction isDataWithResponseInit(value) {\n  return typeof value === \"object\" && value != null && \"type\" in value && \"data\" in value && \"init\" in value && value.type === \"DataWithResponseInit\";\n}\nfunction isDeferredData(value) {\n  let deferred = value;\n  return deferred && typeof deferred === \"object\" && typeof deferred.data === \"object\" && typeof deferred.subscribe === \"function\" && typeof deferred.cancel === \"function\" && typeof deferred.resolveData === \"function\";\n}\nfunction isResponse(value) {\n  return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectResponse(result) {\n  if (!isResponse(result)) {\n    return false;\n  }\n  let status = result.status;\n  let location = result.headers.get(\"Location\");\n  return status >= 300 && status <= 399 && location != null;\n}\nfunction isValidMethod(method) {\n  return validRequestMethods.has(method.toLowerCase());\n}\nfunction isMutationMethod(method) {\n  return validMutationMethods.has(method.toLowerCase());\n}\nasync function resolveNavigationDeferredResults(matches, results, signal, currentMatches, currentLoaderData) {\n  let entries = Object.entries(results);\n  for (let index = 0; index < entries.length; index++) {\n    let [routeId, result] = entries[index];\n    let match = matches.find(m => (m == null ? void 0 : m.route.id) === routeId);\n    // If we don't have a match, then we can have a deferred result to do\n    // anything with.  This is for revalidating fetchers where the route was\n    // removed during HMR\n    if (!match) {\n      continue;\n    }\n    let currentMatch = currentMatches.find(m => m.route.id === match.route.id);\n    let isRevalidatingLoader = currentMatch != null && !isNewRouteInstance(currentMatch, match) && (currentLoaderData && currentLoaderData[match.route.id]) !== undefined;\n    if (isDeferredResult(result) && isRevalidatingLoader) {\n      // Note: we do not have to touch activeDeferreds here since we race them\n      // against the signal in resolveDeferredData and they'll get aborted\n      // there if needed\n      await resolveDeferredData(result, signal, false).then(result => {\n        if (result) {\n          results[routeId] = result;\n        }\n      });\n    }\n  }\n}\nasync function resolveFetcherDeferredResults(matches, results, revalidatingFetchers) {\n  for (let index = 0; index < revalidatingFetchers.length; index++) {\n    let {\n      key,\n      routeId,\n      controller\n    } = revalidatingFetchers[index];\n    let result = results[key];\n    let match = matches.find(m => (m == null ? void 0 : m.route.id) === routeId);\n    // If we don't have a match, then we can have a deferred result to do\n    // anything with.  This is for revalidating fetchers where the route was\n    // removed during HMR\n    if (!match) {\n      continue;\n    }\n    if (isDeferredResult(result)) {\n      // Note: we do not have to touch activeDeferreds here since we race them\n      // against the signal in resolveDeferredData and they'll get aborted\n      // there if needed\n      invariant(controller, \"Expected an AbortController for revalidating fetcher deferred result\");\n      await resolveDeferredData(result, controller.signal, true).then(result => {\n        if (result) {\n          results[key] = result;\n        }\n      });\n    }\n  }\n}\nasync function resolveDeferredData(result, signal, unwrap) {\n  if (unwrap === void 0) {\n    unwrap = false;\n  }\n  let aborted = await result.deferredData.resolveData(signal);\n  if (aborted) {\n    return;\n  }\n  if (unwrap) {\n    try {\n      return {\n        type: ResultType.data,\n        data: result.deferredData.unwrappedData\n      };\n    } catch (e) {\n      // Handle any TrackedPromise._error values encountered while unwrapping\n      return {\n        type: ResultType.error,\n        error: e\n      };\n    }\n  }\n  return {\n    type: ResultType.data,\n    data: result.deferredData.data\n  };\n}\nfunction hasNakedIndexQuery(search) {\n  return new URLSearchParams(search).getAll(\"index\").some(v => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n  let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n  if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n    // Return the leaf index route when index is present\n    return matches[matches.length - 1];\n  }\n  // Otherwise grab the deepest \"path contributing\" match (ignoring index and\n  // pathless layout routes)\n  let pathMatches = getPathContributingMatches(matches);\n  return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n  let {\n    formMethod,\n    formAction,\n    formEncType,\n    text,\n    formData,\n    json\n  } = navigation;\n  if (!formMethod || !formAction || !formEncType) {\n    return;\n  }\n  if (text != null) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData: undefined,\n      json: undefined,\n      text\n    };\n  } else if (formData != null) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData,\n      json: undefined,\n      text: undefined\n    };\n  } else if (json !== undefined) {\n    return {\n      formMethod,\n      formAction,\n      formEncType,\n      formData: undefined,\n      json,\n      text: undefined\n    };\n  }\n}\nfunction getLoadingNavigation(location, submission) {\n  if (submission) {\n    let navigation = {\n      state: \"loading\",\n      location,\n      formMethod: submission.formMethod,\n      formAction: submission.formAction,\n      formEncType: submission.formEncType,\n      formData: submission.formData,\n      json: submission.json,\n      text: submission.text\n    };\n    return navigation;\n  } else {\n    let navigation = {\n      state: \"loading\",\n      location,\n      formMethod: undefined,\n      formAction: undefined,\n      formEncType: undefined,\n      formData: undefined,\n      json: undefined,\n      text: undefined\n    };\n    return navigation;\n  }\n}\nfunction getSubmittingNavigation(location, submission) {\n  let navigation = {\n    state: \"submitting\",\n    location,\n    formMethod: submission.formMethod,\n    formAction: submission.formAction,\n    formEncType: submission.formEncType,\n    formData: submission.formData,\n    json: submission.json,\n    text: submission.text\n  };\n  return navigation;\n}\nfunction getLoadingFetcher(submission, data) {\n  if (submission) {\n    let fetcher = {\n      state: \"loading\",\n      formMethod: submission.formMethod,\n      formAction: submission.formAction,\n      formEncType: submission.formEncType,\n      formData: submission.formData,\n      json: submission.json,\n      text: submission.text,\n      data\n    };\n    return fetcher;\n  } else {\n    let fetcher = {\n      state: \"loading\",\n      formMethod: undefined,\n      formAction: undefined,\n      formEncType: undefined,\n      formData: undefined,\n      json: undefined,\n      text: undefined,\n      data\n    };\n    return fetcher;\n  }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n  let fetcher = {\n    state: \"submitting\",\n    formMethod: submission.formMethod,\n    formAction: submission.formAction,\n    formEncType: submission.formEncType,\n    formData: submission.formData,\n    json: submission.json,\n    text: submission.text,\n    data: existingFetcher ? existingFetcher.data : undefined\n  };\n  return fetcher;\n}\nfunction getDoneFetcher(data) {\n  let fetcher = {\n    state: \"idle\",\n    formMethod: undefined,\n    formAction: undefined,\n    formEncType: undefined,\n    formData: undefined,\n    json: undefined,\n    text: undefined,\n    data\n  };\n  return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n  try {\n    let sessionPositions = _window.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);\n    if (sessionPositions) {\n      let json = JSON.parse(sessionPositions);\n      for (let [k, v] of Object.entries(json || {})) {\n        if (v && Array.isArray(v)) {\n          transitions.set(k, new Set(v || []));\n        }\n      }\n    }\n  } catch (e) {\n    // no-op, use default empty object\n  }\n}\nfunction persistAppliedTransitions(_window, transitions) {\n  if (transitions.size > 0) {\n    let json = {};\n    for (let [k, v] of transitions) {\n      json[k] = [...v];\n    }\n    try {\n      _window.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY, JSON.stringify(json));\n    } catch (error) {\n      warning(false, \"Failed to save applied view transitions in sessionStorage (\" + error + \").\");\n    }\n  }\n}\n//#endregion\n\nexport { AbortedDeferredError, Action, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, UNSAFE_DEFERRED_SYMBOL, DeferredData as UNSAFE_DeferredData, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, convertRouteMatchToUiMatch as UNSAFE_convertRouteMatchToUiMatch, convertRoutesToDataRoutes as UNSAFE_convertRoutesToDataRoutes, decodePath as UNSAFE_decodePath, getResolveToMatches as UNSAFE_getResolveToMatches, invariant as UNSAFE_invariant, warning as UNSAFE_warning, createBrowserHistory, createHashHistory, createMemoryHistory, createPath, createRouter, createStaticHandler, data, defer, generatePath, getStaticContextFromError, getToPathname, isDataWithResponseInit, isDeferredData, isRouteErrorResponse, joinPaths, json, matchPath, matchRoutes, normalizePathname, parsePath, redirect, redirectDocument, replace, resolvePath, resolveTo, stripBasename };\n//# sourceMappingURL=router.js.map\n","/**\n * React Router v6.30.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport { UNSAFE_invariant, joinPaths, matchPath, UNSAFE_decodePath, UNSAFE_getResolveToMatches, UNSAFE_warning, resolveTo, parsePath, matchRoutes, Action, UNSAFE_convertRouteMatchToUiMatch, stripBasename, IDLE_BLOCKER, isRouteErrorResponse, createMemoryHistory, AbortedDeferredError, createRouter } from '@remix-run/router';\nexport { AbortedDeferredError, Action as NavigationType, createPath, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, replace, resolvePath } from '@remix-run/router';\n\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\n\n// Create react-specific types from the agnostic types in @remix-run/router to\n// export from react-router\nconst DataRouterContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  DataRouterContext.displayName = \"DataRouter\";\n}\nconst DataRouterStateContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  DataRouterStateContext.displayName = \"DataRouterState\";\n}\nconst AwaitContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  AwaitContext.displayName = \"Await\";\n}\n\n/**\n * A Navigator is a \"location changer\"; it's how you get to different locations.\n *\n * Every history instance conforms to the Navigator interface, but the\n * distinction is useful primarily when it comes to the low-level `<Router>` API\n * where both the location and a navigator must be provided separately in order\n * to avoid \"tearing\" that may occur in a suspense-enabled app if the action\n * and/or location were to be read directly from the history instance.\n */\n\nconst NavigationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  NavigationContext.displayName = \"Navigation\";\n}\nconst LocationContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  LocationContext.displayName = \"Location\";\n}\nconst RouteContext = /*#__PURE__*/React.createContext({\n  outlet: null,\n  matches: [],\n  isDataRoute: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n  RouteContext.displayName = \"Route\";\n}\nconst RouteErrorContext = /*#__PURE__*/React.createContext(null);\nif (process.env.NODE_ENV !== \"production\") {\n  RouteErrorContext.displayName = \"RouteError\";\n}\n\n/**\n * Returns the full href for the given \"to\" value. This is useful for building\n * custom links that are also accessible and preserve right-click behavior.\n *\n * @see https://reactrouter.com/v6/hooks/use-href\n */\nfunction useHref(to, _temp) {\n  let {\n    relative\n  } = _temp === void 0 ? {} : _temp;\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useHref() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let {\n    basename,\n    navigator\n  } = React.useContext(NavigationContext);\n  let {\n    hash,\n    pathname,\n    search\n  } = useResolvedPath(to, {\n    relative\n  });\n  let joinedPathname = pathname;\n\n  // If we're operating within a basename, prepend it to the pathname prior\n  // to creating the href.  If this is a root navigation, then just use the raw\n  // basename which allows the basename to have full control over the presence\n  // of a trailing slash on root links\n  if (basename !== \"/\") {\n    joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n  }\n  return navigator.createHref({\n    pathname: joinedPathname,\n    search,\n    hash\n  });\n}\n\n/**\n * Returns true if this component is a descendant of a `<Router>`.\n *\n * @see https://reactrouter.com/v6/hooks/use-in-router-context\n */\nfunction useInRouterContext() {\n  return React.useContext(LocationContext) != null;\n}\n\n/**\n * Returns the current location object, which represents the current URL in web\n * browsers.\n *\n * Note: If you're using this it may mean you're doing some of your own\n * \"routing\" in your app, and we'd like to know what your use case is. We may\n * be able to provide something higher-level to better suit your needs.\n *\n * @see https://reactrouter.com/v6/hooks/use-location\n */\nfunction useLocation() {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useLocation() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  return React.useContext(LocationContext).location;\n}\n\n/**\n * Returns the current navigation action which describes how the router came to\n * the current location, either by a pop, push, or replace on the history stack.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigation-type\n */\nfunction useNavigationType() {\n  return React.useContext(LocationContext).navigationType;\n}\n\n/**\n * Returns a PathMatch object if the given pattern matches the current URL.\n * This is useful for components that need to know \"active\" state, e.g.\n * `<NavLink>`.\n *\n * @see https://reactrouter.com/v6/hooks/use-match\n */\nfunction useMatch(pattern) {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useMatch() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let {\n    pathname\n  } = useLocation();\n  return React.useMemo(() => matchPath(pattern, UNSAFE_decodePath(pathname)), [pathname, pattern]);\n}\n\n/**\n * The interface for the navigate() function returned from useNavigate().\n */\n\nconst navigateEffectWarning = \"You should call navigate() in a React.useEffect(), not when \" + \"your component is first rendered.\";\n\n// Mute warnings for calls to useNavigate in SSR environments\nfunction useIsomorphicLayoutEffect(cb) {\n  let isStatic = React.useContext(NavigationContext).static;\n  if (!isStatic) {\n    // We should be able to get rid of this once react 18.3 is released\n    // See: https://github.com/facebook/react/pull/26395\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(cb);\n  }\n}\n\n/**\n * Returns an imperative method for changing the location. Used by `<Link>`s, but\n * may also be used by other elements to change the location.\n *\n * @see https://reactrouter.com/v6/hooks/use-navigate\n */\nfunction useNavigate() {\n  let {\n    isDataRoute\n  } = React.useContext(RouteContext);\n  // Conditional usage is OK here because the usage of a data router is static\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useNavigate() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let dataRouterContext = React.useContext(DataRouterContext);\n  let {\n    basename,\n    future,\n    navigator\n  } = React.useContext(NavigationContext);\n  let {\n    matches\n  } = React.useContext(RouteContext);\n  let {\n    pathname: locationPathname\n  } = useLocation();\n  let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n  let activeRef = React.useRef(false);\n  useIsomorphicLayoutEffect(() => {\n    activeRef.current = true;\n  });\n  let navigate = React.useCallback(function (to, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n    // Short circuit here since if this happens on first render the navigate\n    // is useless because we haven't wired up our history listener yet\n    if (!activeRef.current) return;\n    if (typeof to === \"number\") {\n      navigator.go(to);\n      return;\n    }\n    let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n\n    // If we're operating within a basename, prepend it to the pathname prior\n    // to handing off to history (but only if we're not in a data router,\n    // otherwise it'll prepend the basename inside of the router).\n    // If this is a root navigation, then we navigate to the raw basename\n    // which allows the basename to have full control over the presence of a\n    // trailing slash on root links\n    if (dataRouterContext == null && basename !== \"/\") {\n      path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n    }\n    (!!options.replace ? navigator.replace : navigator.push)(path, options.state, options);\n  }, [basename, navigator, routePathnamesJson, locationPathname, dataRouterContext]);\n  return navigate;\n}\nconst OutletContext = /*#__PURE__*/React.createContext(null);\n\n/**\n * Returns the context (if provided) for the child route at this level of the route\n * hierarchy.\n * @see https://reactrouter.com/v6/hooks/use-outlet-context\n */\nfunction useOutletContext() {\n  return React.useContext(OutletContext);\n}\n\n/**\n * Returns the element for the child route at this level of the route\n * hierarchy. Used internally by `<Outlet>` to render child routes.\n *\n * @see https://reactrouter.com/v6/hooks/use-outlet\n */\nfunction useOutlet(context) {\n  let outlet = React.useContext(RouteContext).outlet;\n  if (outlet) {\n    return /*#__PURE__*/React.createElement(OutletContext.Provider, {\n      value: context\n    }, outlet);\n  }\n  return outlet;\n}\n\n/**\n * Returns an object of key/value pairs of the dynamic params from the current\n * URL that were matched by the route path.\n *\n * @see https://reactrouter.com/v6/hooks/use-params\n */\nfunction useParams() {\n  let {\n    matches\n  } = React.useContext(RouteContext);\n  let routeMatch = matches[matches.length - 1];\n  return routeMatch ? routeMatch.params : {};\n}\n\n/**\n * Resolves the pathname of the given `to` value against the current location.\n *\n * @see https://reactrouter.com/v6/hooks/use-resolved-path\n */\nfunction useResolvedPath(to, _temp2) {\n  let {\n    relative\n  } = _temp2 === void 0 ? {} : _temp2;\n  let {\n    future\n  } = React.useContext(NavigationContext);\n  let {\n    matches\n  } = React.useContext(RouteContext);\n  let {\n    pathname: locationPathname\n  } = useLocation();\n  let routePathnamesJson = JSON.stringify(UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath));\n  return React.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\n\n/**\n * Returns the element of the route that matched the current location, prepared\n * with the correct context to render the remainder of the route tree. Route\n * elements in the tree must render an `<Outlet>` to render their child route's\n * element.\n *\n * @see https://reactrouter.com/v6/hooks/use-routes\n */\nfunction useRoutes(routes, locationArg) {\n  return useRoutesImpl(routes, locationArg);\n}\n\n// Internal implementation with accept optional param for RouterProvider usage\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of the\n  // router loaded. We can help them understand how to avoid that.\n  \"useRoutes() may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let {\n    navigator,\n    static: isStatic\n  } = React.useContext(NavigationContext);\n  let {\n    matches: parentMatches\n  } = React.useContext(RouteContext);\n  let routeMatch = parentMatches[parentMatches.length - 1];\n  let parentParams = routeMatch ? routeMatch.params : {};\n  let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n  let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n  let parentRoute = routeMatch && routeMatch.route;\n  if (process.env.NODE_ENV !== \"production\") {\n    // You won't get a warning about 2 different <Routes> under a <Route>\n    // without a trailing *, but this is a best-effort warning anyway since we\n    // cannot even give the warning unless they land at the parent route.\n    //\n    // Example:\n    //\n    // <Routes>\n    //   {/* This route path MUST end with /* because otherwise\n    //       it will never match /blog/post/123 */}\n    //   <Route path=\"blog\" element={<Blog />} />\n    //   <Route path=\"blog/feed\" element={<BlogFeed />} />\n    // </Routes>\n    //\n    // function Blog() {\n    //   return (\n    //     <Routes>\n    //       <Route path=\"post/:id\" element={<Post />} />\n    //     </Routes>\n    //   );\n    // }\n    let parentPath = parentRoute && parentRoute.path || \"\";\n    warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\"), \"You rendered descendant <Routes> (or called `useRoutes()`) at \" + (\"\\\"\" + parentPathname + \"\\\" (under <Route path=\\\"\" + parentPath + \"\\\">) but the \") + \"parent route path has no trailing \\\"*\\\". This means if you navigate \" + \"deeper, the parent won't match anymore and therefore the child \" + \"routes will never render.\\n\\n\" + (\"Please change the parent <Route path=\\\"\" + parentPath + \"\\\"> to <Route \") + (\"path=\\\"\" + (parentPath === \"/\" ? \"*\" : parentPath + \"/*\") + \"\\\">.\"));\n  }\n  let locationFromContext = useLocation();\n  let location;\n  if (locationArg) {\n    var _parsedLocationArg$pa;\n    let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n    !(parentPathnameBase === \"/\" || ((_parsedLocationArg$pa = parsedLocationArg.pathname) == null ? void 0 : _parsedLocationArg$pa.startsWith(parentPathnameBase))) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"When overriding the location using `<Routes location>` or `useRoutes(routes, location)`, \" + \"the location pathname must begin with the portion of the URL pathname that was \" + (\"matched by all parent routes. The current pathname base is \\\"\" + parentPathnameBase + \"\\\" \") + (\"but pathname \\\"\" + parsedLocationArg.pathname + \"\\\" was given in the `location` prop.\")) : UNSAFE_invariant(false) : void 0;\n    location = parsedLocationArg;\n  } else {\n    location = locationFromContext;\n  }\n  let pathname = location.pathname || \"/\";\n  let remainingPathname = pathname;\n  if (parentPathnameBase !== \"/\") {\n    // Determine the remaining pathname by removing the # of URL segments the\n    // parentPathnameBase has, instead of removing based on character count.\n    // This is because we can't guarantee that incoming/outgoing encodings/\n    // decodings will match exactly.\n    // We decode paths before matching on a per-segment basis with\n    // decodeURIComponent(), but we re-encode pathnames via `new URL()` so they\n    // match what `window.location.pathname` would reflect.  Those don't 100%\n    // align when it comes to encoded URI characters such as % and &.\n    //\n    // So we may end up with:\n    //   pathname:           \"/descendant/a%25b/match\"\n    //   parentPathnameBase: \"/descendant/a%b\"\n    //\n    // And the direct substring removal approach won't work :/\n    let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n    let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n    remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n  }\n  let matches = !isStatic && dataRouterState && dataRouterState.matches && dataRouterState.matches.length > 0 ? dataRouterState.matches : matchRoutes(routes, {\n    pathname: remainingPathname\n  });\n  if (process.env.NODE_ENV !== \"production\") {\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(parentRoute || matches != null, \"No routes matched location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \") : void 0;\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(matches == null || matches[matches.length - 1].route.element !== undefined || matches[matches.length - 1].route.Component !== undefined || matches[matches.length - 1].route.lazy !== undefined, \"Matched leaf route at location \\\"\" + location.pathname + location.search + location.hash + \"\\\" \" + \"does not have an element or Component. This means it will render an <Outlet /> with a \" + \"null value by default resulting in an \\\"empty\\\" page.\") : void 0;\n  }\n  let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n    params: Object.assign({}, parentParams, match.params),\n    pathname: joinPaths([parentPathnameBase,\n    // Re-encode pathnames that were decoded inside matchRoutes\n    navigator.encodeLocation ? navigator.encodeLocation(match.pathname).pathname : match.pathname]),\n    pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase,\n    // Re-encode pathnames that were decoded inside matchRoutes\n    navigator.encodeLocation ? navigator.encodeLocation(match.pathnameBase).pathname : match.pathnameBase])\n  })), parentMatches, dataRouterState, future);\n\n  // When a user passes in a `locationArg`, the associated routes need to\n  // be wrapped in a new `LocationContext.Provider` in order for `useLocation`\n  // to use the scoped location instead of the global location.\n  if (locationArg && renderedMatches) {\n    return /*#__PURE__*/React.createElement(LocationContext.Provider, {\n      value: {\n        location: _extends({\n          pathname: \"/\",\n          search: \"\",\n          hash: \"\",\n          state: null,\n          key: \"default\"\n        }, location),\n        navigationType: Action.Pop\n      }\n    }, renderedMatches);\n  }\n  return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n  let error = useRouteError();\n  let message = isRouteErrorResponse(error) ? error.status + \" \" + error.statusText : error instanceof Error ? error.message : JSON.stringify(error);\n  let stack = error instanceof Error ? error.stack : null;\n  let lightgrey = \"rgba(200,200,200, 0.5)\";\n  let preStyles = {\n    padding: \"0.5rem\",\n    backgroundColor: lightgrey\n  };\n  let codeStyles = {\n    padding: \"2px 4px\",\n    backgroundColor: lightgrey\n  };\n  let devInfo = null;\n  if (process.env.NODE_ENV !== \"production\") {\n    console.error(\"Error handled by React Router default ErrorBoundary:\", error);\n    devInfo = /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"p\", null, \"\\uD83D\\uDCBF Hey developer \\uD83D\\uDC4B\"), /*#__PURE__*/React.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /*#__PURE__*/React.createElement(\"code\", {\n      style: codeStyles\n    }, \"ErrorBoundary\"), \" or\", \" \", /*#__PURE__*/React.createElement(\"code\", {\n      style: codeStyles\n    }, \"errorElement\"), \" prop on your route.\"));\n  }\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(\"h2\", null, \"Unexpected Application Error!\"), /*#__PURE__*/React.createElement(\"h3\", {\n    style: {\n      fontStyle: \"italic\"\n    }\n  }, message), stack ? /*#__PURE__*/React.createElement(\"pre\", {\n    style: preStyles\n  }, stack) : null, devInfo);\n}\nconst defaultErrorElement = /*#__PURE__*/React.createElement(DefaultErrorComponent, null);\nclass RenderErrorBoundary extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      location: props.location,\n      revalidation: props.revalidation,\n      error: props.error\n    };\n  }\n  static getDerivedStateFromError(error) {\n    return {\n      error: error\n    };\n  }\n  static getDerivedStateFromProps(props, state) {\n    // When we get into an error state, the user will likely click \"back\" to the\n    // previous page that didn't have an error. Because this wraps the entire\n    // application, that will have no effect--the error page continues to display.\n    // This gives us a mechanism to recover from the error when the location changes.\n    //\n    // Whether we're in an error state or not, we update the location in state\n    // so that when we are in an error state, it gets reset when a new location\n    // comes in and the user recovers from the error.\n    if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n      return {\n        error: props.error,\n        location: props.location,\n        revalidation: props.revalidation\n      };\n    }\n\n    // If we're not changing locations, preserve the location but still surface\n    // any new errors that may come through. We retain the existing error, we do\n    // this because the error provided from the app state may be cleared without\n    // the location changing.\n    return {\n      error: props.error !== undefined ? props.error : state.error,\n      location: state.location,\n      revalidation: props.revalidation || state.revalidation\n    };\n  }\n  componentDidCatch(error, errorInfo) {\n    console.error(\"React Router caught the following error during render\", error, errorInfo);\n  }\n  render() {\n    return this.state.error !== undefined ? /*#__PURE__*/React.createElement(RouteContext.Provider, {\n      value: this.props.routeContext\n    }, /*#__PURE__*/React.createElement(RouteErrorContext.Provider, {\n      value: this.state.error,\n      children: this.props.component\n    })) : this.props.children;\n  }\n}\nfunction RenderedRoute(_ref) {\n  let {\n    routeContext,\n    match,\n    children\n  } = _ref;\n  let dataRouterContext = React.useContext(DataRouterContext);\n\n  // Track how deep we got in our render pass to emulate SSR componentDidCatch\n  // in a DataStaticRouter\n  if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n    dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n  }\n  return /*#__PURE__*/React.createElement(RouteContext.Provider, {\n    value: routeContext\n  }, children);\n}\nfunction _renderMatches(matches, parentMatches, dataRouterState, future) {\n  var _dataRouterState;\n  if (parentMatches === void 0) {\n    parentMatches = [];\n  }\n  if (dataRouterState === void 0) {\n    dataRouterState = null;\n  }\n  if (future === void 0) {\n    future = null;\n  }\n  if (matches == null) {\n    var _future;\n    if (!dataRouterState) {\n      return null;\n    }\n    if (dataRouterState.errors) {\n      // Don't bail if we have data router errors so we can render them in the\n      // boundary.  Use the pre-matched (or shimmed) matches\n      matches = dataRouterState.matches;\n    } else if ((_future = future) != null && _future.v7_partialHydration && parentMatches.length === 0 && !dataRouterState.initialized && dataRouterState.matches.length > 0) {\n      // Don't bail if we're initializing with partial hydration and we have\n      // router matches.  That means we're actively running `patchRoutesOnNavigation`\n      // so we should render down the partial matches to the appropriate\n      // `HydrateFallback`.  We only do this if `parentMatches` is empty so it\n      // only impacts the root matches for `RouterProvider` and no descendant\n      // `<Routes>`\n      matches = dataRouterState.matches;\n    } else {\n      return null;\n    }\n  }\n  let renderedMatches = matches;\n\n  // If we have data errors, trim matches to the highest error boundary\n  let errors = (_dataRouterState = dataRouterState) == null ? void 0 : _dataRouterState.errors;\n  if (errors != null) {\n    let errorIndex = renderedMatches.findIndex(m => m.route.id && (errors == null ? void 0 : errors[m.route.id]) !== undefined);\n    !(errorIndex >= 0) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"Could not find a matching route for errors on route IDs: \" + Object.keys(errors).join(\",\")) : UNSAFE_invariant(false) : void 0;\n    renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n  }\n\n  // If we're in a partial hydration mode, detect if we need to render down to\n  // a given HydrateFallback while we load the rest of the hydration data\n  let renderFallback = false;\n  let fallbackIndex = -1;\n  if (dataRouterState && future && future.v7_partialHydration) {\n    for (let i = 0; i < renderedMatches.length; i++) {\n      let match = renderedMatches[i];\n      // Track the deepest fallback up until the first route without data\n      if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n        fallbackIndex = i;\n      }\n      if (match.route.id) {\n        let {\n          loaderData,\n          errors\n        } = dataRouterState;\n        let needsToRunLoader = match.route.loader && loaderData[match.route.id] === undefined && (!errors || errors[match.route.id] === undefined);\n        if (match.route.lazy || needsToRunLoader) {\n          // We found the first route that's not ready to render (waiting on\n          // lazy, or has a loader that hasn't run yet).  Flag that we need to\n          // render a fallback and render up until the appropriate fallback\n          renderFallback = true;\n          if (fallbackIndex >= 0) {\n            renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n          } else {\n            renderedMatches = [renderedMatches[0]];\n          }\n          break;\n        }\n      }\n    }\n  }\n  return renderedMatches.reduceRight((outlet, match, index) => {\n    // Only data routers handle errors/fallbacks\n    let error;\n    let shouldRenderHydrateFallback = false;\n    let errorElement = null;\n    let hydrateFallbackElement = null;\n    if (dataRouterState) {\n      error = errors && match.route.id ? errors[match.route.id] : undefined;\n      errorElement = match.route.errorElement || defaultErrorElement;\n      if (renderFallback) {\n        if (fallbackIndex < 0 && index === 0) {\n          warningOnce(\"route-fallback\", false, \"No `HydrateFallback` element provided to render during initial hydration\");\n          shouldRenderHydrateFallback = true;\n          hydrateFallbackElement = null;\n        } else if (fallbackIndex === index) {\n          shouldRenderHydrateFallback = true;\n          hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n        }\n      }\n    }\n    let matches = parentMatches.concat(renderedMatches.slice(0, index + 1));\n    let getChildren = () => {\n      let children;\n      if (error) {\n        children = errorElement;\n      } else if (shouldRenderHydrateFallback) {\n        children = hydrateFallbackElement;\n      } else if (match.route.Component) {\n        // Note: This is a de-optimized path since React won't re-use the\n        // ReactElement since it's identity changes with each new\n        // React.createElement call.  We keep this so folks can use\n        // `<Route Component={...}>` in `<Routes>` but generally `Component`\n        // usage is only advised in `RouterProvider` when we can convert it to\n        // `element` ahead of time.\n        children = /*#__PURE__*/React.createElement(match.route.Component, null);\n      } else if (match.route.element) {\n        children = match.route.element;\n      } else {\n        children = outlet;\n      }\n      return /*#__PURE__*/React.createElement(RenderedRoute, {\n        match: match,\n        routeContext: {\n          outlet,\n          matches,\n          isDataRoute: dataRouterState != null\n        },\n        children: children\n      });\n    };\n    // Only wrap in an error boundary within data router usages when we have an\n    // ErrorBoundary/errorElement on this route.  Otherwise let it bubble up to\n    // an ancestor ErrorBoundary/errorElement\n    return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /*#__PURE__*/React.createElement(RenderErrorBoundary, {\n      location: dataRouterState.location,\n      revalidation: dataRouterState.revalidation,\n      component: errorElement,\n      error: error,\n      children: getChildren(),\n      routeContext: {\n        outlet: null,\n        matches,\n        isDataRoute: true\n      }\n    }) : getChildren();\n  }, null);\n}\nvar DataRouterHook = /*#__PURE__*/function (DataRouterHook) {\n  DataRouterHook[\"UseBlocker\"] = \"useBlocker\";\n  DataRouterHook[\"UseRevalidator\"] = \"useRevalidator\";\n  DataRouterHook[\"UseNavigateStable\"] = \"useNavigate\";\n  return DataRouterHook;\n}(DataRouterHook || {});\nvar DataRouterStateHook = /*#__PURE__*/function (DataRouterStateHook) {\n  DataRouterStateHook[\"UseBlocker\"] = \"useBlocker\";\n  DataRouterStateHook[\"UseLoaderData\"] = \"useLoaderData\";\n  DataRouterStateHook[\"UseActionData\"] = \"useActionData\";\n  DataRouterStateHook[\"UseRouteError\"] = \"useRouteError\";\n  DataRouterStateHook[\"UseNavigation\"] = \"useNavigation\";\n  DataRouterStateHook[\"UseRouteLoaderData\"] = \"useRouteLoaderData\";\n  DataRouterStateHook[\"UseMatches\"] = \"useMatches\";\n  DataRouterStateHook[\"UseRevalidator\"] = \"useRevalidator\";\n  DataRouterStateHook[\"UseNavigateStable\"] = \"useNavigate\";\n  DataRouterStateHook[\"UseRouteId\"] = \"useRouteId\";\n  return DataRouterStateHook;\n}(DataRouterStateHook || {});\nfunction getDataRouterConsoleError(hookName) {\n  return hookName + \" must be used within a data router.  See https://reactrouter.com/v6/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n  let ctx = React.useContext(DataRouterContext);\n  !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return ctx;\n}\nfunction useDataRouterState(hookName) {\n  let state = React.useContext(DataRouterStateContext);\n  !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return state;\n}\nfunction useRouteContext(hookName) {\n  let route = React.useContext(RouteContext);\n  !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return route;\n}\n\n// Internal version with hookName-aware debugging\nfunction useCurrentRouteId(hookName) {\n  let route = useRouteContext(hookName);\n  let thisRoute = route.matches[route.matches.length - 1];\n  !thisRoute.route.id ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, hookName + \" can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n  return thisRoute.route.id;\n}\n\n/**\n * Returns the ID for the nearest contextual route\n */\nfunction useRouteId() {\n  return useCurrentRouteId(DataRouterStateHook.UseRouteId);\n}\n\n/**\n * Returns the current navigation, defaulting to an \"idle\" navigation when\n * no navigation is in progress\n */\nfunction useNavigation() {\n  let state = useDataRouterState(DataRouterStateHook.UseNavigation);\n  return state.navigation;\n}\n\n/**\n * Returns a revalidate function for manually triggering revalidation, as well\n * as the current state of any manual revalidations\n */\nfunction useRevalidator() {\n  let dataRouterContext = useDataRouterContext(DataRouterHook.UseRevalidator);\n  let state = useDataRouterState(DataRouterStateHook.UseRevalidator);\n  return React.useMemo(() => ({\n    revalidate: dataRouterContext.router.revalidate,\n    state: state.revalidation\n  }), [dataRouterContext.router.revalidate, state.revalidation]);\n}\n\n/**\n * Returns the active route matches, useful for accessing loaderData for\n * parent/child routes or the route \"handle\" property\n */\nfunction useMatches() {\n  let {\n    matches,\n    loaderData\n  } = useDataRouterState(DataRouterStateHook.UseMatches);\n  return React.useMemo(() => matches.map(m => UNSAFE_convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\n\n/**\n * Returns the loader data for the nearest ancestor Route loader\n */\nfunction useLoaderData() {\n  let state = useDataRouterState(DataRouterStateHook.UseLoaderData);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n  if (state.errors && state.errors[routeId] != null) {\n    console.error(\"You cannot `useLoaderData` in an errorElement (routeId: \" + routeId + \")\");\n    return undefined;\n  }\n  return state.loaderData[routeId];\n}\n\n/**\n * Returns the loaderData for the given routeId\n */\nfunction useRouteLoaderData(routeId) {\n  let state = useDataRouterState(DataRouterStateHook.UseRouteLoaderData);\n  return state.loaderData[routeId];\n}\n\n/**\n * Returns the action data for the nearest ancestor Route action\n */\nfunction useActionData() {\n  let state = useDataRouterState(DataRouterStateHook.UseActionData);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseLoaderData);\n  return state.actionData ? state.actionData[routeId] : undefined;\n}\n\n/**\n * Returns the nearest ancestor Route error, which could be a loader/action\n * error or a render error.  This is intended to be called from your\n * ErrorBoundary/errorElement to display a proper error message.\n */\nfunction useRouteError() {\n  var _state$errors;\n  let error = React.useContext(RouteErrorContext);\n  let state = useDataRouterState(DataRouterStateHook.UseRouteError);\n  let routeId = useCurrentRouteId(DataRouterStateHook.UseRouteError);\n\n  // If this was a render error, we put it in a RouteError context inside\n  // of RenderErrorBoundary\n  if (error !== undefined) {\n    return error;\n  }\n\n  // Otherwise look for errors from our data router state\n  return (_state$errors = state.errors) == null ? void 0 : _state$errors[routeId];\n}\n\n/**\n * Returns the happy-path data from the nearest ancestor `<Await />` value\n */\nfunction useAsyncValue() {\n  let value = React.useContext(AwaitContext);\n  return value == null ? void 0 : value._data;\n}\n\n/**\n * Returns the error from the nearest ancestor `<Await />` value\n */\nfunction useAsyncError() {\n  let value = React.useContext(AwaitContext);\n  return value == null ? void 0 : value._error;\n}\nlet blockerId = 0;\n\n/**\n * Allow the application to block navigations within the SPA and present the\n * user a confirmation dialog to confirm the navigation.  Mostly used to avoid\n * using half-filled form data.  This does not handle hard-reloads or\n * cross-origin navigations.\n */\nfunction useBlocker(shouldBlock) {\n  let {\n    router,\n    basename\n  } = useDataRouterContext(DataRouterHook.UseBlocker);\n  let state = useDataRouterState(DataRouterStateHook.UseBlocker);\n  let [blockerKey, setBlockerKey] = React.useState(\"\");\n  let blockerFunction = React.useCallback(arg => {\n    if (typeof shouldBlock !== \"function\") {\n      return !!shouldBlock;\n    }\n    if (basename === \"/\") {\n      return shouldBlock(arg);\n    }\n\n    // If they provided us a function and we've got an active basename, strip\n    // it from the locations we expose to the user to match the behavior of\n    // useLocation\n    let {\n      currentLocation,\n      nextLocation,\n      historyAction\n    } = arg;\n    return shouldBlock({\n      currentLocation: _extends({}, currentLocation, {\n        pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n      }),\n      nextLocation: _extends({}, nextLocation, {\n        pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n      }),\n      historyAction\n    });\n  }, [basename, shouldBlock]);\n\n  // This effect is in charge of blocker key assignment and deletion (which is\n  // tightly coupled to the key)\n  React.useEffect(() => {\n    let key = String(++blockerId);\n    setBlockerKey(key);\n    return () => router.deleteBlocker(key);\n  }, [router]);\n\n  // This effect handles assigning the blockerFunction.  This is to handle\n  // unstable blocker function identities, and happens only after the prior\n  // effect so we don't get an orphaned blockerFunction in the router with a\n  // key of \"\".  Until then we just have the IDLE_BLOCKER.\n  React.useEffect(() => {\n    if (blockerKey !== \"\") {\n      router.getBlocker(blockerKey, blockerFunction);\n    }\n  }, [router, blockerKey, blockerFunction]);\n\n  // Prefer the blocker from `state` not `router.state` since DataRouterContext\n  // is memoized so this ensures we update on blocker state updates\n  return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\n\n/**\n * Stable version of useNavigate that is used when we are in the context of\n * a RouterProvider.\n */\nfunction useNavigateStable() {\n  let {\n    router\n  } = useDataRouterContext(DataRouterHook.UseNavigateStable);\n  let id = useCurrentRouteId(DataRouterStateHook.UseNavigateStable);\n  let activeRef = React.useRef(false);\n  useIsomorphicLayoutEffect(() => {\n    activeRef.current = true;\n  });\n  let navigate = React.useCallback(function (to, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(activeRef.current, navigateEffectWarning) : void 0;\n\n    // Short circuit here since if this happens on first render the navigate\n    // is useless because we haven't wired up our router subscriber yet\n    if (!activeRef.current) return;\n    if (typeof to === \"number\") {\n      router.navigate(to);\n    } else {\n      router.navigate(to, _extends({\n        fromRouteId: id\n      }, options));\n    }\n  }, [router, id]);\n  return navigate;\n}\nconst alreadyWarned$1 = {};\nfunction warningOnce(key, cond, message) {\n  if (!cond && !alreadyWarned$1[key]) {\n    alreadyWarned$1[key] = true;\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, message) : void 0;\n  }\n}\n\nconst alreadyWarned = {};\nfunction warnOnce(key, message) {\n  if (process.env.NODE_ENV !== \"production\" && !alreadyWarned[message]) {\n    alreadyWarned[message] = true;\n    console.warn(message);\n  }\n}\nconst logDeprecation = (flag, msg, link) => warnOnce(flag, \"\\u26A0\\uFE0F React Router Future Flag Warning: \" + msg + \". \" + (\"You can use the `\" + flag + \"` future flag to opt-in early. \") + (\"For more information, see \" + link + \".\"));\nfunction logV6DeprecationWarnings(renderFuture, routerFuture) {\n  if ((renderFuture == null ? void 0 : renderFuture.v7_startTransition) === undefined) {\n    logDeprecation(\"v7_startTransition\", \"React Router will begin wrapping state updates in `React.startTransition` in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_starttransition\");\n  }\n  if ((renderFuture == null ? void 0 : renderFuture.v7_relativeSplatPath) === undefined && (!routerFuture || !routerFuture.v7_relativeSplatPath)) {\n    logDeprecation(\"v7_relativeSplatPath\", \"Relative route resolution within Splat routes is changing in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_relativesplatpath\");\n  }\n  if (routerFuture) {\n    if (routerFuture.v7_fetcherPersist === undefined) {\n      logDeprecation(\"v7_fetcherPersist\", \"The persistence behavior of fetchers is changing in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_fetcherpersist\");\n    }\n    if (routerFuture.v7_normalizeFormMethod === undefined) {\n      logDeprecation(\"v7_normalizeFormMethod\", \"Casing of `formMethod` fields is being normalized to uppercase in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_normalizeformmethod\");\n    }\n    if (routerFuture.v7_partialHydration === undefined) {\n      logDeprecation(\"v7_partialHydration\", \"`RouterProvider` hydration behavior is changing in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_partialhydration\");\n    }\n    if (routerFuture.v7_skipActionErrorRevalidation === undefined) {\n      logDeprecation(\"v7_skipActionErrorRevalidation\", \"The revalidation behavior after 4xx/5xx `action` responses is changing in v7\", \"https://reactrouter.com/v6/upgrading/future#v7_skipactionerrorrevalidation\");\n    }\n  }\n}\n\n/**\n  Webpack + React 17 fails to compile on any of the following because webpack\n  complains that `startTransition` doesn't exist in `React`:\n  * import { startTransition } from \"react\"\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n  Moving it to a constant such as the following solves the Webpack/React 17 issue:\n  * import * as React from from \"react\";\n    const START_TRANSITION = \"startTransition\";\n    START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n  However, that introduces webpack/terser minification issues in production builds\n  in React 18 where minification/obfuscation ends up removing the call of\n  React.startTransition entirely from the first half of the ternary.  Grabbing\n  this exported reference once up front resolves that issue.\n\n  See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\n\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n  let {\n    fallbackElement,\n    router,\n    future\n  } = _ref;\n  let [state, setStateImpl] = React.useState(router.state);\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    if (v7_startTransition && startTransitionImpl) {\n      startTransitionImpl(() => setStateImpl(newState));\n    } else {\n      setStateImpl(newState);\n    }\n  }, [setStateImpl, v7_startTransition]);\n\n  // Need to use a layout effect here so we are subscribed early enough to\n  // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n  React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n  React.useEffect(() => {\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`<RouterProvider fallbackElement>` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n    // Only log this once on initial mount\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n  let navigator = React.useMemo(() => {\n    return {\n      createHref: router.createHref,\n      encodeLocation: router.encodeLocation,\n      go: n => router.navigate(n),\n      push: (to, state, opts) => router.navigate(to, {\n        state,\n        preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n      }),\n      replace: (to, state, opts) => router.navigate(to, {\n        replace: true,\n        state,\n        preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n      })\n    };\n  }, [router]);\n  let basename = router.basename || \"/\";\n  let dataRouterContext = React.useMemo(() => ({\n    router,\n    navigator,\n    static: false,\n    basename\n  }), [router, navigator, basename]);\n  React.useEffect(() => logV6DeprecationWarnings(future, router.future), [router, future]);\n\n  // The fragment and {null} here are important!  We need them to keep React 18's\n  // useId happy when we are server-rendering since we may have a <script> here\n  // containing the hydrated server-side staticContext (from StaticRouterProvider).\n  // useId relies on the component tree structure to generate deterministic id's\n  // so we need to ensure it remains the same on the client even though\n  // we don't need the <script> tag\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(DataRouterContext.Provider, {\n    value: dataRouterContext\n  }, /*#__PURE__*/React.createElement(DataRouterStateContext.Provider, {\n    value: state\n  }, /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    location: state.location,\n    navigationType: state.historyAction,\n    navigator: navigator,\n    future: {\n      v7_relativeSplatPath: router.future.v7_relativeSplatPath\n    }\n  }, state.initialized || router.future.v7_partialHydration ? /*#__PURE__*/React.createElement(DataRoutes, {\n    routes: router.routes,\n    future: router.future,\n    state: state\n  }) : fallbackElement))), null);\n}\nfunction DataRoutes(_ref2) {\n  let {\n    routes,\n    future,\n    state\n  } = _ref2;\n  return useRoutesImpl(routes, undefined, state, future);\n}\n/**\n * A `<Router>` that stores all entries in memory.\n *\n * @see https://reactrouter.com/v6/router-components/memory-router\n */\nfunction MemoryRouter(_ref3) {\n  let {\n    basename,\n    children,\n    initialEntries,\n    initialIndex,\n    future\n  } = _ref3;\n  let historyRef = React.useRef();\n  if (historyRef.current == null) {\n    historyRef.current = createMemoryHistory({\n      initialEntries,\n      initialIndex,\n      v5Compat: true\n    });\n  }\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location\n  });\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n  }, [setStateImpl, v7_startTransition]);\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n  React.useEffect(() => logV6DeprecationWarnings(future), [future]);\n  return /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history,\n    future: future\n  });\n}\n/**\n * Changes the current location.\n *\n * Note: This API is mostly useful in React.Component subclasses that are not\n * able to use hooks. In functional components, we recommend you use the\n * `useNavigate` hook instead.\n *\n * @see https://reactrouter.com/v6/components/navigate\n */\nfunction Navigate(_ref4) {\n  let {\n    to,\n    replace,\n    state,\n    relative\n  } = _ref4;\n  !useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, // TODO: This error is probably because they somehow have 2 versions of\n  // the router loaded. We can help them understand how to avoid that.\n  \"<Navigate> may be used only in the context of a <Router> component.\") : UNSAFE_invariant(false) : void 0;\n  let {\n    future,\n    static: isStatic\n  } = React.useContext(NavigationContext);\n  process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(!isStatic, \"<Navigate> must not be used on the initial render in a <StaticRouter>. \" + \"This is a no-op, but you should modify your code so the <Navigate> is \" + \"only ever rendered in response to some user interaction or state change.\") : void 0;\n  let {\n    matches\n  } = React.useContext(RouteContext);\n  let {\n    pathname: locationPathname\n  } = useLocation();\n  let navigate = useNavigate();\n\n  // Resolve the path outside of the effect so that when effects run twice in\n  // StrictMode they navigate to the same place\n  let path = resolveTo(to, UNSAFE_getResolveToMatches(matches, future.v7_relativeSplatPath), locationPathname, relative === \"path\");\n  let jsonPath = JSON.stringify(path);\n  React.useEffect(() => navigate(JSON.parse(jsonPath), {\n    replace,\n    state,\n    relative\n  }), [navigate, jsonPath, relative, replace, state]);\n  return null;\n}\n/**\n * Renders the child route's element, if there is one.\n *\n * @see https://reactrouter.com/v6/components/outlet\n */\nfunction Outlet(props) {\n  return useOutlet(props.context);\n}\n/**\n * Declares an element that should be rendered at a certain URL path.\n *\n * @see https://reactrouter.com/v6/components/route\n */\nfunction Route(_props) {\n  process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"A <Route> is only ever to be used as the child of <Routes> element, \" + \"never rendered directly. Please wrap your <Route> in a <Routes>.\") : UNSAFE_invariant(false) ;\n}\n/**\n * Provides location context for the rest of the app.\n *\n * Note: You usually won't render a `<Router>` directly. Instead, you'll render a\n * router that is more specific to your environment such as a `<BrowserRouter>`\n * in web browsers or a `<StaticRouter>` for server rendering.\n *\n * @see https://reactrouter.com/v6/router-components/router\n */\nfunction Router(_ref5) {\n  let {\n    basename: basenameProp = \"/\",\n    children = null,\n    location: locationProp,\n    navigationType = Action.Pop,\n    navigator,\n    static: staticProp = false,\n    future\n  } = _ref5;\n  !!useInRouterContext() ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"You cannot render a <Router> inside another <Router>.\" + \" You should never have more than one in your app.\") : UNSAFE_invariant(false) : void 0;\n\n  // Preserve trailing slashes on basename, so we can let the user control\n  // the enforcement of trailing slashes throughout the app\n  let basename = basenameProp.replace(/^\\/*/, \"/\");\n  let navigationContext = React.useMemo(() => ({\n    basename,\n    navigator,\n    static: staticProp,\n    future: _extends({\n      v7_relativeSplatPath: false\n    }, future)\n  }), [basename, future, navigator, staticProp]);\n  if (typeof locationProp === \"string\") {\n    locationProp = parsePath(locationProp);\n  }\n  let {\n    pathname = \"/\",\n    search = \"\",\n    hash = \"\",\n    state = null,\n    key = \"default\"\n  } = locationProp;\n  let locationContext = React.useMemo(() => {\n    let trailingPathname = stripBasename(pathname, basename);\n    if (trailingPathname == null) {\n      return null;\n    }\n    return {\n      location: {\n        pathname: trailingPathname,\n        search,\n        hash,\n        state,\n        key\n      },\n      navigationType\n    };\n  }, [basename, pathname, search, hash, state, key, navigationType]);\n  process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(locationContext != null, \"<Router basename=\\\"\" + basename + \"\\\"> is not able to match the URL \" + (\"\\\"\" + pathname + search + hash + \"\\\" because it does not start with the \") + \"basename, so the <Router> won't render anything.\") : void 0;\n  if (locationContext == null) {\n    return null;\n  }\n  return /*#__PURE__*/React.createElement(NavigationContext.Provider, {\n    value: navigationContext\n  }, /*#__PURE__*/React.createElement(LocationContext.Provider, {\n    children: children,\n    value: locationContext\n  }));\n}\n/**\n * A container for a nested tree of `<Route>` elements that renders the branch\n * that best matches the current location.\n *\n * @see https://reactrouter.com/v6/components/routes\n */\nfunction Routes(_ref6) {\n  let {\n    children,\n    location\n  } = _ref6;\n  return useRoutes(createRoutesFromChildren(children), location);\n}\n/**\n * Component to use for rendering lazily loaded data from returning defer()\n * in a loader function\n */\nfunction Await(_ref7) {\n  let {\n    children,\n    errorElement,\n    resolve\n  } = _ref7;\n  return /*#__PURE__*/React.createElement(AwaitErrorBoundary, {\n    resolve: resolve,\n    errorElement: errorElement\n  }, /*#__PURE__*/React.createElement(ResolveAwait, null, children));\n}\nvar AwaitRenderStatus = /*#__PURE__*/function (AwaitRenderStatus) {\n  AwaitRenderStatus[AwaitRenderStatus[\"pending\"] = 0] = \"pending\";\n  AwaitRenderStatus[AwaitRenderStatus[\"success\"] = 1] = \"success\";\n  AwaitRenderStatus[AwaitRenderStatus[\"error\"] = 2] = \"error\";\n  return AwaitRenderStatus;\n}(AwaitRenderStatus || {});\nconst neverSettledPromise = new Promise(() => {});\nclass AwaitErrorBoundary extends React.Component {\n  constructor(props) {\n    super(props);\n    this.state = {\n      error: null\n    };\n  }\n  static getDerivedStateFromError(error) {\n    return {\n      error\n    };\n  }\n  componentDidCatch(error, errorInfo) {\n    console.error(\"<Await> caught the following error during render\", error, errorInfo);\n  }\n  render() {\n    let {\n      children,\n      errorElement,\n      resolve\n    } = this.props;\n    let promise = null;\n    let status = AwaitRenderStatus.pending;\n    if (!(resolve instanceof Promise)) {\n      // Didn't get a promise - provide as a resolved promise\n      status = AwaitRenderStatus.success;\n      promise = Promise.resolve();\n      Object.defineProperty(promise, \"_tracked\", {\n        get: () => true\n      });\n      Object.defineProperty(promise, \"_data\", {\n        get: () => resolve\n      });\n    } else if (this.state.error) {\n      // Caught a render error, provide it as a rejected promise\n      status = AwaitRenderStatus.error;\n      let renderError = this.state.error;\n      promise = Promise.reject().catch(() => {}); // Avoid unhandled rejection warnings\n      Object.defineProperty(promise, \"_tracked\", {\n        get: () => true\n      });\n      Object.defineProperty(promise, \"_error\", {\n        get: () => renderError\n      });\n    } else if (resolve._tracked) {\n      // Already tracked promise - check contents\n      promise = resolve;\n      status = \"_error\" in promise ? AwaitRenderStatus.error : \"_data\" in promise ? AwaitRenderStatus.success : AwaitRenderStatus.pending;\n    } else {\n      // Raw (untracked) promise - track it\n      status = AwaitRenderStatus.pending;\n      Object.defineProperty(resolve, \"_tracked\", {\n        get: () => true\n      });\n      promise = resolve.then(data => Object.defineProperty(resolve, \"_data\", {\n        get: () => data\n      }), error => Object.defineProperty(resolve, \"_error\", {\n        get: () => error\n      }));\n    }\n    if (status === AwaitRenderStatus.error && promise._error instanceof AbortedDeferredError) {\n      // Freeze the UI by throwing a never resolved promise\n      throw neverSettledPromise;\n    }\n    if (status === AwaitRenderStatus.error && !errorElement) {\n      // No errorElement, throw to the nearest route-level error boundary\n      throw promise._error;\n    }\n    if (status === AwaitRenderStatus.error) {\n      // Render via our errorElement\n      return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n        value: promise,\n        children: errorElement\n      });\n    }\n    if (status === AwaitRenderStatus.success) {\n      // Render children with resolved value\n      return /*#__PURE__*/React.createElement(AwaitContext.Provider, {\n        value: promise,\n        children: children\n      });\n    }\n\n    // Throw to the suspense boundary\n    throw promise;\n  }\n}\n\n/**\n * @private\n * Indirection to leverage useAsyncValue for a render-prop API on `<Await>`\n */\nfunction ResolveAwait(_ref8) {\n  let {\n    children\n  } = _ref8;\n  let data = useAsyncValue();\n  let toRender = typeof children === \"function\" ? children(data) : children;\n  return /*#__PURE__*/React.createElement(React.Fragment, null, toRender);\n}\n\n///////////////////////////////////////////////////////////////////////////////\n// UTILS\n///////////////////////////////////////////////////////////////////////////////\n\n/**\n * Creates a route config from a React \"children\" object, which is usually\n * either a `<Route>` element or an array of them. Used internally by\n * `<Routes>` to create a route config from its children.\n *\n * @see https://reactrouter.com/v6/utils/create-routes-from-children\n */\nfunction createRoutesFromChildren(children, parentPath) {\n  if (parentPath === void 0) {\n    parentPath = [];\n  }\n  let routes = [];\n  React.Children.forEach(children, (element, index) => {\n    if (! /*#__PURE__*/React.isValidElement(element)) {\n      // Ignore non-elements. This allows people to more easily inline\n      // conditionals in their route config.\n      return;\n    }\n    let treePath = [...parentPath, index];\n    if (element.type === React.Fragment) {\n      // Transparently support React.Fragment and its children.\n      routes.push.apply(routes, createRoutesFromChildren(element.props.children, treePath));\n      return;\n    }\n    !(element.type === Route) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"[\" + (typeof element.type === \"string\" ? element.type : element.type.name) + \"] is not a <Route> component. All component children of <Routes> must be a <Route> or <React.Fragment>\") : UNSAFE_invariant(false) : void 0;\n    !(!element.props.index || !element.props.children) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"An index route cannot have child routes.\") : UNSAFE_invariant(false) : void 0;\n    let route = {\n      id: element.props.id || treePath.join(\"-\"),\n      caseSensitive: element.props.caseSensitive,\n      element: element.props.element,\n      Component: element.props.Component,\n      index: element.props.index,\n      path: element.props.path,\n      loader: element.props.loader,\n      action: element.props.action,\n      errorElement: element.props.errorElement,\n      ErrorBoundary: element.props.ErrorBoundary,\n      hasErrorBoundary: element.props.ErrorBoundary != null || element.props.errorElement != null,\n      shouldRevalidate: element.props.shouldRevalidate,\n      handle: element.props.handle,\n      lazy: element.props.lazy\n    };\n    if (element.props.children) {\n      route.children = createRoutesFromChildren(element.props.children, treePath);\n    }\n    routes.push(route);\n  });\n  return routes;\n}\n\n/**\n * Renders the result of `matchRoutes()` into a React element.\n */\nfunction renderMatches(matches) {\n  return _renderMatches(matches);\n}\n\nfunction mapRouteProperties(route) {\n  let updates = {\n    // Note: this check also occurs in createRoutesFromChildren so update\n    // there if you change this -- please and thank you!\n    hasErrorBoundary: route.ErrorBoundary != null || route.errorElement != null\n  };\n  if (route.Component) {\n    if (process.env.NODE_ENV !== \"production\") {\n      if (route.element) {\n        process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `Component` and `element` on your route - \" + \"`Component` will be used.\") : void 0;\n      }\n    }\n    Object.assign(updates, {\n      element: /*#__PURE__*/React.createElement(route.Component),\n      Component: undefined\n    });\n  }\n  if (route.HydrateFallback) {\n    if (process.env.NODE_ENV !== \"production\") {\n      if (route.hydrateFallbackElement) {\n        process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - \" + \"`HydrateFallback` will be used.\") : void 0;\n      }\n    }\n    Object.assign(updates, {\n      hydrateFallbackElement: /*#__PURE__*/React.createElement(route.HydrateFallback),\n      HydrateFallback: undefined\n    });\n  }\n  if (route.ErrorBoundary) {\n    if (process.env.NODE_ENV !== \"production\") {\n      if (route.errorElement) {\n        process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"You should not include both `ErrorBoundary` and `errorElement` on your route - \" + \"`ErrorBoundary` will be used.\") : void 0;\n      }\n    }\n    Object.assign(updates, {\n      errorElement: /*#__PURE__*/React.createElement(route.ErrorBoundary),\n      ErrorBoundary: undefined\n    });\n  }\n  return updates;\n}\nfunction createMemoryRouter(routes, opts) {\n  return createRouter({\n    basename: opts == null ? void 0 : opts.basename,\n    future: _extends({}, opts == null ? void 0 : opts.future, {\n      v7_prependBasename: true\n    }),\n    history: createMemoryHistory({\n      initialEntries: opts == null ? void 0 : opts.initialEntries,\n      initialIndex: opts == null ? void 0 : opts.initialIndex\n    }),\n    hydrationData: opts == null ? void 0 : opts.hydrationData,\n    routes,\n    mapRouteProperties,\n    dataStrategy: opts == null ? void 0 : opts.dataStrategy,\n    patchRoutesOnNavigation: opts == null ? void 0 : opts.patchRoutesOnNavigation\n  }).initialize();\n}\n\nexport { Await, MemoryRouter, Navigate, Outlet, Route, Router, RouterProvider, Routes, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RouteContext as UNSAFE_RouteContext, logV6DeprecationWarnings as UNSAFE_logV6DeprecationWarnings, mapRouteProperties as UNSAFE_mapRouteProperties, useRouteId as UNSAFE_useRouteId, useRoutesImpl as UNSAFE_useRoutesImpl, createMemoryRouter, createRoutesFromChildren, createRoutesFromChildren as createRoutesFromElements, renderMatches, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes };\n//# sourceMappingURL=index.js.map\n","/**\n * React Router DOM v6.30.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport * as React from 'react';\nimport * as ReactDOM from 'react-dom';\nimport { UNSAFE_mapRouteProperties, UNSAFE_logV6DeprecationWarnings, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, Router, UNSAFE_useRoutesImpl, UNSAFE_NavigationContext, useHref, useResolvedPath, useLocation, useNavigate, createPath, UNSAFE_useRouteId, UNSAFE_RouteContext, useMatches, useNavigation, useBlocker } from 'react-router';\nexport { AbortedDeferredError, Await, MemoryRouter, Navigate, NavigationType, Outlet, Route, Router, Routes, UNSAFE_DataRouterContext, UNSAFE_DataRouterStateContext, UNSAFE_LocationContext, UNSAFE_NavigationContext, UNSAFE_RouteContext, UNSAFE_useRouteId, createMemoryRouter, createPath, createRoutesFromChildren, createRoutesFromElements, defer, generatePath, isRouteErrorResponse, json, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, replace, resolvePath, useActionData, useAsyncError, useAsyncValue, useBlocker, useHref, useInRouterContext, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes } from 'react-router';\nimport { stripBasename, UNSAFE_warning, createRouter, createBrowserHistory, createHashHistory, UNSAFE_ErrorResponseImpl, UNSAFE_invariant, joinPaths, IDLE_FETCHER, matchPath } from '@remix-run/router';\nexport { UNSAFE_ErrorResponseImpl } from '@remix-run/router';\n\nfunction _extends() {\n  _extends = Object.assign ? Object.assign.bind() : function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n    return target;\n  };\n  return _extends.apply(this, arguments);\n}\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n  if (source == null) return {};\n  var target = {};\n  var sourceKeys = Object.keys(source);\n  var key, i;\n  for (i = 0; i < sourceKeys.length; i++) {\n    key = sourceKeys[i];\n    if (excluded.indexOf(key) >= 0) continue;\n    target[key] = source[key];\n  }\n  return target;\n}\n\nconst defaultMethod = \"get\";\nconst defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n  return object != null && typeof object.tagName === \"string\";\n}\nfunction isButtonElement(object) {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n  return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n  return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n  return event.button === 0 && (\n  // Ignore everything but left clicks\n  !target || target === \"_self\") &&\n  // Let browser handle \"target=_blank\" etc.\n  !isModifiedEvent(event) // Ignore clicks with modifier keys\n  ;\n}\n/**\n * Creates a URLSearchParams object using the given initializer.\n *\n * This is identical to `new URLSearchParams(init)` except it also\n * supports arrays as values in the object form of the initializer\n * instead of just strings. This is convenient when you need multiple\n * values for a given key, but don't want to use an array initializer.\n *\n * For example, instead of:\n *\n *   let searchParams = new URLSearchParams([\n *     ['sort', 'name'],\n *     ['sort', 'price']\n *   ]);\n *\n * you can do:\n *\n *   let searchParams = createSearchParams({\n *     sort: ['name', 'price']\n *   });\n */\nfunction createSearchParams(init) {\n  if (init === void 0) {\n    init = \"\";\n  }\n  return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo, key) => {\n    let value = init[key];\n    return memo.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n  }, []));\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n  let searchParams = createSearchParams(locationSearch);\n  if (defaultSearchParams) {\n    // Use `defaultSearchParams.forEach(...)` here instead of iterating of\n    // `defaultSearchParams.keys()` to work-around a bug in Firefox related to\n    // web extensions. Relevant Bugzilla tickets:\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=1414602\n    // https://bugzilla.mozilla.org/show_bug.cgi?id=1023984\n    defaultSearchParams.forEach((_, key) => {\n      if (!searchParams.has(key)) {\n        defaultSearchParams.getAll(key).forEach(value => {\n          searchParams.append(key, value);\n        });\n      }\n    });\n  }\n  return searchParams;\n}\n// One-time check for submitter support\nlet _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n  if (_formDataSupportsSubmitter === null) {\n    try {\n      new FormData(document.createElement(\"form\"),\n      // @ts-expect-error if FormData supports the submitter parameter, this will throw\n      0);\n      _formDataSupportsSubmitter = false;\n    } catch (e) {\n      _formDataSupportsSubmitter = true;\n    }\n  }\n  return _formDataSupportsSubmitter;\n}\nconst supportedFormEncTypes = new Set([\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"]);\nfunction getFormEncType(encType) {\n  if (encType != null && !supportedFormEncTypes.has(encType)) {\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"\\\"\" + encType + \"\\\" is not a valid `encType` for `<Form>`/`<fetcher.Form>` \" + (\"and will default to \\\"\" + defaultEncType + \"\\\"\")) : void 0;\n    return null;\n  }\n  return encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n  let method;\n  let action;\n  let encType;\n  let formData;\n  let body;\n  if (isFormElement(target)) {\n    // When grabbing the action from the element, it will have had the basename\n    // prefixed to ensure non-JS scenarios work, so strip it since we'll\n    // re-prefix in the router\n    let attr = target.getAttribute(\"action\");\n    action = attr ? stripBasename(attr, basename) : null;\n    method = target.getAttribute(\"method\") || defaultMethod;\n    encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n    formData = new FormData(target);\n  } else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n    let form = target.form;\n    if (form == null) {\n      throw new Error(\"Cannot submit a <button> or <input type=\\\"submit\\\"> without a <form>\");\n    }\n    // <button>/<input type=\"submit\"> may override attributes of <form>\n    // When grabbing the action from the element, it will have had the basename\n    // prefixed to ensure non-JS scenarios work, so strip it since we'll\n    // re-prefix in the router\n    let attr = target.getAttribute(\"formaction\") || form.getAttribute(\"action\");\n    action = attr ? stripBasename(attr, basename) : null;\n    method = target.getAttribute(\"formmethod\") || form.getAttribute(\"method\") || defaultMethod;\n    encType = getFormEncType(target.getAttribute(\"formenctype\")) || getFormEncType(form.getAttribute(\"enctype\")) || defaultEncType;\n    // Build a FormData object populated from a form and submitter\n    formData = new FormData(form, target);\n    // If this browser doesn't support the `FormData(el, submitter)` format,\n    // then tack on the submitter value at the end.  This is a lightweight\n    // solution that is not 100% spec compliant.  For complete support in older\n    // browsers, consider using the `formdata-submitter-polyfill` package\n    if (!isFormDataSubmitterSupported()) {\n      let {\n        name,\n        type,\n        value\n      } = target;\n      if (type === \"image\") {\n        let prefix = name ? name + \".\" : \"\";\n        formData.append(prefix + \"x\", \"0\");\n        formData.append(prefix + \"y\", \"0\");\n      } else if (name) {\n        formData.append(name, value);\n      }\n    }\n  } else if (isHtmlElement(target)) {\n    throw new Error(\"Cannot submit element that is not <form>, <button>, or \" + \"<input type=\\\"submit|image\\\">\");\n  } else {\n    method = defaultMethod;\n    action = null;\n    encType = defaultEncType;\n    body = target;\n  }\n  // Send body for <Form encType=\"text/plain\" so we encode it into text\n  if (formData && encType === \"text/plain\") {\n    body = formData;\n    formData = undefined;\n  }\n  return {\n    action,\n    method: method.toLowerCase(),\n    encType,\n    formData,\n    body\n  };\n}\n\nconst _excluded = [\"onClick\", \"relative\", \"reloadDocument\", \"replace\", \"state\", \"target\", \"to\", \"preventScrollReset\", \"viewTransition\"],\n  _excluded2 = [\"aria-current\", \"caseSensitive\", \"className\", \"end\", \"style\", \"to\", \"viewTransition\", \"children\"],\n  _excluded3 = [\"fetcherKey\", \"navigate\", \"reloadDocument\", \"replace\", \"state\", \"method\", \"action\", \"onSubmit\", \"relative\", \"preventScrollReset\", \"viewTransition\"];\n// HEY YOU! DON'T TOUCH THIS VARIABLE!\n//\n// It is replaced with the proper version at build time via a babel plugin in\n// the rollup config.\n//\n// Export a global property onto the window for React Router detection by the\n// Core Web Vitals Technology Report.  This way they can configure the `wappalyzer`\n// to detect and properly classify live websites as being built with React Router:\n// https://github.com/HTTPArchive/wappalyzer/blob/main/src/technologies/r.json\nconst REACT_ROUTER_VERSION = \"6\";\ntry {\n  window.__reactRouterVersion = REACT_ROUTER_VERSION;\n} catch (e) {\n  // no-op\n}\nfunction createBrowserRouter(routes, opts) {\n  return createRouter({\n    basename: opts == null ? void 0 : opts.basename,\n    future: _extends({}, opts == null ? void 0 : opts.future, {\n      v7_prependBasename: true\n    }),\n    history: createBrowserHistory({\n      window: opts == null ? void 0 : opts.window\n    }),\n    hydrationData: (opts == null ? void 0 : opts.hydrationData) || parseHydrationData(),\n    routes,\n    mapRouteProperties: UNSAFE_mapRouteProperties,\n    dataStrategy: opts == null ? void 0 : opts.dataStrategy,\n    patchRoutesOnNavigation: opts == null ? void 0 : opts.patchRoutesOnNavigation,\n    window: opts == null ? void 0 : opts.window\n  }).initialize();\n}\nfunction createHashRouter(routes, opts) {\n  return createRouter({\n    basename: opts == null ? void 0 : opts.basename,\n    future: _extends({}, opts == null ? void 0 : opts.future, {\n      v7_prependBasename: true\n    }),\n    history: createHashHistory({\n      window: opts == null ? void 0 : opts.window\n    }),\n    hydrationData: (opts == null ? void 0 : opts.hydrationData) || parseHydrationData(),\n    routes,\n    mapRouteProperties: UNSAFE_mapRouteProperties,\n    dataStrategy: opts == null ? void 0 : opts.dataStrategy,\n    patchRoutesOnNavigation: opts == null ? void 0 : opts.patchRoutesOnNavigation,\n    window: opts == null ? void 0 : opts.window\n  }).initialize();\n}\nfunction parseHydrationData() {\n  var _window;\n  let state = (_window = window) == null ? void 0 : _window.__staticRouterHydrationData;\n  if (state && state.errors) {\n    state = _extends({}, state, {\n      errors: deserializeErrors(state.errors)\n    });\n  }\n  return state;\n}\nfunction deserializeErrors(errors) {\n  if (!errors) return null;\n  let entries = Object.entries(errors);\n  let serialized = {};\n  for (let [key, val] of entries) {\n    // Hey you!  If you change this, please change the corresponding logic in\n    // serializeErrors in react-router-dom/server.tsx :)\n    if (val && val.__type === \"RouteErrorResponse\") {\n      serialized[key] = new UNSAFE_ErrorResponseImpl(val.status, val.statusText, val.data, val.internal === true);\n    } else if (val && val.__type === \"Error\") {\n      // Attempt to reconstruct the right type of Error (i.e., ReferenceError)\n      if (val.__subType) {\n        let ErrorConstructor = window[val.__subType];\n        if (typeof ErrorConstructor === \"function\") {\n          try {\n            // @ts-expect-error\n            let error = new ErrorConstructor(val.message);\n            // Wipe away the client-side stack trace.  Nothing to fill it in with\n            // because we don't serialize SSR stack traces for security reasons\n            error.stack = \"\";\n            serialized[key] = error;\n          } catch (e) {\n            // no-op - fall through and create a normal Error\n          }\n        }\n      }\n      if (serialized[key] == null) {\n        let error = new Error(val.message);\n        // Wipe away the client-side stack trace.  Nothing to fill it in with\n        // because we don't serialize SSR stack traces for security reasons\n        error.stack = \"\";\n        serialized[key] = error;\n      }\n    } else {\n      serialized[key] = val;\n    }\n  }\n  return serialized;\n}\nconst ViewTransitionContext = /*#__PURE__*/React.createContext({\n  isTransitioning: false\n});\nif (process.env.NODE_ENV !== \"production\") {\n  ViewTransitionContext.displayName = \"ViewTransition\";\n}\nconst FetchersContext = /*#__PURE__*/React.createContext(new Map());\nif (process.env.NODE_ENV !== \"production\") {\n  FetchersContext.displayName = \"Fetchers\";\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Components\n////////////////////////////////////////////////////////////////////////////////\n/**\n  Webpack + React 17 fails to compile on any of the following because webpack\n  complains that `startTransition` doesn't exist in `React`:\n  * import { startTransition } from \"react\"\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React.startTransition(() => setState()) : setState()\n  * import * as React from from \"react\";\n    \"startTransition\" in React ? React[\"startTransition\"](() => setState()) : setState()\n\n  Moving it to a constant such as the following solves the Webpack/React 17 issue:\n  * import * as React from from \"react\";\n    const START_TRANSITION = \"startTransition\";\n    START_TRANSITION in React ? React[START_TRANSITION](() => setState()) : setState()\n\n  However, that introduces webpack/terser minification issues in production builds\n  in React 18 where minification/obfuscation ends up removing the call of\n  React.startTransition entirely from the first half of the ternary.  Grabbing\n  this exported reference once up front resolves that issue.\n\n  See https://github.com/remix-run/react-router/issues/10579\n*/\nconst START_TRANSITION = \"startTransition\";\nconst startTransitionImpl = React[START_TRANSITION];\nconst FLUSH_SYNC = \"flushSync\";\nconst flushSyncImpl = ReactDOM[FLUSH_SYNC];\nconst USE_ID = \"useId\";\nconst useIdImpl = React[USE_ID];\nfunction startTransitionSafe(cb) {\n  if (startTransitionImpl) {\n    startTransitionImpl(cb);\n  } else {\n    cb();\n  }\n}\nfunction flushSyncSafe(cb) {\n  if (flushSyncImpl) {\n    flushSyncImpl(cb);\n  } else {\n    cb();\n  }\n}\nclass Deferred {\n  constructor() {\n    this.status = \"pending\";\n    this.promise = new Promise((resolve, reject) => {\n      this.resolve = value => {\n        if (this.status === \"pending\") {\n          this.status = \"resolved\";\n          resolve(value);\n        }\n      };\n      this.reject = reason => {\n        if (this.status === \"pending\") {\n          this.status = \"rejected\";\n          reject(reason);\n        }\n      };\n    });\n  }\n}\n/**\n * Given a Remix Router instance, render the appropriate UI\n */\nfunction RouterProvider(_ref) {\n  let {\n    fallbackElement,\n    router,\n    future\n  } = _ref;\n  let [state, setStateImpl] = React.useState(router.state);\n  let [pendingState, setPendingState] = React.useState();\n  let [vtContext, setVtContext] = React.useState({\n    isTransitioning: false\n  });\n  let [renderDfd, setRenderDfd] = React.useState();\n  let [transition, setTransition] = React.useState();\n  let [interruption, setInterruption] = React.useState();\n  let fetcherData = React.useRef(new Map());\n  let {\n    v7_startTransition\n  } = future || {};\n  let optInStartTransition = React.useCallback(cb => {\n    if (v7_startTransition) {\n      startTransitionSafe(cb);\n    } else {\n      cb();\n    }\n  }, [v7_startTransition]);\n  let setState = React.useCallback((newState, _ref2) => {\n    let {\n      deletedFetchers,\n      flushSync: flushSync,\n      viewTransitionOpts: viewTransitionOpts\n    } = _ref2;\n    newState.fetchers.forEach((fetcher, key) => {\n      if (fetcher.data !== undefined) {\n        fetcherData.current.set(key, fetcher.data);\n      }\n    });\n    deletedFetchers.forEach(key => fetcherData.current.delete(key));\n    let isViewTransitionUnavailable = router.window == null || router.window.document == null || typeof router.window.document.startViewTransition !== \"function\";\n    // If this isn't a view transition or it's not available in this browser,\n    // just update and be done with it\n    if (!viewTransitionOpts || isViewTransitionUnavailable) {\n      if (flushSync) {\n        flushSyncSafe(() => setStateImpl(newState));\n      } else {\n        optInStartTransition(() => setStateImpl(newState));\n      }\n      return;\n    }\n    // flushSync + startViewTransition\n    if (flushSync) {\n      // Flush through the context to mark DOM elements as transition=ing\n      flushSyncSafe(() => {\n        // Cancel any pending transitions\n        if (transition) {\n          renderDfd && renderDfd.resolve();\n          transition.skipTransition();\n        }\n        setVtContext({\n          isTransitioning: true,\n          flushSync: true,\n          currentLocation: viewTransitionOpts.currentLocation,\n          nextLocation: viewTransitionOpts.nextLocation\n        });\n      });\n      // Update the DOM\n      let t = router.window.document.startViewTransition(() => {\n        flushSyncSafe(() => setStateImpl(newState));\n      });\n      // Clean up after the animation completes\n      t.finished.finally(() => {\n        flushSyncSafe(() => {\n          setRenderDfd(undefined);\n          setTransition(undefined);\n          setPendingState(undefined);\n          setVtContext({\n            isTransitioning: false\n          });\n        });\n      });\n      flushSyncSafe(() => setTransition(t));\n      return;\n    }\n    // startTransition + startViewTransition\n    if (transition) {\n      // Interrupting an in-progress transition, cancel and let everything flush\n      // out, and then kick off a new transition from the interruption state\n      renderDfd && renderDfd.resolve();\n      transition.skipTransition();\n      setInterruption({\n        state: newState,\n        currentLocation: viewTransitionOpts.currentLocation,\n        nextLocation: viewTransitionOpts.nextLocation\n      });\n    } else {\n      // Completed navigation update with opted-in view transitions, let 'er rip\n      setPendingState(newState);\n      setVtContext({\n        isTransitioning: true,\n        flushSync: false,\n        currentLocation: viewTransitionOpts.currentLocation,\n        nextLocation: viewTransitionOpts.nextLocation\n      });\n    }\n  }, [router.window, transition, renderDfd, fetcherData, optInStartTransition]);\n  // Need to use a layout effect here so we are subscribed early enough to\n  // pick up on any render-driven redirects/navigations (useEffect/<Navigate>)\n  React.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n  // When we start a view transition, create a Deferred we can use for the\n  // eventual \"completed\" render\n  React.useEffect(() => {\n    if (vtContext.isTransitioning && !vtContext.flushSync) {\n      setRenderDfd(new Deferred());\n    }\n  }, [vtContext]);\n  // Once the deferred is created, kick off startViewTransition() to update the\n  // DOM and then wait on the Deferred to resolve (indicating the DOM update has\n  // happened)\n  React.useEffect(() => {\n    if (renderDfd && pendingState && router.window) {\n      let newState = pendingState;\n      let renderPromise = renderDfd.promise;\n      let transition = router.window.document.startViewTransition(async () => {\n        optInStartTransition(() => setStateImpl(newState));\n        await renderPromise;\n      });\n      transition.finished.finally(() => {\n        setRenderDfd(undefined);\n        setTransition(undefined);\n        setPendingState(undefined);\n        setVtContext({\n          isTransitioning: false\n        });\n      });\n      setTransition(transition);\n    }\n  }, [optInStartTransition, pendingState, renderDfd, router.window]);\n  // When the new location finally renders and is committed to the DOM, this\n  // effect will run to resolve the transition\n  React.useEffect(() => {\n    if (renderDfd && pendingState && state.location.key === pendingState.location.key) {\n      renderDfd.resolve();\n    }\n  }, [renderDfd, transition, state.location, pendingState]);\n  // If we get interrupted with a new navigation during a transition, we skip\n  // the active transition, let it cleanup, then kick it off again here\n  React.useEffect(() => {\n    if (!vtContext.isTransitioning && interruption) {\n      setPendingState(interruption.state);\n      setVtContext({\n        isTransitioning: true,\n        flushSync: false,\n        currentLocation: interruption.currentLocation,\n        nextLocation: interruption.nextLocation\n      });\n      setInterruption(undefined);\n    }\n  }, [vtContext.isTransitioning, interruption]);\n  React.useEffect(() => {\n    process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(fallbackElement == null || !router.future.v7_partialHydration, \"`<RouterProvider fallbackElement>` is deprecated when using \" + \"`v7_partialHydration`, use a `HydrateFallback` component instead\") : void 0;\n    // Only log this once on initial mount\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n  }, []);\n  let navigator = React.useMemo(() => {\n    return {\n      createHref: router.createHref,\n      encodeLocation: router.encodeLocation,\n      go: n => router.navigate(n),\n      push: (to, state, opts) => router.navigate(to, {\n        state,\n        preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n      }),\n      replace: (to, state, opts) => router.navigate(to, {\n        replace: true,\n        state,\n        preventScrollReset: opts == null ? void 0 : opts.preventScrollReset\n      })\n    };\n  }, [router]);\n  let basename = router.basename || \"/\";\n  let dataRouterContext = React.useMemo(() => ({\n    router,\n    navigator,\n    static: false,\n    basename\n  }), [router, navigator, basename]);\n  let routerFuture = React.useMemo(() => ({\n    v7_relativeSplatPath: router.future.v7_relativeSplatPath\n  }), [router.future.v7_relativeSplatPath]);\n  React.useEffect(() => UNSAFE_logV6DeprecationWarnings(future, router.future), [future, router.future]);\n  // The fragment and {null} here are important!  We need them to keep React 18's\n  // useId happy when we are server-rendering since we may have a <script> here\n  // containing the hydrated server-side staticContext (from StaticRouterProvider).\n  // useId relies on the component tree structure to generate deterministic id's\n  // so we need to ensure it remains the same on the client even though\n  // we don't need the <script> tag\n  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(UNSAFE_DataRouterContext.Provider, {\n    value: dataRouterContext\n  }, /*#__PURE__*/React.createElement(UNSAFE_DataRouterStateContext.Provider, {\n    value: state\n  }, /*#__PURE__*/React.createElement(FetchersContext.Provider, {\n    value: fetcherData.current\n  }, /*#__PURE__*/React.createElement(ViewTransitionContext.Provider, {\n    value: vtContext\n  }, /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    location: state.location,\n    navigationType: state.historyAction,\n    navigator: navigator,\n    future: routerFuture\n  }, state.initialized || router.future.v7_partialHydration ? /*#__PURE__*/React.createElement(MemoizedDataRoutes, {\n    routes: router.routes,\n    future: router.future,\n    state: state\n  }) : fallbackElement))))), null);\n}\n// Memoize to avoid re-renders when updating `ViewTransitionContext`\nconst MemoizedDataRoutes = /*#__PURE__*/React.memo(DataRoutes);\nfunction DataRoutes(_ref3) {\n  let {\n    routes,\n    future,\n    state\n  } = _ref3;\n  return UNSAFE_useRoutesImpl(routes, undefined, state, future);\n}\n/**\n * A `<Router>` for use in web browsers. Provides the cleanest URLs.\n */\nfunction BrowserRouter(_ref4) {\n  let {\n    basename,\n    children,\n    future,\n    window\n  } = _ref4;\n  let historyRef = React.useRef();\n  if (historyRef.current == null) {\n    historyRef.current = createBrowserHistory({\n      window,\n      v5Compat: true\n    });\n  }\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location\n  });\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n  }, [setStateImpl, v7_startTransition]);\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n  React.useEffect(() => UNSAFE_logV6DeprecationWarnings(future), [future]);\n  return /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history,\n    future: future\n  });\n}\n/**\n * A `<Router>` for use in web browsers. Stores the location in the hash\n * portion of the URL so it is not sent to the server.\n */\nfunction HashRouter(_ref5) {\n  let {\n    basename,\n    children,\n    future,\n    window\n  } = _ref5;\n  let historyRef = React.useRef();\n  if (historyRef.current == null) {\n    historyRef.current = createHashHistory({\n      window,\n      v5Compat: true\n    });\n  }\n  let history = historyRef.current;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location\n  });\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n  }, [setStateImpl, v7_startTransition]);\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n  React.useEffect(() => UNSAFE_logV6DeprecationWarnings(future), [future]);\n  return /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history,\n    future: future\n  });\n}\n/**\n * A `<Router>` that accepts a pre-instantiated history object. It's important\n * to note that using your own history object is highly discouraged and may add\n * two versions of the history library to your bundles unless you use the same\n * version of the history library that React Router uses internally.\n */\nfunction HistoryRouter(_ref6) {\n  let {\n    basename,\n    children,\n    future,\n    history\n  } = _ref6;\n  let [state, setStateImpl] = React.useState({\n    action: history.action,\n    location: history.location\n  });\n  let {\n    v7_startTransition\n  } = future || {};\n  let setState = React.useCallback(newState => {\n    v7_startTransition && startTransitionImpl ? startTransitionImpl(() => setStateImpl(newState)) : setStateImpl(newState);\n  }, [setStateImpl, v7_startTransition]);\n  React.useLayoutEffect(() => history.listen(setState), [history, setState]);\n  React.useEffect(() => UNSAFE_logV6DeprecationWarnings(future), [future]);\n  return /*#__PURE__*/React.createElement(Router, {\n    basename: basename,\n    children: children,\n    location: state.location,\n    navigationType: state.action,\n    navigator: history,\n    future: future\n  });\n}\nif (process.env.NODE_ENV !== \"production\") {\n  HistoryRouter.displayName = \"unstable_HistoryRouter\";\n}\nconst isBrowser = typeof window !== \"undefined\" && typeof window.document !== \"undefined\" && typeof window.document.createElement !== \"undefined\";\nconst ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\n/**\n * The public API for rendering a history-aware `<a>`.\n */\nconst Link = /*#__PURE__*/React.forwardRef(function LinkWithRef(_ref7, ref) {\n  let {\n      onClick,\n      relative,\n      reloadDocument,\n      replace,\n      state,\n      target,\n      to,\n      preventScrollReset,\n      viewTransition\n    } = _ref7,\n    rest = _objectWithoutPropertiesLoose(_ref7, _excluded);\n  let {\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  // Rendered into <a href> for absolute URLs\n  let absoluteHref;\n  let isExternal = false;\n  if (typeof to === \"string\" && ABSOLUTE_URL_REGEX.test(to)) {\n    // Render the absolute href server- and client-side\n    absoluteHref = to;\n    // Only check for external origins client-side\n    if (isBrowser) {\n      try {\n        let currentUrl = new URL(window.location.href);\n        let targetUrl = to.startsWith(\"//\") ? new URL(currentUrl.protocol + to) : new URL(to);\n        let path = stripBasename(targetUrl.pathname, basename);\n        if (targetUrl.origin === currentUrl.origin && path != null) {\n          // Strip the protocol/origin/basename for same-origin absolute URLs\n          to = path + targetUrl.search + targetUrl.hash;\n        } else {\n          isExternal = true;\n        }\n      } catch (e) {\n        // We can't do external URL detection without a valid URL\n        process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"<Link to=\\\"\" + to + \"\\\"> contains an invalid URL which will probably break \" + \"when clicked - please update to a valid URL path.\") : void 0;\n      }\n    }\n  }\n  // Rendered into <a href> for relative URLs\n  let href = useHref(to, {\n    relative\n  });\n  let internalOnClick = useLinkClickHandler(to, {\n    replace,\n    state,\n    target,\n    preventScrollReset,\n    relative,\n    viewTransition\n  });\n  function handleClick(event) {\n    if (onClick) onClick(event);\n    if (!event.defaultPrevented) {\n      internalOnClick(event);\n    }\n  }\n  return (\n    /*#__PURE__*/\n    // eslint-disable-next-line jsx-a11y/anchor-has-content\n    React.createElement(\"a\", _extends({}, rest, {\n      href: absoluteHref || href,\n      onClick: isExternal || reloadDocument ? onClick : handleClick,\n      ref: ref,\n      target: target\n    }))\n  );\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Link.displayName = \"Link\";\n}\n/**\n * A `<Link>` wrapper that knows if it's \"active\" or not.\n */\nconst NavLink = /*#__PURE__*/React.forwardRef(function NavLinkWithRef(_ref8, ref) {\n  let {\n      \"aria-current\": ariaCurrentProp = \"page\",\n      caseSensitive = false,\n      className: classNameProp = \"\",\n      end = false,\n      style: styleProp,\n      to,\n      viewTransition,\n      children\n    } = _ref8,\n    rest = _objectWithoutPropertiesLoose(_ref8, _excluded2);\n  let path = useResolvedPath(to, {\n    relative: rest.relative\n  });\n  let location = useLocation();\n  let routerState = React.useContext(UNSAFE_DataRouterStateContext);\n  let {\n    navigator,\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  let isTransitioning = routerState != null &&\n  // Conditional usage is OK here because the usage of a data router is static\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  useViewTransitionState(path) && viewTransition === true;\n  let toPathname = navigator.encodeLocation ? navigator.encodeLocation(path).pathname : path.pathname;\n  let locationPathname = location.pathname;\n  let nextLocationPathname = routerState && routerState.navigation && routerState.navigation.location ? routerState.navigation.location.pathname : null;\n  if (!caseSensitive) {\n    locationPathname = locationPathname.toLowerCase();\n    nextLocationPathname = nextLocationPathname ? nextLocationPathname.toLowerCase() : null;\n    toPathname = toPathname.toLowerCase();\n  }\n  if (nextLocationPathname && basename) {\n    nextLocationPathname = stripBasename(nextLocationPathname, basename) || nextLocationPathname;\n  }\n  // If the `to` has a trailing slash, look at that exact spot.  Otherwise,\n  // we're looking for a slash _after_ what's in `to`.  For example:\n  //\n  // <NavLink to=\"/users\"> and <NavLink to=\"/users/\">\n  // both want to look for a / at index 6 to match URL `/users/matt`\n  const endSlashPosition = toPathname !== \"/\" && toPathname.endsWith(\"/\") ? toPathname.length - 1 : toPathname.length;\n  let isActive = locationPathname === toPathname || !end && locationPathname.startsWith(toPathname) && locationPathname.charAt(endSlashPosition) === \"/\";\n  let isPending = nextLocationPathname != null && (nextLocationPathname === toPathname || !end && nextLocationPathname.startsWith(toPathname) && nextLocationPathname.charAt(toPathname.length) === \"/\");\n  let renderProps = {\n    isActive,\n    isPending,\n    isTransitioning\n  };\n  let ariaCurrent = isActive ? ariaCurrentProp : undefined;\n  let className;\n  if (typeof classNameProp === \"function\") {\n    className = classNameProp(renderProps);\n  } else {\n    // If the className prop is not a function, we use a default `active`\n    // class for <NavLink />s that are active. In v5 `active` was the default\n    // value for `activeClassName`, but we are removing that API and can still\n    // use the old default behavior for a cleaner upgrade path and keep the\n    // simple styling rules working as they currently do.\n    className = [classNameProp, isActive ? \"active\" : null, isPending ? \"pending\" : null, isTransitioning ? \"transitioning\" : null].filter(Boolean).join(\" \");\n  }\n  let style = typeof styleProp === \"function\" ? styleProp(renderProps) : styleProp;\n  return /*#__PURE__*/React.createElement(Link, _extends({}, rest, {\n    \"aria-current\": ariaCurrent,\n    className: className,\n    ref: ref,\n    style: style,\n    to: to,\n    viewTransition: viewTransition\n  }), typeof children === \"function\" ? children(renderProps) : children);\n});\nif (process.env.NODE_ENV !== \"production\") {\n  NavLink.displayName = \"NavLink\";\n}\n/**\n * A `@remix-run/router`-aware `<form>`. It behaves like a normal form except\n * that the interaction with the server is with `fetch` instead of new document\n * requests, allowing components to add nicer UX to the page as the form is\n * submitted and returns with data.\n */\nconst Form = /*#__PURE__*/React.forwardRef((_ref9, forwardedRef) => {\n  let {\n      fetcherKey,\n      navigate,\n      reloadDocument,\n      replace,\n      state,\n      method = defaultMethod,\n      action,\n      onSubmit,\n      relative,\n      preventScrollReset,\n      viewTransition\n    } = _ref9,\n    props = _objectWithoutPropertiesLoose(_ref9, _excluded3);\n  let submit = useSubmit();\n  let formAction = useFormAction(action, {\n    relative\n  });\n  let formMethod = method.toLowerCase() === \"get\" ? \"get\" : \"post\";\n  let submitHandler = event => {\n    onSubmit && onSubmit(event);\n    if (event.defaultPrevented) return;\n    event.preventDefault();\n    let submitter = event.nativeEvent.submitter;\n    let submitMethod = (submitter == null ? void 0 : submitter.getAttribute(\"formmethod\")) || method;\n    submit(submitter || event.currentTarget, {\n      fetcherKey,\n      method: submitMethod,\n      navigate,\n      replace,\n      state,\n      relative,\n      preventScrollReset,\n      viewTransition\n    });\n  };\n  return /*#__PURE__*/React.createElement(\"form\", _extends({\n    ref: forwardedRef,\n    method: formMethod,\n    action: formAction,\n    onSubmit: reloadDocument ? onSubmit : submitHandler\n  }, props));\n});\nif (process.env.NODE_ENV !== \"production\") {\n  Form.displayName = \"Form\";\n}\n/**\n * This component will emulate the browser's scroll restoration on location\n * changes.\n */\nfunction ScrollRestoration(_ref10) {\n  let {\n    getKey,\n    storageKey\n  } = _ref10;\n  useScrollRestoration({\n    getKey,\n    storageKey\n  });\n  return null;\n}\nif (process.env.NODE_ENV !== \"production\") {\n  ScrollRestoration.displayName = \"ScrollRestoration\";\n}\n//#endregion\n////////////////////////////////////////////////////////////////////////////////\n//#region Hooks\n////////////////////////////////////////////////////////////////////////////////\nvar DataRouterHook;\n(function (DataRouterHook) {\n  DataRouterHook[\"UseScrollRestoration\"] = \"useScrollRestoration\";\n  DataRouterHook[\"UseSubmit\"] = \"useSubmit\";\n  DataRouterHook[\"UseSubmitFetcher\"] = \"useSubmitFetcher\";\n  DataRouterHook[\"UseFetcher\"] = \"useFetcher\";\n  DataRouterHook[\"useViewTransitionState\"] = \"useViewTransitionState\";\n})(DataRouterHook || (DataRouterHook = {}));\nvar DataRouterStateHook;\n(function (DataRouterStateHook) {\n  DataRouterStateHook[\"UseFetcher\"] = \"useFetcher\";\n  DataRouterStateHook[\"UseFetchers\"] = \"useFetchers\";\n  DataRouterStateHook[\"UseScrollRestoration\"] = \"useScrollRestoration\";\n})(DataRouterStateHook || (DataRouterStateHook = {}));\n// Internal hooks\nfunction getDataRouterConsoleError(hookName) {\n  return hookName + \" must be used within a data router.  See https://reactrouter.com/v6/routers/picking-a-router.\";\n}\nfunction useDataRouterContext(hookName) {\n  let ctx = React.useContext(UNSAFE_DataRouterContext);\n  !ctx ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return ctx;\n}\nfunction useDataRouterState(hookName) {\n  let state = React.useContext(UNSAFE_DataRouterStateContext);\n  !state ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, getDataRouterConsoleError(hookName)) : UNSAFE_invariant(false) : void 0;\n  return state;\n}\n// External hooks\n/**\n * Handles the click behavior for router `<Link>` components. This is useful if\n * you need to create custom `<Link>` components with the same click behavior we\n * use in our exported `<Link>`.\n */\nfunction useLinkClickHandler(to, _temp) {\n  let {\n    target,\n    replace: replaceProp,\n    state,\n    preventScrollReset,\n    relative,\n    viewTransition\n  } = _temp === void 0 ? {} : _temp;\n  let navigate = useNavigate();\n  let location = useLocation();\n  let path = useResolvedPath(to, {\n    relative\n  });\n  return React.useCallback(event => {\n    if (shouldProcessLinkClick(event, target)) {\n      event.preventDefault();\n      // If the URL hasn't changed, a regular <a> will do a replace instead of\n      // a push, so do the same here unless the replace prop is explicitly set\n      let replace = replaceProp !== undefined ? replaceProp : createPath(location) === createPath(path);\n      navigate(to, {\n        replace,\n        state,\n        preventScrollReset,\n        relative,\n        viewTransition\n      });\n    }\n  }, [location, navigate, path, replaceProp, state, target, to, preventScrollReset, relative, viewTransition]);\n}\n/**\n * A convenient wrapper for reading and writing search parameters via the\n * URLSearchParams interface.\n */\nfunction useSearchParams(defaultInit) {\n  process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(typeof URLSearchParams !== \"undefined\", \"You cannot use the `useSearchParams` hook in a browser that does not \" + \"support the URLSearchParams API. If you need to support Internet \" + \"Explorer 11, we recommend you load a polyfill such as \" + \"https://github.com/ungap/url-search-params.\") : void 0;\n  let defaultSearchParamsRef = React.useRef(createSearchParams(defaultInit));\n  let hasSetSearchParamsRef = React.useRef(false);\n  let location = useLocation();\n  let searchParams = React.useMemo(() =>\n  // Only merge in the defaults if we haven't yet called setSearchParams.\n  // Once we call that we want those to take precedence, otherwise you can't\n  // remove a param with setSearchParams({}) if it has an initial value\n  getSearchParamsForLocation(location.search, hasSetSearchParamsRef.current ? null : defaultSearchParamsRef.current), [location.search]);\n  let navigate = useNavigate();\n  let setSearchParams = React.useCallback((nextInit, navigateOptions) => {\n    const newSearchParams = createSearchParams(typeof nextInit === \"function\" ? nextInit(searchParams) : nextInit);\n    hasSetSearchParamsRef.current = true;\n    navigate(\"?\" + newSearchParams, navigateOptions);\n  }, [navigate, searchParams]);\n  return [searchParams, setSearchParams];\n}\nfunction validateClientSideSubmission() {\n  if (typeof document === \"undefined\") {\n    throw new Error(\"You are calling submit during the server render. \" + \"Try calling submit within a `useEffect` or callback instead.\");\n  }\n}\nlet fetcherId = 0;\nlet getUniqueFetcherId = () => \"__\" + String(++fetcherId) + \"__\";\n/**\n * Returns a function that may be used to programmatically submit a form (or\n * some arbitrary data) to the server.\n */\nfunction useSubmit() {\n  let {\n    router\n  } = useDataRouterContext(DataRouterHook.UseSubmit);\n  let {\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  let currentRouteId = UNSAFE_useRouteId();\n  return React.useCallback(function (target, options) {\n    if (options === void 0) {\n      options = {};\n    }\n    validateClientSideSubmission();\n    let {\n      action,\n      method,\n      encType,\n      formData,\n      body\n    } = getFormSubmissionInfo(target, basename);\n    if (options.navigate === false) {\n      let key = options.fetcherKey || getUniqueFetcherId();\n      router.fetch(key, currentRouteId, options.action || action, {\n        preventScrollReset: options.preventScrollReset,\n        formData,\n        body,\n        formMethod: options.method || method,\n        formEncType: options.encType || encType,\n        flushSync: options.flushSync\n      });\n    } else {\n      router.navigate(options.action || action, {\n        preventScrollReset: options.preventScrollReset,\n        formData,\n        body,\n        formMethod: options.method || method,\n        formEncType: options.encType || encType,\n        replace: options.replace,\n        state: options.state,\n        fromRouteId: currentRouteId,\n        flushSync: options.flushSync,\n        viewTransition: options.viewTransition\n      });\n    }\n  }, [router, basename, currentRouteId]);\n}\n// v7: Eventually we should deprecate this entirely in favor of using the\n// router method directly?\nfunction useFormAction(action, _temp2) {\n  let {\n    relative\n  } = _temp2 === void 0 ? {} : _temp2;\n  let {\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  let routeContext = React.useContext(UNSAFE_RouteContext);\n  !routeContext ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFormAction must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n  let [match] = routeContext.matches.slice(-1);\n  // Shallow clone path so we can modify it below, otherwise we modify the\n  // object referenced by useMemo inside useResolvedPath\n  let path = _extends({}, useResolvedPath(action ? action : \".\", {\n    relative\n  }));\n  // If no action was specified, browsers will persist current search params\n  // when determining the path, so match that behavior\n  // https://github.com/remix-run/remix/issues/927\n  let location = useLocation();\n  if (action == null) {\n    // Safe to write to this directly here since if action was undefined, we\n    // would have called useResolvedPath(\".\") which will never include a search\n    path.search = location.search;\n    // When grabbing search params from the URL, remove any included ?index param\n    // since it might not apply to our contextual route.  We add it back based\n    // on match.route.index below\n    let params = new URLSearchParams(path.search);\n    let indexValues = params.getAll(\"index\");\n    let hasNakedIndexParam = indexValues.some(v => v === \"\");\n    if (hasNakedIndexParam) {\n      params.delete(\"index\");\n      indexValues.filter(v => v).forEach(v => params.append(\"index\", v));\n      let qs = params.toString();\n      path.search = qs ? \"?\" + qs : \"\";\n    }\n  }\n  if ((!action || action === \".\") && match.route.index) {\n    path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n  }\n  // If we're operating within a basename, prepend it to the pathname prior\n  // to creating the form action.  If this is a root navigation, then just use\n  // the raw basename which allows the basename to have full control over the\n  // presence of a trailing slash on root actions\n  if (basename !== \"/\") {\n    path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n  }\n  return createPath(path);\n}\n// TODO: (v7) Change the useFetcher generic default from `any` to `unknown`\n/**\n * Interacts with route loaders and actions without causing a navigation. Great\n * for any interaction that stays on the same page.\n */\nfunction useFetcher(_temp3) {\n  var _route$matches;\n  let {\n    key\n  } = _temp3 === void 0 ? {} : _temp3;\n  let {\n    router\n  } = useDataRouterContext(DataRouterHook.UseFetcher);\n  let state = useDataRouterState(DataRouterStateHook.UseFetcher);\n  let fetcherData = React.useContext(FetchersContext);\n  let route = React.useContext(UNSAFE_RouteContext);\n  let routeId = (_route$matches = route.matches[route.matches.length - 1]) == null ? void 0 : _route$matches.route.id;\n  !fetcherData ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher must be used inside a FetchersContext\") : UNSAFE_invariant(false) : void 0;\n  !route ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher must be used inside a RouteContext\") : UNSAFE_invariant(false) : void 0;\n  !(routeId != null) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"useFetcher can only be used on routes that contain a unique \\\"id\\\"\") : UNSAFE_invariant(false) : void 0;\n  // Fetcher key handling\n  // OK to call conditionally to feature detect `useId`\n  // eslint-disable-next-line react-hooks/rules-of-hooks\n  let defaultKey = useIdImpl ? useIdImpl() : \"\";\n  let [fetcherKey, setFetcherKey] = React.useState(key || defaultKey);\n  if (key && key !== fetcherKey) {\n    setFetcherKey(key);\n  } else if (!fetcherKey) {\n    // We will only fall through here when `useId` is not available\n    setFetcherKey(getUniqueFetcherId());\n  }\n  // Registration/cleanup\n  React.useEffect(() => {\n    router.getFetcher(fetcherKey);\n    return () => {\n      // Tell the router we've unmounted - if v7_fetcherPersist is enabled this\n      // will not delete immediately but instead queue up a delete after the\n      // fetcher returns to an `idle` state\n      router.deleteFetcher(fetcherKey);\n    };\n  }, [router, fetcherKey]);\n  // Fetcher additions\n  let load = React.useCallback((href, opts) => {\n    !routeId ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"No routeId available for fetcher.load()\") : UNSAFE_invariant(false) : void 0;\n    router.fetch(fetcherKey, routeId, href, opts);\n  }, [fetcherKey, routeId, router]);\n  let submitImpl = useSubmit();\n  let submit = React.useCallback((target, opts) => {\n    submitImpl(target, _extends({}, opts, {\n      navigate: false,\n      fetcherKey\n    }));\n  }, [fetcherKey, submitImpl]);\n  let FetcherForm = React.useMemo(() => {\n    let FetcherForm = /*#__PURE__*/React.forwardRef((props, ref) => {\n      return /*#__PURE__*/React.createElement(Form, _extends({}, props, {\n        navigate: false,\n        fetcherKey: fetcherKey,\n        ref: ref\n      }));\n    });\n    if (process.env.NODE_ENV !== \"production\") {\n      FetcherForm.displayName = \"fetcher.Form\";\n    }\n    return FetcherForm;\n  }, [fetcherKey]);\n  // Exposed FetcherWithComponents\n  let fetcher = state.fetchers.get(fetcherKey) || IDLE_FETCHER;\n  let data = fetcherData.get(fetcherKey);\n  let fetcherWithComponents = React.useMemo(() => _extends({\n    Form: FetcherForm,\n    submit,\n    load\n  }, fetcher, {\n    data\n  }), [FetcherForm, submit, load, fetcher, data]);\n  return fetcherWithComponents;\n}\n/**\n * Provides all fetchers currently on the page. Useful for layouts and parent\n * routes that need to provide pending/optimistic UI regarding the fetch.\n */\nfunction useFetchers() {\n  let state = useDataRouterState(DataRouterStateHook.UseFetchers);\n  return Array.from(state.fetchers.entries()).map(_ref11 => {\n    let [key, fetcher] = _ref11;\n    return _extends({}, fetcher, {\n      key\n    });\n  });\n}\nconst SCROLL_RESTORATION_STORAGE_KEY = \"react-router-scroll-positions\";\nlet savedScrollPositions = {};\n/**\n * When rendered inside a RouterProvider, will restore scroll positions on navigations\n */\nfunction useScrollRestoration(_temp4) {\n  let {\n    getKey,\n    storageKey\n  } = _temp4 === void 0 ? {} : _temp4;\n  let {\n    router\n  } = useDataRouterContext(DataRouterHook.UseScrollRestoration);\n  let {\n    restoreScrollPosition,\n    preventScrollReset\n  } = useDataRouterState(DataRouterStateHook.UseScrollRestoration);\n  let {\n    basename\n  } = React.useContext(UNSAFE_NavigationContext);\n  let location = useLocation();\n  let matches = useMatches();\n  let navigation = useNavigation();\n  // Trigger manual scroll restoration while we're active\n  React.useEffect(() => {\n    window.history.scrollRestoration = \"manual\";\n    return () => {\n      window.history.scrollRestoration = \"auto\";\n    };\n  }, []);\n  // Save positions on pagehide\n  usePageHide(React.useCallback(() => {\n    if (navigation.state === \"idle\") {\n      let key = (getKey ? getKey(location, matches) : null) || location.key;\n      savedScrollPositions[key] = window.scrollY;\n    }\n    try {\n      sessionStorage.setItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY, JSON.stringify(savedScrollPositions));\n    } catch (error) {\n      process.env.NODE_ENV !== \"production\" ? UNSAFE_warning(false, \"Failed to save scroll positions in sessionStorage, <ScrollRestoration /> will not work properly (\" + error + \").\") : void 0;\n    }\n    window.history.scrollRestoration = \"auto\";\n  }, [storageKey, getKey, navigation.state, location, matches]));\n  // Read in any saved scroll locations\n  if (typeof document !== \"undefined\") {\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      try {\n        let sessionPositions = sessionStorage.getItem(storageKey || SCROLL_RESTORATION_STORAGE_KEY);\n        if (sessionPositions) {\n          savedScrollPositions = JSON.parse(sessionPositions);\n        }\n      } catch (e) {\n        // no-op, use default empty object\n      }\n    }, [storageKey]);\n    // Enable scroll restoration in the router\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      let getKeyWithoutBasename = getKey && basename !== \"/\" ? (location, matches) => getKey( // Strip the basename to match useLocation()\n      _extends({}, location, {\n        pathname: stripBasename(location.pathname, basename) || location.pathname\n      }), matches) : getKey;\n      let disableScrollRestoration = router == null ? void 0 : router.enableScrollRestoration(savedScrollPositions, () => window.scrollY, getKeyWithoutBasename);\n      return () => disableScrollRestoration && disableScrollRestoration();\n    }, [router, basename, getKey]);\n    // Restore scrolling when state.restoreScrollPosition changes\n    // eslint-disable-next-line react-hooks/rules-of-hooks\n    React.useLayoutEffect(() => {\n      // Explicit false means don't do anything (used for submissions)\n      if (restoreScrollPosition === false) {\n        return;\n      }\n      // been here before, scroll to it\n      if (typeof restoreScrollPosition === \"number\") {\n        window.scrollTo(0, restoreScrollPosition);\n        return;\n      }\n      // try to scroll to the hash\n      if (location.hash) {\n        let el = document.getElementById(decodeURIComponent(location.hash.slice(1)));\n        if (el) {\n          el.scrollIntoView();\n          return;\n        }\n      }\n      // Don't reset if this navigation opted out\n      if (preventScrollReset === true) {\n        return;\n      }\n      // otherwise go to the top on new locations\n      window.scrollTo(0, 0);\n    }, [location, restoreScrollPosition, preventScrollReset]);\n  }\n}\n/**\n * Setup a callback to be fired on the window's `beforeunload` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction useBeforeUnload(callback, options) {\n  let {\n    capture\n  } = options || {};\n  React.useEffect(() => {\n    let opts = capture != null ? {\n      capture\n    } : undefined;\n    window.addEventListener(\"beforeunload\", callback, opts);\n    return () => {\n      window.removeEventListener(\"beforeunload\", callback, opts);\n    };\n  }, [callback, capture]);\n}\n/**\n * Setup a callback to be fired on the window's `pagehide` event. This is\n * useful for saving some data to `window.localStorage` just before the page\n * refreshes.  This event is better supported than beforeunload across browsers.\n *\n * Note: The `callback` argument should be a function created with\n * `React.useCallback()`.\n */\nfunction usePageHide(callback, options) {\n  let {\n    capture\n  } = options || {};\n  React.useEffect(() => {\n    let opts = capture != null ? {\n      capture\n    } : undefined;\n    window.addEventListener(\"pagehide\", callback, opts);\n    return () => {\n      window.removeEventListener(\"pagehide\", callback, opts);\n    };\n  }, [callback, capture]);\n}\n/**\n * Wrapper around useBlocker to show a window.confirm prompt to users instead\n * of building a custom UI with useBlocker.\n *\n * Warning: This has *a lot of rough edges* and behaves very differently (and\n * very incorrectly in some cases) across browsers if user click addition\n * back/forward navigations while the confirm is open.  Use at your own risk.\n */\nfunction usePrompt(_ref12) {\n  let {\n    when,\n    message\n  } = _ref12;\n  let blocker = useBlocker(when);\n  React.useEffect(() => {\n    if (blocker.state === \"blocked\") {\n      let proceed = window.confirm(message);\n      if (proceed) {\n        // This timeout is needed to avoid a weird \"race\" on POP navigations\n        // between the `window.history` revert navigation and the result of\n        // `window.confirm`\n        setTimeout(blocker.proceed, 0);\n      } else {\n        blocker.reset();\n      }\n    }\n  }, [blocker, message]);\n  React.useEffect(() => {\n    if (blocker.state === \"blocked\" && !when) {\n      blocker.reset();\n    }\n  }, [blocker, when]);\n}\n/**\n * Return a boolean indicating if there is an active view transition to the\n * given href.  You can use this value to render CSS classes or viewTransitionName\n * styles onto your elements\n *\n * @param href The destination href\n * @param [opts.relative] Relative routing type (\"route\" | \"path\")\n */\nfunction useViewTransitionState(to, opts) {\n  if (opts === void 0) {\n    opts = {};\n  }\n  let vtContext = React.useContext(ViewTransitionContext);\n  !(vtContext != null) ? process.env.NODE_ENV !== \"production\" ? UNSAFE_invariant(false, \"`useViewTransitionState` must be used within `react-router-dom`'s `RouterProvider`.  \" + \"Did you accidentally import `RouterProvider` from `react-router`?\") : UNSAFE_invariant(false) : void 0;\n  let {\n    basename\n  } = useDataRouterContext(DataRouterHook.useViewTransitionState);\n  let path = useResolvedPath(to, {\n    relative: opts.relative\n  });\n  if (!vtContext.isTransitioning) {\n    return false;\n  }\n  let currentPath = stripBasename(vtContext.currentLocation.pathname, basename) || vtContext.currentLocation.pathname;\n  let nextPath = stripBasename(vtContext.nextLocation.pathname, basename) || vtContext.nextLocation.pathname;\n  // Transition is active if we're going to or coming from the indicated\n  // destination.  This ensures that other PUSH navigations that reverse\n  // an indicated transition apply.  I.e., on the list view you have:\n  //\n  //   <NavLink to=\"/details/1\" viewTransition>\n  //\n  // If you click the breadcrumb back to the list view:\n  //\n  //   <NavLink to=\"/list\" viewTransition>\n  //\n  // We should apply the transition because it's indicated as active going\n  // from /list -> /details/1 and therefore should be active on the reverse\n  // (even though this isn't strictly a POP reverse)\n  return matchPath(path.pathname, nextPath) != null || matchPath(path.pathname, currentPath) != null;\n}\n//#endregion\n\nexport { BrowserRouter, Form, HashRouter, Link, NavLink, RouterProvider, ScrollRestoration, FetchersContext as UNSAFE_FetchersContext, ViewTransitionContext as UNSAFE_ViewTransitionContext, useScrollRestoration as UNSAFE_useScrollRestoration, createBrowserRouter, createHashRouter, createSearchParams, HistoryRouter as unstable_HistoryRouter, usePrompt as unstable_usePrompt, useBeforeUnload, useFetcher, useFetchers, useFormAction, useLinkClickHandler, useSearchParams, useSubmit, useViewTransitionState };\n//# sourceMappingURL=index.js.map\n","class ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nexport { ShikiError };\n","// src/utils.ts\nfunction clone(something) {\n  return doClone(something);\n}\nfunction doClone(something) {\n  if (Array.isArray(something)) {\n    return cloneArray(something);\n  }\n  if (something instanceof RegExp) {\n    return something;\n  }\n  if (typeof something === \"object\") {\n    return cloneObj(something);\n  }\n  return something;\n}\nfunction cloneArray(arr) {\n  let r = [];\n  for (let i = 0, len = arr.length; i < len; i++) {\n    r[i] = doClone(arr[i]);\n  }\n  return r;\n}\nfunction cloneObj(obj) {\n  let r = {};\n  for (let key in obj) {\n    r[key] = doClone(obj[key]);\n  }\n  return r;\n}\nfunction mergeObjects(target, ...sources) {\n  sources.forEach((source) => {\n    for (let key in source) {\n      target[key] = source[key];\n    }\n  });\n  return target;\n}\nfunction basename(path) {\n  const idx = ~path.lastIndexOf(\"/\") || ~path.lastIndexOf(\"\\\\\");\n  if (idx === 0) {\n    return path;\n  } else if (~idx === path.length - 1) {\n    return basename(path.substring(0, path.length - 1));\n  } else {\n    return path.substr(~idx + 1);\n  }\n}\nvar CAPTURING_REGEX_SOURCE = /\\$(\\d+)|\\${(\\d+):\\/(downcase|upcase)}/g;\nvar RegexSource = class {\n  static hasCaptures(regexSource) {\n    if (regexSource === null) {\n      return false;\n    }\n    CAPTURING_REGEX_SOURCE.lastIndex = 0;\n    return CAPTURING_REGEX_SOURCE.test(regexSource);\n  }\n  static replaceCaptures(regexSource, captureSource, captureIndices) {\n    return regexSource.replace(CAPTURING_REGEX_SOURCE, (match, index, commandIndex, command) => {\n      let capture = captureIndices[parseInt(index || commandIndex, 10)];\n      if (capture) {\n        let result = captureSource.substring(capture.start, capture.end);\n        while (result[0] === \".\") {\n          result = result.substring(1);\n        }\n        switch (command) {\n          case \"downcase\":\n            return result.toLowerCase();\n          case \"upcase\":\n            return result.toUpperCase();\n          default:\n            return result;\n        }\n      } else {\n        return match;\n      }\n    });\n  }\n};\nfunction strcmp(a, b) {\n  if (a < b) {\n    return -1;\n  }\n  if (a > b) {\n    return 1;\n  }\n  return 0;\n}\nfunction strArrCmp(a, b) {\n  if (a === null && b === null) {\n    return 0;\n  }\n  if (!a) {\n    return -1;\n  }\n  if (!b) {\n    return 1;\n  }\n  let len1 = a.length;\n  let len2 = b.length;\n  if (len1 === len2) {\n    for (let i = 0; i < len1; i++) {\n      let res = strcmp(a[i], b[i]);\n      if (res !== 0) {\n        return res;\n      }\n    }\n    return 0;\n  }\n  return len1 - len2;\n}\nfunction isValidHexColor(hex) {\n  if (/^#[0-9a-f]{6}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{8}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{3}$/i.test(hex)) {\n    return true;\n  }\n  if (/^#[0-9a-f]{4}$/i.test(hex)) {\n    return true;\n  }\n  return false;\n}\nfunction escapeRegExpCharacters(value) {\n  return value.replace(/[\\-\\\\\\{\\}\\*\\+\\?\\|\\^\\$\\.\\,\\[\\]\\(\\)\\#\\s]/g, \"\\\\$&\");\n}\nvar CachedFn = class {\n  constructor(fn) {\n    this.fn = fn;\n  }\n  cache = /* @__PURE__ */ new Map();\n  get(key) {\n    if (this.cache.has(key)) {\n      return this.cache.get(key);\n    }\n    const value = this.fn(key);\n    this.cache.set(key, value);\n    return value;\n  }\n};\n\n// src/theme.ts\nvar Theme = class {\n  constructor(_colorMap, _defaults, _root) {\n    this._colorMap = _colorMap;\n    this._defaults = _defaults;\n    this._root = _root;\n  }\n  static createFromRawTheme(source, colorMap) {\n    return this.createFromParsedTheme(parseTheme(source), colorMap);\n  }\n  static createFromParsedTheme(source, colorMap) {\n    return resolveParsedThemeRules(source, colorMap);\n  }\n  _cachedMatchRoot = new CachedFn(\n    (scopeName) => this._root.match(scopeName)\n  );\n  getColorMap() {\n    return this._colorMap.getColorMap();\n  }\n  getDefaults() {\n    return this._defaults;\n  }\n  match(scopePath) {\n    if (scopePath === null) {\n      return this._defaults;\n    }\n    const scopeName = scopePath.scopeName;\n    const matchingTrieElements = this._cachedMatchRoot.get(scopeName);\n    const effectiveRule = matchingTrieElements.find(\n      (v) => _scopePathMatchesParentScopes(scopePath.parent, v.parentScopes)\n    );\n    if (!effectiveRule) {\n      return null;\n    }\n    return new StyleAttributes(\n      effectiveRule.fontStyle,\n      effectiveRule.foreground,\n      effectiveRule.background\n    );\n  }\n};\nvar ScopeStack = class _ScopeStack {\n  constructor(parent, scopeName) {\n    this.parent = parent;\n    this.scopeName = scopeName;\n  }\n  static push(path, scopeNames) {\n    for (const name of scopeNames) {\n      path = new _ScopeStack(path, name);\n    }\n    return path;\n  }\n  static from(...segments) {\n    let result = null;\n    for (let i = 0; i < segments.length; i++) {\n      result = new _ScopeStack(result, segments[i]);\n    }\n    return result;\n  }\n  push(scopeName) {\n    return new _ScopeStack(this, scopeName);\n  }\n  getSegments() {\n    let item = this;\n    const result = [];\n    while (item) {\n      result.push(item.scopeName);\n      item = item.parent;\n    }\n    result.reverse();\n    return result;\n  }\n  toString() {\n    return this.getSegments().join(\" \");\n  }\n  extends(other) {\n    if (this === other) {\n      return true;\n    }\n    if (this.parent === null) {\n      return false;\n    }\n    return this.parent.extends(other);\n  }\n  getExtensionIfDefined(base) {\n    const result = [];\n    let item = this;\n    while (item && item !== base) {\n      result.push(item.scopeName);\n      item = item.parent;\n    }\n    return item === base ? result.reverse() : void 0;\n  }\n};\nfunction _scopePathMatchesParentScopes(scopePath, parentScopes) {\n  if (parentScopes.length === 0) {\n    return true;\n  }\n  for (let index = 0; index < parentScopes.length; index++) {\n    let scopePattern = parentScopes[index];\n    let scopeMustMatch = false;\n    if (scopePattern === \">\") {\n      if (index === parentScopes.length - 1) {\n        return false;\n      }\n      scopePattern = parentScopes[++index];\n      scopeMustMatch = true;\n    }\n    while (scopePath) {\n      if (_matchesScope(scopePath.scopeName, scopePattern)) {\n        break;\n      }\n      if (scopeMustMatch) {\n        return false;\n      }\n      scopePath = scopePath.parent;\n    }\n    if (!scopePath) {\n      return false;\n    }\n    scopePath = scopePath.parent;\n  }\n  return true;\n}\nfunction _matchesScope(scopeName, scopePattern) {\n  return scopePattern === scopeName || scopeName.startsWith(scopePattern) && scopeName[scopePattern.length] === \".\";\n}\nvar StyleAttributes = class {\n  constructor(fontStyle, foregroundId, backgroundId) {\n    this.fontStyle = fontStyle;\n    this.foregroundId = foregroundId;\n    this.backgroundId = backgroundId;\n  }\n};\nfunction parseTheme(source) {\n  if (!source) {\n    return [];\n  }\n  if (!source.settings || !Array.isArray(source.settings)) {\n    return [];\n  }\n  let settings = source.settings;\n  let result = [], resultLen = 0;\n  for (let i = 0, len = settings.length; i < len; i++) {\n    let entry = settings[i];\n    if (!entry.settings) {\n      continue;\n    }\n    let scopes;\n    if (typeof entry.scope === \"string\") {\n      let _scope = entry.scope;\n      _scope = _scope.replace(/^[,]+/, \"\");\n      _scope = _scope.replace(/[,]+$/, \"\");\n      scopes = _scope.split(\",\");\n    } else if (Array.isArray(entry.scope)) {\n      scopes = entry.scope;\n    } else {\n      scopes = [\"\"];\n    }\n    let fontStyle = -1 /* NotSet */;\n    if (typeof entry.settings.fontStyle === \"string\") {\n      fontStyle = 0 /* None */;\n      let segments = entry.settings.fontStyle.split(\" \");\n      for (let j = 0, lenJ = segments.length; j < lenJ; j++) {\n        let segment = segments[j];\n        switch (segment) {\n          case \"italic\":\n            fontStyle = fontStyle | 1 /* Italic */;\n            break;\n          case \"bold\":\n            fontStyle = fontStyle | 2 /* Bold */;\n            break;\n          case \"underline\":\n            fontStyle = fontStyle | 4 /* Underline */;\n            break;\n          case \"strikethrough\":\n            fontStyle = fontStyle | 8 /* Strikethrough */;\n            break;\n        }\n      }\n    }\n    let foreground = null;\n    if (typeof entry.settings.foreground === \"string\" && isValidHexColor(entry.settings.foreground)) {\n      foreground = entry.settings.foreground;\n    }\n    let background = null;\n    if (typeof entry.settings.background === \"string\" && isValidHexColor(entry.settings.background)) {\n      background = entry.settings.background;\n    }\n    for (let j = 0, lenJ = scopes.length; j < lenJ; j++) {\n      let _scope = scopes[j].trim();\n      let segments = _scope.split(\" \");\n      let scope = segments[segments.length - 1];\n      let parentScopes = null;\n      if (segments.length > 1) {\n        parentScopes = segments.slice(0, segments.length - 1);\n        parentScopes.reverse();\n      }\n      result[resultLen++] = new ParsedThemeRule(\n        scope,\n        parentScopes,\n        i,\n        fontStyle,\n        foreground,\n        background\n      );\n    }\n  }\n  return result;\n}\nvar ParsedThemeRule = class {\n  constructor(scope, parentScopes, index, fontStyle, foreground, background) {\n    this.scope = scope;\n    this.parentScopes = parentScopes;\n    this.index = index;\n    this.fontStyle = fontStyle;\n    this.foreground = foreground;\n    this.background = background;\n  }\n};\nvar FontStyle = /* @__PURE__ */ ((FontStyle2) => {\n  FontStyle2[FontStyle2[\"NotSet\"] = -1] = \"NotSet\";\n  FontStyle2[FontStyle2[\"None\"] = 0] = \"None\";\n  FontStyle2[FontStyle2[\"Italic\"] = 1] = \"Italic\";\n  FontStyle2[FontStyle2[\"Bold\"] = 2] = \"Bold\";\n  FontStyle2[FontStyle2[\"Underline\"] = 4] = \"Underline\";\n  FontStyle2[FontStyle2[\"Strikethrough\"] = 8] = \"Strikethrough\";\n  return FontStyle2;\n})(FontStyle || {});\nfunction resolveParsedThemeRules(parsedThemeRules, _colorMap) {\n  parsedThemeRules.sort((a, b) => {\n    let r = strcmp(a.scope, b.scope);\n    if (r !== 0) {\n      return r;\n    }\n    r = strArrCmp(a.parentScopes, b.parentScopes);\n    if (r !== 0) {\n      return r;\n    }\n    return a.index - b.index;\n  });\n  let defaultFontStyle = 0 /* None */;\n  let defaultForeground = \"#000000\";\n  let defaultBackground = \"#ffffff\";\n  while (parsedThemeRules.length >= 1 && parsedThemeRules[0].scope === \"\") {\n    let incomingDefaults = parsedThemeRules.shift();\n    if (incomingDefaults.fontStyle !== -1 /* NotSet */) {\n      defaultFontStyle = incomingDefaults.fontStyle;\n    }\n    if (incomingDefaults.foreground !== null) {\n      defaultForeground = incomingDefaults.foreground;\n    }\n    if (incomingDefaults.background !== null) {\n      defaultBackground = incomingDefaults.background;\n    }\n  }\n  let colorMap = new ColorMap(_colorMap);\n  let defaults = new StyleAttributes(defaultFontStyle, colorMap.getId(defaultForeground), colorMap.getId(defaultBackground));\n  let root = new ThemeTrieElement(new ThemeTrieElementRule(0, null, -1 /* NotSet */, 0, 0), []);\n  for (let i = 0, len = parsedThemeRules.length; i < len; i++) {\n    let rule = parsedThemeRules[i];\n    root.insert(0, rule.scope, rule.parentScopes, rule.fontStyle, colorMap.getId(rule.foreground), colorMap.getId(rule.background));\n  }\n  return new Theme(colorMap, defaults, root);\n}\nvar ColorMap = class {\n  _isFrozen;\n  _lastColorId;\n  _id2color;\n  _color2id;\n  constructor(_colorMap) {\n    this._lastColorId = 0;\n    this._id2color = [];\n    this._color2id = /* @__PURE__ */ Object.create(null);\n    if (Array.isArray(_colorMap)) {\n      this._isFrozen = true;\n      for (let i = 0, len = _colorMap.length; i < len; i++) {\n        this._color2id[_colorMap[i]] = i;\n        this._id2color[i] = _colorMap[i];\n      }\n    } else {\n      this._isFrozen = false;\n    }\n  }\n  getId(color) {\n    if (color === null) {\n      return 0;\n    }\n    color = color.toUpperCase();\n    let value = this._color2id[color];\n    if (value) {\n      return value;\n    }\n    if (this._isFrozen) {\n      throw new Error(`Missing color in color map - ${color}`);\n    }\n    value = ++this._lastColorId;\n    this._color2id[color] = value;\n    this._id2color[value] = color;\n    return value;\n  }\n  getColorMap() {\n    return this._id2color.slice(0);\n  }\n};\nvar emptyParentScopes = Object.freeze([]);\nvar ThemeTrieElementRule = class _ThemeTrieElementRule {\n  scopeDepth;\n  parentScopes;\n  fontStyle;\n  foreground;\n  background;\n  constructor(scopeDepth, parentScopes, fontStyle, foreground, background) {\n    this.scopeDepth = scopeDepth;\n    this.parentScopes = parentScopes || emptyParentScopes;\n    this.fontStyle = fontStyle;\n    this.foreground = foreground;\n    this.background = background;\n  }\n  clone() {\n    return new _ThemeTrieElementRule(this.scopeDepth, this.parentScopes, this.fontStyle, this.foreground, this.background);\n  }\n  static cloneArr(arr) {\n    let r = [];\n    for (let i = 0, len = arr.length; i < len; i++) {\n      r[i] = arr[i].clone();\n    }\n    return r;\n  }\n  acceptOverwrite(scopeDepth, fontStyle, foreground, background) {\n    if (this.scopeDepth > scopeDepth) {\n      console.log(\"how did this happen?\");\n    } else {\n      this.scopeDepth = scopeDepth;\n    }\n    if (fontStyle !== -1 /* NotSet */) {\n      this.fontStyle = fontStyle;\n    }\n    if (foreground !== 0) {\n      this.foreground = foreground;\n    }\n    if (background !== 0) {\n      this.background = background;\n    }\n  }\n};\nvar ThemeTrieElement = class _ThemeTrieElement {\n  constructor(_mainRule, rulesWithParentScopes = [], _children = {}) {\n    this._mainRule = _mainRule;\n    this._children = _children;\n    this._rulesWithParentScopes = rulesWithParentScopes;\n  }\n  _rulesWithParentScopes;\n  static _cmpBySpecificity(a, b) {\n    if (a.scopeDepth !== b.scopeDepth) {\n      return b.scopeDepth - a.scopeDepth;\n    }\n    let aParentIndex = 0;\n    let bParentIndex = 0;\n    while (true) {\n      if (a.parentScopes[aParentIndex] === \">\") {\n        aParentIndex++;\n      }\n      if (b.parentScopes[bParentIndex] === \">\") {\n        bParentIndex++;\n      }\n      if (aParentIndex >= a.parentScopes.length || bParentIndex >= b.parentScopes.length) {\n        break;\n      }\n      const parentScopeLengthDiff = b.parentScopes[bParentIndex].length - a.parentScopes[aParentIndex].length;\n      if (parentScopeLengthDiff !== 0) {\n        return parentScopeLengthDiff;\n      }\n      aParentIndex++;\n      bParentIndex++;\n    }\n    return b.parentScopes.length - a.parentScopes.length;\n  }\n  match(scope) {\n    if (scope !== \"\") {\n      let dotIndex = scope.indexOf(\".\");\n      let head;\n      let tail;\n      if (dotIndex === -1) {\n        head = scope;\n        tail = \"\";\n      } else {\n        head = scope.substring(0, dotIndex);\n        tail = scope.substring(dotIndex + 1);\n      }\n      if (this._children.hasOwnProperty(head)) {\n        return this._children[head].match(tail);\n      }\n    }\n    const rules = this._rulesWithParentScopes.concat(this._mainRule);\n    rules.sort(_ThemeTrieElement._cmpBySpecificity);\n    return rules;\n  }\n  insert(scopeDepth, scope, parentScopes, fontStyle, foreground, background) {\n    if (scope === \"\") {\n      this._doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background);\n      return;\n    }\n    let dotIndex = scope.indexOf(\".\");\n    let head;\n    let tail;\n    if (dotIndex === -1) {\n      head = scope;\n      tail = \"\";\n    } else {\n      head = scope.substring(0, dotIndex);\n      tail = scope.substring(dotIndex + 1);\n    }\n    let child;\n    if (this._children.hasOwnProperty(head)) {\n      child = this._children[head];\n    } else {\n      child = new _ThemeTrieElement(this._mainRule.clone(), ThemeTrieElementRule.cloneArr(this._rulesWithParentScopes));\n      this._children[head] = child;\n    }\n    child.insert(scopeDepth + 1, tail, parentScopes, fontStyle, foreground, background);\n  }\n  _doInsertHere(scopeDepth, parentScopes, fontStyle, foreground, background) {\n    if (parentScopes === null) {\n      this._mainRule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n      return;\n    }\n    for (let i = 0, len = this._rulesWithParentScopes.length; i < len; i++) {\n      let rule = this._rulesWithParentScopes[i];\n      if (strArrCmp(rule.parentScopes, parentScopes) === 0) {\n        rule.acceptOverwrite(scopeDepth, fontStyle, foreground, background);\n        return;\n      }\n    }\n    if (fontStyle === -1 /* NotSet */) {\n      fontStyle = this._mainRule.fontStyle;\n    }\n    if (foreground === 0) {\n      foreground = this._mainRule.foreground;\n    }\n    if (background === 0) {\n      background = this._mainRule.background;\n    }\n    this._rulesWithParentScopes.push(new ThemeTrieElementRule(scopeDepth, parentScopes, fontStyle, foreground, background));\n  }\n};\n\n// src/encodedTokenAttributes.ts\nvar EncodedTokenMetadata = class _EncodedTokenMetadata {\n  static toBinaryStr(encodedTokenAttributes) {\n    return encodedTokenAttributes.toString(2).padStart(32, \"0\");\n  }\n  static print(encodedTokenAttributes) {\n    const languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n    const tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n    const fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n    const foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n    const background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n    console.log({\n      languageId,\n      tokenType,\n      fontStyle,\n      foreground,\n      background\n    });\n  }\n  static getLanguageId(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 255 /* LANGUAGEID_MASK */) >>> 0 /* LANGUAGEID_OFFSET */;\n  }\n  static getTokenType(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 768 /* TOKEN_TYPE_MASK */) >>> 8 /* TOKEN_TYPE_OFFSET */;\n  }\n  static containsBalancedBrackets(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 1024 /* BALANCED_BRACKETS_MASK */) !== 0;\n  }\n  static getFontStyle(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 30720 /* FONT_STYLE_MASK */) >>> 11 /* FONT_STYLE_OFFSET */;\n  }\n  static getForeground(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 16744448 /* FOREGROUND_MASK */) >>> 15 /* FOREGROUND_OFFSET */;\n  }\n  static getBackground(encodedTokenAttributes) {\n    return (encodedTokenAttributes & 4278190080 /* BACKGROUND_MASK */) >>> 24 /* BACKGROUND_OFFSET */;\n  }\n  /**\n   * Updates the fields in `metadata`.\n   * A value of `0`, `NotSet` or `null` indicates that the corresponding field should be left as is.\n   */\n  static set(encodedTokenAttributes, languageId, tokenType, containsBalancedBrackets, fontStyle, foreground, background) {\n    let _languageId = _EncodedTokenMetadata.getLanguageId(encodedTokenAttributes);\n    let _tokenType = _EncodedTokenMetadata.getTokenType(encodedTokenAttributes);\n    let _containsBalancedBracketsBit = _EncodedTokenMetadata.containsBalancedBrackets(encodedTokenAttributes) ? 1 : 0;\n    let _fontStyle = _EncodedTokenMetadata.getFontStyle(encodedTokenAttributes);\n    let _foreground = _EncodedTokenMetadata.getForeground(encodedTokenAttributes);\n    let _background = _EncodedTokenMetadata.getBackground(encodedTokenAttributes);\n    if (languageId !== 0) {\n      _languageId = languageId;\n    }\n    if (tokenType !== 8 /* NotSet */) {\n      _tokenType = fromOptionalTokenType(tokenType);\n    }\n    if (containsBalancedBrackets !== null) {\n      _containsBalancedBracketsBit = containsBalancedBrackets ? 1 : 0;\n    }\n    if (fontStyle !== -1 /* NotSet */) {\n      _fontStyle = fontStyle;\n    }\n    if (foreground !== 0) {\n      _foreground = foreground;\n    }\n    if (background !== 0) {\n      _background = background;\n    }\n    return (_languageId << 0 /* LANGUAGEID_OFFSET */ | _tokenType << 8 /* TOKEN_TYPE_OFFSET */ | _containsBalancedBracketsBit << 10 /* BALANCED_BRACKETS_OFFSET */ | _fontStyle << 11 /* FONT_STYLE_OFFSET */ | _foreground << 15 /* FOREGROUND_OFFSET */ | _background << 24 /* BACKGROUND_OFFSET */) >>> 0;\n  }\n};\nfunction toOptionalTokenType(standardType) {\n  return standardType;\n}\nfunction fromOptionalTokenType(standardType) {\n  return standardType;\n}\n\n// src/matcher.ts\nfunction createMatchers(selector, matchesName) {\n  const results = [];\n  const tokenizer = newTokenizer(selector);\n  let token = tokenizer.next();\n  while (token !== null) {\n    let priority = 0;\n    if (token.length === 2 && token.charAt(1) === \":\") {\n      switch (token.charAt(0)) {\n        case \"R\":\n          priority = 1;\n          break;\n        case \"L\":\n          priority = -1;\n          break;\n        default:\n          console.log(`Unknown priority ${token} in scope selector`);\n      }\n      token = tokenizer.next();\n    }\n    let matcher = parseConjunction();\n    results.push({ matcher, priority });\n    if (token !== \",\") {\n      break;\n    }\n    token = tokenizer.next();\n  }\n  return results;\n  function parseOperand() {\n    if (token === \"-\") {\n      token = tokenizer.next();\n      const expressionToNegate = parseOperand();\n      return (matcherInput) => !!expressionToNegate && !expressionToNegate(matcherInput);\n    }\n    if (token === \"(\") {\n      token = tokenizer.next();\n      const expressionInParents = parseInnerExpression();\n      if (token === \")\") {\n        token = tokenizer.next();\n      }\n      return expressionInParents;\n    }\n    if (isIdentifier(token)) {\n      const identifiers = [];\n      do {\n        identifiers.push(token);\n        token = tokenizer.next();\n      } while (isIdentifier(token));\n      return (matcherInput) => matchesName(identifiers, matcherInput);\n    }\n    return null;\n  }\n  function parseConjunction() {\n    const matchers = [];\n    let matcher = parseOperand();\n    while (matcher) {\n      matchers.push(matcher);\n      matcher = parseOperand();\n    }\n    return (matcherInput) => matchers.every((matcher2) => matcher2(matcherInput));\n  }\n  function parseInnerExpression() {\n    const matchers = [];\n    let matcher = parseConjunction();\n    while (matcher) {\n      matchers.push(matcher);\n      if (token === \"|\" || token === \",\") {\n        do {\n          token = tokenizer.next();\n        } while (token === \"|\" || token === \",\");\n      } else {\n        break;\n      }\n      matcher = parseConjunction();\n    }\n    return (matcherInput) => matchers.some((matcher2) => matcher2(matcherInput));\n  }\n}\nfunction isIdentifier(token) {\n  return !!token && !!token.match(/[\\w\\.:]+/);\n}\nfunction newTokenizer(input) {\n  let regex = /([LR]:|[\\w\\.:][\\w\\.:\\-]*|[\\,\\|\\-\\(\\)])/g;\n  let match = regex.exec(input);\n  return {\n    next: () => {\n      if (!match) {\n        return null;\n      }\n      const res = match[0];\n      match = regex.exec(input);\n      return res;\n    }\n  };\n}\n\n// src/onigLib.ts\nvar FindOption = /* @__PURE__ */ ((FindOption2) => {\n  FindOption2[FindOption2[\"None\"] = 0] = \"None\";\n  FindOption2[FindOption2[\"NotBeginString\"] = 1] = \"NotBeginString\";\n  FindOption2[FindOption2[\"NotEndString\"] = 2] = \"NotEndString\";\n  FindOption2[FindOption2[\"NotBeginPosition\"] = 4] = \"NotBeginPosition\";\n  FindOption2[FindOption2[\"DebugCall\"] = 8] = \"DebugCall\";\n  return FindOption2;\n})(FindOption || {});\nfunction disposeOnigString(str) {\n  if (typeof str.dispose === \"function\") {\n    str.dispose();\n  }\n}\n\n// src/grammar/grammarDependencies.ts\nvar TopLevelRuleReference = class {\n  constructor(scopeName) {\n    this.scopeName = scopeName;\n  }\n  toKey() {\n    return this.scopeName;\n  }\n};\nvar TopLevelRepositoryRuleReference = class {\n  constructor(scopeName, ruleName) {\n    this.scopeName = scopeName;\n    this.ruleName = ruleName;\n  }\n  toKey() {\n    return `${this.scopeName}#${this.ruleName}`;\n  }\n};\nvar ExternalReferenceCollector = class {\n  _references = [];\n  _seenReferenceKeys = /* @__PURE__ */ new Set();\n  get references() {\n    return this._references;\n  }\n  visitedRule = /* @__PURE__ */ new Set();\n  add(reference) {\n    const key = reference.toKey();\n    if (this._seenReferenceKeys.has(key)) {\n      return;\n    }\n    this._seenReferenceKeys.add(key);\n    this._references.push(reference);\n  }\n};\nvar ScopeDependencyProcessor = class {\n  constructor(repo, initialScopeName) {\n    this.repo = repo;\n    this.initialScopeName = initialScopeName;\n    this.seenFullScopeRequests.add(this.initialScopeName);\n    this.Q = [new TopLevelRuleReference(this.initialScopeName)];\n  }\n  seenFullScopeRequests = /* @__PURE__ */ new Set();\n  seenPartialScopeRequests = /* @__PURE__ */ new Set();\n  Q;\n  processQueue() {\n    const q = this.Q;\n    this.Q = [];\n    const deps = new ExternalReferenceCollector();\n    for (const dep of q) {\n      collectReferencesOfReference(dep, this.initialScopeName, this.repo, deps);\n    }\n    for (const dep of deps.references) {\n      if (dep instanceof TopLevelRuleReference) {\n        if (this.seenFullScopeRequests.has(dep.scopeName)) {\n          continue;\n        }\n        this.seenFullScopeRequests.add(dep.scopeName);\n        this.Q.push(dep);\n      } else {\n        if (this.seenFullScopeRequests.has(dep.scopeName)) {\n          continue;\n        }\n        if (this.seenPartialScopeRequests.has(dep.toKey())) {\n          continue;\n        }\n        this.seenPartialScopeRequests.add(dep.toKey());\n        this.Q.push(dep);\n      }\n    }\n  }\n};\nfunction collectReferencesOfReference(reference, baseGrammarScopeName, repo, result) {\n  const selfGrammar = repo.lookup(reference.scopeName);\n  if (!selfGrammar) {\n    if (reference.scopeName === baseGrammarScopeName) {\n      throw new Error(`No grammar provided for <${baseGrammarScopeName}>`);\n    }\n    return;\n  }\n  const baseGrammar = repo.lookup(baseGrammarScopeName);\n  if (reference instanceof TopLevelRuleReference) {\n    collectExternalReferencesInTopLevelRule({ baseGrammar, selfGrammar }, result);\n  } else {\n    collectExternalReferencesInTopLevelRepositoryRule(\n      reference.ruleName,\n      { baseGrammar, selfGrammar, repository: selfGrammar.repository },\n      result\n    );\n  }\n  const injections = repo.injections(reference.scopeName);\n  if (injections) {\n    for (const injection of injections) {\n      result.add(new TopLevelRuleReference(injection));\n    }\n  }\n}\nfunction collectExternalReferencesInTopLevelRepositoryRule(ruleName, context, result) {\n  if (context.repository && context.repository[ruleName]) {\n    const rule = context.repository[ruleName];\n    collectExternalReferencesInRules([rule], context, result);\n  }\n}\nfunction collectExternalReferencesInTopLevelRule(context, result) {\n  if (context.selfGrammar.patterns && Array.isArray(context.selfGrammar.patterns)) {\n    collectExternalReferencesInRules(\n      context.selfGrammar.patterns,\n      { ...context, repository: context.selfGrammar.repository },\n      result\n    );\n  }\n  if (context.selfGrammar.injections) {\n    collectExternalReferencesInRules(\n      Object.values(context.selfGrammar.injections),\n      { ...context, repository: context.selfGrammar.repository },\n      result\n    );\n  }\n}\nfunction collectExternalReferencesInRules(rules, context, result) {\n  for (const rule of rules) {\n    if (result.visitedRule.has(rule)) {\n      continue;\n    }\n    result.visitedRule.add(rule);\n    const patternRepository = rule.repository ? mergeObjects({}, context.repository, rule.repository) : context.repository;\n    if (Array.isArray(rule.patterns)) {\n      collectExternalReferencesInRules(rule.patterns, { ...context, repository: patternRepository }, result);\n    }\n    const include = rule.include;\n    if (!include) {\n      continue;\n    }\n    const reference = parseInclude(include);\n    switch (reference.kind) {\n      case 0 /* Base */:\n        collectExternalReferencesInTopLevelRule({ ...context, selfGrammar: context.baseGrammar }, result);\n        break;\n      case 1 /* Self */:\n        collectExternalReferencesInTopLevelRule(context, result);\n        break;\n      case 2 /* RelativeReference */:\n        collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, { ...context, repository: patternRepository }, result);\n        break;\n      case 3 /* TopLevelReference */:\n      case 4 /* TopLevelRepositoryReference */:\n        const selfGrammar = reference.scopeName === context.selfGrammar.scopeName ? context.selfGrammar : reference.scopeName === context.baseGrammar.scopeName ? context.baseGrammar : void 0;\n        if (selfGrammar) {\n          const newContext = { baseGrammar: context.baseGrammar, selfGrammar, repository: patternRepository };\n          if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n            collectExternalReferencesInTopLevelRepositoryRule(reference.ruleName, newContext, result);\n          } else {\n            collectExternalReferencesInTopLevelRule(newContext, result);\n          }\n        } else {\n          if (reference.kind === 4 /* TopLevelRepositoryReference */) {\n            result.add(new TopLevelRepositoryRuleReference(reference.scopeName, reference.ruleName));\n          } else {\n            result.add(new TopLevelRuleReference(reference.scopeName));\n          }\n        }\n        break;\n    }\n  }\n}\nvar BaseReference = class {\n  kind = 0 /* Base */;\n};\nvar SelfReference = class {\n  kind = 1 /* Self */;\n};\nvar RelativeReference = class {\n  constructor(ruleName) {\n    this.ruleName = ruleName;\n  }\n  kind = 2 /* RelativeReference */;\n};\nvar TopLevelReference = class {\n  constructor(scopeName) {\n    this.scopeName = scopeName;\n  }\n  kind = 3 /* TopLevelReference */;\n};\nvar TopLevelRepositoryReference = class {\n  constructor(scopeName, ruleName) {\n    this.scopeName = scopeName;\n    this.ruleName = ruleName;\n  }\n  kind = 4 /* TopLevelRepositoryReference */;\n};\nfunction parseInclude(include) {\n  if (include === \"$base\") {\n    return new BaseReference();\n  } else if (include === \"$self\") {\n    return new SelfReference();\n  }\n  const indexOfSharp = include.indexOf(\"#\");\n  if (indexOfSharp === -1) {\n    return new TopLevelReference(include);\n  } else if (indexOfSharp === 0) {\n    return new RelativeReference(include.substring(1));\n  } else {\n    const scopeName = include.substring(0, indexOfSharp);\n    const ruleName = include.substring(indexOfSharp + 1);\n    return new TopLevelRepositoryReference(scopeName, ruleName);\n  }\n}\n\n// src/rule.ts\nvar HAS_BACK_REFERENCES = /\\\\(\\d+)/;\nvar BACK_REFERENCING_END = /\\\\(\\d+)/g;\nvar ruleIdSymbol = Symbol(\"RuleId\");\nvar endRuleId = -1;\nvar whileRuleId = -2;\nfunction ruleIdFromNumber(id) {\n  return id;\n}\nfunction ruleIdToNumber(id) {\n  return id;\n}\nvar Rule = class {\n  $location;\n  id;\n  _nameIsCapturing;\n  _name;\n  _contentNameIsCapturing;\n  _contentName;\n  constructor($location, id, name, contentName) {\n    this.$location = $location;\n    this.id = id;\n    this._name = name || null;\n    this._nameIsCapturing = RegexSource.hasCaptures(this._name);\n    this._contentName = contentName || null;\n    this._contentNameIsCapturing = RegexSource.hasCaptures(this._contentName);\n  }\n  get debugName() {\n    const location = this.$location ? `${basename(this.$location.filename)}:${this.$location.line}` : \"unknown\";\n    return `${this.constructor.name}#${this.id} @ ${location}`;\n  }\n  getName(lineText, captureIndices) {\n    if (!this._nameIsCapturing || this._name === null || lineText === null || captureIndices === null) {\n      return this._name;\n    }\n    return RegexSource.replaceCaptures(this._name, lineText, captureIndices);\n  }\n  getContentName(lineText, captureIndices) {\n    if (!this._contentNameIsCapturing || this._contentName === null) {\n      return this._contentName;\n    }\n    return RegexSource.replaceCaptures(this._contentName, lineText, captureIndices);\n  }\n};\nvar CaptureRule = class extends Rule {\n  retokenizeCapturedWithRuleId;\n  constructor($location, id, name, contentName, retokenizeCapturedWithRuleId) {\n    super($location, id, name, contentName);\n    this.retokenizeCapturedWithRuleId = retokenizeCapturedWithRuleId;\n  }\n  dispose() {\n  }\n  collectPatterns(grammar, out) {\n    throw new Error(\"Not supported!\");\n  }\n  compile(grammar, endRegexSource) {\n    throw new Error(\"Not supported!\");\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    throw new Error(\"Not supported!\");\n  }\n};\nvar MatchRule = class extends Rule {\n  _match;\n  captures;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, match, captures) {\n    super($location, id, name, null);\n    this._match = new RegExpSource(match, this.id);\n    this.captures = captures;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  get debugMatchRegExp() {\n    return `${this._match.source}`;\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._match);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      this.collectPatterns(grammar, this._cachedCompiledPatterns);\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar IncludeOnlyRule = class extends Rule {\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, contentName, patterns) {\n    super($location, id, name, contentName);\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  collectPatterns(grammar, out) {\n    for (const pattern of this.patterns) {\n      const rule = grammar.getRule(pattern);\n      rule.collectPatterns(grammar, out);\n    }\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      this.collectPatterns(grammar, this._cachedCompiledPatterns);\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar BeginEndRule = class extends Rule {\n  _begin;\n  beginCaptures;\n  _end;\n  endHasBackReferences;\n  endCaptures;\n  applyEndPatternLast;\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  constructor($location, id, name, contentName, begin, beginCaptures, end, endCaptures, applyEndPatternLast, patterns) {\n    super($location, id, name, contentName);\n    this._begin = new RegExpSource(begin, this.id);\n    this.beginCaptures = beginCaptures;\n    this._end = new RegExpSource(end ? end : \"\\uFFFF\", -1);\n    this.endHasBackReferences = this._end.hasBackReferences;\n    this.endCaptures = endCaptures;\n    this.applyEndPatternLast = applyEndPatternLast || false;\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n  }\n  get debugBeginRegExp() {\n    return `${this._begin.source}`;\n  }\n  get debugEndRegExp() {\n    return `${this._end.source}`;\n  }\n  getEndWithResolvedBackReferences(lineText, captureIndices) {\n    return this._end.resolveBackReferences(lineText, captureIndices);\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._begin);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar, endRegexSource).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar, endRegexSource) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      for (const pattern of this.patterns) {\n        const rule = grammar.getRule(pattern);\n        rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n      }\n      if (this.applyEndPatternLast) {\n        this._cachedCompiledPatterns.push(this._end.hasBackReferences ? this._end.clone() : this._end);\n      } else {\n        this._cachedCompiledPatterns.unshift(this._end.hasBackReferences ? this._end.clone() : this._end);\n      }\n    }\n    if (this._end.hasBackReferences) {\n      if (this.applyEndPatternLast) {\n        this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length() - 1, endRegexSource);\n      } else {\n        this._cachedCompiledPatterns.setSource(0, endRegexSource);\n      }\n    }\n    return this._cachedCompiledPatterns;\n  }\n};\nvar BeginWhileRule = class extends Rule {\n  _begin;\n  beginCaptures;\n  whileCaptures;\n  _while;\n  whileHasBackReferences;\n  hasMissingPatterns;\n  patterns;\n  _cachedCompiledPatterns;\n  _cachedCompiledWhilePatterns;\n  constructor($location, id, name, contentName, begin, beginCaptures, _while, whileCaptures, patterns) {\n    super($location, id, name, contentName);\n    this._begin = new RegExpSource(begin, this.id);\n    this.beginCaptures = beginCaptures;\n    this.whileCaptures = whileCaptures;\n    this._while = new RegExpSource(_while, whileRuleId);\n    this.whileHasBackReferences = this._while.hasBackReferences;\n    this.patterns = patterns.patterns;\n    this.hasMissingPatterns = patterns.hasMissingPatterns;\n    this._cachedCompiledPatterns = null;\n    this._cachedCompiledWhilePatterns = null;\n  }\n  dispose() {\n    if (this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns.dispose();\n      this._cachedCompiledPatterns = null;\n    }\n    if (this._cachedCompiledWhilePatterns) {\n      this._cachedCompiledWhilePatterns.dispose();\n      this._cachedCompiledWhilePatterns = null;\n    }\n  }\n  get debugBeginRegExp() {\n    return `${this._begin.source}`;\n  }\n  get debugWhileRegExp() {\n    return `${this._while.source}`;\n  }\n  getWhileWithResolvedBackReferences(lineText, captureIndices) {\n    return this._while.resolveBackReferences(lineText, captureIndices);\n  }\n  collectPatterns(grammar, out) {\n    out.push(this._begin);\n  }\n  compile(grammar, endRegexSource) {\n    return this._getCachedCompiledPatterns(grammar).compile(grammar);\n  }\n  compileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledPatterns(grammar).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledPatterns(grammar) {\n    if (!this._cachedCompiledPatterns) {\n      this._cachedCompiledPatterns = new RegExpSourceList();\n      for (const pattern of this.patterns) {\n        const rule = grammar.getRule(pattern);\n        rule.collectPatterns(grammar, this._cachedCompiledPatterns);\n      }\n    }\n    return this._cachedCompiledPatterns;\n  }\n  compileWhile(grammar, endRegexSource) {\n    return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compile(grammar);\n  }\n  compileWhileAG(grammar, endRegexSource, allowA, allowG) {\n    return this._getCachedCompiledWhilePatterns(grammar, endRegexSource).compileAG(grammar, allowA, allowG);\n  }\n  _getCachedCompiledWhilePatterns(grammar, endRegexSource) {\n    if (!this._cachedCompiledWhilePatterns) {\n      this._cachedCompiledWhilePatterns = new RegExpSourceList();\n      this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences ? this._while.clone() : this._while);\n    }\n    if (this._while.hasBackReferences) {\n      this._cachedCompiledWhilePatterns.setSource(0, endRegexSource ? endRegexSource : \"\\uFFFF\");\n    }\n    return this._cachedCompiledWhilePatterns;\n  }\n};\nvar RuleFactory = class _RuleFactory {\n  static createCaptureRule(helper, $location, name, contentName, retokenizeCapturedWithRuleId) {\n    return helper.registerRule((id) => {\n      return new CaptureRule($location, id, name, contentName, retokenizeCapturedWithRuleId);\n    });\n  }\n  static getCompiledRuleId(desc, helper, repository) {\n    if (!desc.id) {\n      helper.registerRule((id) => {\n        desc.id = id;\n        if (desc.match) {\n          return new MatchRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.match,\n            _RuleFactory._compileCaptures(desc.captures, helper, repository)\n          );\n        }\n        if (typeof desc.begin === \"undefined\") {\n          if (desc.repository) {\n            repository = mergeObjects({}, repository, desc.repository);\n          }\n          let patterns = desc.patterns;\n          if (typeof patterns === \"undefined\" && desc.include) {\n            patterns = [{ include: desc.include }];\n          }\n          return new IncludeOnlyRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.contentName,\n            _RuleFactory._compilePatterns(patterns, helper, repository)\n          );\n        }\n        if (desc.while) {\n          return new BeginWhileRule(\n            desc.$vscodeTextmateLocation,\n            desc.id,\n            desc.name,\n            desc.contentName,\n            desc.begin,\n            _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n            desc.while,\n            _RuleFactory._compileCaptures(desc.whileCaptures || desc.captures, helper, repository),\n            _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n          );\n        }\n        return new BeginEndRule(\n          desc.$vscodeTextmateLocation,\n          desc.id,\n          desc.name,\n          desc.contentName,\n          desc.begin,\n          _RuleFactory._compileCaptures(desc.beginCaptures || desc.captures, helper, repository),\n          desc.end,\n          _RuleFactory._compileCaptures(desc.endCaptures || desc.captures, helper, repository),\n          desc.applyEndPatternLast,\n          _RuleFactory._compilePatterns(desc.patterns, helper, repository)\n        );\n      });\n    }\n    return desc.id;\n  }\n  static _compileCaptures(captures, helper, repository) {\n    let r = [];\n    if (captures) {\n      let maximumCaptureId = 0;\n      for (const captureId in captures) {\n        if (captureId === \"$vscodeTextmateLocation\") {\n          continue;\n        }\n        const numericCaptureId = parseInt(captureId, 10);\n        if (numericCaptureId > maximumCaptureId) {\n          maximumCaptureId = numericCaptureId;\n        }\n      }\n      for (let i = 0; i <= maximumCaptureId; i++) {\n        r[i] = null;\n      }\n      for (const captureId in captures) {\n        if (captureId === \"$vscodeTextmateLocation\") {\n          continue;\n        }\n        const numericCaptureId = parseInt(captureId, 10);\n        let retokenizeCapturedWithRuleId = 0;\n        if (captures[captureId].patterns) {\n          retokenizeCapturedWithRuleId = _RuleFactory.getCompiledRuleId(captures[captureId], helper, repository);\n        }\n        r[numericCaptureId] = _RuleFactory.createCaptureRule(helper, captures[captureId].$vscodeTextmateLocation, captures[captureId].name, captures[captureId].contentName, retokenizeCapturedWithRuleId);\n      }\n    }\n    return r;\n  }\n  static _compilePatterns(patterns, helper, repository) {\n    let r = [];\n    if (patterns) {\n      for (let i = 0, len = patterns.length; i < len; i++) {\n        const pattern = patterns[i];\n        let ruleId = -1;\n        if (pattern.include) {\n          const reference = parseInclude(pattern.include);\n          switch (reference.kind) {\n            case 0 /* Base */:\n            case 1 /* Self */:\n              ruleId = _RuleFactory.getCompiledRuleId(repository[pattern.include], helper, repository);\n              break;\n            case 2 /* RelativeReference */:\n              let localIncludedRule = repository[reference.ruleName];\n              if (localIncludedRule) {\n                ruleId = _RuleFactory.getCompiledRuleId(localIncludedRule, helper, repository);\n              } else {\n              }\n              break;\n            case 3 /* TopLevelReference */:\n            case 4 /* TopLevelRepositoryReference */:\n              const externalGrammarName = reference.scopeName;\n              const externalGrammarInclude = reference.kind === 4 /* TopLevelRepositoryReference */ ? reference.ruleName : null;\n              const externalGrammar = helper.getExternalGrammar(externalGrammarName, repository);\n              if (externalGrammar) {\n                if (externalGrammarInclude) {\n                  let externalIncludedRule = externalGrammar.repository[externalGrammarInclude];\n                  if (externalIncludedRule) {\n                    ruleId = _RuleFactory.getCompiledRuleId(externalIncludedRule, helper, externalGrammar.repository);\n                  } else {\n                  }\n                } else {\n                  ruleId = _RuleFactory.getCompiledRuleId(externalGrammar.repository.$self, helper, externalGrammar.repository);\n                }\n              } else {\n              }\n              break;\n          }\n        } else {\n          ruleId = _RuleFactory.getCompiledRuleId(pattern, helper, repository);\n        }\n        if (ruleId !== -1) {\n          const rule = helper.getRule(ruleId);\n          let skipRule = false;\n          if (rule instanceof IncludeOnlyRule || rule instanceof BeginEndRule || rule instanceof BeginWhileRule) {\n            if (rule.hasMissingPatterns && rule.patterns.length === 0) {\n              skipRule = true;\n            }\n          }\n          if (skipRule) {\n            continue;\n          }\n          r.push(ruleId);\n        }\n      }\n    }\n    return {\n      patterns: r,\n      hasMissingPatterns: (patterns ? patterns.length : 0) !== r.length\n    };\n  }\n};\nvar RegExpSource = class _RegExpSource {\n  source;\n  ruleId;\n  hasAnchor;\n  hasBackReferences;\n  _anchorCache;\n  constructor(regExpSource, ruleId) {\n    if (regExpSource && typeof regExpSource === \"string\") {\n      const len = regExpSource.length;\n      let lastPushedPos = 0;\n      let output = [];\n      let hasAnchor = false;\n      for (let pos = 0; pos < len; pos++) {\n        const ch = regExpSource.charAt(pos);\n        if (ch === \"\\\\\") {\n          if (pos + 1 < len) {\n            const nextCh = regExpSource.charAt(pos + 1);\n            if (nextCh === \"z\") {\n              output.push(regExpSource.substring(lastPushedPos, pos));\n              output.push(\"$(?!\\\\n)(?<!\\\\n)\");\n              lastPushedPos = pos + 2;\n            } else if (nextCh === \"A\" || nextCh === \"G\") {\n              hasAnchor = true;\n            }\n            pos++;\n          }\n        }\n      }\n      this.hasAnchor = hasAnchor;\n      if (lastPushedPos === 0) {\n        this.source = regExpSource;\n      } else {\n        output.push(regExpSource.substring(lastPushedPos, len));\n        this.source = output.join(\"\");\n      }\n    } else {\n      this.hasAnchor = false;\n      this.source = regExpSource;\n    }\n    if (this.hasAnchor) {\n      this._anchorCache = this._buildAnchorCache();\n    } else {\n      this._anchorCache = null;\n    }\n    this.ruleId = ruleId;\n    if (typeof this.source === \"string\") {\n      this.hasBackReferences = HAS_BACK_REFERENCES.test(this.source);\n    } else {\n      this.hasBackReferences = false;\n    }\n  }\n  clone() {\n    return new _RegExpSource(this.source, this.ruleId);\n  }\n  setSource(newSource) {\n    if (this.source === newSource) {\n      return;\n    }\n    this.source = newSource;\n    if (this.hasAnchor) {\n      this._anchorCache = this._buildAnchorCache();\n    }\n  }\n  resolveBackReferences(lineText, captureIndices) {\n    if (typeof this.source !== \"string\") {\n      throw new Error(\"This method should only be called if the source is a string\");\n    }\n    let capturedValues = captureIndices.map((capture) => {\n      return lineText.substring(capture.start, capture.end);\n    });\n    BACK_REFERENCING_END.lastIndex = 0;\n    return this.source.replace(BACK_REFERENCING_END, (match, g1) => {\n      return escapeRegExpCharacters(capturedValues[parseInt(g1, 10)] || \"\");\n    });\n  }\n  _buildAnchorCache() {\n    if (typeof this.source !== \"string\") {\n      throw new Error(\"This method should only be called if the source is a string\");\n    }\n    let A0_G0_result = [];\n    let A0_G1_result = [];\n    let A1_G0_result = [];\n    let A1_G1_result = [];\n    let pos, len, ch, nextCh;\n    for (pos = 0, len = this.source.length; pos < len; pos++) {\n      ch = this.source.charAt(pos);\n      A0_G0_result[pos] = ch;\n      A0_G1_result[pos] = ch;\n      A1_G0_result[pos] = ch;\n      A1_G1_result[pos] = ch;\n      if (ch === \"\\\\\") {\n        if (pos + 1 < len) {\n          nextCh = this.source.charAt(pos + 1);\n          if (nextCh === \"A\") {\n            A0_G0_result[pos + 1] = \"\\uFFFF\";\n            A0_G1_result[pos + 1] = \"\\uFFFF\";\n            A1_G0_result[pos + 1] = \"A\";\n            A1_G1_result[pos + 1] = \"A\";\n          } else if (nextCh === \"G\") {\n            A0_G0_result[pos + 1] = \"\\uFFFF\";\n            A0_G1_result[pos + 1] = \"G\";\n            A1_G0_result[pos + 1] = \"\\uFFFF\";\n            A1_G1_result[pos + 1] = \"G\";\n          } else {\n            A0_G0_result[pos + 1] = nextCh;\n            A0_G1_result[pos + 1] = nextCh;\n            A1_G0_result[pos + 1] = nextCh;\n            A1_G1_result[pos + 1] = nextCh;\n          }\n          pos++;\n        }\n      }\n    }\n    return {\n      A0_G0: A0_G0_result.join(\"\"),\n      A0_G1: A0_G1_result.join(\"\"),\n      A1_G0: A1_G0_result.join(\"\"),\n      A1_G1: A1_G1_result.join(\"\")\n    };\n  }\n  resolveAnchors(allowA, allowG) {\n    if (!this.hasAnchor || !this._anchorCache || typeof this.source !== \"string\") {\n      return this.source;\n    }\n    if (allowA) {\n      if (allowG) {\n        return this._anchorCache.A1_G1;\n      } else {\n        return this._anchorCache.A1_G0;\n      }\n    } else {\n      if (allowG) {\n        return this._anchorCache.A0_G1;\n      } else {\n        return this._anchorCache.A0_G0;\n      }\n    }\n  }\n};\nvar RegExpSourceList = class {\n  _items;\n  _hasAnchors;\n  _cached;\n  _anchorCache;\n  constructor() {\n    this._items = [];\n    this._hasAnchors = false;\n    this._cached = null;\n    this._anchorCache = {\n      A0_G0: null,\n      A0_G1: null,\n      A1_G0: null,\n      A1_G1: null\n    };\n  }\n  dispose() {\n    this._disposeCaches();\n  }\n  _disposeCaches() {\n    if (this._cached) {\n      this._cached.dispose();\n      this._cached = null;\n    }\n    if (this._anchorCache.A0_G0) {\n      this._anchorCache.A0_G0.dispose();\n      this._anchorCache.A0_G0 = null;\n    }\n    if (this._anchorCache.A0_G1) {\n      this._anchorCache.A0_G1.dispose();\n      this._anchorCache.A0_G1 = null;\n    }\n    if (this._anchorCache.A1_G0) {\n      this._anchorCache.A1_G0.dispose();\n      this._anchorCache.A1_G0 = null;\n    }\n    if (this._anchorCache.A1_G1) {\n      this._anchorCache.A1_G1.dispose();\n      this._anchorCache.A1_G1 = null;\n    }\n  }\n  push(item) {\n    this._items.push(item);\n    this._hasAnchors = this._hasAnchors || item.hasAnchor;\n  }\n  unshift(item) {\n    this._items.unshift(item);\n    this._hasAnchors = this._hasAnchors || item.hasAnchor;\n  }\n  length() {\n    return this._items.length;\n  }\n  setSource(index, newSource) {\n    if (this._items[index].source !== newSource) {\n      this._disposeCaches();\n      this._items[index].setSource(newSource);\n    }\n  }\n  compile(onigLib) {\n    if (!this._cached) {\n      let regExps = this._items.map((e) => e.source);\n      this._cached = new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n    }\n    return this._cached;\n  }\n  compileAG(onigLib, allowA, allowG) {\n    if (!this._hasAnchors) {\n      return this.compile(onigLib);\n    } else {\n      if (allowA) {\n        if (allowG) {\n          if (!this._anchorCache.A1_G1) {\n            this._anchorCache.A1_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A1_G1;\n        } else {\n          if (!this._anchorCache.A1_G0) {\n            this._anchorCache.A1_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A1_G0;\n        }\n      } else {\n        if (allowG) {\n          if (!this._anchorCache.A0_G1) {\n            this._anchorCache.A0_G1 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A0_G1;\n        } else {\n          if (!this._anchorCache.A0_G0) {\n            this._anchorCache.A0_G0 = this._resolveAnchors(onigLib, allowA, allowG);\n          }\n          return this._anchorCache.A0_G0;\n        }\n      }\n    }\n  }\n  _resolveAnchors(onigLib, allowA, allowG) {\n    let regExps = this._items.map((e) => e.resolveAnchors(allowA, allowG));\n    return new CompiledRule(onigLib, regExps, this._items.map((e) => e.ruleId));\n  }\n};\nvar CompiledRule = class {\n  constructor(onigLib, regExps, rules) {\n    this.regExps = regExps;\n    this.rules = rules;\n    this.scanner = onigLib.createOnigScanner(regExps);\n  }\n  scanner;\n  dispose() {\n    if (typeof this.scanner.dispose === \"function\") {\n      this.scanner.dispose();\n    }\n  }\n  toString() {\n    const r = [];\n    for (let i = 0, len = this.rules.length; i < len; i++) {\n      r.push(\"   - \" + this.rules[i] + \": \" + this.regExps[i]);\n    }\n    return r.join(\"\\n\");\n  }\n  findNextMatchSync(string, startPosition, options) {\n    const result = this.scanner.findNextMatchSync(string, startPosition, options);\n    if (!result) {\n      return null;\n    }\n    return {\n      ruleId: this.rules[result.index],\n      captureIndices: result.captureIndices\n    };\n  }\n};\n\n// src/grammar/basicScopesAttributeProvider.ts\nvar BasicScopeAttributes = class {\n  constructor(languageId, tokenType) {\n    this.languageId = languageId;\n    this.tokenType = tokenType;\n  }\n};\nvar BasicScopeAttributesProvider = class _BasicScopeAttributesProvider {\n  _defaultAttributes;\n  _embeddedLanguagesMatcher;\n  constructor(initialLanguageId, embeddedLanguages) {\n    this._defaultAttributes = new BasicScopeAttributes(initialLanguageId, 8 /* NotSet */);\n    this._embeddedLanguagesMatcher = new ScopeMatcher(Object.entries(embeddedLanguages || {}));\n  }\n  getDefaultAttributes() {\n    return this._defaultAttributes;\n  }\n  getBasicScopeAttributes(scopeName) {\n    if (scopeName === null) {\n      return _BasicScopeAttributesProvider._NULL_SCOPE_METADATA;\n    }\n    return this._getBasicScopeAttributes.get(scopeName);\n  }\n  static _NULL_SCOPE_METADATA = new BasicScopeAttributes(0, 0);\n  _getBasicScopeAttributes = new CachedFn((scopeName) => {\n    const languageId = this._scopeToLanguage(scopeName);\n    const standardTokenType = this._toStandardTokenType(scopeName);\n    return new BasicScopeAttributes(languageId, standardTokenType);\n  });\n  /**\n   * Given a produced TM scope, return the language that token describes or null if unknown.\n   * e.g. source.html => html, source.css.embedded.html => css, punctuation.definition.tag.html => null\n   */\n  _scopeToLanguage(scope) {\n    return this._embeddedLanguagesMatcher.match(scope) || 0;\n  }\n  _toStandardTokenType(scopeName) {\n    const m = scopeName.match(_BasicScopeAttributesProvider.STANDARD_TOKEN_TYPE_REGEXP);\n    if (!m) {\n      return 8 /* NotSet */;\n    }\n    switch (m[1]) {\n      case \"comment\":\n        return 1 /* Comment */;\n      case \"string\":\n        return 2 /* String */;\n      case \"regex\":\n        return 3 /* RegEx */;\n      case \"meta.embedded\":\n        return 0 /* Other */;\n    }\n    throw new Error(\"Unexpected match for standard token type!\");\n  }\n  static STANDARD_TOKEN_TYPE_REGEXP = /\\b(comment|string|regex|meta\\.embedded)\\b/;\n};\nvar ScopeMatcher = class {\n  values;\n  scopesRegExp;\n  constructor(values) {\n    if (values.length === 0) {\n      this.values = null;\n      this.scopesRegExp = null;\n    } else {\n      this.values = new Map(values);\n      const escapedScopes = values.map(\n        ([scopeName, value]) => escapeRegExpCharacters(scopeName)\n      );\n      escapedScopes.sort();\n      escapedScopes.reverse();\n      this.scopesRegExp = new RegExp(\n        `^((${escapedScopes.join(\")|(\")}))($|\\\\.)`,\n        \"\"\n      );\n    }\n  }\n  match(scope) {\n    if (!this.scopesRegExp) {\n      return void 0;\n    }\n    const m = scope.match(this.scopesRegExp);\n    if (!m) {\n      return void 0;\n    }\n    return this.values.get(m[1]);\n  }\n};\n\n// src/debug.ts\nvar DebugFlags = {\n  InDebugMode: typeof process !== \"undefined\" && !!process.env[\"VSCODE_TEXTMATE_DEBUG\"]\n};\nvar UseOnigurumaFindOptions = false;\n\n// src/grammar/tokenizeString.ts\nvar TokenizeStringResult = class {\n  constructor(stack, stoppedEarly) {\n    this.stack = stack;\n    this.stoppedEarly = stoppedEarly;\n  }\n};\nfunction _tokenizeString(grammar, lineText, isFirstLine, linePos, stack, lineTokens, checkWhileConditions, timeLimit) {\n  const lineLength = lineText.content.length;\n  let STOP = false;\n  let anchorPosition = -1;\n  if (checkWhileConditions) {\n    const whileCheckResult = _checkWhileConditions(\n      grammar,\n      lineText,\n      isFirstLine,\n      linePos,\n      stack,\n      lineTokens\n    );\n    stack = whileCheckResult.stack;\n    linePos = whileCheckResult.linePos;\n    isFirstLine = whileCheckResult.isFirstLine;\n    anchorPosition = whileCheckResult.anchorPosition;\n  }\n  const startTime = Date.now();\n  while (!STOP) {\n    if (timeLimit !== 0) {\n      const elapsedTime = Date.now() - startTime;\n      if (elapsedTime > timeLimit) {\n        return new TokenizeStringResult(stack, true);\n      }\n    }\n    scanNext();\n  }\n  return new TokenizeStringResult(stack, false);\n  function scanNext() {\n    if (false) {\n      console.log(\"\");\n      console.log(\n        `@@scanNext ${linePos}: |${lineText.content.substr(linePos).replace(/\\n$/, \"\\\\n\")}|`\n      );\n    }\n    const r = matchRuleOrInjections(\n      grammar,\n      lineText,\n      isFirstLine,\n      linePos,\n      stack,\n      anchorPosition\n    );\n    if (!r) {\n      lineTokens.produce(stack, lineLength);\n      STOP = true;\n      return;\n    }\n    const captureIndices = r.captureIndices;\n    const matchedRuleId = r.matchedRuleId;\n    const hasAdvanced = captureIndices && captureIndices.length > 0 ? captureIndices[0].end > linePos : false;\n    if (matchedRuleId === endRuleId) {\n      const poppedRule = stack.getRule(grammar);\n      if (false) {\n        console.log(\n          \"  popping \" + poppedRule.debugName + \" - \" + poppedRule.debugEndRegExp\n        );\n      }\n      lineTokens.produce(stack, captureIndices[0].start);\n      stack = stack.withContentNameScopesList(stack.nameScopesList);\n      handleCaptures(\n        grammar,\n        lineText,\n        isFirstLine,\n        stack,\n        lineTokens,\n        poppedRule.endCaptures,\n        captureIndices\n      );\n      lineTokens.produce(stack, captureIndices[0].end);\n      const popped = stack;\n      stack = stack.parent;\n      anchorPosition = popped.getAnchorPos();\n      if (!hasAdvanced && popped.getEnterPos() === linePos) {\n        if (false) {\n          console.error(\n            \"[1] - Grammar is in an endless loop - Grammar pushed & popped a rule without advancing\"\n          );\n        }\n        stack = popped;\n        lineTokens.produce(stack, lineLength);\n        STOP = true;\n        return;\n      }\n    } else {\n      const _rule = grammar.getRule(matchedRuleId);\n      lineTokens.produce(stack, captureIndices[0].start);\n      const beforePush = stack;\n      const scopeName = _rule.getName(lineText.content, captureIndices);\n      const nameScopesList = stack.contentNameScopesList.pushAttributed(\n        scopeName,\n        grammar\n      );\n      stack = stack.push(\n        matchedRuleId,\n        linePos,\n        anchorPosition,\n        captureIndices[0].end === lineLength,\n        null,\n        nameScopesList,\n        nameScopesList\n      );\n      if (_rule instanceof BeginEndRule) {\n        const pushedRule = _rule;\n        if (false) {\n          console.log(\n            \"  pushing \" + pushedRule.debugName + \" - \" + pushedRule.debugBeginRegExp\n          );\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          pushedRule.beginCaptures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        anchorPosition = captureIndices[0].end;\n        const contentName = pushedRule.getContentName(\n          lineText.content,\n          captureIndices\n        );\n        const contentNameScopesList = nameScopesList.pushAttributed(\n          contentName,\n          grammar\n        );\n        stack = stack.withContentNameScopesList(contentNameScopesList);\n        if (pushedRule.endHasBackReferences) {\n          stack = stack.withEndRule(\n            pushedRule.getEndWithResolvedBackReferences(\n              lineText.content,\n              captureIndices\n            )\n          );\n        }\n        if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n          if (false) {\n            console.error(\n              \"[2] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n            );\n          }\n          stack = stack.pop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      } else if (_rule instanceof BeginWhileRule) {\n        const pushedRule = _rule;\n        if (false) {\n          console.log(\"  pushing \" + pushedRule.debugName);\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          pushedRule.beginCaptures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        anchorPosition = captureIndices[0].end;\n        const contentName = pushedRule.getContentName(\n          lineText.content,\n          captureIndices\n        );\n        const contentNameScopesList = nameScopesList.pushAttributed(\n          contentName,\n          grammar\n        );\n        stack = stack.withContentNameScopesList(contentNameScopesList);\n        if (pushedRule.whileHasBackReferences) {\n          stack = stack.withEndRule(\n            pushedRule.getWhileWithResolvedBackReferences(\n              lineText.content,\n              captureIndices\n            )\n          );\n        }\n        if (!hasAdvanced && beforePush.hasSameRuleAs(stack)) {\n          if (false) {\n            console.error(\n              \"[3] - Grammar is in an endless loop - Grammar pushed the same rule without advancing\"\n            );\n          }\n          stack = stack.pop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      } else {\n        const matchingRule = _rule;\n        if (false) {\n          console.log(\n            \"  matched \" + matchingRule.debugName + \" - \" + matchingRule.debugMatchRegExp\n          );\n        }\n        handleCaptures(\n          grammar,\n          lineText,\n          isFirstLine,\n          stack,\n          lineTokens,\n          matchingRule.captures,\n          captureIndices\n        );\n        lineTokens.produce(stack, captureIndices[0].end);\n        stack = stack.pop();\n        if (!hasAdvanced) {\n          if (false) {\n            console.error(\n              \"[4] - Grammar is in an endless loop - Grammar is not advancing, nor is it pushing/popping\"\n            );\n          }\n          stack = stack.safePop();\n          lineTokens.produce(stack, lineLength);\n          STOP = true;\n          return;\n        }\n      }\n    }\n    if (captureIndices[0].end > linePos) {\n      linePos = captureIndices[0].end;\n      isFirstLine = false;\n    }\n  }\n}\nfunction _checkWhileConditions(grammar, lineText, isFirstLine, linePos, stack, lineTokens) {\n  let anchorPosition = stack.beginRuleCapturedEOL ? 0 : -1;\n  const whileRules = [];\n  for (let node = stack; node; node = node.pop()) {\n    const nodeRule = node.getRule(grammar);\n    if (nodeRule instanceof BeginWhileRule) {\n      whileRules.push({\n        rule: nodeRule,\n        stack: node\n      });\n    }\n  }\n  for (let whileRule = whileRules.pop(); whileRule; whileRule = whileRules.pop()) {\n    const { ruleScanner, findOptions } = prepareRuleWhileSearch(whileRule.rule, grammar, whileRule.stack.endRule, isFirstLine, linePos === anchorPosition);\n    const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n    if (false) {\n      console.log(\"  scanning for while rule\");\n      console.log(ruleScanner.toString());\n    }\n    if (r) {\n      const matchedRuleId = r.ruleId;\n      if (matchedRuleId !== whileRuleId) {\n        stack = whileRule.stack.pop();\n        break;\n      }\n      if (r.captureIndices && r.captureIndices.length) {\n        lineTokens.produce(whileRule.stack, r.captureIndices[0].start);\n        handleCaptures(grammar, lineText, isFirstLine, whileRule.stack, lineTokens, whileRule.rule.whileCaptures, r.captureIndices);\n        lineTokens.produce(whileRule.stack, r.captureIndices[0].end);\n        anchorPosition = r.captureIndices[0].end;\n        if (r.captureIndices[0].end > linePos) {\n          linePos = r.captureIndices[0].end;\n          isFirstLine = false;\n        }\n      }\n    } else {\n      if (false) {\n        console.log(\"  popping \" + whileRule.rule.debugName + \" - \" + whileRule.rule.debugWhileRegExp);\n      }\n      stack = whileRule.stack.pop();\n      break;\n    }\n  }\n  return { stack, linePos, anchorPosition, isFirstLine };\n}\nfunction matchRuleOrInjections(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  const matchResult = matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n  const injections = grammar.getInjections();\n  if (injections.length === 0) {\n    return matchResult;\n  }\n  const injectionResult = matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition);\n  if (!injectionResult) {\n    return matchResult;\n  }\n  if (!matchResult) {\n    return injectionResult;\n  }\n  const matchResultScore = matchResult.captureIndices[0].start;\n  const injectionResultScore = injectionResult.captureIndices[0].start;\n  if (injectionResultScore < matchResultScore || injectionResult.priorityMatch && injectionResultScore === matchResultScore) {\n    return injectionResult;\n  }\n  return matchResult;\n}\nfunction matchRule(grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  const rule = stack.getRule(grammar);\n  const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, stack.endRule, isFirstLine, linePos === anchorPosition);\n  const r = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n  if (r) {\n    return {\n      captureIndices: r.captureIndices,\n      matchedRuleId: r.ruleId\n    };\n  }\n  return null;\n}\nfunction matchInjections(injections, grammar, lineText, isFirstLine, linePos, stack, anchorPosition) {\n  let bestMatchRating = Number.MAX_VALUE;\n  let bestMatchCaptureIndices = null;\n  let bestMatchRuleId;\n  let bestMatchResultPriority = 0;\n  const scopes = stack.contentNameScopesList.getScopeNames();\n  for (let i = 0, len = injections.length; i < len; i++) {\n    const injection = injections[i];\n    if (!injection.matcher(scopes)) {\n      continue;\n    }\n    const rule = grammar.getRule(injection.ruleId);\n    const { ruleScanner, findOptions } = prepareRuleSearch(rule, grammar, null, isFirstLine, linePos === anchorPosition);\n    const matchResult = ruleScanner.findNextMatchSync(lineText, linePos, findOptions);\n    if (!matchResult) {\n      continue;\n    }\n    if (false) {\n      console.log(`  matched injection: ${injection.debugSelector}`);\n      console.log(ruleScanner.toString());\n    }\n    const matchRating = matchResult.captureIndices[0].start;\n    if (matchRating >= bestMatchRating) {\n      continue;\n    }\n    bestMatchRating = matchRating;\n    bestMatchCaptureIndices = matchResult.captureIndices;\n    bestMatchRuleId = matchResult.ruleId;\n    bestMatchResultPriority = injection.priority;\n    if (bestMatchRating === linePos) {\n      break;\n    }\n  }\n  if (bestMatchCaptureIndices) {\n    return {\n      priorityMatch: bestMatchResultPriority === -1,\n      captureIndices: bestMatchCaptureIndices,\n      matchedRuleId: bestMatchRuleId\n    };\n  }\n  return null;\n}\nfunction prepareRuleSearch(rule, grammar, endRegexSource, allowA, allowG) {\n  if (UseOnigurumaFindOptions) {\n    const ruleScanner2 = rule.compile(grammar, endRegexSource);\n    const findOptions = getFindOptions(allowA, allowG);\n    return { ruleScanner: ruleScanner2, findOptions };\n  }\n  const ruleScanner = rule.compileAG(grammar, endRegexSource, allowA, allowG);\n  return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction prepareRuleWhileSearch(rule, grammar, endRegexSource, allowA, allowG) {\n  if (UseOnigurumaFindOptions) {\n    const ruleScanner2 = rule.compileWhile(grammar, endRegexSource);\n    const findOptions = getFindOptions(allowA, allowG);\n    return { ruleScanner: ruleScanner2, findOptions };\n  }\n  const ruleScanner = rule.compileWhileAG(grammar, endRegexSource, allowA, allowG);\n  return { ruleScanner, findOptions: 0 /* None */ };\n}\nfunction getFindOptions(allowA, allowG) {\n  let options = 0 /* None */;\n  if (!allowA) {\n    options |= 1 /* NotBeginString */;\n  }\n  if (!allowG) {\n    options |= 4 /* NotBeginPosition */;\n  }\n  return options;\n}\nfunction handleCaptures(grammar, lineText, isFirstLine, stack, lineTokens, captures, captureIndices) {\n  if (captures.length === 0) {\n    return;\n  }\n  const lineTextContent = lineText.content;\n  const len = Math.min(captures.length, captureIndices.length);\n  const localStack = [];\n  const maxEnd = captureIndices[0].end;\n  for (let i = 0; i < len; i++) {\n    const captureRule = captures[i];\n    if (captureRule === null) {\n      continue;\n    }\n    const captureIndex = captureIndices[i];\n    if (captureIndex.length === 0) {\n      continue;\n    }\n    if (captureIndex.start > maxEnd) {\n      break;\n    }\n    while (localStack.length > 0 && localStack[localStack.length - 1].endPos <= captureIndex.start) {\n      lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n      localStack.pop();\n    }\n    if (localStack.length > 0) {\n      lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, captureIndex.start);\n    } else {\n      lineTokens.produce(stack, captureIndex.start);\n    }\n    if (captureRule.retokenizeCapturedWithRuleId) {\n      const scopeName = captureRule.getName(lineTextContent, captureIndices);\n      const nameScopesList = stack.contentNameScopesList.pushAttributed(scopeName, grammar);\n      const contentName = captureRule.getContentName(lineTextContent, captureIndices);\n      const contentNameScopesList = nameScopesList.pushAttributed(contentName, grammar);\n      const stackClone = stack.push(captureRule.retokenizeCapturedWithRuleId, captureIndex.start, -1, false, null, nameScopesList, contentNameScopesList);\n      const onigSubStr = grammar.createOnigString(lineTextContent.substring(0, captureIndex.end));\n      _tokenizeString(\n        grammar,\n        onigSubStr,\n        isFirstLine && captureIndex.start === 0,\n        captureIndex.start,\n        stackClone,\n        lineTokens,\n        false,\n        /* no time limit */\n        0\n      );\n      disposeOnigString(onigSubStr);\n      continue;\n    }\n    const captureRuleScopeName = captureRule.getName(lineTextContent, captureIndices);\n    if (captureRuleScopeName !== null) {\n      const base = localStack.length > 0 ? localStack[localStack.length - 1].scopes : stack.contentNameScopesList;\n      const captureRuleScopesList = base.pushAttributed(captureRuleScopeName, grammar);\n      localStack.push(new LocalStackElement(captureRuleScopesList, captureIndex.end));\n    }\n  }\n  while (localStack.length > 0) {\n    lineTokens.produceFromScopes(localStack[localStack.length - 1].scopes, localStack[localStack.length - 1].endPos);\n    localStack.pop();\n  }\n}\nvar LocalStackElement = class {\n  scopes;\n  endPos;\n  constructor(scopes, endPos) {\n    this.scopes = scopes;\n    this.endPos = endPos;\n  }\n};\n\n// src/grammar/grammar.ts\nfunction createGrammar(scopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, onigLib) {\n  return new Grammar(\n    scopeName,\n    grammar,\n    initialLanguage,\n    embeddedLanguages,\n    tokenTypes,\n    balancedBracketSelectors,\n    grammarRepository,\n    onigLib\n  );\n}\nfunction collectInjections(result, selector, rule, ruleFactoryHelper, grammar) {\n  const matchers = createMatchers(selector, nameMatcher);\n  const ruleId = RuleFactory.getCompiledRuleId(rule, ruleFactoryHelper, grammar.repository);\n  for (const matcher of matchers) {\n    result.push({\n      debugSelector: selector,\n      matcher: matcher.matcher,\n      ruleId,\n      grammar,\n      priority: matcher.priority\n    });\n  }\n}\nfunction nameMatcher(identifers, scopes) {\n  if (scopes.length < identifers.length) {\n    return false;\n  }\n  let lastIndex = 0;\n  return identifers.every((identifier) => {\n    for (let i = lastIndex; i < scopes.length; i++) {\n      if (scopesAreMatching(scopes[i], identifier)) {\n        lastIndex = i + 1;\n        return true;\n      }\n    }\n    return false;\n  });\n}\nfunction scopesAreMatching(thisScopeName, scopeName) {\n  if (!thisScopeName) {\n    return false;\n  }\n  if (thisScopeName === scopeName) {\n    return true;\n  }\n  const len = scopeName.length;\n  return thisScopeName.length > len && thisScopeName.substr(0, len) === scopeName && thisScopeName[len] === \".\";\n}\nvar Grammar = class {\n  constructor(_rootScopeName, grammar, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors, grammarRepository, _onigLib) {\n    this._rootScopeName = _rootScopeName;\n    this.balancedBracketSelectors = balancedBracketSelectors;\n    this._onigLib = _onigLib;\n    this._basicScopeAttributesProvider = new BasicScopeAttributesProvider(\n      initialLanguage,\n      embeddedLanguages\n    );\n    this._rootId = -1;\n    this._lastRuleId = 0;\n    this._ruleId2desc = [null];\n    this._includedGrammars = {};\n    this._grammarRepository = grammarRepository;\n    this._grammar = initGrammar(grammar, null);\n    this._injections = null;\n    this._tokenTypeMatchers = [];\n    if (tokenTypes) {\n      for (const selector of Object.keys(tokenTypes)) {\n        const matchers = createMatchers(selector, nameMatcher);\n        for (const matcher of matchers) {\n          this._tokenTypeMatchers.push({\n            matcher: matcher.matcher,\n            type: tokenTypes[selector]\n          });\n        }\n      }\n    }\n  }\n  _rootId;\n  _lastRuleId;\n  _ruleId2desc;\n  _includedGrammars;\n  _grammarRepository;\n  _grammar;\n  _injections;\n  _basicScopeAttributesProvider;\n  _tokenTypeMatchers;\n  get themeProvider() {\n    return this._grammarRepository;\n  }\n  dispose() {\n    for (const rule of this._ruleId2desc) {\n      if (rule) {\n        rule.dispose();\n      }\n    }\n  }\n  createOnigScanner(sources) {\n    return this._onigLib.createOnigScanner(sources);\n  }\n  createOnigString(sources) {\n    return this._onigLib.createOnigString(sources);\n  }\n  getMetadataForScope(scope) {\n    return this._basicScopeAttributesProvider.getBasicScopeAttributes(scope);\n  }\n  _collectInjections() {\n    const grammarRepository = {\n      lookup: (scopeName2) => {\n        if (scopeName2 === this._rootScopeName) {\n          return this._grammar;\n        }\n        return this.getExternalGrammar(scopeName2);\n      },\n      injections: (scopeName2) => {\n        return this._grammarRepository.injections(scopeName2);\n      }\n    };\n    const result = [];\n    const scopeName = this._rootScopeName;\n    const grammar = grammarRepository.lookup(scopeName);\n    if (grammar) {\n      const rawInjections = grammar.injections;\n      if (rawInjections) {\n        for (let expression in rawInjections) {\n          collectInjections(\n            result,\n            expression,\n            rawInjections[expression],\n            this,\n            grammar\n          );\n        }\n      }\n      const injectionScopeNames = this._grammarRepository.injections(scopeName);\n      if (injectionScopeNames) {\n        injectionScopeNames.forEach((injectionScopeName) => {\n          const injectionGrammar = this.getExternalGrammar(injectionScopeName);\n          if (injectionGrammar) {\n            const selector = injectionGrammar.injectionSelector;\n            if (selector) {\n              collectInjections(\n                result,\n                selector,\n                injectionGrammar,\n                this,\n                injectionGrammar\n              );\n            }\n          }\n        });\n      }\n    }\n    result.sort((i1, i2) => i1.priority - i2.priority);\n    return result;\n  }\n  getInjections() {\n    if (this._injections === null) {\n      this._injections = this._collectInjections();\n    }\n    return this._injections;\n  }\n  registerRule(factory) {\n    const id = ++this._lastRuleId;\n    const result = factory(ruleIdFromNumber(id));\n    this._ruleId2desc[id] = result;\n    return result;\n  }\n  getRule(ruleId) {\n    return this._ruleId2desc[ruleIdToNumber(ruleId)];\n  }\n  getExternalGrammar(scopeName, repository) {\n    if (this._includedGrammars[scopeName]) {\n      return this._includedGrammars[scopeName];\n    } else if (this._grammarRepository) {\n      const rawIncludedGrammar = this._grammarRepository.lookup(scopeName);\n      if (rawIncludedGrammar) {\n        this._includedGrammars[scopeName] = initGrammar(\n          rawIncludedGrammar,\n          repository && repository.$base\n        );\n        return this._includedGrammars[scopeName];\n      }\n    }\n    return void 0;\n  }\n  tokenizeLine(lineText, prevState, timeLimit = 0) {\n    const r = this._tokenize(lineText, prevState, false, timeLimit);\n    return {\n      tokens: r.lineTokens.getResult(r.ruleStack, r.lineLength),\n      ruleStack: r.ruleStack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n  tokenizeLine2(lineText, prevState, timeLimit = 0) {\n    const r = this._tokenize(lineText, prevState, true, timeLimit);\n    return {\n      tokens: r.lineTokens.getBinaryResult(r.ruleStack, r.lineLength),\n      ruleStack: r.ruleStack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n  _tokenize(lineText, prevState, emitBinaryTokens, timeLimit) {\n    if (this._rootId === -1) {\n      this._rootId = RuleFactory.getCompiledRuleId(\n        this._grammar.repository.$self,\n        this,\n        this._grammar.repository\n      );\n      this.getInjections();\n    }\n    let isFirstLine;\n    if (!prevState || prevState === StateStackImpl.NULL) {\n      isFirstLine = true;\n      const rawDefaultMetadata = this._basicScopeAttributesProvider.getDefaultAttributes();\n      const defaultStyle = this.themeProvider.getDefaults();\n      const defaultMetadata = EncodedTokenMetadata.set(\n        0,\n        rawDefaultMetadata.languageId,\n        rawDefaultMetadata.tokenType,\n        null,\n        defaultStyle.fontStyle,\n        defaultStyle.foregroundId,\n        defaultStyle.backgroundId\n      );\n      const rootScopeName = this.getRule(this._rootId).getName(\n        null,\n        null\n      );\n      let scopeList;\n      if (rootScopeName) {\n        scopeList = AttributedScopeStack.createRootAndLookUpScopeName(\n          rootScopeName,\n          defaultMetadata,\n          this\n        );\n      } else {\n        scopeList = AttributedScopeStack.createRoot(\n          \"unknown\",\n          defaultMetadata\n        );\n      }\n      prevState = new StateStackImpl(\n        null,\n        this._rootId,\n        -1,\n        -1,\n        false,\n        null,\n        scopeList,\n        scopeList\n      );\n    } else {\n      isFirstLine = false;\n      prevState.reset();\n    }\n    lineText = lineText + \"\\n\";\n    const onigLineText = this.createOnigString(lineText);\n    const lineLength = onigLineText.content.length;\n    const lineTokens = new LineTokens(\n      emitBinaryTokens,\n      lineText,\n      this._tokenTypeMatchers,\n      this.balancedBracketSelectors\n    );\n    const r = _tokenizeString(\n      this,\n      onigLineText,\n      isFirstLine,\n      0,\n      prevState,\n      lineTokens,\n      true,\n      timeLimit\n    );\n    disposeOnigString(onigLineText);\n    return {\n      lineLength,\n      lineTokens,\n      ruleStack: r.stack,\n      stoppedEarly: r.stoppedEarly\n    };\n  }\n};\nfunction initGrammar(grammar, base) {\n  grammar = clone(grammar);\n  grammar.repository = grammar.repository || {};\n  grammar.repository.$self = {\n    $vscodeTextmateLocation: grammar.$vscodeTextmateLocation,\n    patterns: grammar.patterns,\n    name: grammar.scopeName\n  };\n  grammar.repository.$base = base || grammar.repository.$self;\n  return grammar;\n}\nvar AttributedScopeStack = class _AttributedScopeStack {\n  /**\n   * Invariant:\n   * ```\n   * if (parent && !scopePath.extends(parent.scopePath)) {\n   * \tthrow new Error();\n   * }\n   * ```\n   */\n  constructor(parent, scopePath, tokenAttributes) {\n    this.parent = parent;\n    this.scopePath = scopePath;\n    this.tokenAttributes = tokenAttributes;\n  }\n  static fromExtension(namesScopeList, contentNameScopesList) {\n    let current = namesScopeList;\n    let scopeNames = namesScopeList?.scopePath ?? null;\n    for (const frame of contentNameScopesList) {\n      scopeNames = ScopeStack.push(scopeNames, frame.scopeNames);\n      current = new _AttributedScopeStack(current, scopeNames, frame.encodedTokenAttributes);\n    }\n    return current;\n  }\n  static createRoot(scopeName, tokenAttributes) {\n    return new _AttributedScopeStack(null, new ScopeStack(null, scopeName), tokenAttributes);\n  }\n  static createRootAndLookUpScopeName(scopeName, tokenAttributes, grammar) {\n    const rawRootMetadata = grammar.getMetadataForScope(scopeName);\n    const scopePath = new ScopeStack(null, scopeName);\n    const rootStyle = grammar.themeProvider.themeMatch(scopePath);\n    const resolvedTokenAttributes = _AttributedScopeStack.mergeAttributes(\n      tokenAttributes,\n      rawRootMetadata,\n      rootStyle\n    );\n    return new _AttributedScopeStack(null, scopePath, resolvedTokenAttributes);\n  }\n  get scopeName() {\n    return this.scopePath.scopeName;\n  }\n  toString() {\n    return this.getScopeNames().join(\" \");\n  }\n  equals(other) {\n    return _AttributedScopeStack.equals(this, other);\n  }\n  static equals(a, b) {\n    do {\n      if (a === b) {\n        return true;\n      }\n      if (!a && !b) {\n        return true;\n      }\n      if (!a || !b) {\n        return false;\n      }\n      if (a.scopeName !== b.scopeName || a.tokenAttributes !== b.tokenAttributes) {\n        return false;\n      }\n      a = a.parent;\n      b = b.parent;\n    } while (true);\n  }\n  static mergeAttributes(existingTokenAttributes, basicScopeAttributes, styleAttributes) {\n    let fontStyle = -1 /* NotSet */;\n    let foreground = 0;\n    let background = 0;\n    if (styleAttributes !== null) {\n      fontStyle = styleAttributes.fontStyle;\n      foreground = styleAttributes.foregroundId;\n      background = styleAttributes.backgroundId;\n    }\n    return EncodedTokenMetadata.set(\n      existingTokenAttributes,\n      basicScopeAttributes.languageId,\n      basicScopeAttributes.tokenType,\n      null,\n      fontStyle,\n      foreground,\n      background\n    );\n  }\n  pushAttributed(scopePath, grammar) {\n    if (scopePath === null) {\n      return this;\n    }\n    if (scopePath.indexOf(\" \") === -1) {\n      return _AttributedScopeStack._pushAttributed(this, scopePath, grammar);\n    }\n    const scopes = scopePath.split(/ /g);\n    let result = this;\n    for (const scope of scopes) {\n      result = _AttributedScopeStack._pushAttributed(result, scope, grammar);\n    }\n    return result;\n  }\n  static _pushAttributed(target, scopeName, grammar) {\n    const rawMetadata = grammar.getMetadataForScope(scopeName);\n    const newPath = target.scopePath.push(scopeName);\n    const scopeThemeMatchResult = grammar.themeProvider.themeMatch(newPath);\n    const metadata = _AttributedScopeStack.mergeAttributes(\n      target.tokenAttributes,\n      rawMetadata,\n      scopeThemeMatchResult\n    );\n    return new _AttributedScopeStack(target, newPath, metadata);\n  }\n  getScopeNames() {\n    return this.scopePath.getSegments();\n  }\n  getExtensionIfDefined(base) {\n    const result = [];\n    let self = this;\n    while (self && self !== base) {\n      result.push({\n        encodedTokenAttributes: self.tokenAttributes,\n        scopeNames: self.scopePath.getExtensionIfDefined(self.parent?.scopePath ?? null)\n      });\n      self = self.parent;\n    }\n    return self === base ? result.reverse() : void 0;\n  }\n};\nvar StateStackImpl = class _StateStackImpl {\n  /**\n   * Invariant:\n   * ```\n   * if (contentNameScopesList !== nameScopesList && contentNameScopesList?.parent !== nameScopesList) {\n   * \tthrow new Error();\n   * }\n   * if (this.parent && !nameScopesList.extends(this.parent.contentNameScopesList)) {\n   * \tthrow new Error();\n   * }\n   * ```\n   */\n  constructor(parent, ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n    this.parent = parent;\n    this.ruleId = ruleId;\n    this.beginRuleCapturedEOL = beginRuleCapturedEOL;\n    this.endRule = endRule;\n    this.nameScopesList = nameScopesList;\n    this.contentNameScopesList = contentNameScopesList;\n    this.depth = this.parent ? this.parent.depth + 1 : 1;\n    this._enterPos = enterPos;\n    this._anchorPos = anchorPos;\n  }\n  _stackElementBrand = void 0;\n  // TODO remove me\n  static NULL = new _StateStackImpl(\n    null,\n    0,\n    0,\n    0,\n    false,\n    null,\n    null,\n    null\n  );\n  /**\n   * The position on the current line where this state was pushed.\n   * This is relevant only while tokenizing a line, to detect endless loops.\n   * Its value is meaningless across lines.\n   */\n  _enterPos;\n  /**\n   * The captured anchor position when this stack element was pushed.\n   * This is relevant only while tokenizing a line, to restore the anchor position when popping.\n   * Its value is meaningless across lines.\n   */\n  _anchorPos;\n  /**\n   * The depth of the stack.\n   */\n  depth;\n  equals(other) {\n    if (other === null) {\n      return false;\n    }\n    return _StateStackImpl._equals(this, other);\n  }\n  static _equals(a, b) {\n    if (a === b) {\n      return true;\n    }\n    if (!this._structuralEquals(a, b)) {\n      return false;\n    }\n    return AttributedScopeStack.equals(a.contentNameScopesList, b.contentNameScopesList);\n  }\n  /**\n   * A structural equals check. Does not take into account `scopes`.\n   */\n  static _structuralEquals(a, b) {\n    do {\n      if (a === b) {\n        return true;\n      }\n      if (!a && !b) {\n        return true;\n      }\n      if (!a || !b) {\n        return false;\n      }\n      if (a.depth !== b.depth || a.ruleId !== b.ruleId || a.endRule !== b.endRule) {\n        return false;\n      }\n      a = a.parent;\n      b = b.parent;\n    } while (true);\n  }\n  clone() {\n    return this;\n  }\n  static _reset(el) {\n    while (el) {\n      el._enterPos = -1;\n      el._anchorPos = -1;\n      el = el.parent;\n    }\n  }\n  reset() {\n    _StateStackImpl._reset(this);\n  }\n  pop() {\n    return this.parent;\n  }\n  safePop() {\n    if (this.parent) {\n      return this.parent;\n    }\n    return this;\n  }\n  push(ruleId, enterPos, anchorPos, beginRuleCapturedEOL, endRule, nameScopesList, contentNameScopesList) {\n    return new _StateStackImpl(\n      this,\n      ruleId,\n      enterPos,\n      anchorPos,\n      beginRuleCapturedEOL,\n      endRule,\n      nameScopesList,\n      contentNameScopesList\n    );\n  }\n  getEnterPos() {\n    return this._enterPos;\n  }\n  getAnchorPos() {\n    return this._anchorPos;\n  }\n  getRule(grammar) {\n    return grammar.getRule(this.ruleId);\n  }\n  toString() {\n    const r = [];\n    this._writeString(r, 0);\n    return \"[\" + r.join(\",\") + \"]\";\n  }\n  _writeString(res, outIndex) {\n    if (this.parent) {\n      outIndex = this.parent._writeString(res, outIndex);\n    }\n    res[outIndex++] = `(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`;\n    return outIndex;\n  }\n  withContentNameScopesList(contentNameScopeStack) {\n    if (this.contentNameScopesList === contentNameScopeStack) {\n      return this;\n    }\n    return this.parent.push(\n      this.ruleId,\n      this._enterPos,\n      this._anchorPos,\n      this.beginRuleCapturedEOL,\n      this.endRule,\n      this.nameScopesList,\n      contentNameScopeStack\n    );\n  }\n  withEndRule(endRule) {\n    if (this.endRule === endRule) {\n      return this;\n    }\n    return new _StateStackImpl(\n      this.parent,\n      this.ruleId,\n      this._enterPos,\n      this._anchorPos,\n      this.beginRuleCapturedEOL,\n      endRule,\n      this.nameScopesList,\n      this.contentNameScopesList\n    );\n  }\n  // Used to warn of endless loops\n  hasSameRuleAs(other) {\n    let el = this;\n    while (el && el._enterPos === other._enterPos) {\n      if (el.ruleId === other.ruleId) {\n        return true;\n      }\n      el = el.parent;\n    }\n    return false;\n  }\n  toStateStackFrame() {\n    return {\n      ruleId: ruleIdToNumber(this.ruleId),\n      beginRuleCapturedEOL: this.beginRuleCapturedEOL,\n      endRule: this.endRule,\n      nameScopesList: this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList ?? null) ?? [],\n      contentNameScopesList: this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList) ?? []\n    };\n  }\n  static pushFrame(self, frame) {\n    const namesScopeList = AttributedScopeStack.fromExtension(self?.nameScopesList ?? null, frame.nameScopesList);\n    return new _StateStackImpl(\n      self,\n      ruleIdFromNumber(frame.ruleId),\n      frame.enterPos ?? -1,\n      frame.anchorPos ?? -1,\n      frame.beginRuleCapturedEOL,\n      frame.endRule,\n      namesScopeList,\n      AttributedScopeStack.fromExtension(namesScopeList, frame.contentNameScopesList)\n    );\n  }\n};\nvar BalancedBracketSelectors = class {\n  balancedBracketScopes;\n  unbalancedBracketScopes;\n  allowAny = false;\n  constructor(balancedBracketScopes, unbalancedBracketScopes) {\n    this.balancedBracketScopes = balancedBracketScopes.flatMap(\n      (selector) => {\n        if (selector === \"*\") {\n          this.allowAny = true;\n          return [];\n        }\n        return createMatchers(selector, nameMatcher).map((m) => m.matcher);\n      }\n    );\n    this.unbalancedBracketScopes = unbalancedBracketScopes.flatMap(\n      (selector) => createMatchers(selector, nameMatcher).map((m) => m.matcher)\n    );\n  }\n  get matchesAlways() {\n    return this.allowAny && this.unbalancedBracketScopes.length === 0;\n  }\n  get matchesNever() {\n    return this.balancedBracketScopes.length === 0 && !this.allowAny;\n  }\n  match(scopes) {\n    for (const excluder of this.unbalancedBracketScopes) {\n      if (excluder(scopes)) {\n        return false;\n      }\n    }\n    for (const includer of this.balancedBracketScopes) {\n      if (includer(scopes)) {\n        return true;\n      }\n    }\n    return this.allowAny;\n  }\n};\nvar LineTokens = class {\n  constructor(emitBinaryTokens, lineText, tokenTypeOverrides, balancedBracketSelectors) {\n    this.balancedBracketSelectors = balancedBracketSelectors;\n    this._emitBinaryTokens = emitBinaryTokens;\n    this._tokenTypeOverrides = tokenTypeOverrides;\n    if (false) {\n      this._lineText = lineText;\n    } else {\n      this._lineText = null;\n    }\n    this._tokens = [];\n    this._binaryTokens = [];\n    this._lastTokenEndIndex = 0;\n  }\n  _emitBinaryTokens;\n  /**\n   * defined only if `false`.\n   */\n  _lineText;\n  /**\n   * used only if `_emitBinaryTokens` is false.\n   */\n  _tokens;\n  /**\n   * used only if `_emitBinaryTokens` is true.\n   */\n  _binaryTokens;\n  _lastTokenEndIndex;\n  _tokenTypeOverrides;\n  produce(stack, endIndex) {\n    this.produceFromScopes(stack.contentNameScopesList, endIndex);\n  }\n  produceFromScopes(scopesList, endIndex) {\n    if (this._lastTokenEndIndex >= endIndex) {\n      return;\n    }\n    if (this._emitBinaryTokens) {\n      let metadata = scopesList?.tokenAttributes ?? 0;\n      let containsBalancedBrackets = false;\n      if (this.balancedBracketSelectors?.matchesAlways) {\n        containsBalancedBrackets = true;\n      }\n      if (this._tokenTypeOverrides.length > 0 || this.balancedBracketSelectors && !this.balancedBracketSelectors.matchesAlways && !this.balancedBracketSelectors.matchesNever) {\n        const scopes2 = scopesList?.getScopeNames() ?? [];\n        for (const tokenType of this._tokenTypeOverrides) {\n          if (tokenType.matcher(scopes2)) {\n            metadata = EncodedTokenMetadata.set(\n              metadata,\n              0,\n              toOptionalTokenType(tokenType.type),\n              null,\n              -1 /* NotSet */,\n              0,\n              0\n            );\n          }\n        }\n        if (this.balancedBracketSelectors) {\n          containsBalancedBrackets = this.balancedBracketSelectors.match(scopes2);\n        }\n      }\n      if (containsBalancedBrackets) {\n        metadata = EncodedTokenMetadata.set(\n          metadata,\n          0,\n          8 /* NotSet */,\n          containsBalancedBrackets,\n          -1 /* NotSet */,\n          0,\n          0\n        );\n      }\n      if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 1] === metadata) {\n        this._lastTokenEndIndex = endIndex;\n        return;\n      }\n      this._binaryTokens.push(this._lastTokenEndIndex);\n      this._binaryTokens.push(metadata);\n      this._lastTokenEndIndex = endIndex;\n      return;\n    }\n    const scopes = scopesList?.getScopeNames() ?? [];\n    this._tokens.push({\n      startIndex: this._lastTokenEndIndex,\n      endIndex,\n      // value: lineText.substring(lastTokenEndIndex, endIndex),\n      scopes\n    });\n    this._lastTokenEndIndex = endIndex;\n  }\n  getResult(stack, lineLength) {\n    if (this._tokens.length > 0 && this._tokens[this._tokens.length - 1].startIndex === lineLength - 1) {\n      this._tokens.pop();\n    }\n    if (this._tokens.length === 0) {\n      this._lastTokenEndIndex = -1;\n      this.produce(stack, lineLength);\n      this._tokens[this._tokens.length - 1].startIndex = 0;\n    }\n    return this._tokens;\n  }\n  getBinaryResult(stack, lineLength) {\n    if (this._binaryTokens.length > 0 && this._binaryTokens[this._binaryTokens.length - 2] === lineLength - 1) {\n      this._binaryTokens.pop();\n      this._binaryTokens.pop();\n    }\n    if (this._binaryTokens.length === 0) {\n      this._lastTokenEndIndex = -1;\n      this.produce(stack, lineLength);\n      this._binaryTokens[this._binaryTokens.length - 2] = 0;\n    }\n    const result = new Uint32Array(this._binaryTokens.length);\n    for (let i = 0, len = this._binaryTokens.length; i < len; i++) {\n      result[i] = this._binaryTokens[i];\n    }\n    return result;\n  }\n};\n\n// src/registry.ts\nvar SyncRegistry = class {\n  constructor(theme, _onigLib) {\n    this._onigLib = _onigLib;\n    this._theme = theme;\n  }\n  _grammars = /* @__PURE__ */ new Map();\n  _rawGrammars = /* @__PURE__ */ new Map();\n  _injectionGrammars = /* @__PURE__ */ new Map();\n  _theme;\n  dispose() {\n    for (const grammar of this._grammars.values()) {\n      grammar.dispose();\n    }\n  }\n  setTheme(theme) {\n    this._theme = theme;\n  }\n  getColorMap() {\n    return this._theme.getColorMap();\n  }\n  /**\n   * Add `grammar` to registry and return a list of referenced scope names\n   */\n  addGrammar(grammar, injectionScopeNames) {\n    this._rawGrammars.set(grammar.scopeName, grammar);\n    if (injectionScopeNames) {\n      this._injectionGrammars.set(grammar.scopeName, injectionScopeNames);\n    }\n  }\n  /**\n   * Lookup a raw grammar.\n   */\n  lookup(scopeName) {\n    return this._rawGrammars.get(scopeName);\n  }\n  /**\n   * Returns the injections for the given grammar\n   */\n  injections(targetScope) {\n    return this._injectionGrammars.get(targetScope);\n  }\n  /**\n   * Get the default theme settings\n   */\n  getDefaults() {\n    return this._theme.getDefaults();\n  }\n  /**\n   * Match a scope in the theme.\n   */\n  themeMatch(scopePath) {\n    return this._theme.match(scopePath);\n  }\n  /**\n   * Lookup a grammar.\n   */\n  grammarForScopeName(scopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n    if (!this._grammars.has(scopeName)) {\n      let rawGrammar = this._rawGrammars.get(scopeName);\n      if (!rawGrammar) {\n        return null;\n      }\n      this._grammars.set(scopeName, createGrammar(\n        scopeName,\n        rawGrammar,\n        initialLanguage,\n        embeddedLanguages,\n        tokenTypes,\n        balancedBracketSelectors,\n        this,\n        this._onigLib\n      ));\n    }\n    return this._grammars.get(scopeName);\n  }\n};\n\n// src/index.ts\nvar Registry = class {\n  _options;\n  _syncRegistry;\n  _ensureGrammarCache;\n  constructor(options) {\n    this._options = options;\n    this._syncRegistry = new SyncRegistry(\n      Theme.createFromRawTheme(options.theme, options.colorMap),\n      options.onigLib\n    );\n    this._ensureGrammarCache = /* @__PURE__ */ new Map();\n  }\n  dispose() {\n    this._syncRegistry.dispose();\n  }\n  /**\n   * Change the theme. Once called, no previous `ruleStack` should be used anymore.\n   */\n  setTheme(theme, colorMap) {\n    this._syncRegistry.setTheme(Theme.createFromRawTheme(theme, colorMap));\n  }\n  /**\n   * Returns a lookup array for color ids.\n   */\n  getColorMap() {\n    return this._syncRegistry.getColorMap();\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   * Please do not use language id 0.\n   */\n  loadGrammarWithEmbeddedLanguages(initialScopeName, initialLanguage, embeddedLanguages) {\n    return this.loadGrammarWithConfiguration(initialScopeName, initialLanguage, { embeddedLanguages });\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   * Please do not use language id 0.\n   */\n  loadGrammarWithConfiguration(initialScopeName, initialLanguage, configuration) {\n    return this._loadGrammar(\n      initialScopeName,\n      initialLanguage,\n      configuration.embeddedLanguages,\n      configuration.tokenTypes,\n      new BalancedBracketSelectors(\n        configuration.balancedBracketSelectors || [],\n        configuration.unbalancedBracketSelectors || []\n      )\n    );\n  }\n  /**\n   * Load the grammar for `scopeName` and all referenced included grammars asynchronously.\n   */\n  loadGrammar(initialScopeName) {\n    return this._loadGrammar(initialScopeName, 0, null, null, null);\n  }\n  _loadGrammar(initialScopeName, initialLanguage, embeddedLanguages, tokenTypes, balancedBracketSelectors) {\n    const dependencyProcessor = new ScopeDependencyProcessor(this._syncRegistry, initialScopeName);\n    while (dependencyProcessor.Q.length > 0) {\n      dependencyProcessor.Q.map((request) => this._loadSingleGrammar(request.scopeName));\n      dependencyProcessor.processQueue();\n    }\n    return this._grammarForScopeName(\n      initialScopeName,\n      initialLanguage,\n      embeddedLanguages,\n      tokenTypes,\n      balancedBracketSelectors\n    );\n  }\n  _loadSingleGrammar(scopeName) {\n    if (!this._ensureGrammarCache.has(scopeName)) {\n      this._doLoadSingleGrammar(scopeName);\n      this._ensureGrammarCache.set(scopeName, true);\n    }\n  }\n  _doLoadSingleGrammar(scopeName) {\n    const grammar = this._options.loadGrammar(scopeName);\n    if (grammar) {\n      const injections = typeof this._options.getInjections === \"function\" ? this._options.getInjections(scopeName) : void 0;\n      this._syncRegistry.addGrammar(grammar, injections);\n    }\n  }\n  /**\n   * Adds a rawGrammar.\n   */\n  addGrammar(rawGrammar, injections = [], initialLanguage = 0, embeddedLanguages = null) {\n    this._syncRegistry.addGrammar(rawGrammar, injections);\n    return this._grammarForScopeName(rawGrammar.scopeName, initialLanguage, embeddedLanguages);\n  }\n  /**\n   * Get the grammar for `scopeName`. The grammar must first be created via `loadGrammar` or `addGrammar`.\n   */\n  _grammarForScopeName(scopeName, initialLanguage = 0, embeddedLanguages = null, tokenTypes = null, balancedBracketSelectors = null) {\n    return this._syncRegistry.grammarForScopeName(\n      scopeName,\n      initialLanguage,\n      embeddedLanguages,\n      tokenTypes,\n      balancedBracketSelectors\n    );\n  }\n};\nvar INITIAL = StateStackImpl.NULL;\nexport {\n  EncodedTokenMetadata,\n  FindOption,\n  FontStyle,\n  INITIAL,\n  Registry,\n  Theme,\n  disposeOnigString\n};\n","/**\n * List of HTML void tag names.\n *\n * @type {Array<string>}\n */\nexport const htmlVoidElements = [\n  'area',\n  'base',\n  'basefont',\n  'bgsound',\n  'br',\n  'col',\n  'command',\n  'embed',\n  'frame',\n  'hr',\n  'image',\n  'img',\n  'input',\n  'keygen',\n  'link',\n  'meta',\n  'param',\n  'source',\n  'track',\n  'wbr'\n]\n","/**\n * @import {Schema as SchemaType, Space} from 'property-information'\n */\n\n/** @type {SchemaType} */\nexport class Schema {\n  /**\n   * @param {SchemaType['property']} property\n   *   Property.\n   * @param {SchemaType['normal']} normal\n   *   Normal.\n   * @param {Space | undefined} [space]\n   *   Space.\n   * @returns\n   *   Schema.\n   */\n  constructor(property, normal, space) {\n    this.normal = normal\n    this.property = property\n\n    if (space) {\n      this.space = space\n    }\n  }\n}\n\nSchema.prototype.normal = {}\nSchema.prototype.property = {}\nSchema.prototype.space = undefined\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\nimport {Schema} from './schema.js'\n\n/**\n * @param {ReadonlyArray<Schema>} definitions\n *   Definitions.\n * @param {Space | undefined} [space]\n *   Space.\n * @returns {Schema}\n *   Schema.\n */\nexport function merge(definitions, space) {\n  /** @type {Record<string, Info>} */\n  const property = {}\n  /** @type {Record<string, string>} */\n  const normal = {}\n\n  for (const definition of definitions) {\n    Object.assign(property, definition.property)\n    Object.assign(normal, definition.normal)\n  }\n\n  return new Schema(property, normal, space)\n}\n","/**\n * Get the cleaned case insensitive form of an attribute or property.\n *\n * @param {string} value\n *   An attribute-like or property-like name.\n * @returns {string}\n *   Value that can be used to look up the properly cased property on a\n *   `Schema`.\n */\nexport function normalize(value) {\n  return value.toLowerCase()\n}\n","/**\n * @import {Info as InfoType} from 'property-information'\n */\n\n/** @type {InfoType} */\nexport class Info {\n  /**\n   * @param {string} property\n   *   Property.\n   * @param {string} attribute\n   *   Attribute.\n   * @returns\n   *   Info.\n   */\n  constructor(property, attribute) {\n    this.attribute = attribute\n    this.property = property\n  }\n}\n\nInfo.prototype.attribute = ''\nInfo.prototype.booleanish = false\nInfo.prototype.boolean = false\nInfo.prototype.commaOrSpaceSeparated = false\nInfo.prototype.commaSeparated = false\nInfo.prototype.defined = false\nInfo.prototype.mustUseProperty = false\nInfo.prototype.number = false\nInfo.prototype.overloadedBoolean = false\nInfo.prototype.property = ''\nInfo.prototype.spaceSeparated = false\nInfo.prototype.space = undefined\n","let powers = 0\n\nexport const boolean = increment()\nexport const booleanish = increment()\nexport const overloadedBoolean = increment()\nexport const number = increment()\nexport const spaceSeparated = increment()\nexport const commaSeparated = increment()\nexport const commaOrSpaceSeparated = increment()\n\nfunction increment() {\n  return 2 ** ++powers\n}\n","/**\n * @import {Space} from 'property-information'\n */\n\nimport {Info} from './info.js'\nimport * as types from './types.js'\n\nconst checks = /** @type {ReadonlyArray<keyof typeof types>} */ (\n  Object.keys(types)\n)\n\nexport class DefinedInfo extends Info {\n  /**\n   * @constructor\n   * @param {string} property\n   *   Property.\n   * @param {string} attribute\n   *   Attribute.\n   * @param {number | null | undefined} [mask]\n   *   Mask.\n   * @param {Space | undefined} [space]\n   *   Space.\n   * @returns\n   *   Info.\n   */\n  constructor(property, attribute, mask, space) {\n    let index = -1\n\n    super(property, attribute)\n\n    mark(this, 'space', space)\n\n    if (typeof mask === 'number') {\n      while (++index < checks.length) {\n        const check = checks[index]\n        mark(this, checks[index], (mask & types[check]) === types[check])\n      }\n    }\n  }\n}\n\nDefinedInfo.prototype.defined = true\n\n/**\n * @template {keyof DefinedInfo} Key\n *   Key type.\n * @param {DefinedInfo} values\n *   Info.\n * @param {Key} key\n *   Key.\n * @param {DefinedInfo[Key]} value\n *   Value.\n * @returns {undefined}\n *   Nothing.\n */\nfunction mark(values, key, value) {\n  if (value) {\n    values[key] = value\n  }\n}\n","/**\n * @import {Info, Space} from 'property-information'\n */\n\n/**\n * @typedef Definition\n *   Definition of a schema.\n * @property {Record<string, string> | undefined} [attributes]\n *   Normalzed names to special attribute case.\n * @property {ReadonlyArray<string> | undefined} [mustUseProperty]\n *   Normalized names that must be set as properties.\n * @property {Record<string, number | null>} properties\n *   Property names to their types.\n * @property {Space | undefined} [space]\n *   Space.\n * @property {Transform} transform\n *   Transform a property name.\n */\n\n/**\n * @callback Transform\n *   Transform.\n * @param {Record<string, string>} attributes\n *   Attributes.\n * @param {string} property\n *   Property.\n * @returns {string}\n *   Attribute.\n */\n\nimport {normalize} from '../normalize.js'\nimport {DefinedInfo} from './defined-info.js'\nimport {Schema} from './schema.js'\n\n/**\n * @param {Definition} definition\n *   Definition.\n * @returns {Schema}\n *   Schema.\n */\nexport function create(definition) {\n  /** @type {Record<string, Info>} */\n  const properties = {}\n  /** @type {Record<string, string>} */\n  const normals = {}\n\n  for (const [property, value] of Object.entries(definition.properties)) {\n    const info = new DefinedInfo(\n      property,\n      definition.transform(definition.attributes || {}, property),\n      value,\n      definition.space\n    )\n\n    if (\n      definition.mustUseProperty &&\n      definition.mustUseProperty.includes(property)\n    ) {\n      info.mustUseProperty = true\n    }\n\n    properties[property] = info\n\n    normals[normalize(property)] = property\n    normals[normalize(info.attribute)] = property\n  }\n\n  return new Schema(properties, normals, definition.space)\n}\n","import {create} from './util/create.js'\nimport {booleanish, number, spaceSeparated} from './util/types.js'\n\nexport const aria = create({\n  properties: {\n    ariaActiveDescendant: null,\n    ariaAtomic: booleanish,\n    ariaAutoComplete: null,\n    ariaBusy: booleanish,\n    ariaChecked: booleanish,\n    ariaColCount: number,\n    ariaColIndex: number,\n    ariaColSpan: number,\n    ariaControls: spaceSeparated,\n    ariaCurrent: null,\n    ariaDescribedBy: spaceSeparated,\n    ariaDetails: null,\n    ariaDisabled: booleanish,\n    ariaDropEffect: spaceSeparated,\n    ariaErrorMessage: null,\n    ariaExpanded: booleanish,\n    ariaFlowTo: spaceSeparated,\n    ariaGrabbed: booleanish,\n    ariaHasPopup: null,\n    ariaHidden: booleanish,\n    ariaInvalid: null,\n    ariaKeyShortcuts: null,\n    ariaLabel: null,\n    ariaLabelledBy: spaceSeparated,\n    ariaLevel: number,\n    ariaLive: null,\n    ariaModal: booleanish,\n    ariaMultiLine: booleanish,\n    ariaMultiSelectable: booleanish,\n    ariaOrientation: null,\n    ariaOwns: spaceSeparated,\n    ariaPlaceholder: null,\n    ariaPosInSet: number,\n    ariaPressed: booleanish,\n    ariaReadOnly: booleanish,\n    ariaRelevant: null,\n    ariaRequired: booleanish,\n    ariaRoleDescription: spaceSeparated,\n    ariaRowCount: number,\n    ariaRowIndex: number,\n    ariaRowSpan: number,\n    ariaSelected: booleanish,\n    ariaSetSize: number,\n    ariaSort: null,\n    ariaValueMax: number,\n    ariaValueMin: number,\n    ariaValueNow: number,\n    ariaValueText: null,\n    role: null\n  },\n  transform(_, property) {\n    return property === 'role'\n      ? property\n      : 'aria-' + property.slice(4).toLowerCase()\n  }\n})\n","/**\n * @param {Record<string, string>} attributes\n *   Attributes.\n * @param {string} attribute\n *   Attribute.\n * @returns {string}\n *   Transformed attribute.\n */\nexport function caseSensitiveTransform(attributes, attribute) {\n  return attribute in attributes ? attributes[attribute] : attribute\n}\n","import {caseSensitiveTransform} from './case-sensitive-transform.js'\n\n/**\n * @param {Record<string, string>} attributes\n *   Attributes.\n * @param {string} property\n *   Property.\n * @returns {string}\n *   Transformed property.\n */\nexport function caseInsensitiveTransform(attributes, property) {\n  return caseSensitiveTransform(attributes, property.toLowerCase())\n}\n","import {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n  booleanish,\n  boolean,\n  commaSeparated,\n  number,\n  overloadedBoolean,\n  spaceSeparated\n} from './util/types.js'\n\nexport const html = create({\n  attributes: {\n    acceptcharset: 'accept-charset',\n    classname: 'class',\n    htmlfor: 'for',\n    httpequiv: 'http-equiv'\n  },\n  mustUseProperty: ['checked', 'multiple', 'muted', 'selected'],\n  properties: {\n    // Standard Properties.\n    abbr: null,\n    accept: commaSeparated,\n    acceptCharset: spaceSeparated,\n    accessKey: spaceSeparated,\n    action: null,\n    allow: null,\n    allowFullScreen: boolean,\n    allowPaymentRequest: boolean,\n    allowUserMedia: boolean,\n    alt: null,\n    as: null,\n    async: boolean,\n    autoCapitalize: null,\n    autoComplete: spaceSeparated,\n    autoFocus: boolean,\n    autoPlay: boolean,\n    blocking: spaceSeparated,\n    capture: null,\n    charSet: null,\n    checked: boolean,\n    cite: null,\n    className: spaceSeparated,\n    cols: number,\n    colSpan: null,\n    content: null,\n    contentEditable: booleanish,\n    controls: boolean,\n    controlsList: spaceSeparated,\n    coords: number | commaSeparated,\n    crossOrigin: null,\n    data: null,\n    dateTime: null,\n    decoding: null,\n    default: boolean,\n    defer: boolean,\n    dir: null,\n    dirName: null,\n    disabled: boolean,\n    download: overloadedBoolean,\n    draggable: booleanish,\n    encType: null,\n    enterKeyHint: null,\n    fetchPriority: null,\n    form: null,\n    formAction: null,\n    formEncType: null,\n    formMethod: null,\n    formNoValidate: boolean,\n    formTarget: null,\n    headers: spaceSeparated,\n    height: number,\n    hidden: overloadedBoolean,\n    high: number,\n    href: null,\n    hrefLang: null,\n    htmlFor: spaceSeparated,\n    httpEquiv: spaceSeparated,\n    id: null,\n    imageSizes: null,\n    imageSrcSet: null,\n    inert: boolean,\n    inputMode: null,\n    integrity: null,\n    is: null,\n    isMap: boolean,\n    itemId: null,\n    itemProp: spaceSeparated,\n    itemRef: spaceSeparated,\n    itemScope: boolean,\n    itemType: spaceSeparated,\n    kind: null,\n    label: null,\n    lang: null,\n    language: null,\n    list: null,\n    loading: null,\n    loop: boolean,\n    low: number,\n    manifest: null,\n    max: null,\n    maxLength: number,\n    media: null,\n    method: null,\n    min: null,\n    minLength: number,\n    multiple: boolean,\n    muted: boolean,\n    name: null,\n    nonce: null,\n    noModule: boolean,\n    noValidate: boolean,\n    onAbort: null,\n    onAfterPrint: null,\n    onAuxClick: null,\n    onBeforeMatch: null,\n    onBeforePrint: null,\n    onBeforeToggle: null,\n    onBeforeUnload: null,\n    onBlur: null,\n    onCancel: null,\n    onCanPlay: null,\n    onCanPlayThrough: null,\n    onChange: null,\n    onClick: null,\n    onClose: null,\n    onContextLost: null,\n    onContextMenu: null,\n    onContextRestored: null,\n    onCopy: null,\n    onCueChange: null,\n    onCut: null,\n    onDblClick: null,\n    onDrag: null,\n    onDragEnd: null,\n    onDragEnter: null,\n    onDragExit: null,\n    onDragLeave: null,\n    onDragOver: null,\n    onDragStart: null,\n    onDrop: null,\n    onDurationChange: null,\n    onEmptied: null,\n    onEnded: null,\n    onError: null,\n    onFocus: null,\n    onFormData: null,\n    onHashChange: null,\n    onInput: null,\n    onInvalid: null,\n    onKeyDown: null,\n    onKeyPress: null,\n    onKeyUp: null,\n    onLanguageChange: null,\n    onLoad: null,\n    onLoadedData: null,\n    onLoadedMetadata: null,\n    onLoadEnd: null,\n    onLoadStart: null,\n    onMessage: null,\n    onMessageError: null,\n    onMouseDown: null,\n    onMouseEnter: null,\n    onMouseLeave: null,\n    onMouseMove: null,\n    onMouseOut: null,\n    onMouseOver: null,\n    onMouseUp: null,\n    onOffline: null,\n    onOnline: null,\n    onPageHide: null,\n    onPageShow: null,\n    onPaste: null,\n    onPause: null,\n    onPlay: null,\n    onPlaying: null,\n    onPopState: null,\n    onProgress: null,\n    onRateChange: null,\n    onRejectionHandled: null,\n    onReset: null,\n    onResize: null,\n    onScroll: null,\n    onScrollEnd: null,\n    onSecurityPolicyViolation: null,\n    onSeeked: null,\n    onSeeking: null,\n    onSelect: null,\n    onSlotChange: null,\n    onStalled: null,\n    onStorage: null,\n    onSubmit: null,\n    onSuspend: null,\n    onTimeUpdate: null,\n    onToggle: null,\n    onUnhandledRejection: null,\n    onUnload: null,\n    onVolumeChange: null,\n    onWaiting: null,\n    onWheel: null,\n    open: boolean,\n    optimum: number,\n    pattern: null,\n    ping: spaceSeparated,\n    placeholder: null,\n    playsInline: boolean,\n    popover: null,\n    popoverTarget: null,\n    popoverTargetAction: null,\n    poster: null,\n    preload: null,\n    readOnly: boolean,\n    referrerPolicy: null,\n    rel: spaceSeparated,\n    required: boolean,\n    reversed: boolean,\n    rows: number,\n    rowSpan: number,\n    sandbox: spaceSeparated,\n    scope: null,\n    scoped: boolean,\n    seamless: boolean,\n    selected: boolean,\n    shadowRootClonable: boolean,\n    shadowRootDelegatesFocus: boolean,\n    shadowRootMode: null,\n    shape: null,\n    size: number,\n    sizes: null,\n    slot: null,\n    span: number,\n    spellCheck: booleanish,\n    src: null,\n    srcDoc: null,\n    srcLang: null,\n    srcSet: null,\n    start: number,\n    step: null,\n    style: null,\n    tabIndex: number,\n    target: null,\n    title: null,\n    translate: null,\n    type: null,\n    typeMustMatch: boolean,\n    useMap: null,\n    value: booleanish,\n    width: number,\n    wrap: null,\n    writingSuggestions: null,\n\n    // Legacy.\n    // See: https://html.spec.whatwg.org/#other-elements,-attributes-and-apis\n    align: null, // Several. Use CSS `text-align` instead,\n    aLink: null, // `<body>`. Use CSS `a:active {color}` instead\n    archive: spaceSeparated, // `<object>`. List of URIs to archives\n    axis: null, // `<td>` and `<th>`. Use `scope` on `<th>`\n    background: null, // `<body>`. Use CSS `background-image` instead\n    bgColor: null, // `<body>` and table elements. Use CSS `background-color` instead\n    border: number, // `<table>`. Use CSS `border-width` instead,\n    borderColor: null, // `<table>`. Use CSS `border-color` instead,\n    bottomMargin: number, // `<body>`\n    cellPadding: null, // `<table>`\n    cellSpacing: null, // `<table>`\n    char: null, // Several table elements. When `align=char`, sets the character to align on\n    charOff: null, // Several table elements. When `char`, offsets the alignment\n    classId: null, // `<object>`\n    clear: null, // `<br>`. Use CSS `clear` instead\n    code: null, // `<object>`\n    codeBase: null, // `<object>`\n    codeType: null, // `<object>`\n    color: null, // `<font>` and `<hr>`. Use CSS instead\n    compact: boolean, // Lists. Use CSS to reduce space between items instead\n    declare: boolean, // `<object>`\n    event: null, // `<script>`\n    face: null, // `<font>`. Use CSS instead\n    frame: null, // `<table>`\n    frameBorder: null, // `<iframe>`. Use CSS `border` instead\n    hSpace: number, // `<img>` and `<object>`\n    leftMargin: number, // `<body>`\n    link: null, // `<body>`. Use CSS `a:link {color: *}` instead\n    longDesc: null, // `<frame>`, `<iframe>`, and `<img>`. Use an `<a>`\n    lowSrc: null, // `<img>`. Use a `<picture>`\n    marginHeight: number, // `<body>`\n    marginWidth: number, // `<body>`\n    noResize: boolean, // `<frame>`\n    noHref: boolean, // `<area>`. Use no href instead of an explicit `nohref`\n    noShade: boolean, // `<hr>`. Use background-color and height instead of borders\n    noWrap: boolean, // `<td>` and `<th>`\n    object: null, // `<applet>`\n    profile: null, // `<head>`\n    prompt: null, // `<isindex>`\n    rev: null, // `<link>`\n    rightMargin: number, // `<body>`\n    rules: null, // `<table>`\n    scheme: null, // `<meta>`\n    scrolling: booleanish, // `<frame>`. Use overflow in the child context\n    standby: null, // `<object>`\n    summary: null, // `<table>`\n    text: null, // `<body>`. Use CSS `color` instead\n    topMargin: number, // `<body>`\n    valueType: null, // `<param>`\n    version: null, // `<html>`. Use a doctype.\n    vAlign: null, // Several. Use CSS `vertical-align` instead\n    vLink: null, // `<body>`. Use CSS `a:visited {color}` instead\n    vSpace: number, // `<img>` and `<object>`\n\n    // Non-standard Properties.\n    allowTransparency: null,\n    autoCorrect: null,\n    autoSave: null,\n    disablePictureInPicture: boolean,\n    disableRemotePlayback: boolean,\n    prefix: null,\n    property: null,\n    results: number,\n    security: null,\n    unselectable: null\n  },\n  space: 'html',\n  transform: caseInsensitiveTransform\n})\n","import {caseSensitiveTransform} from './util/case-sensitive-transform.js'\nimport {create} from './util/create.js'\nimport {\n  boolean,\n  commaOrSpaceSeparated,\n  commaSeparated,\n  number,\n  spaceSeparated\n} from './util/types.js'\n\nexport const svg = create({\n  attributes: {\n    accentHeight: 'accent-height',\n    alignmentBaseline: 'alignment-baseline',\n    arabicForm: 'arabic-form',\n    baselineShift: 'baseline-shift',\n    capHeight: 'cap-height',\n    className: 'class',\n    clipPath: 'clip-path',\n    clipRule: 'clip-rule',\n    colorInterpolation: 'color-interpolation',\n    colorInterpolationFilters: 'color-interpolation-filters',\n    colorProfile: 'color-profile',\n    colorRendering: 'color-rendering',\n    crossOrigin: 'crossorigin',\n    dataType: 'datatype',\n    dominantBaseline: 'dominant-baseline',\n    enableBackground: 'enable-background',\n    fillOpacity: 'fill-opacity',\n    fillRule: 'fill-rule',\n    floodColor: 'flood-color',\n    floodOpacity: 'flood-opacity',\n    fontFamily: 'font-family',\n    fontSize: 'font-size',\n    fontSizeAdjust: 'font-size-adjust',\n    fontStretch: 'font-stretch',\n    fontStyle: 'font-style',\n    fontVariant: 'font-variant',\n    fontWeight: 'font-weight',\n    glyphName: 'glyph-name',\n    glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n    glyphOrientationVertical: 'glyph-orientation-vertical',\n    hrefLang: 'hreflang',\n    horizAdvX: 'horiz-adv-x',\n    horizOriginX: 'horiz-origin-x',\n    horizOriginY: 'horiz-origin-y',\n    imageRendering: 'image-rendering',\n    letterSpacing: 'letter-spacing',\n    lightingColor: 'lighting-color',\n    markerEnd: 'marker-end',\n    markerMid: 'marker-mid',\n    markerStart: 'marker-start',\n    navDown: 'nav-down',\n    navDownLeft: 'nav-down-left',\n    navDownRight: 'nav-down-right',\n    navLeft: 'nav-left',\n    navNext: 'nav-next',\n    navPrev: 'nav-prev',\n    navRight: 'nav-right',\n    navUp: 'nav-up',\n    navUpLeft: 'nav-up-left',\n    navUpRight: 'nav-up-right',\n    onAbort: 'onabort',\n    onActivate: 'onactivate',\n    onAfterPrint: 'onafterprint',\n    onBeforePrint: 'onbeforeprint',\n    onBegin: 'onbegin',\n    onCancel: 'oncancel',\n    onCanPlay: 'oncanplay',\n    onCanPlayThrough: 'oncanplaythrough',\n    onChange: 'onchange',\n    onClick: 'onclick',\n    onClose: 'onclose',\n    onCopy: 'oncopy',\n    onCueChange: 'oncuechange',\n    onCut: 'oncut',\n    onDblClick: 'ondblclick',\n    onDrag: 'ondrag',\n    onDragEnd: 'ondragend',\n    onDragEnter: 'ondragenter',\n    onDragExit: 'ondragexit',\n    onDragLeave: 'ondragleave',\n    onDragOver: 'ondragover',\n    onDragStart: 'ondragstart',\n    onDrop: 'ondrop',\n    onDurationChange: 'ondurationchange',\n    onEmptied: 'onemptied',\n    onEnd: 'onend',\n    onEnded: 'onended',\n    onError: 'onerror',\n    onFocus: 'onfocus',\n    onFocusIn: 'onfocusin',\n    onFocusOut: 'onfocusout',\n    onHashChange: 'onhashchange',\n    onInput: 'oninput',\n    onInvalid: 'oninvalid',\n    onKeyDown: 'onkeydown',\n    onKeyPress: 'onkeypress',\n    onKeyUp: 'onkeyup',\n    onLoad: 'onload',\n    onLoadedData: 'onloadeddata',\n    onLoadedMetadata: 'onloadedmetadata',\n    onLoadStart: 'onloadstart',\n    onMessage: 'onmessage',\n    onMouseDown: 'onmousedown',\n    onMouseEnter: 'onmouseenter',\n    onMouseLeave: 'onmouseleave',\n    onMouseMove: 'onmousemove',\n    onMouseOut: 'onmouseout',\n    onMouseOver: 'onmouseover',\n    onMouseUp: 'onmouseup',\n    onMouseWheel: 'onmousewheel',\n    onOffline: 'onoffline',\n    onOnline: 'ononline',\n    onPageHide: 'onpagehide',\n    onPageShow: 'onpageshow',\n    onPaste: 'onpaste',\n    onPause: 'onpause',\n    onPlay: 'onplay',\n    onPlaying: 'onplaying',\n    onPopState: 'onpopstate',\n    onProgress: 'onprogress',\n    onRateChange: 'onratechange',\n    onRepeat: 'onrepeat',\n    onReset: 'onreset',\n    onResize: 'onresize',\n    onScroll: 'onscroll',\n    onSeeked: 'onseeked',\n    onSeeking: 'onseeking',\n    onSelect: 'onselect',\n    onShow: 'onshow',\n    onStalled: 'onstalled',\n    onStorage: 'onstorage',\n    onSubmit: 'onsubmit',\n    onSuspend: 'onsuspend',\n    onTimeUpdate: 'ontimeupdate',\n    onToggle: 'ontoggle',\n    onUnload: 'onunload',\n    onVolumeChange: 'onvolumechange',\n    onWaiting: 'onwaiting',\n    onZoom: 'onzoom',\n    overlinePosition: 'overline-position',\n    overlineThickness: 'overline-thickness',\n    paintOrder: 'paint-order',\n    panose1: 'panose-1',\n    pointerEvents: 'pointer-events',\n    referrerPolicy: 'referrerpolicy',\n    renderingIntent: 'rendering-intent',\n    shapeRendering: 'shape-rendering',\n    stopColor: 'stop-color',\n    stopOpacity: 'stop-opacity',\n    strikethroughPosition: 'strikethrough-position',\n    strikethroughThickness: 'strikethrough-thickness',\n    strokeDashArray: 'stroke-dasharray',\n    strokeDashOffset: 'stroke-dashoffset',\n    strokeLineCap: 'stroke-linecap',\n    strokeLineJoin: 'stroke-linejoin',\n    strokeMiterLimit: 'stroke-miterlimit',\n    strokeOpacity: 'stroke-opacity',\n    strokeWidth: 'stroke-width',\n    tabIndex: 'tabindex',\n    textAnchor: 'text-anchor',\n    textDecoration: 'text-decoration',\n    textRendering: 'text-rendering',\n    transformOrigin: 'transform-origin',\n    typeOf: 'typeof',\n    underlinePosition: 'underline-position',\n    underlineThickness: 'underline-thickness',\n    unicodeBidi: 'unicode-bidi',\n    unicodeRange: 'unicode-range',\n    unitsPerEm: 'units-per-em',\n    vAlphabetic: 'v-alphabetic',\n    vHanging: 'v-hanging',\n    vIdeographic: 'v-ideographic',\n    vMathematical: 'v-mathematical',\n    vectorEffect: 'vector-effect',\n    vertAdvY: 'vert-adv-y',\n    vertOriginX: 'vert-origin-x',\n    vertOriginY: 'vert-origin-y',\n    wordSpacing: 'word-spacing',\n    writingMode: 'writing-mode',\n    xHeight: 'x-height',\n    // These were camelcased in Tiny. Now lowercased in SVG 2\n    playbackOrder: 'playbackorder',\n    timelineBegin: 'timelinebegin'\n  },\n  properties: {\n    about: commaOrSpaceSeparated,\n    accentHeight: number,\n    accumulate: null,\n    additive: null,\n    alignmentBaseline: null,\n    alphabetic: number,\n    amplitude: number,\n    arabicForm: null,\n    ascent: number,\n    attributeName: null,\n    attributeType: null,\n    azimuth: number,\n    bandwidth: null,\n    baselineShift: null,\n    baseFrequency: null,\n    baseProfile: null,\n    bbox: null,\n    begin: null,\n    bias: number,\n    by: null,\n    calcMode: null,\n    capHeight: number,\n    className: spaceSeparated,\n    clip: null,\n    clipPath: null,\n    clipPathUnits: null,\n    clipRule: null,\n    color: null,\n    colorInterpolation: null,\n    colorInterpolationFilters: null,\n    colorProfile: null,\n    colorRendering: null,\n    content: null,\n    contentScriptType: null,\n    contentStyleType: null,\n    crossOrigin: null,\n    cursor: null,\n    cx: null,\n    cy: null,\n    d: null,\n    dataType: null,\n    defaultAction: null,\n    descent: number,\n    diffuseConstant: number,\n    direction: null,\n    display: null,\n    dur: null,\n    divisor: number,\n    dominantBaseline: null,\n    download: boolean,\n    dx: null,\n    dy: null,\n    edgeMode: null,\n    editable: null,\n    elevation: number,\n    enableBackground: null,\n    end: null,\n    event: null,\n    exponent: number,\n    externalResourcesRequired: null,\n    fill: null,\n    fillOpacity: number,\n    fillRule: null,\n    filter: null,\n    filterRes: null,\n    filterUnits: null,\n    floodColor: null,\n    floodOpacity: null,\n    focusable: null,\n    focusHighlight: null,\n    fontFamily: null,\n    fontSize: null,\n    fontSizeAdjust: null,\n    fontStretch: null,\n    fontStyle: null,\n    fontVariant: null,\n    fontWeight: null,\n    format: null,\n    fr: null,\n    from: null,\n    fx: null,\n    fy: null,\n    g1: commaSeparated,\n    g2: commaSeparated,\n    glyphName: commaSeparated,\n    glyphOrientationHorizontal: null,\n    glyphOrientationVertical: null,\n    glyphRef: null,\n    gradientTransform: null,\n    gradientUnits: null,\n    handler: null,\n    hanging: number,\n    hatchContentUnits: null,\n    hatchUnits: null,\n    height: null,\n    href: null,\n    hrefLang: null,\n    horizAdvX: number,\n    horizOriginX: number,\n    horizOriginY: number,\n    id: null,\n    ideographic: number,\n    imageRendering: null,\n    initialVisibility: null,\n    in: null,\n    in2: null,\n    intercept: number,\n    k: number,\n    k1: number,\n    k2: number,\n    k3: number,\n    k4: number,\n    kernelMatrix: commaOrSpaceSeparated,\n    kernelUnitLength: null,\n    keyPoints: null, // SEMI_COLON_SEPARATED\n    keySplines: null, // SEMI_COLON_SEPARATED\n    keyTimes: null, // SEMI_COLON_SEPARATED\n    kerning: null,\n    lang: null,\n    lengthAdjust: null,\n    letterSpacing: null,\n    lightingColor: null,\n    limitingConeAngle: number,\n    local: null,\n    markerEnd: null,\n    markerMid: null,\n    markerStart: null,\n    markerHeight: null,\n    markerUnits: null,\n    markerWidth: null,\n    mask: null,\n    maskContentUnits: null,\n    maskUnits: null,\n    mathematical: null,\n    max: null,\n    media: null,\n    mediaCharacterEncoding: null,\n    mediaContentEncodings: null,\n    mediaSize: number,\n    mediaTime: null,\n    method: null,\n    min: null,\n    mode: null,\n    name: null,\n    navDown: null,\n    navDownLeft: null,\n    navDownRight: null,\n    navLeft: null,\n    navNext: null,\n    navPrev: null,\n    navRight: null,\n    navUp: null,\n    navUpLeft: null,\n    navUpRight: null,\n    numOctaves: null,\n    observer: null,\n    offset: null,\n    onAbort: null,\n    onActivate: null,\n    onAfterPrint: null,\n    onBeforePrint: null,\n    onBegin: null,\n    onCancel: null,\n    onCanPlay: null,\n    onCanPlayThrough: null,\n    onChange: null,\n    onClick: null,\n    onClose: null,\n    onCopy: null,\n    onCueChange: null,\n    onCut: null,\n    onDblClick: null,\n    onDrag: null,\n    onDragEnd: null,\n    onDragEnter: null,\n    onDragExit: null,\n    onDragLeave: null,\n    onDragOver: null,\n    onDragStart: null,\n    onDrop: null,\n    onDurationChange: null,\n    onEmptied: null,\n    onEnd: null,\n    onEnded: null,\n    onError: null,\n    onFocus: null,\n    onFocusIn: null,\n    onFocusOut: null,\n    onHashChange: null,\n    onInput: null,\n    onInvalid: null,\n    onKeyDown: null,\n    onKeyPress: null,\n    onKeyUp: null,\n    onLoad: null,\n    onLoadedData: null,\n    onLoadedMetadata: null,\n    onLoadStart: null,\n    onMessage: null,\n    onMouseDown: null,\n    onMouseEnter: null,\n    onMouseLeave: null,\n    onMouseMove: null,\n    onMouseOut: null,\n    onMouseOver: null,\n    onMouseUp: null,\n    onMouseWheel: null,\n    onOffline: null,\n    onOnline: null,\n    onPageHide: null,\n    onPageShow: null,\n    onPaste: null,\n    onPause: null,\n    onPlay: null,\n    onPlaying: null,\n    onPopState: null,\n    onProgress: null,\n    onRateChange: null,\n    onRepeat: null,\n    onReset: null,\n    onResize: null,\n    onScroll: null,\n    onSeeked: null,\n    onSeeking: null,\n    onSelect: null,\n    onShow: null,\n    onStalled: null,\n    onStorage: null,\n    onSubmit: null,\n    onSuspend: null,\n    onTimeUpdate: null,\n    onToggle: null,\n    onUnload: null,\n    onVolumeChange: null,\n    onWaiting: null,\n    onZoom: null,\n    opacity: null,\n    operator: null,\n    order: null,\n    orient: null,\n    orientation: null,\n    origin: null,\n    overflow: null,\n    overlay: null,\n    overlinePosition: number,\n    overlineThickness: number,\n    paintOrder: null,\n    panose1: null,\n    path: null,\n    pathLength: number,\n    patternContentUnits: null,\n    patternTransform: null,\n    patternUnits: null,\n    phase: null,\n    ping: spaceSeparated,\n    pitch: null,\n    playbackOrder: null,\n    pointerEvents: null,\n    points: null,\n    pointsAtX: number,\n    pointsAtY: number,\n    pointsAtZ: number,\n    preserveAlpha: null,\n    preserveAspectRatio: null,\n    primitiveUnits: null,\n    propagate: null,\n    property: commaOrSpaceSeparated,\n    r: null,\n    radius: null,\n    referrerPolicy: null,\n    refX: null,\n    refY: null,\n    rel: commaOrSpaceSeparated,\n    rev: commaOrSpaceSeparated,\n    renderingIntent: null,\n    repeatCount: null,\n    repeatDur: null,\n    requiredExtensions: commaOrSpaceSeparated,\n    requiredFeatures: commaOrSpaceSeparated,\n    requiredFonts: commaOrSpaceSeparated,\n    requiredFormats: commaOrSpaceSeparated,\n    resource: null,\n    restart: null,\n    result: null,\n    rotate: null,\n    rx: null,\n    ry: null,\n    scale: null,\n    seed: null,\n    shapeRendering: null,\n    side: null,\n    slope: null,\n    snapshotTime: null,\n    specularConstant: number,\n    specularExponent: number,\n    spreadMethod: null,\n    spacing: null,\n    startOffset: null,\n    stdDeviation: null,\n    stemh: null,\n    stemv: null,\n    stitchTiles: null,\n    stopColor: null,\n    stopOpacity: null,\n    strikethroughPosition: number,\n    strikethroughThickness: number,\n    string: null,\n    stroke: null,\n    strokeDashArray: commaOrSpaceSeparated,\n    strokeDashOffset: null,\n    strokeLineCap: null,\n    strokeLineJoin: null,\n    strokeMiterLimit: number,\n    strokeOpacity: number,\n    strokeWidth: null,\n    style: null,\n    surfaceScale: number,\n    syncBehavior: null,\n    syncBehaviorDefault: null,\n    syncMaster: null,\n    syncTolerance: null,\n    syncToleranceDefault: null,\n    systemLanguage: commaOrSpaceSeparated,\n    tabIndex: number,\n    tableValues: null,\n    target: null,\n    targetX: number,\n    targetY: number,\n    textAnchor: null,\n    textDecoration: null,\n    textRendering: null,\n    textLength: null,\n    timelineBegin: null,\n    title: null,\n    transformBehavior: null,\n    type: null,\n    typeOf: commaOrSpaceSeparated,\n    to: null,\n    transform: null,\n    transformOrigin: null,\n    u1: null,\n    u2: null,\n    underlinePosition: number,\n    underlineThickness: number,\n    unicode: null,\n    unicodeBidi: null,\n    unicodeRange: null,\n    unitsPerEm: number,\n    values: null,\n    vAlphabetic: number,\n    vMathematical: number,\n    vectorEffect: null,\n    vHanging: number,\n    vIdeographic: number,\n    version: null,\n    vertAdvY: number,\n    vertOriginX: number,\n    vertOriginY: number,\n    viewBox: null,\n    viewTarget: null,\n    visibility: null,\n    width: null,\n    widths: null,\n    wordSpacing: null,\n    writingMode: null,\n    x: null,\n    x1: null,\n    x2: null,\n    xChannelSelector: null,\n    xHeight: number,\n    y: null,\n    y1: null,\n    y2: null,\n    yChannelSelector: null,\n    z: null,\n    zoomAndPan: null\n  },\n  space: 'svg',\n  transform: caseSensitiveTransform\n})\n","import {create} from './util/create.js'\n\nexport const xlink = create({\n  properties: {\n    xLinkActuate: null,\n    xLinkArcRole: null,\n    xLinkHref: null,\n    xLinkRole: null,\n    xLinkShow: null,\n    xLinkTitle: null,\n    xLinkType: null\n  },\n  space: 'xlink',\n  transform(_, property) {\n    return 'xlink:' + property.slice(5).toLowerCase()\n  }\n})\n","import {create} from './util/create.js'\nimport {caseInsensitiveTransform} from './util/case-insensitive-transform.js'\n\nexport const xmlns = create({\n  attributes: {xmlnsxlink: 'xmlns:xlink'},\n  properties: {xmlnsXLink: null, xmlns: null},\n  space: 'xmlns',\n  transform: caseInsensitiveTransform\n})\n","import {create} from './util/create.js'\n\nexport const xml = create({\n  properties: {xmlBase: null, xmlLang: null, xmlSpace: null},\n  space: 'xml',\n  transform(_, property) {\n    return 'xml:' + property.slice(3).toLowerCase()\n  }\n})\n","/**\n * @import {Schema} from 'property-information'\n */\n\nimport {DefinedInfo} from './util/defined-info.js'\nimport {Info} from './util/info.js'\nimport {normalize} from './normalize.js'\n\nconst cap = /[A-Z]/g\nconst dash = /-[a-z]/g\nconst valid = /^data[-\\w.:]+$/i\n\n/**\n * Look up info on a property.\n *\n * In most cases the given `schema` contains info on the property.\n * All standard,\n * most legacy,\n * and some non-standard properties are supported.\n * For these cases,\n * the returned `Info` has hints about the value of the property.\n *\n * `name` can also be a valid data attribute or property,\n * in which case an `Info` object with the correctly cased `attribute` and\n * `property` is returned.\n *\n * `name` can be an unknown attribute,\n * in which case an `Info` object with `attribute` and `property` set to the\n * given name is returned.\n * It is not recommended to provide unsupported legacy or recently specced\n * properties.\n *\n *\n * @param {Schema} schema\n *   Schema;\n *   either the `html` or `svg` export.\n * @param {string} value\n *   An attribute-like or property-like name;\n *   it will be passed through `normalize` to hopefully find the correct info.\n * @returns {Info}\n *   Info.\n */\nexport function find(schema, value) {\n  const normal = normalize(value)\n  let property = value\n  let Type = Info\n\n  if (normal in schema.normal) {\n    return schema.property[schema.normal[normal]]\n  }\n\n  if (normal.length > 4 && normal.slice(0, 4) === 'data' && valid.test(value)) {\n    // Attribute or property.\n    if (value.charAt(4) === '-') {\n      // Turn it into a property.\n      const rest = value.slice(5).replace(dash, camelcase)\n      property = 'data' + rest.charAt(0).toUpperCase() + rest.slice(1)\n    } else {\n      // Turn it into an attribute.\n      const rest = value.slice(4)\n\n      if (!dash.test(rest)) {\n        let dashes = rest.replace(cap, kebab)\n\n        if (dashes.charAt(0) !== '-') {\n          dashes = '-' + dashes\n        }\n\n        value = 'data' + dashes\n      }\n    }\n\n    Type = DefinedInfo\n  }\n\n  return new Type(property, value)\n}\n\n/**\n * @param {string} $0\n *   Value.\n * @returns {string}\n *   Kebab.\n */\nfunction kebab($0) {\n  return '-' + $0.toLowerCase()\n}\n\n/**\n * @param {string} $0\n *   Value.\n * @returns {string}\n *   Camel.\n */\nfunction camelcase($0) {\n  return $0.charAt(1).toUpperCase()\n}\n","// Note: types exposed from `index.d.ts`.\nimport {merge} from './lib/util/merge.js'\nimport {aria} from './lib/aria.js'\nimport {html as htmlBase} from './lib/html.js'\nimport {svg as svgBase} from './lib/svg.js'\nimport {xlink} from './lib/xlink.js'\nimport {xmlns} from './lib/xmlns.js'\nimport {xml} from './lib/xml.js'\n\nexport {hastToReact} from './lib/hast-to-react.js'\n\nexport const html = merge([aria, htmlBase, xlink, xmlns, xml], 'html')\n\nexport {find} from './lib/find.js'\nexport {normalize} from './lib/normalize.js'\n\nexport const svg = merge([aria, svgBase, xlink, xmlns, xml], 'svg')\n","/**\n * @callback Handler\n *   Handle a value, with a certain ID field set to a certain value.\n *   The ID field is passed to `zwitch`, and it’s value is this function’s\n *   place on the `handlers` record.\n * @param {...any} parameters\n *   Arbitrary parameters passed to the zwitch.\n *   The first will be an object with a certain ID field set to a certain value.\n * @returns {any}\n *   Anything!\n */\n\n/**\n * @callback UnknownHandler\n *   Handle values that do have a certain ID field, but it’s set to a value\n *   that is not listed in the `handlers` record.\n * @param {unknown} value\n *   An object with a certain ID field set to an unknown value.\n * @param {...any} rest\n *   Arbitrary parameters passed to the zwitch.\n * @returns {any}\n *   Anything!\n */\n\n/**\n * @callback InvalidHandler\n *   Handle values that do not have a certain ID field.\n * @param {unknown} value\n *   Any unknown value.\n * @param {...any} rest\n *   Arbitrary parameters passed to the zwitch.\n * @returns {void|null|undefined|never}\n *   This should crash or return nothing.\n */\n\n/**\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @typedef Options\n *   Configuration (required).\n * @property {Invalid} [invalid]\n *   Handler to use for invalid values.\n * @property {Unknown} [unknown]\n *   Handler to use for unknown values.\n * @property {Handlers} [handlers]\n *   Handlers to use.\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Handle values based on a field.\n *\n * @template {InvalidHandler} [Invalid=InvalidHandler]\n * @template {UnknownHandler} [Unknown=UnknownHandler]\n * @template {Record<string, Handler>} [Handlers=Record<string, Handler>]\n * @param {string} key\n *   Field to switch on.\n * @param {Options<Invalid, Unknown, Handlers>} [options]\n *   Configuration (required).\n * @returns {{unknown: Unknown, invalid: Invalid, handlers: Handlers, (...parameters: Parameters<Handlers[keyof Handlers]>): ReturnType<Handlers[keyof Handlers]>, (...parameters: Parameters<Unknown>): ReturnType<Unknown>}}\n */\nexport function zwitch(key, options) {\n  const settings = options || {}\n\n  /**\n   * Handle one value.\n   *\n   * Based on the bound `key`, a respective handler will be called.\n   * If `value` is not an object, or doesn’t have a `key` property, the special\n   * “invalid” handler will be called.\n   * If `value` has an unknown `key`, the special “unknown” handler will be\n   * called.\n   *\n   * All arguments, and the context object, are passed through to the handler,\n   * and it’s result is returned.\n   *\n   * @this {unknown}\n   *   Any context object.\n   * @param {unknown} [value]\n   *   Any value.\n   * @param {...unknown} parameters\n   *   Arbitrary parameters passed to the zwitch.\n   * @property {Handler} invalid\n   *   Handle for values that do not have a certain ID field.\n   * @property {Handler} unknown\n   *   Handle values that do have a certain ID field, but it’s set to a value\n   *   that is not listed in the `handlers` record.\n   * @property {Handlers} handlers\n   *   Record of handlers.\n   * @returns {unknown}\n   *   Anything.\n   */\n  function one(value, ...parameters) {\n    /** @type {Handler|undefined} */\n    let fn = one.invalid\n    const handlers = one.handlers\n\n    if (value && own.call(value, key)) {\n      // @ts-expect-error Indexable.\n      const id = String(value[key])\n      // @ts-expect-error Indexable.\n      fn = own.call(handlers, id) ? handlers[id] : one.unknown\n    }\n\n    if (fn) {\n      return fn.call(this, value, ...parameters)\n    }\n  }\n\n  one.handlers = settings.handlers || {}\n  one.invalid = settings.invalid\n  one.unknown = settings.unknown\n\n  // @ts-expect-error: matches!\n  return one\n}\n","/**\n * @typedef CoreOptions\n * @property {ReadonlyArray<string>} [subset=[]]\n *   Whether to only escape the given subset of characters.\n * @property {boolean} [escapeOnly=false]\n *   Whether to only escape possibly dangerous characters.\n *   Those characters are `\"`, `&`, `'`, `<`, `>`, and `` ` ``.\n *\n * @typedef FormatOptions\n * @property {(code: number, next: number, options: CoreWithFormatOptions) => string} format\n *   Format strategy.\n *\n * @typedef {CoreOptions & FormatOptions & import('./util/format-smart.js').FormatSmartOptions} CoreWithFormatOptions\n */\n\nconst defaultSubsetRegex = /[\"&'<>`]/g\nconst surrogatePairsRegex = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g\nconst controlCharactersRegex =\n  // eslint-disable-next-line no-control-regex, unicorn/no-hex-escape\n  /[\\x01-\\t\\v\\f\\x0E-\\x1F\\x7F\\x81\\x8D\\x8F\\x90\\x9D\\xA0-\\uFFFF]/g\nconst regexEscapeRegex = /[|\\\\{}()[\\]^$+*?.]/g\n\n/** @type {WeakMap<ReadonlyArray<string>, RegExp>} */\nconst subsetToRegexCache = new WeakMap()\n\n/**\n * Encode certain characters in `value`.\n *\n * @param {string} value\n * @param {CoreWithFormatOptions} options\n * @returns {string}\n */\nexport function core(value, options) {\n  value = value.replace(\n    options.subset\n      ? charactersToExpressionCached(options.subset)\n      : defaultSubsetRegex,\n    basic\n  )\n\n  if (options.subset || options.escapeOnly) {\n    return value\n  }\n\n  return (\n    value\n      // Surrogate pairs.\n      .replace(surrogatePairsRegex, surrogate)\n      // BMP control characters (C0 except for LF, CR, SP; DEL; and some more\n      // non-ASCII ones).\n      .replace(controlCharactersRegex, basic)\n  )\n\n  /**\n   * @param {string} pair\n   * @param {number} index\n   * @param {string} all\n   */\n  function surrogate(pair, index, all) {\n    return options.format(\n      (pair.charCodeAt(0) - 0xd800) * 0x400 +\n        pair.charCodeAt(1) -\n        0xdc00 +\n        0x10000,\n      all.charCodeAt(index + 2),\n      options\n    )\n  }\n\n  /**\n   * @param {string} character\n   * @param {number} index\n   * @param {string} all\n   */\n  function basic(character, index, all) {\n    return options.format(\n      character.charCodeAt(0),\n      all.charCodeAt(index + 1),\n      options\n    )\n  }\n}\n\n/**\n * A wrapper function that caches the result of `charactersToExpression` with a WeakMap.\n * This can improve performance when tooling calls `charactersToExpression` repeatedly\n * with the same subset.\n *\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpressionCached(subset) {\n  let cached = subsetToRegexCache.get(subset)\n\n  if (!cached) {\n    cached = charactersToExpression(subset)\n    subsetToRegexCache.set(subset, cached)\n  }\n\n  return cached\n}\n\n/**\n * @param {ReadonlyArray<string>} subset\n * @returns {RegExp}\n */\nfunction charactersToExpression(subset) {\n  /** @type {Array<string>} */\n  const groups = []\n  let index = -1\n\n  while (++index < subset.length) {\n    groups.push(subset[index].replace(regexEscapeRegex, '\\\\$&'))\n  }\n\n  return new RegExp('(?:' + groups.join('|') + ')', 'g')\n}\n","const hexadecimalRegex = /[\\dA-Fa-f]/\n\n/**\n * Configurable ways to encode characters as hexadecimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toHexadecimal(code, next, omit) {\n  const value = '&#x' + code.toString(16).toUpperCase()\n  return omit && next && !hexadecimalRegex.test(String.fromCharCode(next))\n    ? value\n    : value + ';'\n}\n","const decimalRegex = /\\d/\n\n/**\n * Configurable ways to encode characters as decimal references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @returns {string}\n */\nexport function toDecimal(code, next, omit) {\n  const value = '&#' + String(code)\n  return omit && next && !decimalRegex.test(String.fromCharCode(next))\n    ? value\n    : value + ';'\n}\n","/**\n * List of legacy HTML named character references that don’t need a trailing semicolon.\n *\n * @type {Array<string>}\n */\nexport const characterEntitiesLegacy = [\n  'AElig',\n  'AMP',\n  'Aacute',\n  'Acirc',\n  'Agrave',\n  'Aring',\n  'Atilde',\n  'Auml',\n  'COPY',\n  'Ccedil',\n  'ETH',\n  'Eacute',\n  'Ecirc',\n  'Egrave',\n  'Euml',\n  'GT',\n  'Iacute',\n  'Icirc',\n  'Igrave',\n  'Iuml',\n  'LT',\n  'Ntilde',\n  'Oacute',\n  'Ocirc',\n  'Ograve',\n  'Oslash',\n  'Otilde',\n  'Ouml',\n  'QUOT',\n  'REG',\n  'THORN',\n  'Uacute',\n  'Ucirc',\n  'Ugrave',\n  'Uuml',\n  'Yacute',\n  'aacute',\n  'acirc',\n  'acute',\n  'aelig',\n  'agrave',\n  'amp',\n  'aring',\n  'atilde',\n  'auml',\n  'brvbar',\n  'ccedil',\n  'cedil',\n  'cent',\n  'copy',\n  'curren',\n  'deg',\n  'divide',\n  'eacute',\n  'ecirc',\n  'egrave',\n  'eth',\n  'euml',\n  'frac12',\n  'frac14',\n  'frac34',\n  'gt',\n  'iacute',\n  'icirc',\n  'iexcl',\n  'igrave',\n  'iquest',\n  'iuml',\n  'laquo',\n  'lt',\n  'macr',\n  'micro',\n  'middot',\n  'nbsp',\n  'not',\n  'ntilde',\n  'oacute',\n  'ocirc',\n  'ograve',\n  'ordf',\n  'ordm',\n  'oslash',\n  'otilde',\n  'ouml',\n  'para',\n  'plusmn',\n  'pound',\n  'quot',\n  'raquo',\n  'reg',\n  'sect',\n  'shy',\n  'sup1',\n  'sup2',\n  'sup3',\n  'szlig',\n  'thorn',\n  'times',\n  'uacute',\n  'ucirc',\n  'ugrave',\n  'uml',\n  'uuml',\n  'yacute',\n  'yen',\n  'yuml'\n]\n","/**\n * Map of named character references from HTML 4.\n *\n * @type {Record<string, string>}\n */\nexport const characterEntitiesHtml4 = {\n  nbsp: ' ',\n  iexcl: '¡',\n  cent: '¢',\n  pound: '£',\n  curren: '¤',\n  yen: '¥',\n  brvbar: '¦',\n  sect: '§',\n  uml: '¨',\n  copy: '©',\n  ordf: 'ª',\n  laquo: '«',\n  not: '¬',\n  shy: '­',\n  reg: '®',\n  macr: '¯',\n  deg: '°',\n  plusmn: '±',\n  sup2: '²',\n  sup3: '³',\n  acute: '´',\n  micro: 'µ',\n  para: '¶',\n  middot: '·',\n  cedil: '¸',\n  sup1: '¹',\n  ordm: 'º',\n  raquo: '»',\n  frac14: '¼',\n  frac12: '½',\n  frac34: '¾',\n  iquest: '¿',\n  Agrave: 'À',\n  Aacute: 'Á',\n  Acirc: 'Â',\n  Atilde: 'Ã',\n  Auml: 'Ä',\n  Aring: 'Å',\n  AElig: 'Æ',\n  Ccedil: 'Ç',\n  Egrave: 'È',\n  Eacute: 'É',\n  Ecirc: 'Ê',\n  Euml: 'Ë',\n  Igrave: 'Ì',\n  Iacute: 'Í',\n  Icirc: 'Î',\n  Iuml: 'Ï',\n  ETH: 'Ð',\n  Ntilde: 'Ñ',\n  Ograve: 'Ò',\n  Oacute: 'Ó',\n  Ocirc: 'Ô',\n  Otilde: 'Õ',\n  Ouml: 'Ö',\n  times: '×',\n  Oslash: 'Ø',\n  Ugrave: 'Ù',\n  Uacute: 'Ú',\n  Ucirc: 'Û',\n  Uuml: 'Ü',\n  Yacute: 'Ý',\n  THORN: 'Þ',\n  szlig: 'ß',\n  agrave: 'à',\n  aacute: 'á',\n  acirc: 'â',\n  atilde: 'ã',\n  auml: 'ä',\n  aring: 'å',\n  aelig: 'æ',\n  ccedil: 'ç',\n  egrave: 'è',\n  eacute: 'é',\n  ecirc: 'ê',\n  euml: 'ë',\n  igrave: 'ì',\n  iacute: 'í',\n  icirc: 'î',\n  iuml: 'ï',\n  eth: 'ð',\n  ntilde: 'ñ',\n  ograve: 'ò',\n  oacute: 'ó',\n  ocirc: 'ô',\n  otilde: 'õ',\n  ouml: 'ö',\n  divide: '÷',\n  oslash: 'ø',\n  ugrave: 'ù',\n  uacute: 'ú',\n  ucirc: 'û',\n  uuml: 'ü',\n  yacute: 'ý',\n  thorn: 'þ',\n  yuml: 'ÿ',\n  fnof: 'ƒ',\n  Alpha: 'Α',\n  Beta: 'Β',\n  Gamma: 'Γ',\n  Delta: 'Δ',\n  Epsilon: 'Ε',\n  Zeta: 'Ζ',\n  Eta: 'Η',\n  Theta: 'Θ',\n  Iota: 'Ι',\n  Kappa: 'Κ',\n  Lambda: 'Λ',\n  Mu: 'Μ',\n  Nu: 'Ν',\n  Xi: 'Ξ',\n  Omicron: 'Ο',\n  Pi: 'Π',\n  Rho: 'Ρ',\n  Sigma: 'Σ',\n  Tau: 'Τ',\n  Upsilon: 'Υ',\n  Phi: 'Φ',\n  Chi: 'Χ',\n  Psi: 'Ψ',\n  Omega: 'Ω',\n  alpha: 'α',\n  beta: 'β',\n  gamma: 'γ',\n  delta: 'δ',\n  epsilon: 'ε',\n  zeta: 'ζ',\n  eta: 'η',\n  theta: 'θ',\n  iota: 'ι',\n  kappa: 'κ',\n  lambda: 'λ',\n  mu: 'μ',\n  nu: 'ν',\n  xi: 'ξ',\n  omicron: 'ο',\n  pi: 'π',\n  rho: 'ρ',\n  sigmaf: 'ς',\n  sigma: 'σ',\n  tau: 'τ',\n  upsilon: 'υ',\n  phi: 'φ',\n  chi: 'χ',\n  psi: 'ψ',\n  omega: 'ω',\n  thetasym: 'ϑ',\n  upsih: 'ϒ',\n  piv: 'ϖ',\n  bull: '•',\n  hellip: '…',\n  prime: '′',\n  Prime: '″',\n  oline: '‾',\n  frasl: '⁄',\n  weierp: '℘',\n  image: 'ℑ',\n  real: 'ℜ',\n  trade: '™',\n  alefsym: 'ℵ',\n  larr: '←',\n  uarr: '↑',\n  rarr: '→',\n  darr: '↓',\n  harr: '↔',\n  crarr: '↵',\n  lArr: '⇐',\n  uArr: '⇑',\n  rArr: '⇒',\n  dArr: '⇓',\n  hArr: '⇔',\n  forall: '∀',\n  part: '∂',\n  exist: '∃',\n  empty: '∅',\n  nabla: '∇',\n  isin: '∈',\n  notin: '∉',\n  ni: '∋',\n  prod: '∏',\n  sum: '∑',\n  minus: '−',\n  lowast: '∗',\n  radic: '√',\n  prop: '∝',\n  infin: '∞',\n  ang: '∠',\n  and: '∧',\n  or: '∨',\n  cap: '∩',\n  cup: '∪',\n  int: '∫',\n  there4: '∴',\n  sim: '∼',\n  cong: '≅',\n  asymp: '≈',\n  ne: '≠',\n  equiv: '≡',\n  le: '≤',\n  ge: '≥',\n  sub: '⊂',\n  sup: '⊃',\n  nsub: '⊄',\n  sube: '⊆',\n  supe: '⊇',\n  oplus: '⊕',\n  otimes: '⊗',\n  perp: '⊥',\n  sdot: '⋅',\n  lceil: '⌈',\n  rceil: '⌉',\n  lfloor: '⌊',\n  rfloor: '⌋',\n  lang: '〈',\n  rang: '〉',\n  loz: '◊',\n  spades: '♠',\n  clubs: '♣',\n  hearts: '♥',\n  diams: '♦',\n  quot: '\"',\n  amp: '&',\n  lt: '<',\n  gt: '>',\n  OElig: 'Œ',\n  oelig: 'œ',\n  Scaron: 'Š',\n  scaron: 'š',\n  Yuml: 'Ÿ',\n  circ: 'ˆ',\n  tilde: '˜',\n  ensp: ' ',\n  emsp: ' ',\n  thinsp: ' ',\n  zwnj: '‌',\n  zwj: '‍',\n  lrm: '‎',\n  rlm: '‏',\n  ndash: '–',\n  mdash: '—',\n  lsquo: '‘',\n  rsquo: '’',\n  sbquo: '‚',\n  ldquo: '“',\n  rdquo: '”',\n  bdquo: '„',\n  dagger: '†',\n  Dagger: '‡',\n  permil: '‰',\n  lsaquo: '‹',\n  rsaquo: '›',\n  euro: '€'\n}\n","/**\n * List of legacy (that don’t need a trailing `;`) named references which could,\n * depending on what follows them, turn into a different meaning\n *\n * @type {Array<string>}\n */\nexport const dangerous = [\n  'cent',\n  'copy',\n  'divide',\n  'gt',\n  'lt',\n  'not',\n  'para',\n  'times'\n]\n","import {characterEntitiesLegacy} from 'character-entities-legacy'\nimport {characterEntitiesHtml4} from 'character-entities-html4'\nimport {dangerous} from '../constant/dangerous.js'\n\nconst own = {}.hasOwnProperty\n\n/**\n * `characterEntitiesHtml4` but inverted.\n *\n * @type {Record<string, string>}\n */\nconst characters = {}\n\n/** @type {string} */\nlet key\n\nfor (key in characterEntitiesHtml4) {\n  if (own.call(characterEntitiesHtml4, key)) {\n    characters[characterEntitiesHtml4[key]] = key\n  }\n}\n\nconst notAlphanumericRegex = /[^\\dA-Za-z]/\n\n/**\n * Configurable ways to encode characters as named references.\n *\n * @param {number} code\n * @param {number} next\n * @param {boolean|undefined} omit\n * @param {boolean|undefined} attribute\n * @returns {string}\n */\nexport function toNamed(code, next, omit, attribute) {\n  const character = String.fromCharCode(code)\n\n  if (own.call(characters, character)) {\n    const name = characters[character]\n    const value = '&' + name\n\n    if (\n      omit &&\n      characterEntitiesLegacy.includes(name) &&\n      !dangerous.includes(name) &&\n      (!attribute ||\n        (next &&\n          next !== 61 /* `=` */ &&\n          notAlphanumericRegex.test(String.fromCharCode(next))))\n    ) {\n      return value\n    }\n\n    return value + ';'\n  }\n\n  return ''\n}\n","/**\n * @typedef FormatSmartOptions\n * @property {boolean} [useNamedReferences=false]\n *   Prefer named character references (`&amp;`) where possible.\n * @property {boolean} [useShortestReferences=false]\n *   Prefer the shortest possible reference, if that results in less bytes.\n *   **Note**: `useNamedReferences` can be omitted when using `useShortestReferences`.\n * @property {boolean} [omitOptionalSemicolons=false]\n *   Whether to omit semicolons when possible.\n *   **Note**: This creates what HTML calls “parse errors” but is otherwise still valid HTML — don’t use this except when building a minifier.\n *   Omitting semicolons is possible for certain named and numeric references in some cases.\n * @property {boolean} [attribute=false]\n *   Create character references which don’t fail in attributes.\n *   **Note**: `attribute` only applies when operating dangerously with\n *   `omitOptionalSemicolons: true`.\n */\n\nimport {toHexadecimal} from './to-hexadecimal.js'\nimport {toDecimal} from './to-decimal.js'\nimport {toNamed} from './to-named.js'\n\n/**\n * Configurable ways to encode a character yielding pretty or small results.\n *\n * @param {number} code\n * @param {number} next\n * @param {FormatSmartOptions} options\n * @returns {string}\n */\nexport function formatSmart(code, next, options) {\n  let numeric = toHexadecimal(code, next, options.omitOptionalSemicolons)\n  /** @type {string|undefined} */\n  let named\n\n  if (options.useNamedReferences || options.useShortestReferences) {\n    named = toNamed(\n      code,\n      next,\n      options.omitOptionalSemicolons,\n      options.attribute\n    )\n  }\n\n  // Use the shortest numeric reference when requested.\n  // A simple algorithm would use decimal for all code points under 100, as\n  // those are shorter than hexadecimal:\n  //\n  // * `&#99;` vs `&#x63;` (decimal shorter)\n  // * `&#100;` vs `&#x64;` (equal)\n  //\n  // However, because we take `next` into consideration when `omit` is used,\n  // And it would be possible that decimals are shorter on bigger values as\n  // well if `next` is hexadecimal but not decimal, we instead compare both.\n  if (\n    (options.useShortestReferences || !named) &&\n    options.useShortestReferences\n  ) {\n    const decimal = toDecimal(code, next, options.omitOptionalSemicolons)\n\n    if (decimal.length < numeric.length) {\n      numeric = decimal\n    }\n  }\n\n  return named &&\n    (!options.useShortestReferences || named.length < numeric.length)\n    ? named\n    : numeric\n}\n","/**\n * @typedef {import('./core.js').CoreOptions & import('./util/format-smart.js').FormatSmartOptions} Options\n * @typedef {import('./core.js').CoreOptions} LightOptions\n */\n\nimport {core} from './core.js'\nimport {formatSmart} from './util/format-smart.js'\nimport {formatBasic} from './util/format-basic.js'\n\n/**\n * Encode special characters in `value`.\n *\n * @param {string} value\n *   Value to encode.\n * @param {Options} [options]\n *   Configuration.\n * @returns {string}\n *   Encoded value.\n */\nexport function stringifyEntities(value, options) {\n  return core(value, Object.assign({format: formatSmart}, options))\n}\n\n/**\n * Encode special characters in `value` as hexadecimals.\n *\n * @param {string} value\n *   Value to encode.\n * @param {LightOptions} [options]\n *   Configuration.\n * @returns {string}\n *   Encoded value.\n */\nexport function stringifyEntitiesLight(value, options) {\n  return core(value, Object.assign({format: formatBasic}, options))\n}\n","/**\n * @import {Comment, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\nconst htmlCommentRegex = /^>|^->|<!--|-->|--!>|<!-$/g\n\n// Declare arrays as variables so it can be cached by `stringifyEntities`\nconst bogusCommentEntitySubset = ['>']\nconst commentEntitySubset = ['<', '>']\n\n/**\n * Serialize a comment.\n *\n * @param {Comment} node\n *   Node to handle.\n * @param {number | undefined} _1\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _2\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function comment(node, _1, _2, state) {\n  // See: <https://html.spec.whatwg.org/multipage/syntax.html#comments>\n  return state.settings.bogusComments\n    ? '<?' +\n        stringifyEntities(\n          node.value,\n          Object.assign({}, state.settings.characterReferences, {\n            subset: bogusCommentEntitySubset\n          })\n        ) +\n        '>'\n    : '<!--' + node.value.replace(htmlCommentRegex, encode) + '-->'\n\n  /**\n   * @param {string} $0\n   */\n  function encode($0) {\n    return stringifyEntities(\n      $0,\n      Object.assign({}, state.settings.characterReferences, {\n        subset: commentEntitySubset\n      })\n    )\n  }\n}\n","/**\n * @import {Doctype, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a doctype.\n *\n * @param {Doctype} _1\n *   Node to handle.\n * @param {number | undefined} _2\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _3\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function doctype(_1, _2, _3, state) {\n  return (\n    '<!' +\n    (state.settings.upperDoctype ? 'DOCTYPE' : 'doctype') +\n    (state.settings.tightDoctype ? '' : ' ') +\n    'html>'\n  )\n}\n","/**\n * Count how often a character (or substring) is used in a string.\n *\n * @param {string} value\n *   Value to search in.\n * @param {string} character\n *   Character (or substring) to look for.\n * @return {number}\n *   Number of times `character` occurred in `value`.\n */\nexport function ccount(value, character) {\n  const source = String(value)\n\n  if (typeof character !== 'string') {\n    throw new TypeError('Expected character')\n  }\n\n  let count = 0\n  let index = source.indexOf(character)\n\n  while (index !== -1) {\n    count++\n    index = source.indexOf(character, index + character.length)\n  }\n\n  return count\n}\n","/**\n * @typedef Options\n *   Configuration for `stringify`.\n * @property {boolean} [padLeft=true]\n *   Whether to pad a space before a token.\n * @property {boolean} [padRight=false]\n *   Whether to pad a space after a token.\n */\n\n/**\n * @typedef {Options} StringifyOptions\n *   Please use `StringifyOptions` instead.\n */\n\n/**\n * Parse comma-separated tokens to an array.\n *\n * @param {string} value\n *   Comma-separated tokens.\n * @returns {Array<string>}\n *   List of tokens.\n */\nexport function parse(value) {\n  /** @type {Array<string>} */\n  const tokens = []\n  const input = String(value || '')\n  let index = input.indexOf(',')\n  let start = 0\n  /** @type {boolean} */\n  let end = false\n\n  while (!end) {\n    if (index === -1) {\n      index = input.length\n      end = true\n    }\n\n    const token = input.slice(start, index).trim()\n\n    if (token || !end) {\n      tokens.push(token)\n    }\n\n    start = index + 1\n    index = input.indexOf(',', start)\n  }\n\n  return tokens\n}\n\n/**\n * Serialize an array of strings or numbers to comma-separated tokens.\n *\n * @param {Array<string|number>} values\n *   List of tokens.\n * @param {Options} [options]\n *   Configuration for `stringify` (optional).\n * @returns {string}\n *   Comma-separated tokens.\n */\nexport function stringify(values, options) {\n  const settings = options || {}\n\n  // Ensure the last empty entry is seen.\n  const input = values[values.length - 1] === '' ? [...values, ''] : values\n\n  return input\n    .join(\n      (settings.padRight ? ' ' : '') +\n        ',' +\n        (settings.padLeft === false ? '' : ' ')\n    )\n    .trim()\n}\n","/**\n * Parse space-separated tokens to an array of strings.\n *\n * @param {string} value\n *   Space-separated tokens.\n * @returns {Array<string>}\n *   List of tokens.\n */\nexport function parse(value) {\n  const input = String(value || '').trim()\n  return input ? input.split(/[ \\t\\n\\r\\f]+/g) : []\n}\n\n/**\n * Serialize an array of strings as space separated-tokens.\n *\n * @param {Array<string|number>} values\n *   List of tokens.\n * @returns {string}\n *   Space-separated tokens.\n */\nexport function stringify(values) {\n  return values.join(' ').trim()\n}\n","/**\n * @typedef {import('hast').Nodes} Nodes\n */\n\n// HTML whitespace expression.\n// See <https://infra.spec.whatwg.org/#ascii-whitespace>.\nconst re = /[ \\t\\n\\f\\r]/g\n\n/**\n * Check if the given value is *inter-element whitespace*.\n *\n * @param {Nodes | string} thing\n *   Thing to check (`Node` or `string`).\n * @returns {boolean}\n *   Whether the `value` is inter-element whitespace (`boolean`): consisting of\n *   zero or more of space, tab (`\\t`), line feed (`\\n`), carriage return\n *   (`\\r`), or form feed (`\\f`); if a node is passed it must be a `Text` node,\n *   whose `value` field is checked.\n */\nexport function whitespace(thing) {\n  return typeof thing === 'object'\n    ? thing.type === 'text'\n      ? empty(thing.value)\n      : false\n    : empty(thing)\n}\n\n/**\n * @param {string} value\n * @returns {boolean}\n */\nfunction empty(value) {\n  return value.replace(re, '') === ''\n}\n","/**\n * @import {Parents, RootContent} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\n\nexport const siblingAfter = siblings(1)\nexport const siblingBefore = siblings(-1)\n\n/** @type {Array<RootContent>} */\nconst emptyChildren = []\n\n/**\n * Factory to check siblings in a direction.\n *\n * @param {number} increment\n */\nfunction siblings(increment) {\n  return sibling\n\n  /**\n   * Find applicable siblings in a direction.\n   *\n   * @template {Parents} Parent\n   *   Parent type.\n   * @param {Parent | undefined} parent\n   *   Parent.\n   * @param {number | undefined} index\n   *   Index of child in `parent`.\n   * @param {boolean | undefined} [includeWhitespace=false]\n   *   Whether to include whitespace (default: `false`).\n   * @returns {Parent extends {children: Array<infer Child>} ? Child | undefined : never}\n   *   Child of parent.\n   */\n  function sibling(parent, index, includeWhitespace) {\n    const siblings = parent ? parent.children : emptyChildren\n    let offset = (index || 0) + increment\n    let next = siblings[offset]\n\n    if (!includeWhitespace) {\n      while (next && whitespace(next)) {\n        offset += increment\n        next = siblings[offset]\n      }\n    }\n\n    // @ts-expect-error: it’s a correct child.\n    return next\n  }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\n/**\n * @callback OmitHandle\n *   Check if a tag can be omitted.\n * @param {Element} element\n *   Element to check.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether to omit a tag.\n *\n */\n\nconst own = {}.hasOwnProperty\n\n/**\n * Factory to check if a given node can have a tag omitted.\n *\n * @param {Record<string, OmitHandle>} handlers\n *   Omission handlers, where each key is a tag name, and each value is the\n *   corresponding handler.\n * @returns {OmitHandle}\n *   Whether to omit a tag of an element.\n */\nexport function omission(handlers) {\n  return omit\n\n  /**\n   * Check if a given node can have a tag omitted.\n   *\n   * @type {OmitHandle}\n   */\n  function omit(node, index, parent) {\n    return (\n      own.call(handlers, node.tagName) &&\n      handlers[node.tagName](node, index, parent)\n    )\n  }\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter} from './util/siblings.js'\nimport {omission} from './omission.js'\n\nexport const closing = omission({\n  body,\n  caption: headOrColgroupOrCaption,\n  colgroup: headOrColgroupOrCaption,\n  dd,\n  dt,\n  head: headOrColgroupOrCaption,\n  html,\n  li,\n  optgroup,\n  option,\n  p,\n  rp: rubyElement,\n  rt: rubyElement,\n  tbody,\n  td: cells,\n  tfoot,\n  th: cells,\n  thead,\n  tr\n})\n\n/**\n * Macro for `</head>`, `</colgroup>`, and `</caption>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction headOrColgroupOrCaption(_, index, parent) {\n  const next = siblingAfter(parent, index, true)\n  return (\n    !next ||\n    (next.type !== 'comment' &&\n      !(next.type === 'text' && whitespace(next.value.charAt(0))))\n  )\n}\n\n/**\n * Whether to omit `</html>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction html(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</body>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction body(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || next.type !== 'comment'\n}\n\n/**\n * Whether to omit `</p>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction p(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return next\n    ? next.type === 'element' &&\n        (next.tagName === 'address' ||\n          next.tagName === 'article' ||\n          next.tagName === 'aside' ||\n          next.tagName === 'blockquote' ||\n          next.tagName === 'details' ||\n          next.tagName === 'div' ||\n          next.tagName === 'dl' ||\n          next.tagName === 'fieldset' ||\n          next.tagName === 'figcaption' ||\n          next.tagName === 'figure' ||\n          next.tagName === 'footer' ||\n          next.tagName === 'form' ||\n          next.tagName === 'h1' ||\n          next.tagName === 'h2' ||\n          next.tagName === 'h3' ||\n          next.tagName === 'h4' ||\n          next.tagName === 'h5' ||\n          next.tagName === 'h6' ||\n          next.tagName === 'header' ||\n          next.tagName === 'hgroup' ||\n          next.tagName === 'hr' ||\n          next.tagName === 'main' ||\n          next.tagName === 'menu' ||\n          next.tagName === 'nav' ||\n          next.tagName === 'ol' ||\n          next.tagName === 'p' ||\n          next.tagName === 'pre' ||\n          next.tagName === 'section' ||\n          next.tagName === 'table' ||\n          next.tagName === 'ul')\n    : !parent ||\n        // Confusing parent.\n        !(\n          parent.type === 'element' &&\n          (parent.tagName === 'a' ||\n            parent.tagName === 'audio' ||\n            parent.tagName === 'del' ||\n            parent.tagName === 'ins' ||\n            parent.tagName === 'map' ||\n            parent.tagName === 'noscript' ||\n            parent.tagName === 'video')\n        )\n}\n\n/**\n * Whether to omit `</li>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction li(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'li')\n}\n\n/**\n * Whether to omit `</dt>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction dt(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return Boolean(\n    next &&\n      next.type === 'element' &&\n      (next.tagName === 'dt' || next.tagName === 'dd')\n  )\n}\n\n/**\n * Whether to omit `</dd>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction dd(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'dt' || next.tagName === 'dd'))\n  )\n}\n\n/**\n * Whether to omit `</rt>` or `</rp>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction rubyElement(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'rp' || next.tagName === 'rt'))\n  )\n}\n\n/**\n * Whether to omit `</optgroup>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction optgroup(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'optgroup')\n}\n\n/**\n * Whether to omit `</option>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction option(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'option' || next.tagName === 'optgroup'))\n  )\n}\n\n/**\n * Whether to omit `</thead>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction thead(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return Boolean(\n    next &&\n      next.type === 'element' &&\n      (next.tagName === 'tbody' || next.tagName === 'tfoot')\n  )\n}\n\n/**\n * Whether to omit `</tbody>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tbody(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'tbody' || next.tagName === 'tfoot'))\n  )\n}\n\n/**\n * Whether to omit `</tfoot>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tfoot(_, index, parent) {\n  return !siblingAfter(parent, index)\n}\n\n/**\n * Whether to omit `</tr>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction tr(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return !next || (next.type === 'element' && next.tagName === 'tr')\n}\n\n/**\n * Whether to omit `</td>` or `</th>`.\n *\n * @param {Element} _\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the closing tag can be omitted.\n */\nfunction cells(_, index, parent) {\n  const next = siblingAfter(parent, index)\n  return (\n    !next ||\n    (next.type === 'element' &&\n      (next.tagName === 'td' || next.tagName === 'th'))\n  )\n}\n","/**\n * @import {Element, Parents} from 'hast'\n */\n\nimport {whitespace} from 'hast-util-whitespace'\nimport {siblingAfter, siblingBefore} from './util/siblings.js'\nimport {closing} from './closing.js'\nimport {omission} from './omission.js'\n\nexport const opening = omission({\n  body,\n  colgroup,\n  head,\n  html,\n  tbody\n})\n\n/**\n * Whether to omit `<html>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction html(node) {\n  const head = siblingAfter(node, -1)\n  return !head || head.type !== 'comment'\n}\n\n/**\n * Whether to omit `<head>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction head(node) {\n  /** @type {Set<string>} */\n  const seen = new Set()\n\n  // Whether `srcdoc` or not,\n  // make sure the content model at least doesn’t have too many `base`s/`title`s.\n  for (const child of node.children) {\n    if (\n      child.type === 'element' &&\n      (child.tagName === 'base' || child.tagName === 'title')\n    ) {\n      if (seen.has(child.tagName)) return false\n      seen.add(child.tagName)\n    }\n  }\n\n  // “May be omitted if the element is empty,\n  // or if the first thing inside the head element is an element.”\n  const child = node.children[0]\n  return !child || child.type === 'element'\n}\n\n/**\n * Whether to omit `<body>`.\n *\n * @param {Element} node\n *   Element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction body(node) {\n  const head = siblingAfter(node, -1, true)\n\n  return (\n    !head ||\n    (head.type !== 'comment' &&\n      !(head.type === 'text' && whitespace(head.value.charAt(0))) &&\n      !(\n        head.type === 'element' &&\n        (head.tagName === 'meta' ||\n          head.tagName === 'link' ||\n          head.tagName === 'script' ||\n          head.tagName === 'style' ||\n          head.tagName === 'template')\n      ))\n  )\n}\n\n/**\n * Whether to omit `<colgroup>`.\n * The spec describes some logic for the opening tag, but it’s easier to\n * implement in the closing tag, to the same effect, so we handle it there\n * instead.\n *\n * @param {Element} node\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction colgroup(node, index, parent) {\n  const previous = siblingBefore(parent, index)\n  const head = siblingAfter(node, -1, true)\n\n  // Previous colgroup was already omitted.\n  if (\n    parent &&\n    previous &&\n    previous.type === 'element' &&\n    previous.tagName === 'colgroup' &&\n    closing(previous, parent.children.indexOf(previous), parent)\n  ) {\n    return false\n  }\n\n  return Boolean(head && head.type === 'element' && head.tagName === 'col')\n}\n\n/**\n * Whether to omit `<tbody>`.\n *\n * @param {Element} node\n *   Element.\n * @param {number | undefined} index\n *   Index of element in parent.\n * @param {Parents | undefined} parent\n *   Parent of element.\n * @returns {boolean}\n *   Whether the opening tag can be omitted.\n */\nfunction tbody(node, index, parent) {\n  const previous = siblingBefore(parent, index)\n  const head = siblingAfter(node, -1)\n\n  // Previous table section was already omitted.\n  if (\n    parent &&\n    previous &&\n    previous.type === 'element' &&\n    (previous.tagName === 'thead' || previous.tagName === 'tbody') &&\n    closing(previous, parent.children.indexOf(previous), parent)\n  ) {\n    return false\n  }\n\n  return Boolean(head && head.type === 'element' && head.tagName === 'tr')\n}\n","/**\n * @import {Element, Parents, Properties} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {ccount} from 'ccount'\nimport {stringify as commas} from 'comma-separated-tokens'\nimport {find, svg} from 'property-information'\nimport {stringify as spaces} from 'space-separated-tokens'\nimport {stringifyEntities} from 'stringify-entities'\nimport {closing} from '../omission/closing.js'\nimport {opening} from '../omission/opening.js'\n\n/**\n * Maps of subsets.\n *\n * Each value is a matrix of tuples.\n * The value at `0` causes parse errors, the value at `1` is valid.\n * Of both, the value at `0` is unsafe, and the value at `1` is safe.\n *\n * @type {Record<'double' | 'name' | 'single' | 'unquoted', Array<[Array<string>, Array<string>]>>}\n */\nconst constants = {\n  // See: <https://html.spec.whatwg.org/#attribute-name-state>.\n  name: [\n    ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n    ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(unquoted)-state>.\n  unquoted: [\n    ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n    ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(single-quoted)-state>.\n  single: [\n    [\"&'\".split(''), '\"&\\'`'.split('')],\n    [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n  ],\n  // See: <https://html.spec.whatwg.org/#attribute-value-(double-quoted)-state>.\n  double: [\n    ['\"&'.split(''), '\"&\\'`'.split('')],\n    ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n  ]\n}\n\n/**\n * Serialize an element node.\n *\n * @param {Element} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function element(node, index, parent, state) {\n  const schema = state.schema\n  const omit = schema.space === 'svg' ? false : state.settings.omitOptionalTags\n  let selfClosing =\n    schema.space === 'svg'\n      ? state.settings.closeEmptyElements\n      : state.settings.voids.includes(node.tagName.toLowerCase())\n  /** @type {Array<string>} */\n  const parts = []\n  /** @type {string} */\n  let last\n\n  if (schema.space === 'html' && node.tagName === 'svg') {\n    state.schema = svg\n  }\n\n  const attributes = serializeAttributes(state, node.properties)\n\n  const content = state.all(\n    schema.space === 'html' && node.tagName === 'template' ? node.content : node\n  )\n\n  state.schema = schema\n\n  // If the node is categorised as void, but it has children, remove the\n  // categorisation.\n  // This enables for example `menuitem`s, which are void in W3C HTML but not\n  // void in WHATWG HTML, to be stringified properly.\n  // Note: `menuitem` has since been removed from the HTML spec, and so is no\n  // longer void.\n  if (content) selfClosing = false\n\n  if (attributes || !omit || !opening(node, index, parent)) {\n    parts.push('<', node.tagName, attributes ? ' ' + attributes : '')\n\n    if (\n      selfClosing &&\n      (schema.space === 'svg' || state.settings.closeSelfClosing)\n    ) {\n      last = attributes.charAt(attributes.length - 1)\n      if (\n        !state.settings.tightSelfClosing ||\n        last === '/' ||\n        (last && last !== '\"' && last !== \"'\")\n      ) {\n        parts.push(' ')\n      }\n\n      parts.push('/')\n    }\n\n    parts.push('>')\n  }\n\n  parts.push(content)\n\n  if (!selfClosing && (!omit || !closing(node, index, parent))) {\n    parts.push('</' + node.tagName + '>')\n  }\n\n  return parts.join('')\n}\n\n/**\n * @param {State} state\n * @param {Properties | null | undefined} properties\n * @returns {string}\n */\nfunction serializeAttributes(state, properties) {\n  /** @type {Array<string>} */\n  const values = []\n  let index = -1\n  /** @type {string} */\n  let key\n\n  if (properties) {\n    for (key in properties) {\n      if (properties[key] !== null && properties[key] !== undefined) {\n        const value = serializeAttribute(state, key, properties[key])\n        if (value) values.push(value)\n      }\n    }\n  }\n\n  while (++index < values.length) {\n    const last = state.settings.tightAttributes\n      ? values[index].charAt(values[index].length - 1)\n      : undefined\n\n    // In tight mode, don’t add a space after quoted attributes.\n    if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n      values[index] += ' '\n    }\n  }\n\n  return values.join('')\n}\n\n/**\n * @param {State} state\n * @param {string} key\n * @param {Properties[keyof Properties]} value\n * @returns {string}\n */\nfunction serializeAttribute(state, key, value) {\n  const info = find(state.schema, key)\n  const x =\n    state.settings.allowParseErrors && state.schema.space === 'html' ? 0 : 1\n  const y = state.settings.allowDangerousCharacters ? 0 : 1\n  let quote = state.quote\n  /** @type {string | undefined} */\n  let result\n\n  if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n    value = true\n  } else if (\n    (info.boolean || info.overloadedBoolean) &&\n    (typeof value !== 'string' || value === info.attribute || value === '')\n  ) {\n    value = Boolean(value)\n  }\n\n  if (\n    value === null ||\n    value === undefined ||\n    value === false ||\n    (typeof value === 'number' && Number.isNaN(value))\n  ) {\n    return ''\n  }\n\n  const name = stringifyEntities(\n    info.attribute,\n    Object.assign({}, state.settings.characterReferences, {\n      // Always encode without parse errors in non-HTML.\n      subset: constants.name[x][y]\n    })\n  )\n\n  // No value.\n  // There is currently only one boolean property in SVG: `[download]` on\n  // `<a>`.\n  // This property does not seem to work in browsers (Firefox, Safari, Chrome),\n  // so I can’t test if dropping the value works.\n  // But I assume that it should:\n  //\n  // ```html\n  // <!doctype html>\n  // <svg viewBox=\"0 0 100 100\">\n  //   <a href=https://example.com download>\n  //     <circle cx=50 cy=40 r=35 />\n  //   </a>\n  // </svg>\n  // ```\n  //\n  // See: <https://github.com/wooorm/property-information/blob/main/lib/svg.js>\n  if (value === true) return name\n\n  // `spaces` doesn’t accept a second argument, but it’s given here just to\n  // keep the code cleaner.\n  value = Array.isArray(value)\n    ? (info.commaSeparated ? commas : spaces)(value, {\n        padLeft: !state.settings.tightCommaSeparatedLists\n      })\n    : String(value)\n\n  if (state.settings.collapseEmptyAttributes && !value) return name\n\n  // Check unquoted value.\n  if (state.settings.preferUnquoted) {\n    result = stringifyEntities(\n      value,\n      Object.assign({}, state.settings.characterReferences, {\n        attribute: true,\n        subset: constants.unquoted[x][y]\n      })\n    )\n  }\n\n  // If we don’t want unquoted, or if `value` contains character references when\n  // unquoted…\n  if (result !== value) {\n    // If the alternative is less common than `quote`, switch.\n    if (\n      state.settings.quoteSmart &&\n      ccount(value, quote) > ccount(value, state.alternative)\n    ) {\n      quote = state.alternative\n    }\n\n    result =\n      quote +\n      stringifyEntities(\n        value,\n        Object.assign({}, state.settings.characterReferences, {\n          // Always encode without parse errors in non-HTML.\n          subset: (quote === \"'\" ? constants.single : constants.double)[x][y],\n          attribute: true\n        })\n      ) +\n      quote\n  }\n\n  // Don’t add a `=` for unquoted empties.\n  return name + (result ? '=' + result : result)\n}\n","/**\n * @import {Parents, Text} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {stringifyEntities} from 'stringify-entities'\n\n// Declare array as variable so it can be cached by `stringifyEntities`\nconst textEntitySubset = ['<', '&']\n\n/**\n * Serialize a text node.\n *\n * @param {Raw | Text} node\n *   Node to handle.\n * @param {number | undefined} _\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function text(node, _, parent, state) {\n  // Check if content of `node` should be escaped.\n  return parent &&\n    parent.type === 'element' &&\n    (parent.tagName === 'script' || parent.tagName === 'style')\n    ? node.value\n    : stringifyEntities(\n        node.value,\n        Object.assign({}, state.settings.characterReferences, {\n          subset: textEntitySubset\n        })\n      )\n}\n","/**\n * @import {Parents} from 'hast'\n * @import {Raw} from 'mdast-util-to-hast'\n * @import {State} from '../index.js'\n */\n\nimport {text} from './text.js'\n\n/**\n * Serialize a raw node.\n *\n * @param {Raw} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function raw(node, index, parent, state) {\n  return state.settings.allowDangerousHtml\n    ? node.value\n    : text(node, index, parent, state)\n}\n","/**\n * @import {Parents, Root} from 'hast'\n * @import {State} from '../index.js'\n */\n\n/**\n * Serialize a root.\n *\n * @param {Root} node\n *   Node to handle.\n * @param {number | undefined} _1\n *   Index of `node` in `parent.\n * @param {Parents | undefined} _2\n *   Parent of `node`.\n * @param {State} state\n *   Info passed around about the current state.\n * @returns {string}\n *   Serialized node.\n */\nexport function root(node, _1, _2, state) {\n  return state.all(node)\n}\n","/**\n * @import {Nodes, Parents} from 'hast'\n * @import {State} from '../index.js'\n */\n\nimport {zwitch} from 'zwitch'\nimport {comment} from './comment.js'\nimport {doctype} from './doctype.js'\nimport {element} from './element.js'\nimport {raw} from './raw.js'\nimport {root} from './root.js'\nimport {text} from './text.js'\n\n/**\n * @type {(node: Nodes, index: number | undefined, parent: Parents | undefined, state: State) => string}\n */\nexport const handle = zwitch('type', {\n  invalid,\n  unknown,\n  handlers: {comment, doctype, element, raw, root, text}\n})\n\n/**\n * Fail when a non-node is found in the tree.\n *\n * @param {unknown} node\n *   Unknown value.\n * @returns {never}\n *   Never.\n */\nfunction invalid(node) {\n  throw new Error('Expected node, not `' + node + '`')\n}\n\n/**\n * Fail when a node with an unknown type is found in the tree.\n *\n * @param {unknown} node_\n *  Unknown node.\n * @returns {never}\n *   Never.\n */\nfunction unknown(node_) {\n  // `type` is guaranteed by runtime JS.\n  const node = /** @type {Nodes} */ (node_)\n  throw new Error('Cannot compile unknown node `' + node.type + '`')\n}\n","/**\n * @import {Nodes, Parents, RootContent} from 'hast'\n * @import {Schema} from 'property-information'\n * @import {Options as StringifyEntitiesOptions} from 'stringify-entities'\n */\n\n/**\n * @typedef {Omit<StringifyEntitiesOptions, 'attribute' | 'escapeOnly' | 'subset'>} CharacterReferences\n *\n * @typedef Options\n *   Configuration.\n * @property {boolean | null | undefined} [allowDangerousCharacters=false]\n *   Do not encode some characters which cause XSS vulnerabilities in older\n *   browsers (default: `false`).\n *\n *   > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowDangerousHtml=false]\n *   Allow `raw` nodes and insert them as raw HTML (default: `false`).\n *\n *   When `false`, `Raw` nodes are encoded.\n *\n *   > ⚠️ **Danger**: only set this if you completely trust the content.\n * @property {boolean | null | undefined} [allowParseErrors=false]\n *   Do not encode characters which cause parse errors (even though they work),\n *   to save bytes (default: `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [bogusComments=false]\n *   Use “bogus comments” instead of comments to save byes: `<?charlie>`\n *   instead of `<!--charlie-->` (default: `false`).\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {CharacterReferences | null | undefined} [characterReferences]\n *   Configure how to serialize character references (optional).\n * @property {boolean | null | undefined} [closeEmptyElements=false]\n *   Close SVG elements without any content with slash (`/`) on the opening tag\n *   instead of an end tag: `<circle />` instead of `<circle></circle>`\n *   (default: `false`).\n *\n *   See `tightSelfClosing` to control whether a space is used before the\n *   slash.\n *\n *   Not used in the HTML space.\n * @property {boolean | null | undefined} [closeSelfClosing=false]\n *   Close self-closing nodes with an extra slash (`/`): `<img />` instead of\n *   `<img>` (default: `false`).\n *\n *   See `tightSelfClosing` to control whether a space is used before the\n *   slash.\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [collapseEmptyAttributes=false]\n *   Collapse empty attributes: get `class` instead of `class=\"\"` (default:\n *   `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: boolean attributes (such as `hidden`) are always collapsed.\n * @property {boolean | null | undefined} [omitOptionalTags=false]\n *   Omit optional opening and closing tags (default: `false`).\n *\n *   For example, in `<ol><li>one</li><li>two</li></ol>`, both `</li>` closing\n *   tags can be omitted.\n *   The first because it’s followed by another `li`, the last because it’s\n *   followed by nothing.\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [preferUnquoted=false]\n *   Leave attributes unquoted if that results in less bytes (default: `false`).\n *\n *   Not used in the SVG space.\n * @property {boolean | null | undefined} [quoteSmart=false]\n *   Use the other quote if that results in less bytes (default: `false`).\n * @property {Quote | null | undefined} [quote='\"']\n *   Preferred quote to use (default: `'\"'`).\n * @property {Space | null | undefined} [space='html']\n *   When an `<svg>` element is found in the HTML space, this package already\n *   automatically switches to and from the SVG space when entering and exiting\n *   it (default: `'html'`).\n *\n *   > 👉 **Note**: hast is not XML.\n *   > It supports SVG as embedded in HTML.\n *   > It does not support the features available in XML.\n *   > Passing SVG might break but fragments of modern SVG should be fine.\n *   > Use [`xast`][xast] if you need to support SVG as XML.\n * @property {boolean | null | undefined} [tightAttributes=false]\n *   Join attributes together, without whitespace, if possible: get\n *   `class=\"a b\"title=\"c d\"` instead of `class=\"a b\" title=\"c d\"` to save\n *   bytes (default: `false`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightCommaSeparatedLists=false]\n *   Join known comma-separated attribute values with just a comma (`,`),\n *   instead of padding them on the right as well (`,␠`, where `␠` represents a\n *   space) (default: `false`).\n * @property {boolean | null | undefined} [tightDoctype=false]\n *   Drop unneeded spaces in doctypes: `<!doctypehtml>` instead of\n *   `<!doctype html>` to save bytes (default: `false`).\n *\n *   > 👉 **Note**: intentionally creates parse errors in markup (how parse\n *   > errors are handled is well defined, so this works but isn’t pretty).\n * @property {boolean | null | undefined} [tightSelfClosing=false]\n *   Do not use an extra space when closing self-closing elements: `<img/>`\n *   instead of `<img />` (default: `false`).\n *\n *   > 👉 **Note**: only used if `closeSelfClosing: true` or\n *   > `closeEmptyElements: true`.\n * @property {boolean | null | undefined} [upperDoctype=false]\n *   Use a `<!DOCTYPE…` instead of `<!doctype…` (default: `false`).\n *\n *   Useless except for XHTML.\n * @property {ReadonlyArray<string> | null | undefined} [voids]\n *   Tag names of elements to serialize without closing tag (default: `html-void-elements`).\n *\n *   Not used in the SVG space.\n *\n *   > 👉 **Note**: It’s highly unlikely that you want to pass this, because\n *   > hast is not for XML, and HTML will not add more void elements.\n *\n * @typedef {'\"' | \"'\"} Quote\n *   HTML quotes for attribute values.\n *\n * @typedef {Omit<Required<{[key in keyof Options]: Exclude<Options[key], null | undefined>}>, 'space' | 'quote'>} Settings\n *\n * @typedef {'html' | 'svg'} Space\n *   Namespace.\n *\n * @typedef State\n *   Info passed around about the current state.\n * @property {(node: Parents | undefined) => string} all\n *   Serialize the children of a parent node.\n * @property {Quote} alternative\n *   Alternative quote.\n * @property {(node: Nodes, index: number | undefined, parent: Parents | undefined) => string} one\n *   Serialize one node.\n * @property {Quote} quote\n *   Preferred quote.\n * @property {Schema} schema\n *   Current schema.\n * @property {Settings} settings\n *   User configuration.\n */\n\nimport {htmlVoidElements} from 'html-void-elements'\nimport {html, svg} from 'property-information'\nimport {handle} from './handle/index.js'\n\n/** @type {Options} */\nconst emptyOptions = {}\n\n/** @type {CharacterReferences} */\nconst emptyCharacterReferences = {}\n\n/** @type {Array<never>} */\nconst emptyChildren = []\n\n/**\n * Serialize hast as HTML.\n *\n * @param {Array<RootContent> | Nodes} tree\n *   Tree to serialize.\n * @param {Options | null | undefined} [options]\n *   Configuration (optional).\n * @returns {string}\n *   Serialized HTML.\n */\nexport function toHtml(tree, options) {\n  const options_ = options || emptyOptions\n  const quote = options_.quote || '\"'\n  const alternative = quote === '\"' ? \"'\" : '\"'\n\n  if (quote !== '\"' && quote !== \"'\") {\n    throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n  }\n\n  /** @type {State} */\n  const state = {\n    one,\n    all,\n    settings: {\n      omitOptionalTags: options_.omitOptionalTags || false,\n      allowParseErrors: options_.allowParseErrors || false,\n      allowDangerousCharacters: options_.allowDangerousCharacters || false,\n      quoteSmart: options_.quoteSmart || false,\n      preferUnquoted: options_.preferUnquoted || false,\n      tightAttributes: options_.tightAttributes || false,\n      upperDoctype: options_.upperDoctype || false,\n      tightDoctype: options_.tightDoctype || false,\n      bogusComments: options_.bogusComments || false,\n      tightCommaSeparatedLists: options_.tightCommaSeparatedLists || false,\n      tightSelfClosing: options_.tightSelfClosing || false,\n      collapseEmptyAttributes: options_.collapseEmptyAttributes || false,\n      allowDangerousHtml: options_.allowDangerousHtml || false,\n      voids: options_.voids || htmlVoidElements,\n      characterReferences:\n        options_.characterReferences || emptyCharacterReferences,\n      closeSelfClosing: options_.closeSelfClosing || false,\n      closeEmptyElements: options_.closeEmptyElements || false\n    },\n    schema: options_.space === 'svg' ? svg : html,\n    quote,\n    alternative\n  }\n\n  return state.one(\n    Array.isArray(tree) ? {type: 'root', children: tree} : tree,\n    undefined,\n    undefined\n  )\n}\n\n/**\n * Serialize a node.\n *\n * @this {State}\n *   Info passed around about the current state.\n * @param {Nodes} node\n *   Node to handle.\n * @param {number | undefined} index\n *   Index of `node` in `parent.\n * @param {Parents | undefined} parent\n *   Parent of `node`.\n * @returns {string}\n *   Serialized node.\n */\nfunction one(node, index, parent) {\n  return handle(node, index, parent, this)\n}\n\n/**\n * Serialize all children of `parent`.\n *\n * @this {State}\n *   Info passed around about the current state.\n * @param {Parents | undefined} parent\n *   Parent whose children to serialize.\n * @returns {string}\n */\nexport function all(parent) {\n  /** @type {Array<string>} */\n  const results = []\n  const children = (parent && parent.children) || emptyChildren\n  let index = -1\n\n  while (++index < children.length) {\n    results[index] = this.one(children[index], index, parent)\n  }\n\n  return results.join('')\n}\n","import { ShikiError as ShikiError$1 } from '@shikijs/types';\nexport * from '@shikijs/types';\nimport { FontStyle, INITIAL, EncodedTokenMetadata, Registry as Registry$1, Theme } from '@shikijs/vscode-textmate';\nimport { toHtml } from 'hast-util-to-html';\n\nfunction resolveColorReplacements(theme, options) {\n  const replacements = typeof theme === \"string\" ? {} : { ...theme.colorReplacements };\n  const themeName = typeof theme === \"string\" ? theme : theme.name;\n  for (const [key, value] of Object.entries(options?.colorReplacements || {})) {\n    if (typeof value === \"string\")\n      replacements[key] = value;\n    else if (key === themeName)\n      Object.assign(replacements, value);\n  }\n  return replacements;\n}\nfunction applyColorReplacements(color, replacements) {\n  if (!color)\n    return color;\n  return replacements?.[color?.toLowerCase()] || color;\n}\n\nfunction toArray(x) {\n  return Array.isArray(x) ? x : [x];\n}\nasync function normalizeGetter(p) {\n  return Promise.resolve(typeof p === \"function\" ? p() : p).then((r) => r.default || r);\n}\nfunction isPlainLang(lang) {\n  return !lang || [\"plaintext\", \"txt\", \"text\", \"plain\"].includes(lang);\n}\nfunction isSpecialLang(lang) {\n  return lang === \"ansi\" || isPlainLang(lang);\n}\nfunction isNoneTheme(theme) {\n  return theme === \"none\";\n}\nfunction isSpecialTheme(theme) {\n  return isNoneTheme(theme);\n}\n\nfunction addClassToHast(node, className) {\n  if (!className)\n    return node;\n  node.properties ||= {};\n  node.properties.class ||= [];\n  if (typeof node.properties.class === \"string\")\n    node.properties.class = node.properties.class.split(/\\s+/g);\n  if (!Array.isArray(node.properties.class))\n    node.properties.class = [];\n  const targets = Array.isArray(className) ? className : className.split(/\\s+/g);\n  for (const c of targets) {\n    if (c && !node.properties.class.includes(c))\n      node.properties.class.push(c);\n  }\n  return node;\n}\n\nfunction splitLines(code, preserveEnding = false) {\n  const parts = code.split(/(\\r?\\n)/g);\n  let index = 0;\n  const lines = [];\n  for (let i = 0; i < parts.length; i += 2) {\n    const line = preserveEnding ? parts[i] + (parts[i + 1] || \"\") : parts[i];\n    lines.push([line, index]);\n    index += parts[i].length;\n    index += parts[i + 1]?.length || 0;\n  }\n  return lines;\n}\nfunction createPositionConverter(code) {\n  const lines = splitLines(code, true).map(([line]) => line);\n  function indexToPos(index) {\n    if (index === code.length) {\n      return {\n        line: lines.length - 1,\n        character: lines[lines.length - 1].length\n      };\n    }\n    let character = index;\n    let line = 0;\n    for (const lineText of lines) {\n      if (character < lineText.length)\n        break;\n      character -= lineText.length;\n      line++;\n    }\n    return { line, character };\n  }\n  function posToIndex(line, character) {\n    let index = 0;\n    for (let i = 0; i < line; i++)\n      index += lines[i].length;\n    index += character;\n    return index;\n  }\n  return {\n    lines,\n    indexToPos,\n    posToIndex\n  };\n}\nfunction guessEmbeddedLanguages(code, _lang, highlighter) {\n  const langs = /* @__PURE__ */ new Set();\n  for (const match of code.matchAll(/lang=[\"']([\\w-]+)[\"']/g)) {\n    langs.add(match[1]);\n  }\n  for (const match of code.matchAll(/(?:```|~~~)([\\w-]+)/g)) {\n    langs.add(match[1]);\n  }\n  for (const match of code.matchAll(/\\\\begin\\{([\\w-]+)\\}/g)) {\n    langs.add(match[1]);\n  }\n  if (!highlighter)\n    return Array.from(langs);\n  const bundle = highlighter.getBundledLanguages();\n  return Array.from(langs).filter((l) => l && bundle[l]);\n}\n\nconst DEFAULT_COLOR_LIGHT_DARK = \"light-dark()\";\nconst COLOR_KEYS = [\"color\", \"background-color\"];\n\nfunction splitToken(token, offsets) {\n  let lastOffset = 0;\n  const tokens = [];\n  for (const offset of offsets) {\n    if (offset > lastOffset) {\n      tokens.push({\n        ...token,\n        content: token.content.slice(lastOffset, offset),\n        offset: token.offset + lastOffset\n      });\n    }\n    lastOffset = offset;\n  }\n  if (lastOffset < token.content.length) {\n    tokens.push({\n      ...token,\n      content: token.content.slice(lastOffset),\n      offset: token.offset + lastOffset\n    });\n  }\n  return tokens;\n}\nfunction splitTokens(tokens, breakpoints) {\n  const sorted = Array.from(breakpoints instanceof Set ? breakpoints : new Set(breakpoints)).sort((a, b) => a - b);\n  if (!sorted.length)\n    return tokens;\n  return tokens.map((line) => {\n    return line.flatMap((token) => {\n      const breakpointsInToken = sorted.filter((i) => token.offset < i && i < token.offset + token.content.length).map((i) => i - token.offset).sort((a, b) => a - b);\n      if (!breakpointsInToken.length)\n        return token;\n      return splitToken(token, breakpointsInToken);\n    });\n  });\n}\nfunction flatTokenVariants(merged, variantsOrder, cssVariablePrefix, defaultColor, colorsRendering = \"css-vars\") {\n  const token = {\n    content: merged.content,\n    explanation: merged.explanation,\n    offset: merged.offset\n  };\n  const styles = variantsOrder.map((t) => getTokenStyleObject(merged.variants[t]));\n  const styleKeys = new Set(styles.flatMap((t) => Object.keys(t)));\n  const mergedStyles = {};\n  const varKey = (idx, key) => {\n    const keyName = key === \"color\" ? \"\" : key === \"background-color\" ? \"-bg\" : `-${key}`;\n    return cssVariablePrefix + variantsOrder[idx] + (key === \"color\" ? \"\" : keyName);\n  };\n  styles.forEach((cur, idx) => {\n    for (const key of styleKeys) {\n      const value = cur[key] || \"inherit\";\n      if (idx === 0 && defaultColor && COLOR_KEYS.includes(key)) {\n        if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && styles.length > 1) {\n          const lightIndex = variantsOrder.findIndex((t) => t === \"light\");\n          const darkIndex = variantsOrder.findIndex((t) => t === \"dark\");\n          if (lightIndex === -1 || darkIndex === -1)\n            throw new ShikiError$1('When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes');\n          const lightValue = styles[lightIndex][key] || \"inherit\";\n          const darkValue = styles[darkIndex][key] || \"inherit\";\n          mergedStyles[key] = `light-dark(${lightValue}, ${darkValue})`;\n          if (colorsRendering === \"css-vars\")\n            mergedStyles[varKey(idx, key)] = value;\n        } else {\n          mergedStyles[key] = value;\n        }\n      } else {\n        if (colorsRendering === \"css-vars\")\n          mergedStyles[varKey(idx, key)] = value;\n      }\n    }\n  });\n  token.htmlStyle = mergedStyles;\n  return token;\n}\nfunction getTokenStyleObject(token) {\n  const styles = {};\n  if (token.color)\n    styles.color = token.color;\n  if (token.bgColor)\n    styles[\"background-color\"] = token.bgColor;\n  if (token.fontStyle) {\n    if (token.fontStyle & FontStyle.Italic)\n      styles[\"font-style\"] = \"italic\";\n    if (token.fontStyle & FontStyle.Bold)\n      styles[\"font-weight\"] = \"bold\";\n    const decorations = [];\n    if (token.fontStyle & FontStyle.Underline)\n      decorations.push(\"underline\");\n    if (token.fontStyle & FontStyle.Strikethrough)\n      decorations.push(\"line-through\");\n    if (decorations.length)\n      styles[\"text-decoration\"] = decorations.join(\" \");\n  }\n  return styles;\n}\nfunction stringifyTokenStyle(token) {\n  if (typeof token === \"string\")\n    return token;\n  return Object.entries(token).map(([key, value]) => `${key}:${value}`).join(\";\");\n}\n\nconst _grammarStateMap = /* @__PURE__ */ new WeakMap();\nfunction setLastGrammarStateToMap(keys, state) {\n  _grammarStateMap.set(keys, state);\n}\nfunction getLastGrammarStateFromMap(keys) {\n  return _grammarStateMap.get(keys);\n}\nclass GrammarState {\n  /**\n   * Theme to Stack mapping\n   */\n  _stacks = {};\n  lang;\n  get themes() {\n    return Object.keys(this._stacks);\n  }\n  get theme() {\n    return this.themes[0];\n  }\n  get _stack() {\n    return this._stacks[this.theme];\n  }\n  /**\n   * Static method to create a initial grammar state.\n   */\n  static initial(lang, themes) {\n    return new GrammarState(\n      Object.fromEntries(toArray(themes).map((theme) => [theme, INITIAL])),\n      lang\n    );\n  }\n  constructor(...args) {\n    if (args.length === 2) {\n      const [stacksMap, lang] = args;\n      this.lang = lang;\n      this._stacks = stacksMap;\n    } else {\n      const [stack, lang, theme] = args;\n      this.lang = lang;\n      this._stacks = { [theme]: stack };\n    }\n  }\n  /**\n   * Get the internal stack object.\n   * @internal\n   */\n  getInternalStack(theme = this.theme) {\n    return this._stacks[theme];\n  }\n  getScopes(theme = this.theme) {\n    return getScopes(this._stacks[theme]);\n  }\n  toJSON() {\n    return {\n      lang: this.lang,\n      theme: this.theme,\n      themes: this.themes,\n      scopes: this.getScopes()\n    };\n  }\n}\nfunction getScopes(stack) {\n  const scopes = [];\n  const visited = /* @__PURE__ */ new Set();\n  function pushScope(stack2) {\n    if (visited.has(stack2))\n      return;\n    visited.add(stack2);\n    const name = stack2?.nameScopesList?.scopeName;\n    if (name)\n      scopes.push(name);\n    if (stack2.parent)\n      pushScope(stack2.parent);\n  }\n  pushScope(stack);\n  return scopes;\n}\nfunction getGrammarStack(state, theme) {\n  if (!(state instanceof GrammarState))\n    throw new ShikiError$1(\"Invalid grammar state\");\n  return state.getInternalStack(theme);\n}\n\nfunction transformerDecorations() {\n  const map = /* @__PURE__ */ new WeakMap();\n  function getContext(shiki) {\n    if (!map.has(shiki.meta)) {\n      let normalizePosition = function(p) {\n        if (typeof p === \"number\") {\n          if (p < 0 || p > shiki.source.length)\n            throw new ShikiError$1(`Invalid decoration offset: ${p}. Code length: ${shiki.source.length}`);\n          return {\n            ...converter.indexToPos(p),\n            offset: p\n          };\n        } else {\n          const line = converter.lines[p.line];\n          if (line === void 0)\n            throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Lines length: ${converter.lines.length}`);\n          let character = p.character;\n          if (character < 0)\n            character = line.length + character;\n          if (character < 0 || character > line.length)\n            throw new ShikiError$1(`Invalid decoration position ${JSON.stringify(p)}. Line ${p.line} length: ${line.length}`);\n          return {\n            ...p,\n            character,\n            offset: converter.posToIndex(p.line, character)\n          };\n        }\n      };\n      const converter = createPositionConverter(shiki.source);\n      const decorations = (shiki.options.decorations || []).map((d) => ({\n        ...d,\n        start: normalizePosition(d.start),\n        end: normalizePosition(d.end)\n      }));\n      verifyIntersections(decorations);\n      map.set(shiki.meta, {\n        decorations,\n        converter,\n        source: shiki.source\n      });\n    }\n    return map.get(shiki.meta);\n  }\n  return {\n    name: \"shiki:decorations\",\n    tokens(tokens) {\n      if (!this.options.decorations?.length)\n        return;\n      const ctx = getContext(this);\n      const breakpoints = ctx.decorations.flatMap((d) => [d.start.offset, d.end.offset]);\n      const splitted = splitTokens(tokens, breakpoints);\n      return splitted;\n    },\n    code(codeEl) {\n      if (!this.options.decorations?.length)\n        return;\n      const ctx = getContext(this);\n      const lines = Array.from(codeEl.children).filter((i) => i.type === \"element\" && i.tagName === \"span\");\n      if (lines.length !== ctx.converter.lines.length)\n        throw new ShikiError$1(`Number of lines in code element (${lines.length}) does not match the number of lines in the source (${ctx.converter.lines.length}). Failed to apply decorations.`);\n      function applyLineSection(line, start, end, decoration) {\n        const lineEl = lines[line];\n        let text = \"\";\n        let startIndex = -1;\n        let endIndex = -1;\n        if (start === 0)\n          startIndex = 0;\n        if (end === 0)\n          endIndex = 0;\n        if (end === Number.POSITIVE_INFINITY)\n          endIndex = lineEl.children.length;\n        if (startIndex === -1 || endIndex === -1) {\n          for (let i = 0; i < lineEl.children.length; i++) {\n            text += stringify(lineEl.children[i]);\n            if (startIndex === -1 && text.length === start)\n              startIndex = i + 1;\n            if (endIndex === -1 && text.length === end)\n              endIndex = i + 1;\n          }\n        }\n        if (startIndex === -1)\n          throw new ShikiError$1(`Failed to find start index for decoration ${JSON.stringify(decoration.start)}`);\n        if (endIndex === -1)\n          throw new ShikiError$1(`Failed to find end index for decoration ${JSON.stringify(decoration.end)}`);\n        const children = lineEl.children.slice(startIndex, endIndex);\n        if (!decoration.alwaysWrap && children.length === lineEl.children.length) {\n          applyDecoration(lineEl, decoration, \"line\");\n        } else if (!decoration.alwaysWrap && children.length === 1 && children[0].type === \"element\") {\n          applyDecoration(children[0], decoration, \"token\");\n        } else {\n          const wrapper = {\n            type: \"element\",\n            tagName: \"span\",\n            properties: {},\n            children\n          };\n          applyDecoration(wrapper, decoration, \"wrapper\");\n          lineEl.children.splice(startIndex, children.length, wrapper);\n        }\n      }\n      function applyLine(line, decoration) {\n        lines[line] = applyDecoration(lines[line], decoration, \"line\");\n      }\n      function applyDecoration(el, decoration, type) {\n        const properties = decoration.properties || {};\n        const transform = decoration.transform || ((i) => i);\n        el.tagName = decoration.tagName || \"span\";\n        el.properties = {\n          ...el.properties,\n          ...properties,\n          class: el.properties.class\n        };\n        if (decoration.properties?.class)\n          addClassToHast(el, decoration.properties.class);\n        el = transform(el, type) || el;\n        return el;\n      }\n      const lineApplies = [];\n      const sorted = ctx.decorations.sort((a, b) => b.start.offset - a.start.offset || a.end.offset - b.end.offset);\n      for (const decoration of sorted) {\n        const { start, end } = decoration;\n        if (start.line === end.line) {\n          applyLineSection(start.line, start.character, end.character, decoration);\n        } else if (start.line < end.line) {\n          applyLineSection(start.line, start.character, Number.POSITIVE_INFINITY, decoration);\n          for (let i = start.line + 1; i < end.line; i++)\n            lineApplies.unshift(() => applyLine(i, decoration));\n          applyLineSection(end.line, 0, end.character, decoration);\n        }\n      }\n      lineApplies.forEach((i) => i());\n    }\n  };\n}\nfunction verifyIntersections(items) {\n  for (let i = 0; i < items.length; i++) {\n    const foo = items[i];\n    if (foo.start.offset > foo.end.offset)\n      throw new ShikiError$1(`Invalid decoration range: ${JSON.stringify(foo.start)} - ${JSON.stringify(foo.end)}`);\n    for (let j = i + 1; j < items.length; j++) {\n      const bar = items[j];\n      const isFooHasBarStart = foo.start.offset <= bar.start.offset && bar.start.offset < foo.end.offset;\n      const isFooHasBarEnd = foo.start.offset < bar.end.offset && bar.end.offset <= foo.end.offset;\n      const isBarHasFooStart = bar.start.offset <= foo.start.offset && foo.start.offset < bar.end.offset;\n      const isBarHasFooEnd = bar.start.offset < foo.end.offset && foo.end.offset <= bar.end.offset;\n      if (isFooHasBarStart || isFooHasBarEnd || isBarHasFooStart || isBarHasFooEnd) {\n        if (isFooHasBarStart && isFooHasBarEnd)\n          continue;\n        if (isBarHasFooStart && isBarHasFooEnd)\n          continue;\n        if (isBarHasFooStart && foo.start.offset === foo.end.offset)\n          continue;\n        if (isFooHasBarEnd && bar.start.offset === bar.end.offset)\n          continue;\n        throw new ShikiError$1(`Decorations ${JSON.stringify(foo.start)} and ${JSON.stringify(bar.start)} intersect.`);\n      }\n    }\n  }\n}\nfunction stringify(el) {\n  if (el.type === \"text\")\n    return el.value;\n  if (el.type === \"element\")\n    return el.children.map(stringify).join(\"\");\n  return \"\";\n}\n\nconst builtInTransformers = [\n  /* @__PURE__ */ transformerDecorations()\n];\nfunction getTransformers(options) {\n  const transformers = sortTransformersByEnforcement(options.transformers || []);\n  return [\n    ...transformers.pre,\n    ...transformers.normal,\n    ...transformers.post,\n    ...builtInTransformers\n  ];\n}\nfunction sortTransformersByEnforcement(transformers) {\n  const pre = [];\n  const post = [];\n  const normal = [];\n  for (const transformer of transformers) {\n    switch (transformer.enforce) {\n      case \"pre\":\n        pre.push(transformer);\n        break;\n      case \"post\":\n        post.push(transformer);\n        break;\n      default:\n        normal.push(transformer);\n    }\n  }\n  return { pre, post, normal };\n}\n\n// src/colors.ts\nvar namedColors = [\n  \"black\",\n  \"red\",\n  \"green\",\n  \"yellow\",\n  \"blue\",\n  \"magenta\",\n  \"cyan\",\n  \"white\",\n  \"brightBlack\",\n  \"brightRed\",\n  \"brightGreen\",\n  \"brightYellow\",\n  \"brightBlue\",\n  \"brightMagenta\",\n  \"brightCyan\",\n  \"brightWhite\"\n];\n\n// src/decorations.ts\nvar decorations = {\n  1: \"bold\",\n  2: \"dim\",\n  3: \"italic\",\n  4: \"underline\",\n  7: \"reverse\",\n  8: \"hidden\",\n  9: \"strikethrough\"\n};\n\n// src/parser.ts\nfunction findSequence(value, position) {\n  const nextEscape = value.indexOf(\"\\x1B\", position);\n  if (nextEscape !== -1) {\n    if (value[nextEscape + 1] === \"[\") {\n      const nextClose = value.indexOf(\"m\", nextEscape);\n      if (nextClose !== -1) {\n        return {\n          sequence: value.substring(nextEscape + 2, nextClose).split(\";\"),\n          startPosition: nextEscape,\n          position: nextClose + 1\n        };\n      }\n    }\n  }\n  return {\n    position: value.length\n  };\n}\nfunction parseColor(sequence) {\n  const colorMode = sequence.shift();\n  if (colorMode === \"2\") {\n    const rgb = sequence.splice(0, 3).map((x) => Number.parseInt(x));\n    if (rgb.length !== 3 || rgb.some((x) => Number.isNaN(x)))\n      return;\n    return {\n      type: \"rgb\",\n      rgb\n    };\n  } else if (colorMode === \"5\") {\n    const index = sequence.shift();\n    if (index) {\n      return { type: \"table\", index: Number(index) };\n    }\n  }\n}\nfunction parseSequence(sequence) {\n  const commands = [];\n  while (sequence.length > 0) {\n    const code = sequence.shift();\n    if (!code)\n      continue;\n    const codeInt = Number.parseInt(code);\n    if (Number.isNaN(codeInt))\n      continue;\n    if (codeInt === 0) {\n      commands.push({ type: \"resetAll\" });\n    } else if (codeInt <= 9) {\n      const decoration = decorations[codeInt];\n      if (decoration) {\n        commands.push({\n          type: \"setDecoration\",\n          value: decorations[codeInt]\n        });\n      }\n    } else if (codeInt <= 29) {\n      const decoration = decorations[codeInt - 20];\n      if (decoration) {\n        commands.push({\n          type: \"resetDecoration\",\n          value: decoration\n        });\n        if (decoration === \"dim\") {\n          commands.push({\n            type: \"resetDecoration\",\n            value: \"bold\"\n          });\n        }\n      }\n    } else if (codeInt <= 37) {\n      commands.push({\n        type: \"setForegroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 30] }\n      });\n    } else if (codeInt === 38) {\n      const color = parseColor(sequence);\n      if (color) {\n        commands.push({\n          type: \"setForegroundColor\",\n          value: color\n        });\n      }\n    } else if (codeInt === 39) {\n      commands.push({\n        type: \"resetForegroundColor\"\n      });\n    } else if (codeInt <= 47) {\n      commands.push({\n        type: \"setBackgroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 40] }\n      });\n    } else if (codeInt === 48) {\n      const color = parseColor(sequence);\n      if (color) {\n        commands.push({\n          type: \"setBackgroundColor\",\n          value: color\n        });\n      }\n    } else if (codeInt === 49) {\n      commands.push({\n        type: \"resetBackgroundColor\"\n      });\n    } else if (codeInt === 53) {\n      commands.push({\n        type: \"setDecoration\",\n        value: \"overline\"\n      });\n    } else if (codeInt === 55) {\n      commands.push({\n        type: \"resetDecoration\",\n        value: \"overline\"\n      });\n    } else if (codeInt >= 90 && codeInt <= 97) {\n      commands.push({\n        type: \"setForegroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 90 + 8] }\n      });\n    } else if (codeInt >= 100 && codeInt <= 107) {\n      commands.push({\n        type: \"setBackgroundColor\",\n        value: { type: \"named\", name: namedColors[codeInt - 100 + 8] }\n      });\n    }\n  }\n  return commands;\n}\nfunction createAnsiSequenceParser() {\n  let foreground = null;\n  let background = null;\n  let decorations2 = /* @__PURE__ */ new Set();\n  return {\n    parse(value) {\n      const tokens = [];\n      let position = 0;\n      do {\n        const findResult = findSequence(value, position);\n        const text = findResult.sequence ? value.substring(position, findResult.startPosition) : value.substring(position);\n        if (text.length > 0) {\n          tokens.push({\n            value: text,\n            foreground,\n            background,\n            decorations: new Set(decorations2)\n          });\n        }\n        if (findResult.sequence) {\n          const commands = parseSequence(findResult.sequence);\n          for (const styleToken of commands) {\n            if (styleToken.type === \"resetAll\") {\n              foreground = null;\n              background = null;\n              decorations2.clear();\n            } else if (styleToken.type === \"resetForegroundColor\") {\n              foreground = null;\n            } else if (styleToken.type === \"resetBackgroundColor\") {\n              background = null;\n            } else if (styleToken.type === \"resetDecoration\") {\n              decorations2.delete(styleToken.value);\n            }\n          }\n          for (const styleToken of commands) {\n            if (styleToken.type === \"setForegroundColor\") {\n              foreground = styleToken.value;\n            } else if (styleToken.type === \"setBackgroundColor\") {\n              background = styleToken.value;\n            } else if (styleToken.type === \"setDecoration\") {\n              decorations2.add(styleToken.value);\n            }\n          }\n        }\n        position = findResult.position;\n      } while (position < value.length);\n      return tokens;\n    }\n  };\n}\n\n// src/palette.ts\nvar defaultNamedColorsMap = {\n  black: \"#000000\",\n  red: \"#bb0000\",\n  green: \"#00bb00\",\n  yellow: \"#bbbb00\",\n  blue: \"#0000bb\",\n  magenta: \"#ff00ff\",\n  cyan: \"#00bbbb\",\n  white: \"#eeeeee\",\n  brightBlack: \"#555555\",\n  brightRed: \"#ff5555\",\n  brightGreen: \"#00ff00\",\n  brightYellow: \"#ffff55\",\n  brightBlue: \"#5555ff\",\n  brightMagenta: \"#ff55ff\",\n  brightCyan: \"#55ffff\",\n  brightWhite: \"#ffffff\"\n};\nfunction createColorPalette(namedColorsMap = defaultNamedColorsMap) {\n  function namedColor(name) {\n    return namedColorsMap[name];\n  }\n  function rgbColor(rgb) {\n    return `#${rgb.map((x) => Math.max(0, Math.min(x, 255)).toString(16).padStart(2, \"0\")).join(\"\")}`;\n  }\n  let colorTable;\n  function getColorTable() {\n    if (colorTable) {\n      return colorTable;\n    }\n    colorTable = [];\n    for (let i = 0; i < namedColors.length; i++) {\n      colorTable.push(namedColor(namedColors[i]));\n    }\n    let levels = [0, 95, 135, 175, 215, 255];\n    for (let r = 0; r < 6; r++) {\n      for (let g = 0; g < 6; g++) {\n        for (let b = 0; b < 6; b++) {\n          colorTable.push(rgbColor([levels[r], levels[g], levels[b]]));\n        }\n      }\n    }\n    let level = 8;\n    for (let i = 0; i < 24; i++, level += 10) {\n      colorTable.push(rgbColor([level, level, level]));\n    }\n    return colorTable;\n  }\n  function tableColor(index) {\n    return getColorTable()[index];\n  }\n  function value(color) {\n    switch (color.type) {\n      case \"named\":\n        return namedColor(color.name);\n      case \"rgb\":\n        return rgbColor(color.rgb);\n      case \"table\":\n        return tableColor(color.index);\n    }\n  }\n  return {\n    value\n  };\n}\n\nfunction tokenizeAnsiWithTheme(theme, fileContents, options) {\n  const colorReplacements = resolveColorReplacements(theme, options);\n  const lines = splitLines(fileContents);\n  const colorPalette = createColorPalette(\n    Object.fromEntries(\n      namedColors.map((name) => [\n        name,\n        theme.colors?.[`terminal.ansi${name[0].toUpperCase()}${name.substring(1)}`]\n      ])\n    )\n  );\n  const parser = createAnsiSequenceParser();\n  return lines.map(\n    (line) => parser.parse(line[0]).map((token) => {\n      let color;\n      let bgColor;\n      if (token.decorations.has(\"reverse\")) {\n        color = token.background ? colorPalette.value(token.background) : theme.bg;\n        bgColor = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n      } else {\n        color = token.foreground ? colorPalette.value(token.foreground) : theme.fg;\n        bgColor = token.background ? colorPalette.value(token.background) : void 0;\n      }\n      color = applyColorReplacements(color, colorReplacements);\n      bgColor = applyColorReplacements(bgColor, colorReplacements);\n      if (token.decorations.has(\"dim\"))\n        color = dimColor(color);\n      let fontStyle = FontStyle.None;\n      if (token.decorations.has(\"bold\"))\n        fontStyle |= FontStyle.Bold;\n      if (token.decorations.has(\"italic\"))\n        fontStyle |= FontStyle.Italic;\n      if (token.decorations.has(\"underline\"))\n        fontStyle |= FontStyle.Underline;\n      if (token.decorations.has(\"strikethrough\"))\n        fontStyle |= FontStyle.Strikethrough;\n      return {\n        content: token.value,\n        offset: line[1],\n        // TODO: more accurate offset? might need to fork ansi-sequence-parser\n        color,\n        bgColor,\n        fontStyle\n      };\n    })\n  );\n}\nfunction dimColor(color) {\n  const hexMatch = color.match(/#([0-9a-f]{3})([0-9a-f]{3})?([0-9a-f]{2})?/);\n  if (hexMatch) {\n    if (hexMatch[3]) {\n      const alpha = Math.round(Number.parseInt(hexMatch[3], 16) / 2).toString(16).padStart(2, \"0\");\n      return `#${hexMatch[1]}${hexMatch[2]}${alpha}`;\n    } else if (hexMatch[2]) {\n      return `#${hexMatch[1]}${hexMatch[2]}80`;\n    } else {\n      return `#${Array.from(hexMatch[1]).map((x) => `${x}${x}`).join(\"\")}80`;\n    }\n  }\n  const cssVarMatch = color.match(/var\\((--[\\w-]+-ansi-[\\w-]+)\\)/);\n  if (cssVarMatch)\n    return `var(${cssVarMatch[1]}-dim)`;\n  return color;\n}\n\nfunction codeToTokensBase(internal, code, options = {}) {\n  const {\n    lang = \"text\",\n    theme: themeName = internal.getLoadedThemes()[0]\n  } = options;\n  if (isPlainLang(lang) || isNoneTheme(themeName))\n    return splitLines(code).map((line) => [{ content: line[0], offset: line[1] }]);\n  const { theme, colorMap } = internal.setTheme(themeName);\n  if (lang === \"ansi\")\n    return tokenizeAnsiWithTheme(theme, code, options);\n  const _grammar = internal.getLanguage(lang);\n  if (options.grammarState) {\n    if (options.grammarState.lang !== _grammar.name) {\n      throw new ShikiError$1(`Grammar state language \"${options.grammarState.lang}\" does not match highlight language \"${_grammar.name}\"`);\n    }\n    if (!options.grammarState.themes.includes(theme.name)) {\n      throw new ShikiError$1(`Grammar state themes \"${options.grammarState.themes}\" do not contain highlight theme \"${theme.name}\"`);\n    }\n  }\n  return tokenizeWithTheme(code, _grammar, theme, colorMap, options);\n}\nfunction getLastGrammarState(...args) {\n  if (args.length === 2) {\n    return getLastGrammarStateFromMap(args[1]);\n  }\n  const [internal, code, options = {}] = args;\n  const {\n    lang = \"text\",\n    theme: themeName = internal.getLoadedThemes()[0]\n  } = options;\n  if (isPlainLang(lang) || isNoneTheme(themeName))\n    throw new ShikiError$1(\"Plain language does not have grammar state\");\n  if (lang === \"ansi\")\n    throw new ShikiError$1(\"ANSI language does not have grammar state\");\n  const { theme, colorMap } = internal.setTheme(themeName);\n  const _grammar = internal.getLanguage(lang);\n  return new GrammarState(\n    _tokenizeWithTheme(code, _grammar, theme, colorMap, options).stateStack,\n    _grammar.name,\n    theme.name\n  );\n}\nfunction tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n  const result = _tokenizeWithTheme(code, grammar, theme, colorMap, options);\n  const grammarState = new GrammarState(\n    _tokenizeWithTheme(code, grammar, theme, colorMap, options).stateStack,\n    grammar.name,\n    theme.name\n  );\n  setLastGrammarStateToMap(result.tokens, grammarState);\n  return result.tokens;\n}\nfunction _tokenizeWithTheme(code, grammar, theme, colorMap, options) {\n  const colorReplacements = resolveColorReplacements(theme, options);\n  const {\n    tokenizeMaxLineLength = 0,\n    tokenizeTimeLimit = 500\n  } = options;\n  const lines = splitLines(code);\n  let stateStack = options.grammarState ? getGrammarStack(options.grammarState, theme.name) ?? INITIAL : options.grammarContextCode != null ? _tokenizeWithTheme(\n    options.grammarContextCode,\n    grammar,\n    theme,\n    colorMap,\n    {\n      ...options,\n      grammarState: void 0,\n      grammarContextCode: void 0\n    }\n  ).stateStack : INITIAL;\n  let actual = [];\n  const final = [];\n  for (let i = 0, len = lines.length; i < len; i++) {\n    const [line, lineOffset] = lines[i];\n    if (line === \"\") {\n      actual = [];\n      final.push([]);\n      continue;\n    }\n    if (tokenizeMaxLineLength > 0 && line.length >= tokenizeMaxLineLength) {\n      actual = [];\n      final.push([{\n        content: line,\n        offset: lineOffset,\n        color: \"\",\n        fontStyle: 0\n      }]);\n      continue;\n    }\n    let resultWithScopes;\n    let tokensWithScopes;\n    let tokensWithScopesIndex;\n    if (options.includeExplanation) {\n      resultWithScopes = grammar.tokenizeLine(line, stateStack, tokenizeTimeLimit);\n      tokensWithScopes = resultWithScopes.tokens;\n      tokensWithScopesIndex = 0;\n    }\n    const result = grammar.tokenizeLine2(line, stateStack, tokenizeTimeLimit);\n    const tokensLength = result.tokens.length / 2;\n    for (let j = 0; j < tokensLength; j++) {\n      const startIndex = result.tokens[2 * j];\n      const nextStartIndex = j + 1 < tokensLength ? result.tokens[2 * j + 2] : line.length;\n      if (startIndex === nextStartIndex)\n        continue;\n      const metadata = result.tokens[2 * j + 1];\n      const color = applyColorReplacements(\n        colorMap[EncodedTokenMetadata.getForeground(metadata)],\n        colorReplacements\n      );\n      const fontStyle = EncodedTokenMetadata.getFontStyle(metadata);\n      const token = {\n        content: line.substring(startIndex, nextStartIndex),\n        offset: lineOffset + startIndex,\n        color,\n        fontStyle\n      };\n      if (options.includeExplanation) {\n        const themeSettingsSelectors = [];\n        if (options.includeExplanation !== \"scopeName\") {\n          for (const setting of theme.settings) {\n            let selectors;\n            switch (typeof setting.scope) {\n              case \"string\":\n                selectors = setting.scope.split(/,/).map((scope) => scope.trim());\n                break;\n              case \"object\":\n                selectors = setting.scope;\n                break;\n              default:\n                continue;\n            }\n            themeSettingsSelectors.push({\n              settings: setting,\n              selectors: selectors.map((selector) => selector.split(/ /))\n            });\n          }\n        }\n        token.explanation = [];\n        let offset = 0;\n        while (startIndex + offset < nextStartIndex) {\n          const tokenWithScopes = tokensWithScopes[tokensWithScopesIndex];\n          const tokenWithScopesText = line.substring(\n            tokenWithScopes.startIndex,\n            tokenWithScopes.endIndex\n          );\n          offset += tokenWithScopesText.length;\n          token.explanation.push({\n            content: tokenWithScopesText,\n            scopes: options.includeExplanation === \"scopeName\" ? explainThemeScopesNameOnly(\n              tokenWithScopes.scopes\n            ) : explainThemeScopesFull(\n              themeSettingsSelectors,\n              tokenWithScopes.scopes\n            )\n          });\n          tokensWithScopesIndex += 1;\n        }\n      }\n      actual.push(token);\n    }\n    final.push(actual);\n    actual = [];\n    stateStack = result.ruleStack;\n  }\n  return {\n    tokens: final,\n    stateStack\n  };\n}\nfunction explainThemeScopesNameOnly(scopes) {\n  return scopes.map((scope) => ({ scopeName: scope }));\n}\nfunction explainThemeScopesFull(themeSelectors, scopes) {\n  const result = [];\n  for (let i = 0, len = scopes.length; i < len; i++) {\n    const scope = scopes[i];\n    result[i] = {\n      scopeName: scope,\n      themeMatches: explainThemeScope(themeSelectors, scope, scopes.slice(0, i))\n    };\n  }\n  return result;\n}\nfunction matchesOne(selector, scope) {\n  return selector === scope || scope.substring(0, selector.length) === selector && scope[selector.length] === \".\";\n}\nfunction matches(selectors, scope, parentScopes) {\n  if (!matchesOne(selectors[selectors.length - 1], scope))\n    return false;\n  let selectorParentIndex = selectors.length - 2;\n  let parentIndex = parentScopes.length - 1;\n  while (selectorParentIndex >= 0 && parentIndex >= 0) {\n    if (matchesOne(selectors[selectorParentIndex], parentScopes[parentIndex]))\n      selectorParentIndex -= 1;\n    parentIndex -= 1;\n  }\n  if (selectorParentIndex === -1)\n    return true;\n  return false;\n}\nfunction explainThemeScope(themeSettingsSelectors, scope, parentScopes) {\n  const result = [];\n  for (const { selectors, settings } of themeSettingsSelectors) {\n    for (const selectorPieces of selectors) {\n      if (matches(selectorPieces, scope, parentScopes)) {\n        result.push(settings);\n        break;\n      }\n    }\n  }\n  return result;\n}\n\nfunction codeToTokensWithThemes(internal, code, options) {\n  const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] }));\n  const themedTokens = themes.map((t) => {\n    const tokens2 = codeToTokensBase(internal, code, {\n      ...options,\n      theme: t.theme\n    });\n    const state = getLastGrammarStateFromMap(tokens2);\n    const theme = typeof t.theme === \"string\" ? t.theme : t.theme.name;\n    return {\n      tokens: tokens2,\n      state,\n      theme\n    };\n  });\n  const tokens = syncThemesTokenization(\n    ...themedTokens.map((i) => i.tokens)\n  );\n  const mergedTokens = tokens[0].map(\n    (line, lineIdx) => line.map((_token, tokenIdx) => {\n      const mergedToken = {\n        content: _token.content,\n        variants: {},\n        offset: _token.offset\n      };\n      if (\"includeExplanation\" in options && options.includeExplanation) {\n        mergedToken.explanation = _token.explanation;\n      }\n      tokens.forEach((t, themeIdx) => {\n        const {\n          content: _,\n          explanation: __,\n          offset: ___,\n          ...styles\n        } = t[lineIdx][tokenIdx];\n        mergedToken.variants[themes[themeIdx].color] = styles;\n      });\n      return mergedToken;\n    })\n  );\n  const mergedGrammarState = themedTokens[0].state ? new GrammarState(\n    Object.fromEntries(themedTokens.map((s) => [s.theme, s.state?.getInternalStack(s.theme)])),\n    themedTokens[0].state.lang\n  ) : void 0;\n  if (mergedGrammarState)\n    setLastGrammarStateToMap(mergedTokens, mergedGrammarState);\n  return mergedTokens;\n}\nfunction syncThemesTokenization(...themes) {\n  const outThemes = themes.map(() => []);\n  const count = themes.length;\n  for (let i = 0; i < themes[0].length; i++) {\n    const lines = themes.map((t) => t[i]);\n    const outLines = outThemes.map(() => []);\n    outThemes.forEach((t, i2) => t.push(outLines[i2]));\n    const indexes = lines.map(() => 0);\n    const current = lines.map((l) => l[0]);\n    while (current.every((t) => t)) {\n      const minLength = Math.min(...current.map((t) => t.content.length));\n      for (let n = 0; n < count; n++) {\n        const token = current[n];\n        if (token.content.length === minLength) {\n          outLines[n].push(token);\n          indexes[n] += 1;\n          current[n] = lines[n][indexes[n]];\n        } else {\n          outLines[n].push({\n            ...token,\n            content: token.content.slice(0, minLength)\n          });\n          current[n] = {\n            ...token,\n            content: token.content.slice(minLength),\n            offset: token.offset + minLength\n          };\n        }\n      }\n    }\n  }\n  return outThemes;\n}\n\nfunction codeToTokens(internal, code, options) {\n  let bg;\n  let fg;\n  let tokens;\n  let themeName;\n  let rootStyle;\n  let grammarState;\n  if (\"themes\" in options) {\n    const {\n      defaultColor = \"light\",\n      cssVariablePrefix = \"--shiki-\",\n      colorsRendering = \"css-vars\"\n    } = options;\n    const themes = Object.entries(options.themes).filter((i) => i[1]).map((i) => ({ color: i[0], theme: i[1] })).sort((a, b) => a.color === defaultColor ? -1 : b.color === defaultColor ? 1 : 0);\n    if (themes.length === 0)\n      throw new ShikiError$1(\"`themes` option must not be empty\");\n    const themeTokens = codeToTokensWithThemes(\n      internal,\n      code,\n      options\n    );\n    grammarState = getLastGrammarStateFromMap(themeTokens);\n    if (defaultColor && DEFAULT_COLOR_LIGHT_DARK !== defaultColor && !themes.find((t) => t.color === defaultColor))\n      throw new ShikiError$1(`\\`themes\\` option must contain the defaultColor key \\`${defaultColor}\\``);\n    const themeRegs = themes.map((t) => internal.getTheme(t.theme));\n    const themesOrder = themes.map((t) => t.color);\n    tokens = themeTokens.map((line) => line.map((token) => flatTokenVariants(token, themesOrder, cssVariablePrefix, defaultColor, colorsRendering)));\n    if (grammarState)\n      setLastGrammarStateToMap(tokens, grammarState);\n    const themeColorReplacements = themes.map((t) => resolveColorReplacements(t.theme, options));\n    fg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"fg\", colorsRendering);\n    bg = mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, \"bg\", colorsRendering);\n    themeName = `shiki-themes ${themeRegs.map((t) => t.name).join(\" \")}`;\n    rootStyle = defaultColor ? void 0 : [fg, bg].join(\";\");\n  } else if (\"theme\" in options) {\n    const colorReplacements = resolveColorReplacements(options.theme, options);\n    tokens = codeToTokensBase(\n      internal,\n      code,\n      options\n    );\n    const _theme = internal.getTheme(options.theme);\n    bg = applyColorReplacements(_theme.bg, colorReplacements);\n    fg = applyColorReplacements(_theme.fg, colorReplacements);\n    themeName = _theme.name;\n    grammarState = getLastGrammarStateFromMap(tokens);\n  } else {\n    throw new ShikiError$1(\"Invalid options, either `theme` or `themes` must be provided\");\n  }\n  return {\n    tokens,\n    fg,\n    bg,\n    themeName,\n    rootStyle,\n    grammarState\n  };\n}\nfunction mapThemeColors(themes, themeRegs, themeColorReplacements, cssVariablePrefix, defaultColor, property, colorsRendering) {\n  return themes.map((t, idx) => {\n    const value = applyColorReplacements(themeRegs[idx][property], themeColorReplacements[idx]) || \"inherit\";\n    const cssVar = `${cssVariablePrefix + t.color}${property === \"bg\" ? \"-bg\" : \"\"}:${value}`;\n    if (idx === 0 && defaultColor) {\n      if (defaultColor === DEFAULT_COLOR_LIGHT_DARK && themes.length > 1) {\n        const lightIndex = themes.findIndex((t2) => t2.color === \"light\");\n        const darkIndex = themes.findIndex((t2) => t2.color === \"dark\");\n        if (lightIndex === -1 || darkIndex === -1)\n          throw new ShikiError$1('When using `defaultColor: \"light-dark()\"`, you must provide both `light` and `dark` themes');\n        const lightValue = applyColorReplacements(themeRegs[lightIndex][property], themeColorReplacements[lightIndex]) || \"inherit\";\n        const darkValue = applyColorReplacements(themeRegs[darkIndex][property], themeColorReplacements[darkIndex]) || \"inherit\";\n        return `light-dark(${lightValue}, ${darkValue});${cssVar}`;\n      }\n      return value;\n    }\n    if (colorsRendering === \"css-vars\") {\n      return cssVar;\n    }\n    return null;\n  }).filter((i) => !!i).join(\";\");\n}\n\nfunction codeToHast(internal, code, options, transformerContext = {\n  meta: {},\n  options,\n  codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n  codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n}) {\n  let input = code;\n  for (const transformer of getTransformers(options))\n    input = transformer.preprocess?.call(transformerContext, input, options) || input;\n  let {\n    tokens,\n    fg,\n    bg,\n    themeName,\n    rootStyle,\n    grammarState\n  } = codeToTokens(internal, input, options);\n  const {\n    mergeWhitespaces = true,\n    mergeSameStyleTokens = false\n  } = options;\n  if (mergeWhitespaces === true)\n    tokens = mergeWhitespaceTokens(tokens);\n  else if (mergeWhitespaces === \"never\")\n    tokens = splitWhitespaceTokens(tokens);\n  if (mergeSameStyleTokens) {\n    tokens = mergeAdjacentStyledTokens(tokens);\n  }\n  const contextSource = {\n    ...transformerContext,\n    get source() {\n      return input;\n    }\n  };\n  for (const transformer of getTransformers(options))\n    tokens = transformer.tokens?.call(contextSource, tokens) || tokens;\n  return tokensToHast(\n    tokens,\n    {\n      ...options,\n      fg,\n      bg,\n      themeName,\n      rootStyle\n    },\n    contextSource,\n    grammarState\n  );\n}\nfunction tokensToHast(tokens, options, transformerContext, grammarState = getLastGrammarStateFromMap(tokens)) {\n  const transformers = getTransformers(options);\n  const lines = [];\n  const root = {\n    type: \"root\",\n    children: []\n  };\n  const {\n    structure = \"classic\",\n    tabindex = \"0\"\n  } = options;\n  let preNode = {\n    type: \"element\",\n    tagName: \"pre\",\n    properties: {\n      class: `shiki ${options.themeName || \"\"}`,\n      style: options.rootStyle || `background-color:${options.bg};color:${options.fg}`,\n      ...tabindex !== false && tabindex != null ? {\n        tabindex: tabindex.toString()\n      } : {},\n      ...Object.fromEntries(\n        Array.from(\n          Object.entries(options.meta || {})\n        ).filter(([key]) => !key.startsWith(\"_\"))\n      )\n    },\n    children: []\n  };\n  let codeNode = {\n    type: \"element\",\n    tagName: \"code\",\n    properties: {},\n    children: lines\n  };\n  const lineNodes = [];\n  const context = {\n    ...transformerContext,\n    structure,\n    addClassToHast,\n    get source() {\n      return transformerContext.source;\n    },\n    get tokens() {\n      return tokens;\n    },\n    get options() {\n      return options;\n    },\n    get root() {\n      return root;\n    },\n    get pre() {\n      return preNode;\n    },\n    get code() {\n      return codeNode;\n    },\n    get lines() {\n      return lineNodes;\n    }\n  };\n  tokens.forEach((line, idx) => {\n    if (idx) {\n      if (structure === \"inline\")\n        root.children.push({ type: \"element\", tagName: \"br\", properties: {}, children: [] });\n      else if (structure === \"classic\")\n        lines.push({ type: \"text\", value: \"\\n\" });\n    }\n    let lineNode = {\n      type: \"element\",\n      tagName: \"span\",\n      properties: { class: \"line\" },\n      children: []\n    };\n    let col = 0;\n    for (const token of line) {\n      let tokenNode = {\n        type: \"element\",\n        tagName: \"span\",\n        properties: {\n          ...token.htmlAttrs\n        },\n        children: [{ type: \"text\", value: token.content }]\n      };\n      const style = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n      if (style)\n        tokenNode.properties.style = style;\n      for (const transformer of transformers)\n        tokenNode = transformer?.span?.call(context, tokenNode, idx + 1, col, lineNode, token) || tokenNode;\n      if (structure === \"inline\")\n        root.children.push(tokenNode);\n      else if (structure === \"classic\")\n        lineNode.children.push(tokenNode);\n      col += token.content.length;\n    }\n    if (structure === \"classic\") {\n      for (const transformer of transformers)\n        lineNode = transformer?.line?.call(context, lineNode, idx + 1) || lineNode;\n      lineNodes.push(lineNode);\n      lines.push(lineNode);\n    }\n  });\n  if (structure === \"classic\") {\n    for (const transformer of transformers)\n      codeNode = transformer?.code?.call(context, codeNode) || codeNode;\n    preNode.children.push(codeNode);\n    for (const transformer of transformers)\n      preNode = transformer?.pre?.call(context, preNode) || preNode;\n    root.children.push(preNode);\n  }\n  let result = root;\n  for (const transformer of transformers)\n    result = transformer?.root?.call(context, result) || result;\n  if (grammarState)\n    setLastGrammarStateToMap(result, grammarState);\n  return result;\n}\nfunction mergeWhitespaceTokens(tokens) {\n  return tokens.map((line) => {\n    const newLine = [];\n    let carryOnContent = \"\";\n    let firstOffset = 0;\n    line.forEach((token, idx) => {\n      const isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n      const couldMerge = !isDecorated;\n      if (couldMerge && token.content.match(/^\\s+$/) && line[idx + 1]) {\n        if (!firstOffset)\n          firstOffset = token.offset;\n        carryOnContent += token.content;\n      } else {\n        if (carryOnContent) {\n          if (couldMerge) {\n            newLine.push({\n              ...token,\n              offset: firstOffset,\n              content: carryOnContent + token.content\n            });\n          } else {\n            newLine.push(\n              {\n                content: carryOnContent,\n                offset: firstOffset\n              },\n              token\n            );\n          }\n          firstOffset = 0;\n          carryOnContent = \"\";\n        } else {\n          newLine.push(token);\n        }\n      }\n    });\n    return newLine;\n  });\n}\nfunction splitWhitespaceTokens(tokens) {\n  return tokens.map((line) => {\n    return line.flatMap((token) => {\n      if (token.content.match(/^\\s+$/))\n        return token;\n      const match = token.content.match(/^(\\s*)(.*?)(\\s*)$/);\n      if (!match)\n        return token;\n      const [, leading, content, trailing] = match;\n      if (!leading && !trailing)\n        return token;\n      const expanded = [{\n        ...token,\n        offset: token.offset + leading.length,\n        content\n      }];\n      if (leading) {\n        expanded.unshift({\n          content: leading,\n          offset: token.offset\n        });\n      }\n      if (trailing) {\n        expanded.push({\n          content: trailing,\n          offset: token.offset + leading.length + content.length\n        });\n      }\n      return expanded;\n    });\n  });\n}\nfunction mergeAdjacentStyledTokens(tokens) {\n  return tokens.map((line) => {\n    const newLine = [];\n    for (const token of line) {\n      if (newLine.length === 0) {\n        newLine.push({ ...token });\n        continue;\n      }\n      const prevToken = newLine[newLine.length - 1];\n      const prevStyle = stringifyTokenStyle(prevToken.htmlStyle || getTokenStyleObject(prevToken));\n      const currentStyle = stringifyTokenStyle(token.htmlStyle || getTokenStyleObject(token));\n      const isPrevDecorated = prevToken.fontStyle && (prevToken.fontStyle & FontStyle.Underline || prevToken.fontStyle & FontStyle.Strikethrough);\n      const isDecorated = token.fontStyle && (token.fontStyle & FontStyle.Underline || token.fontStyle & FontStyle.Strikethrough);\n      if (!isPrevDecorated && !isDecorated && prevStyle === currentStyle) {\n        prevToken.content += token.content;\n      } else {\n        newLine.push({ ...token });\n      }\n    }\n    return newLine;\n  });\n}\n\nconst hastToHtml = toHtml;\nfunction codeToHtml(internal, code, options) {\n  const context = {\n    meta: {},\n    options,\n    codeToHast: (_code, _options) => codeToHast(internal, _code, _options),\n    codeToTokens: (_code, _options) => codeToTokens(internal, _code, _options)\n  };\n  let result = hastToHtml(codeToHast(internal, code, options, context));\n  for (const transformer of getTransformers(options))\n    result = transformer.postprocess?.call(context, result, options) || result;\n  return result;\n}\n\nconst VSCODE_FALLBACK_EDITOR_FG = { light: \"#333333\", dark: \"#bbbbbb\" };\nconst VSCODE_FALLBACK_EDITOR_BG = { light: \"#fffffe\", dark: \"#1e1e1e\" };\nconst RESOLVED_KEY = \"__shiki_resolved\";\nfunction normalizeTheme(rawTheme) {\n  if (rawTheme?.[RESOLVED_KEY])\n    return rawTheme;\n  const theme = {\n    ...rawTheme\n  };\n  if (theme.tokenColors && !theme.settings) {\n    theme.settings = theme.tokenColors;\n    delete theme.tokenColors;\n  }\n  theme.type ||= \"dark\";\n  theme.colorReplacements = { ...theme.colorReplacements };\n  theme.settings ||= [];\n  let { bg, fg } = theme;\n  if (!bg || !fg) {\n    const globalSetting = theme.settings ? theme.settings.find((s) => !s.name && !s.scope) : void 0;\n    if (globalSetting?.settings?.foreground)\n      fg = globalSetting.settings.foreground;\n    if (globalSetting?.settings?.background)\n      bg = globalSetting.settings.background;\n    if (!fg && theme?.colors?.[\"editor.foreground\"])\n      fg = theme.colors[\"editor.foreground\"];\n    if (!bg && theme?.colors?.[\"editor.background\"])\n      bg = theme.colors[\"editor.background\"];\n    if (!fg)\n      fg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_FG.light : VSCODE_FALLBACK_EDITOR_FG.dark;\n    if (!bg)\n      bg = theme.type === \"light\" ? VSCODE_FALLBACK_EDITOR_BG.light : VSCODE_FALLBACK_EDITOR_BG.dark;\n    theme.fg = fg;\n    theme.bg = bg;\n  }\n  if (!(theme.settings[0] && theme.settings[0].settings && !theme.settings[0].scope)) {\n    theme.settings.unshift({\n      settings: {\n        foreground: theme.fg,\n        background: theme.bg\n      }\n    });\n  }\n  let replacementCount = 0;\n  const replacementMap = /* @__PURE__ */ new Map();\n  function getReplacementColor(value) {\n    if (replacementMap.has(value))\n      return replacementMap.get(value);\n    replacementCount += 1;\n    const hex = `#${replacementCount.toString(16).padStart(8, \"0\").toLowerCase()}`;\n    if (theme.colorReplacements?.[`#${hex}`])\n      return getReplacementColor(value);\n    replacementMap.set(value, hex);\n    return hex;\n  }\n  theme.settings = theme.settings.map((setting) => {\n    const replaceFg = setting.settings?.foreground && !setting.settings.foreground.startsWith(\"#\");\n    const replaceBg = setting.settings?.background && !setting.settings.background.startsWith(\"#\");\n    if (!replaceFg && !replaceBg)\n      return setting;\n    const clone = {\n      ...setting,\n      settings: {\n        ...setting.settings\n      }\n    };\n    if (replaceFg) {\n      const replacement = getReplacementColor(setting.settings.foreground);\n      theme.colorReplacements[replacement] = setting.settings.foreground;\n      clone.settings.foreground = replacement;\n    }\n    if (replaceBg) {\n      const replacement = getReplacementColor(setting.settings.background);\n      theme.colorReplacements[replacement] = setting.settings.background;\n      clone.settings.background = replacement;\n    }\n    return clone;\n  });\n  for (const key of Object.keys(theme.colors || {})) {\n    if (key === \"editor.foreground\" || key === \"editor.background\" || key.startsWith(\"terminal.ansi\")) {\n      if (!theme.colors[key]?.startsWith(\"#\")) {\n        const replacement = getReplacementColor(theme.colors[key]);\n        theme.colorReplacements[replacement] = theme.colors[key];\n        theme.colors[key] = replacement;\n      }\n    }\n  }\n  Object.defineProperty(theme, RESOLVED_KEY, {\n    enumerable: false,\n    writable: false,\n    value: true\n  });\n  return theme;\n}\n\nasync function resolveLangs(langs) {\n  return Array.from(new Set((await Promise.all(\n    langs.filter((l) => !isSpecialLang(l)).map(async (lang) => await normalizeGetter(lang).then((r) => Array.isArray(r) ? r : [r]))\n  )).flat()));\n}\nasync function resolveThemes(themes) {\n  const resolved = await Promise.all(\n    themes.map(\n      async (theme) => isSpecialTheme(theme) ? null : normalizeTheme(await normalizeGetter(theme))\n    )\n  );\n  return resolved.filter((i) => !!i);\n}\n\nlet _emitDeprecation = 3;\nlet _emitError = false;\nfunction enableDeprecationWarnings(emitDeprecation = true, emitError = false) {\n  _emitDeprecation = emitDeprecation;\n  _emitError = emitError;\n}\nfunction warnDeprecated(message, version = 3) {\n  if (!_emitDeprecation)\n    return;\n  if (typeof _emitDeprecation === \"number\" && version > _emitDeprecation)\n    return;\n  if (_emitError) {\n    throw new Error(`[SHIKI DEPRECATE]: ${message}`);\n  } else {\n    console.trace(`[SHIKI DEPRECATE]: ${message}`);\n  }\n}\n\nclass ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nclass Registry extends Registry$1 {\n  constructor(_resolver, _themes, _langs, _alias = {}) {\n    super(_resolver);\n    this._resolver = _resolver;\n    this._themes = _themes;\n    this._langs = _langs;\n    this._alias = _alias;\n    this._themes.map((t) => this.loadTheme(t));\n    this.loadLanguages(this._langs);\n  }\n  _resolvedThemes = /* @__PURE__ */ new Map();\n  _resolvedGrammars = /* @__PURE__ */ new Map();\n  _langMap = /* @__PURE__ */ new Map();\n  _langGraph = /* @__PURE__ */ new Map();\n  _textmateThemeCache = /* @__PURE__ */ new WeakMap();\n  _loadedThemesCache = null;\n  _loadedLanguagesCache = null;\n  getTheme(theme) {\n    if (typeof theme === \"string\")\n      return this._resolvedThemes.get(theme);\n    else\n      return this.loadTheme(theme);\n  }\n  loadTheme(theme) {\n    const _theme = normalizeTheme(theme);\n    if (_theme.name) {\n      this._resolvedThemes.set(_theme.name, _theme);\n      this._loadedThemesCache = null;\n    }\n    return _theme;\n  }\n  getLoadedThemes() {\n    if (!this._loadedThemesCache)\n      this._loadedThemesCache = [...this._resolvedThemes.keys()];\n    return this._loadedThemesCache;\n  }\n  // Override and re-implement this method to cache the textmate themes as `TextMateTheme.createFromRawTheme`\n  // is expensive. Themes can switch often especially for dual-theme support.\n  //\n  // The parent class also accepts `colorMap` as the second parameter, but since we don't use that,\n  // we omit here so it's easier to cache the themes.\n  setTheme(theme) {\n    let textmateTheme = this._textmateThemeCache.get(theme);\n    if (!textmateTheme) {\n      textmateTheme = Theme.createFromRawTheme(theme);\n      this._textmateThemeCache.set(theme, textmateTheme);\n    }\n    this._syncRegistry.setTheme(textmateTheme);\n  }\n  getGrammar(name) {\n    if (this._alias[name]) {\n      const resolved = /* @__PURE__ */ new Set([name]);\n      while (this._alias[name]) {\n        name = this._alias[name];\n        if (resolved.has(name))\n          throw new ShikiError(`Circular alias \\`${Array.from(resolved).join(\" -> \")} -> ${name}\\``);\n        resolved.add(name);\n      }\n    }\n    return this._resolvedGrammars.get(name);\n  }\n  loadLanguage(lang) {\n    if (this.getGrammar(lang.name))\n      return;\n    const embeddedLazilyBy = new Set(\n      [...this._langMap.values()].filter((i) => i.embeddedLangsLazy?.includes(lang.name))\n    );\n    this._resolver.addLanguage(lang);\n    const grammarConfig = {\n      balancedBracketSelectors: lang.balancedBracketSelectors || [\"*\"],\n      unbalancedBracketSelectors: lang.unbalancedBracketSelectors || []\n    };\n    this._syncRegistry._rawGrammars.set(lang.scopeName, lang);\n    const g = this.loadGrammarWithConfiguration(lang.scopeName, 1, grammarConfig);\n    g.name = lang.name;\n    this._resolvedGrammars.set(lang.name, g);\n    if (lang.aliases) {\n      lang.aliases.forEach((alias) => {\n        this._alias[alias] = lang.name;\n      });\n    }\n    this._loadedLanguagesCache = null;\n    if (embeddedLazilyBy.size) {\n      for (const e of embeddedLazilyBy) {\n        this._resolvedGrammars.delete(e.name);\n        this._loadedLanguagesCache = null;\n        this._syncRegistry?._injectionGrammars?.delete(e.scopeName);\n        this._syncRegistry?._grammars?.delete(e.scopeName);\n        this.loadLanguage(this._langMap.get(e.name));\n      }\n    }\n  }\n  dispose() {\n    super.dispose();\n    this._resolvedThemes.clear();\n    this._resolvedGrammars.clear();\n    this._langMap.clear();\n    this._langGraph.clear();\n    this._loadedThemesCache = null;\n  }\n  loadLanguages(langs) {\n    for (const lang of langs)\n      this.resolveEmbeddedLanguages(lang);\n    const langsGraphArray = Array.from(this._langGraph.entries());\n    const missingLangs = langsGraphArray.filter(([_, lang]) => !lang);\n    if (missingLangs.length) {\n      const dependents = langsGraphArray.filter(([_, lang]) => lang && lang.embeddedLangs?.some((l) => missingLangs.map(([name]) => name).includes(l))).filter((lang) => !missingLangs.includes(lang));\n      throw new ShikiError(`Missing languages ${missingLangs.map(([name]) => `\\`${name}\\``).join(\", \")}, required by ${dependents.map(([name]) => `\\`${name}\\``).join(\", \")}`);\n    }\n    for (const [_, lang] of langsGraphArray)\n      this._resolver.addLanguage(lang);\n    for (const [_, lang] of langsGraphArray)\n      this.loadLanguage(lang);\n  }\n  getLoadedLanguages() {\n    if (!this._loadedLanguagesCache) {\n      this._loadedLanguagesCache = [\n        .../* @__PURE__ */ new Set([...this._resolvedGrammars.keys(), ...Object.keys(this._alias)])\n      ];\n    }\n    return this._loadedLanguagesCache;\n  }\n  resolveEmbeddedLanguages(lang) {\n    this._langMap.set(lang.name, lang);\n    this._langGraph.set(lang.name, lang);\n    if (lang.embeddedLangs) {\n      for (const embeddedLang of lang.embeddedLangs)\n        this._langGraph.set(embeddedLang, this._langMap.get(embeddedLang));\n    }\n  }\n}\n\nclass Resolver {\n  _langs = /* @__PURE__ */ new Map();\n  _scopeToLang = /* @__PURE__ */ new Map();\n  _injections = /* @__PURE__ */ new Map();\n  _onigLib;\n  constructor(engine, langs) {\n    this._onigLib = {\n      createOnigScanner: (patterns) => engine.createScanner(patterns),\n      createOnigString: (s) => engine.createString(s)\n    };\n    langs.forEach((i) => this.addLanguage(i));\n  }\n  get onigLib() {\n    return this._onigLib;\n  }\n  getLangRegistration(langIdOrAlias) {\n    return this._langs.get(langIdOrAlias);\n  }\n  loadGrammar(scopeName) {\n    return this._scopeToLang.get(scopeName);\n  }\n  addLanguage(l) {\n    this._langs.set(l.name, l);\n    if (l.aliases) {\n      l.aliases.forEach((a) => {\n        this._langs.set(a, l);\n      });\n    }\n    this._scopeToLang.set(l.scopeName, l);\n    if (l.injectTo) {\n      l.injectTo.forEach((i) => {\n        if (!this._injections.get(i))\n          this._injections.set(i, []);\n        this._injections.get(i).push(l.scopeName);\n      });\n    }\n  }\n  getInjections(scopeName) {\n    const scopeParts = scopeName.split(\".\");\n    let injections = [];\n    for (let i = 1; i <= scopeParts.length; i++) {\n      const subScopeName = scopeParts.slice(0, i).join(\".\");\n      injections = [...injections, ...this._injections.get(subScopeName) || []];\n    }\n    return injections;\n  }\n}\n\nlet instancesCount = 0;\nfunction createShikiInternalSync(options) {\n  instancesCount += 1;\n  if (options.warnings !== false && instancesCount >= 10 && instancesCount % 10 === 0)\n    console.warn(`[Shiki] ${instancesCount} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \\`highlighter.dispose()\\` to release unused instances.`);\n  let isDisposed = false;\n  if (!options.engine)\n    throw new ShikiError(\"`engine` option is required for synchronous mode\");\n  const langs = (options.langs || []).flat(1);\n  const themes = (options.themes || []).flat(1).map(normalizeTheme);\n  const resolver = new Resolver(options.engine, langs);\n  const _registry = new Registry(resolver, themes, langs, options.langAlias);\n  let _lastTheme;\n  function getLanguage(name) {\n    ensureNotDisposed();\n    const _lang = _registry.getGrammar(typeof name === \"string\" ? name : name.name);\n    if (!_lang)\n      throw new ShikiError(`Language \\`${name}\\` not found, you may need to load it first`);\n    return _lang;\n  }\n  function getTheme(name) {\n    if (name === \"none\")\n      return { bg: \"\", fg: \"\", name: \"none\", settings: [], type: \"dark\" };\n    ensureNotDisposed();\n    const _theme = _registry.getTheme(name);\n    if (!_theme)\n      throw new ShikiError(`Theme \\`${name}\\` not found, you may need to load it first`);\n    return _theme;\n  }\n  function setTheme(name) {\n    ensureNotDisposed();\n    const theme = getTheme(name);\n    if (_lastTheme !== name) {\n      _registry.setTheme(theme);\n      _lastTheme = name;\n    }\n    const colorMap = _registry.getColorMap();\n    return {\n      theme,\n      colorMap\n    };\n  }\n  function getLoadedThemes() {\n    ensureNotDisposed();\n    return _registry.getLoadedThemes();\n  }\n  function getLoadedLanguages() {\n    ensureNotDisposed();\n    return _registry.getLoadedLanguages();\n  }\n  function loadLanguageSync(...langs2) {\n    ensureNotDisposed();\n    _registry.loadLanguages(langs2.flat(1));\n  }\n  async function loadLanguage(...langs2) {\n    return loadLanguageSync(await resolveLangs(langs2));\n  }\n  function loadThemeSync(...themes2) {\n    ensureNotDisposed();\n    for (const theme of themes2.flat(1)) {\n      _registry.loadTheme(theme);\n    }\n  }\n  async function loadTheme(...themes2) {\n    ensureNotDisposed();\n    return loadThemeSync(await resolveThemes(themes2));\n  }\n  function ensureNotDisposed() {\n    if (isDisposed)\n      throw new ShikiError(\"Shiki instance has been disposed\");\n  }\n  function dispose() {\n    if (isDisposed)\n      return;\n    isDisposed = true;\n    _registry.dispose();\n    instancesCount -= 1;\n  }\n  return {\n    setTheme,\n    getTheme,\n    getLanguage,\n    getLoadedThemes,\n    getLoadedLanguages,\n    loadLanguage,\n    loadLanguageSync,\n    loadTheme,\n    loadThemeSync,\n    dispose,\n    [Symbol.dispose]: dispose\n  };\n}\n\nasync function createShikiInternal(options) {\n  if (!options.engine) {\n    warnDeprecated(\"`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.\");\n  }\n  const [\n    themes,\n    langs,\n    engine\n  ] = await Promise.all([\n    resolveThemes(options.themes || []),\n    resolveLangs(options.langs || []),\n    options.engine\n  ]);\n  return createShikiInternalSync({\n    ...options,\n    themes,\n    langs,\n    engine\n  });\n}\n\nasync function createHighlighterCore(options) {\n  const internal = await createShikiInternal(options);\n  return {\n    getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n    codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n    codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n    codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n    codeToHast: (code, options2) => codeToHast(internal, code, options2),\n    codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n    getBundledLanguages: () => ({}),\n    getBundledThemes: () => ({}),\n    ...internal,\n    getInternalContext: () => internal\n  };\n}\nfunction createHighlighterCoreSync(options) {\n  const internal = createShikiInternalSync(options);\n  return {\n    getLastGrammarState: (...args) => getLastGrammarState(internal, ...args),\n    codeToTokensBase: (code, options2) => codeToTokensBase(internal, code, options2),\n    codeToTokensWithThemes: (code, options2) => codeToTokensWithThemes(internal, code, options2),\n    codeToTokens: (code, options2) => codeToTokens(internal, code, options2),\n    codeToHast: (code, options2) => codeToHast(internal, code, options2),\n    codeToHtml: (code, options2) => codeToHtml(internal, code, options2),\n    getBundledLanguages: () => ({}),\n    getBundledThemes: () => ({}),\n    ...internal,\n    getInternalContext: () => internal\n  };\n}\nfunction makeSingletonHighlighterCore(createHighlighter) {\n  let _shiki;\n  async function getSingletonHighlighterCore2(options) {\n    if (!_shiki) {\n      _shiki = createHighlighter({\n        ...options,\n        themes: options.themes || [],\n        langs: options.langs || []\n      });\n      return _shiki;\n    } else {\n      const s = await _shiki;\n      await Promise.all([\n        s.loadTheme(...options.themes || []),\n        s.loadLanguage(...options.langs || [])\n      ]);\n      return s;\n    }\n  }\n  return getSingletonHighlighterCore2;\n}\nconst getSingletonHighlighterCore = /* @__PURE__ */ makeSingletonHighlighterCore(createHighlighterCore);\n\nfunction createdBundledHighlighter(options) {\n  const bundledLanguages = options.langs;\n  const bundledThemes = options.themes;\n  const engine = options.engine;\n  async function createHighlighter(options2) {\n    function resolveLang(lang) {\n      if (typeof lang === \"string\") {\n        if (isSpecialLang(lang))\n          return [];\n        lang = options2.langAlias?.[lang] || lang;\n        const bundle = bundledLanguages[lang];\n        if (!bundle)\n          throw new ShikiError$1(`Language \\`${lang}\\` is not included in this bundle. You may want to load it from external source.`);\n        return bundle;\n      }\n      return lang;\n    }\n    function resolveTheme(theme) {\n      if (isSpecialTheme(theme))\n        return \"none\";\n      if (typeof theme === \"string\") {\n        const bundle = bundledThemes[theme];\n        if (!bundle)\n          throw new ShikiError$1(`Theme \\`${theme}\\` is not included in this bundle. You may want to load it from external source.`);\n        return bundle;\n      }\n      return theme;\n    }\n    const _themes = (options2.themes ?? []).map((i) => resolveTheme(i));\n    const langs = (options2.langs ?? []).map((i) => resolveLang(i));\n    const core = await createHighlighterCore({\n      engine: options2.engine ?? engine(),\n      ...options2,\n      themes: _themes,\n      langs\n    });\n    return {\n      ...core,\n      loadLanguage(...langs2) {\n        return core.loadLanguage(...langs2.map(resolveLang));\n      },\n      loadTheme(...themes) {\n        return core.loadTheme(...themes.map(resolveTheme));\n      },\n      getBundledLanguages() {\n        return bundledLanguages;\n      },\n      getBundledThemes() {\n        return bundledThemes;\n      }\n    };\n  }\n  return createHighlighter;\n}\nfunction makeSingletonHighlighter(createHighlighter) {\n  let _shiki;\n  async function getSingletonHighlighter(options = {}) {\n    if (!_shiki) {\n      _shiki = createHighlighter({\n        ...options,\n        themes: options.themes || [],\n        langs: options.langs || []\n      });\n      return _shiki;\n    } else {\n      const s = await _shiki;\n      await Promise.all([\n        s.loadTheme(...options.themes || []),\n        s.loadLanguage(...options.langs || [])\n      ]);\n      return s;\n    }\n  }\n  return getSingletonHighlighter;\n}\nfunction createSingletonShorthands(createHighlighter, config) {\n  const getSingletonHighlighter = makeSingletonHighlighter(createHighlighter);\n  async function get(code, options) {\n    const shiki = await getSingletonHighlighter({\n      langs: [options.lang],\n      themes: \"theme\" in options ? [options.theme] : Object.values(options.themes)\n    });\n    const langs = await config?.guessEmbeddedLanguages?.(code, options.lang, shiki);\n    if (langs) {\n      await shiki.loadLanguage(...langs);\n    }\n    return shiki;\n  }\n  return {\n    getSingletonHighlighter(options) {\n      return getSingletonHighlighter(options);\n    },\n    async codeToHtml(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToHtml(code, options);\n    },\n    async codeToHast(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToHast(code, options);\n    },\n    async codeToTokens(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToTokens(code, options);\n    },\n    async codeToTokensBase(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToTokensBase(code, options);\n    },\n    async codeToTokensWithThemes(code, options) {\n      const shiki = await get(code, options);\n      return shiki.codeToTokensWithThemes(code, options);\n    },\n    async getLastGrammarState(code, options) {\n      const shiki = await getSingletonHighlighter({\n        langs: [options.lang],\n        themes: [options.theme]\n      });\n      return shiki.getLastGrammarState(code, options);\n    }\n  };\n}\n\nfunction createCssVariablesTheme(options = {}) {\n  const {\n    name = \"css-variables\",\n    variablePrefix = \"--shiki-\",\n    fontStyle = true\n  } = options;\n  const variable = (name2) => {\n    if (options.variableDefaults?.[name2])\n      return `var(${variablePrefix}${name2}, ${options.variableDefaults[name2]})`;\n    return `var(${variablePrefix}${name2})`;\n  };\n  const theme = {\n    name,\n    type: \"dark\",\n    colors: {\n      \"editor.foreground\": variable(\"foreground\"),\n      \"editor.background\": variable(\"background\"),\n      \"terminal.ansiBlack\": variable(\"ansi-black\"),\n      \"terminal.ansiRed\": variable(\"ansi-red\"),\n      \"terminal.ansiGreen\": variable(\"ansi-green\"),\n      \"terminal.ansiYellow\": variable(\"ansi-yellow\"),\n      \"terminal.ansiBlue\": variable(\"ansi-blue\"),\n      \"terminal.ansiMagenta\": variable(\"ansi-magenta\"),\n      \"terminal.ansiCyan\": variable(\"ansi-cyan\"),\n      \"terminal.ansiWhite\": variable(\"ansi-white\"),\n      \"terminal.ansiBrightBlack\": variable(\"ansi-bright-black\"),\n      \"terminal.ansiBrightRed\": variable(\"ansi-bright-red\"),\n      \"terminal.ansiBrightGreen\": variable(\"ansi-bright-green\"),\n      \"terminal.ansiBrightYellow\": variable(\"ansi-bright-yellow\"),\n      \"terminal.ansiBrightBlue\": variable(\"ansi-bright-blue\"),\n      \"terminal.ansiBrightMagenta\": variable(\"ansi-bright-magenta\"),\n      \"terminal.ansiBrightCyan\": variable(\"ansi-bright-cyan\"),\n      \"terminal.ansiBrightWhite\": variable(\"ansi-bright-white\")\n    },\n    tokenColors: [\n      {\n        scope: [\n          \"keyword.operator.accessor\",\n          \"meta.group.braces.round.function.arguments\",\n          \"meta.template.expression\",\n          \"markup.fenced_code meta.embedded.block\"\n        ],\n        settings: {\n          foreground: variable(\"foreground\")\n        }\n      },\n      {\n        scope: \"emphasis\",\n        settings: {\n          fontStyle: \"italic\"\n        }\n      },\n      {\n        scope: [\"strong\", \"markup.heading.markdown\", \"markup.bold.markdown\"],\n        settings: {\n          fontStyle: \"bold\"\n        }\n      },\n      {\n        scope: [\"markup.italic.markdown\"],\n        settings: {\n          fontStyle: \"italic\"\n        }\n      },\n      {\n        scope: \"meta.link.inline.markdown\",\n        settings: {\n          fontStyle: \"underline\",\n          foreground: variable(\"token-link\")\n        }\n      },\n      {\n        scope: [\"string\", \"markup.fenced_code\", \"markup.inline\"],\n        settings: {\n          foreground: variable(\"token-string\")\n        }\n      },\n      {\n        scope: [\"comment\", \"string.quoted.docstring.multi\"],\n        settings: {\n          foreground: variable(\"token-comment\")\n        }\n      },\n      {\n        scope: [\n          \"constant.numeric\",\n          \"constant.language\",\n          \"constant.other.placeholder\",\n          \"constant.character.format.placeholder\",\n          \"variable.language.this\",\n          \"variable.other.object\",\n          \"variable.other.class\",\n          \"variable.other.constant\",\n          \"meta.property-name\",\n          \"meta.property-value\",\n          \"support\"\n        ],\n        settings: {\n          foreground: variable(\"token-constant\")\n        }\n      },\n      {\n        scope: [\n          \"keyword\",\n          \"storage.modifier\",\n          \"storage.type\",\n          \"storage.control.clojure\",\n          \"entity.name.function.clojure\",\n          \"entity.name.tag.yaml\",\n          \"support.function.node\",\n          \"support.type.property-name.json\",\n          \"punctuation.separator.key-value\",\n          \"punctuation.definition.template-expression\"\n        ],\n        settings: {\n          foreground: variable(\"token-keyword\")\n        }\n      },\n      {\n        scope: \"variable.parameter.function\",\n        settings: {\n          foreground: variable(\"token-parameter\")\n        }\n      },\n      {\n        scope: [\n          \"support.function\",\n          \"entity.name.type\",\n          \"entity.other.inherited-class\",\n          \"meta.function-call\",\n          \"meta.instance.constructor\",\n          \"entity.other.attribute-name\",\n          \"entity.name.function\",\n          \"constant.keyword.clojure\"\n        ],\n        settings: {\n          foreground: variable(\"token-function\")\n        }\n      },\n      {\n        scope: [\n          \"entity.name.tag\",\n          \"string.quoted\",\n          \"string.regexp\",\n          \"string.interpolated\",\n          \"string.template\",\n          \"string.unquoted.plain.out.yaml\",\n          \"keyword.other.template\"\n        ],\n        settings: {\n          foreground: variable(\"token-string-expression\")\n        }\n      },\n      {\n        scope: [\n          \"punctuation.definition.arguments\",\n          \"punctuation.definition.dict\",\n          \"punctuation.separator\",\n          \"meta.function-call.arguments\"\n        ],\n        settings: {\n          foreground: variable(\"token-punctuation\")\n        }\n      },\n      {\n        // [Custom] Markdown links\n        scope: [\n          \"markup.underline.link\",\n          \"punctuation.definition.metadata.markdown\"\n        ],\n        settings: {\n          foreground: variable(\"token-link\")\n        }\n      },\n      {\n        // [Custom] Markdown list\n        scope: [\"beginning.punctuation.definition.list.markdown\"],\n        settings: {\n          foreground: variable(\"token-string\")\n        }\n      },\n      {\n        // [Custom] Markdown punctuation definition brackets\n        scope: [\n          \"punctuation.definition.string.begin.markdown\",\n          \"punctuation.definition.string.end.markdown\",\n          \"string.other.link.title.markdown\",\n          \"string.other.link.description.markdown\"\n        ],\n        settings: {\n          foreground: variable(\"token-keyword\")\n        }\n      },\n      {\n        // [Custom] Diff\n        scope: [\n          \"markup.inserted\",\n          \"meta.diff.header.to-file\",\n          \"punctuation.definition.inserted\"\n        ],\n        settings: {\n          foreground: variable(\"token-inserted\")\n        }\n      },\n      {\n        scope: [\n          \"markup.deleted\",\n          \"meta.diff.header.from-file\",\n          \"punctuation.definition.deleted\"\n        ],\n        settings: {\n          foreground: variable(\"token-deleted\")\n        }\n      },\n      {\n        scope: [\n          \"markup.changed\",\n          \"punctuation.definition.changed\"\n        ],\n        settings: {\n          foreground: variable(\"token-changed\")\n        }\n      }\n    ]\n  };\n  if (!fontStyle) {\n    theme.tokenColors = theme.tokenColors?.map((tokenColor) => {\n      if (tokenColor.settings?.fontStyle)\n        delete tokenColor.settings.fontStyle;\n      return tokenColor;\n    });\n  }\n  return theme;\n}\n\nexport { addClassToHast, applyColorReplacements, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createCssVariablesTheme, createHighlighterCore, createHighlighterCoreSync, createPositionConverter, createShikiInternal, createShikiInternalSync, createSingletonShorthands, createdBundledHighlighter, enableDeprecationWarnings, flatTokenVariants, getSingletonHighlighterCore, getTokenStyleObject, guessEmbeddedLanguages, hastToHtml, isNoneTheme, isPlainLang, isSpecialLang, isSpecialTheme, makeSingletonHighlighter, makeSingletonHighlighterCore, normalizeGetter, normalizeTheme, resolveColorReplacements, splitLines, splitToken, splitTokens, stringifyTokenStyle, toArray, tokenizeAnsiWithTheme, tokenizeWithTheme, tokensToHast, transformerDecorations, warnDeprecated };\n","const bundledThemesInfo = [\n  {\n    \"id\": \"andromeeda\",\n    \"displayName\": \"Andromeeda\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/andromeeda'))\n  },\n  {\n    \"id\": \"aurora-x\",\n    \"displayName\": \"Aurora X\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/aurora-x'))\n  },\n  {\n    \"id\": \"ayu-dark\",\n    \"displayName\": \"Ayu Dark\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/ayu-dark'))\n  },\n  {\n    \"id\": \"catppuccin-frappe\",\n    \"displayName\": \"Catppuccin Frapp\\xE9\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/catppuccin-frappe'))\n  },\n  {\n    \"id\": \"catppuccin-latte\",\n    \"displayName\": \"Catppuccin Latte\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/catppuccin-latte'))\n  },\n  {\n    \"id\": \"catppuccin-macchiato\",\n    \"displayName\": \"Catppuccin Macchiato\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/catppuccin-macchiato'))\n  },\n  {\n    \"id\": \"catppuccin-mocha\",\n    \"displayName\": \"Catppuccin Mocha\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/catppuccin-mocha'))\n  },\n  {\n    \"id\": \"dark-plus\",\n    \"displayName\": \"Dark Plus\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/dark-plus'))\n  },\n  {\n    \"id\": \"dracula\",\n    \"displayName\": \"Dracula Theme\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/dracula'))\n  },\n  {\n    \"id\": \"dracula-soft\",\n    \"displayName\": \"Dracula Theme Soft\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/dracula-soft'))\n  },\n  {\n    \"id\": \"everforest-dark\",\n    \"displayName\": \"Everforest Dark\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/everforest-dark'))\n  },\n  {\n    \"id\": \"everforest-light\",\n    \"displayName\": \"Everforest Light\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/everforest-light'))\n  },\n  {\n    \"id\": \"github-dark\",\n    \"displayName\": \"GitHub Dark\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/github-dark'))\n  },\n  {\n    \"id\": \"github-dark-default\",\n    \"displayName\": \"GitHub Dark Default\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/github-dark-default'))\n  },\n  {\n    \"id\": \"github-dark-dimmed\",\n    \"displayName\": \"GitHub Dark Dimmed\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/github-dark-dimmed'))\n  },\n  {\n    \"id\": \"github-dark-high-contrast\",\n    \"displayName\": \"GitHub Dark High Contrast\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/github-dark-high-contrast'))\n  },\n  {\n    \"id\": \"github-light\",\n    \"displayName\": \"GitHub Light\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/github-light'))\n  },\n  {\n    \"id\": \"github-light-default\",\n    \"displayName\": \"GitHub Light Default\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/github-light-default'))\n  },\n  {\n    \"id\": \"github-light-high-contrast\",\n    \"displayName\": \"GitHub Light High Contrast\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/github-light-high-contrast'))\n  },\n  {\n    \"id\": \"gruvbox-dark-hard\",\n    \"displayName\": \"Gruvbox Dark Hard\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/gruvbox-dark-hard'))\n  },\n  {\n    \"id\": \"gruvbox-dark-medium\",\n    \"displayName\": \"Gruvbox Dark Medium\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/gruvbox-dark-medium'))\n  },\n  {\n    \"id\": \"gruvbox-dark-soft\",\n    \"displayName\": \"Gruvbox Dark Soft\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/gruvbox-dark-soft'))\n  },\n  {\n    \"id\": \"gruvbox-light-hard\",\n    \"displayName\": \"Gruvbox Light Hard\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/gruvbox-light-hard'))\n  },\n  {\n    \"id\": \"gruvbox-light-medium\",\n    \"displayName\": \"Gruvbox Light Medium\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/gruvbox-light-medium'))\n  },\n  {\n    \"id\": \"gruvbox-light-soft\",\n    \"displayName\": \"Gruvbox Light Soft\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/gruvbox-light-soft'))\n  },\n  {\n    \"id\": \"houston\",\n    \"displayName\": \"Houston\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/houston'))\n  },\n  {\n    \"id\": \"kanagawa-dragon\",\n    \"displayName\": \"Kanagawa Dragon\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/kanagawa-dragon'))\n  },\n  {\n    \"id\": \"kanagawa-lotus\",\n    \"displayName\": \"Kanagawa Lotus\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/kanagawa-lotus'))\n  },\n  {\n    \"id\": \"kanagawa-wave\",\n    \"displayName\": \"Kanagawa Wave\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/kanagawa-wave'))\n  },\n  {\n    \"id\": \"laserwave\",\n    \"displayName\": \"LaserWave\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/laserwave'))\n  },\n  {\n    \"id\": \"light-plus\",\n    \"displayName\": \"Light Plus\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/light-plus'))\n  },\n  {\n    \"id\": \"material-theme\",\n    \"displayName\": \"Material Theme\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/material-theme'))\n  },\n  {\n    \"id\": \"material-theme-darker\",\n    \"displayName\": \"Material Theme Darker\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/material-theme-darker'))\n  },\n  {\n    \"id\": \"material-theme-lighter\",\n    \"displayName\": \"Material Theme Lighter\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/material-theme-lighter'))\n  },\n  {\n    \"id\": \"material-theme-ocean\",\n    \"displayName\": \"Material Theme Ocean\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/material-theme-ocean'))\n  },\n  {\n    \"id\": \"material-theme-palenight\",\n    \"displayName\": \"Material Theme Palenight\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/material-theme-palenight'))\n  },\n  {\n    \"id\": \"min-dark\",\n    \"displayName\": \"Min Dark\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/min-dark'))\n  },\n  {\n    \"id\": \"min-light\",\n    \"displayName\": \"Min Light\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/min-light'))\n  },\n  {\n    \"id\": \"monokai\",\n    \"displayName\": \"Monokai\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/monokai'))\n  },\n  {\n    \"id\": \"night-owl\",\n    \"displayName\": \"Night Owl\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/night-owl'))\n  },\n  {\n    \"id\": \"nord\",\n    \"displayName\": \"Nord\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/nord'))\n  },\n  {\n    \"id\": \"one-dark-pro\",\n    \"displayName\": \"One Dark Pro\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/one-dark-pro'))\n  },\n  {\n    \"id\": \"one-light\",\n    \"displayName\": \"One Light\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/one-light'))\n  },\n  {\n    \"id\": \"plastic\",\n    \"displayName\": \"Plastic\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/plastic'))\n  },\n  {\n    \"id\": \"poimandres\",\n    \"displayName\": \"Poimandres\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/poimandres'))\n  },\n  {\n    \"id\": \"red\",\n    \"displayName\": \"Red\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/red'))\n  },\n  {\n    \"id\": \"rose-pine\",\n    \"displayName\": \"Ros\\xE9 Pine\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/rose-pine'))\n  },\n  {\n    \"id\": \"rose-pine-dawn\",\n    \"displayName\": \"Ros\\xE9 Pine Dawn\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/rose-pine-dawn'))\n  },\n  {\n    \"id\": \"rose-pine-moon\",\n    \"displayName\": \"Ros\\xE9 Pine Moon\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/rose-pine-moon'))\n  },\n  {\n    \"id\": \"slack-dark\",\n    \"displayName\": \"Slack Dark\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/slack-dark'))\n  },\n  {\n    \"id\": \"slack-ochin\",\n    \"displayName\": \"Slack Ochin\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/slack-ochin'))\n  },\n  {\n    \"id\": \"snazzy-light\",\n    \"displayName\": \"Snazzy Light\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/snazzy-light'))\n  },\n  {\n    \"id\": \"solarized-dark\",\n    \"displayName\": \"Solarized Dark\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/solarized-dark'))\n  },\n  {\n    \"id\": \"solarized-light\",\n    \"displayName\": \"Solarized Light\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/solarized-light'))\n  },\n  {\n    \"id\": \"synthwave-84\",\n    \"displayName\": \"Synthwave '84\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/synthwave-84'))\n  },\n  {\n    \"id\": \"tokyo-night\",\n    \"displayName\": \"Tokyo Night\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/tokyo-night'))\n  },\n  {\n    \"id\": \"vesper\",\n    \"displayName\": \"Vesper\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/vesper'))\n  },\n  {\n    \"id\": \"vitesse-black\",\n    \"displayName\": \"Vitesse Black\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/vitesse-black'))\n  },\n  {\n    \"id\": \"vitesse-dark\",\n    \"displayName\": \"Vitesse Dark\",\n    \"type\": \"dark\",\n    \"import\": (() => import('@shikijs/themes/vitesse-dark'))\n  },\n  {\n    \"id\": \"vitesse-light\",\n    \"displayName\": \"Vitesse Light\",\n    \"type\": \"light\",\n    \"import\": (() => import('@shikijs/themes/vitesse-light'))\n  }\n];\nconst bundledThemes = Object.fromEntries(bundledThemesInfo.map((i) => [i.id, i.import]));\n\nexport { bundledThemes, bundledThemesInfo };\n","class ShikiError extends Error {\n  constructor(message) {\n    super(message);\n    this.name = \"ShikiError\";\n  }\n}\n\nfunction getHeapMax() {\n  return 2147483648;\n}\nfunction _emscripten_get_now() {\n  return typeof performance !== \"undefined\" ? performance.now() : Date.now();\n}\nconst alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple;\nasync function main(init) {\n  let wasmMemory;\n  let buffer;\n  const binding = {};\n  function updateGlobalBufferAndViews(buf) {\n    buffer = buf;\n    binding.HEAPU8 = new Uint8Array(buf);\n    binding.HEAPU32 = new Uint32Array(buf);\n  }\n  function _emscripten_memcpy_big(dest, src, num) {\n    binding.HEAPU8.copyWithin(dest, src, src + num);\n  }\n  function emscripten_realloc_buffer(size) {\n    try {\n      wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);\n      updateGlobalBufferAndViews(wasmMemory.buffer);\n      return 1;\n    } catch {\n    }\n  }\n  function _emscripten_resize_heap(requestedSize) {\n    const oldSize = binding.HEAPU8.length;\n    requestedSize = requestedSize >>> 0;\n    const maxHeapSize = getHeapMax();\n    if (requestedSize > maxHeapSize)\n      return false;\n    for (let cutDown = 1; cutDown <= 4; cutDown *= 2) {\n      let overGrownHeapSize = oldSize * (1 + 0.2 / cutDown);\n      overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296);\n      const newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536));\n      const replacement = emscripten_realloc_buffer(newSize);\n      if (replacement)\n        return true;\n    }\n    return false;\n  }\n  const UTF8Decoder = typeof TextDecoder != \"undefined\" ? new TextDecoder(\"utf8\") : void 0;\n  function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead = 1024) {\n    const endIdx = idx + maxBytesToRead;\n    let endPtr = idx;\n    while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;\n    if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {\n      return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));\n    }\n    let str = \"\";\n    while (idx < endPtr) {\n      let u0 = heapOrArray[idx++];\n      if (!(u0 & 128)) {\n        str += String.fromCharCode(u0);\n        continue;\n      }\n      const u1 = heapOrArray[idx++] & 63;\n      if ((u0 & 224) === 192) {\n        str += String.fromCharCode((u0 & 31) << 6 | u1);\n        continue;\n      }\n      const u2 = heapOrArray[idx++] & 63;\n      if ((u0 & 240) === 224) {\n        u0 = (u0 & 15) << 12 | u1 << 6 | u2;\n      } else {\n        u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;\n      }\n      if (u0 < 65536) {\n        str += String.fromCharCode(u0);\n      } else {\n        const ch = u0 - 65536;\n        str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);\n      }\n    }\n    return str;\n  }\n  function UTF8ToString(ptr, maxBytesToRead) {\n    return ptr ? UTF8ArrayToString(binding.HEAPU8, ptr, maxBytesToRead) : \"\";\n  }\n  const asmLibraryArg = {\n    emscripten_get_now: _emscripten_get_now,\n    emscripten_memcpy_big: _emscripten_memcpy_big,\n    emscripten_resize_heap: _emscripten_resize_heap,\n    fd_write: () => 0\n  };\n  async function createWasm() {\n    const info = {\n      env: asmLibraryArg,\n      wasi_snapshot_preview1: asmLibraryArg\n    };\n    const exports = await init(info);\n    wasmMemory = exports.memory;\n    updateGlobalBufferAndViews(wasmMemory.buffer);\n    Object.assign(binding, exports);\n    binding.UTF8ToString = UTF8ToString;\n  }\n  await createWasm();\n  return binding;\n}\n\nvar __defProp = Object.defineProperty;\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nlet onigBinding = null;\nfunction throwLastOnigError(onigBinding2) {\n  throw new ShikiError(onigBinding2.UTF8ToString(onigBinding2.getLastOnigError()));\n}\nclass UtfString {\n  constructor(str) {\n    __publicField(this, \"utf16Length\");\n    __publicField(this, \"utf8Length\");\n    __publicField(this, \"utf16Value\");\n    __publicField(this, \"utf8Value\");\n    __publicField(this, \"utf16OffsetToUtf8\");\n    __publicField(this, \"utf8OffsetToUtf16\");\n    const utf16Length = str.length;\n    const utf8Length = UtfString._utf8ByteLength(str);\n    const computeIndicesMapping = utf8Length !== utf16Length;\n    const utf16OffsetToUtf8 = computeIndicesMapping ? new Uint32Array(utf16Length + 1) : null;\n    if (computeIndicesMapping)\n      utf16OffsetToUtf8[utf16Length] = utf8Length;\n    const utf8OffsetToUtf16 = computeIndicesMapping ? new Uint32Array(utf8Length + 1) : null;\n    if (computeIndicesMapping)\n      utf8OffsetToUtf16[utf8Length] = utf16Length;\n    const utf8Value = new Uint8Array(utf8Length);\n    let i8 = 0;\n    for (let i16 = 0; i16 < utf16Length; i16++) {\n      const charCode = str.charCodeAt(i16);\n      let codePoint = charCode;\n      let wasSurrogatePair = false;\n      if (charCode >= 55296 && charCode <= 56319) {\n        if (i16 + 1 < utf16Length) {\n          const nextCharCode = str.charCodeAt(i16 + 1);\n          if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n            codePoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n            wasSurrogatePair = true;\n          }\n        }\n      }\n      if (computeIndicesMapping) {\n        utf16OffsetToUtf8[i16] = i8;\n        if (wasSurrogatePair)\n          utf16OffsetToUtf8[i16 + 1] = i8;\n        if (codePoint <= 127) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n        } else if (codePoint <= 2047) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n        } else if (codePoint <= 65535) {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n          utf8OffsetToUtf16[i8 + 2] = i16;\n        } else {\n          utf8OffsetToUtf16[i8 + 0] = i16;\n          utf8OffsetToUtf16[i8 + 1] = i16;\n          utf8OffsetToUtf16[i8 + 2] = i16;\n          utf8OffsetToUtf16[i8 + 3] = i16;\n        }\n      }\n      if (codePoint <= 127) {\n        utf8Value[i8++] = codePoint;\n      } else if (codePoint <= 2047) {\n        utf8Value[i8++] = 192 | (codePoint & 1984) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      } else if (codePoint <= 65535) {\n        utf8Value[i8++] = 224 | (codePoint & 61440) >>> 12;\n        utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      } else {\n        utf8Value[i8++] = 240 | (codePoint & 1835008) >>> 18;\n        utf8Value[i8++] = 128 | (codePoint & 258048) >>> 12;\n        utf8Value[i8++] = 128 | (codePoint & 4032) >>> 6;\n        utf8Value[i8++] = 128 | (codePoint & 63) >>> 0;\n      }\n      if (wasSurrogatePair)\n        i16++;\n    }\n    this.utf16Length = utf16Length;\n    this.utf8Length = utf8Length;\n    this.utf16Value = str;\n    this.utf8Value = utf8Value;\n    this.utf16OffsetToUtf8 = utf16OffsetToUtf8;\n    this.utf8OffsetToUtf16 = utf8OffsetToUtf16;\n  }\n  static _utf8ByteLength(str) {\n    let result = 0;\n    for (let i = 0, len = str.length; i < len; i++) {\n      const charCode = str.charCodeAt(i);\n      let codepoint = charCode;\n      let wasSurrogatePair = false;\n      if (charCode >= 55296 && charCode <= 56319) {\n        if (i + 1 < len) {\n          const nextCharCode = str.charCodeAt(i + 1);\n          if (nextCharCode >= 56320 && nextCharCode <= 57343) {\n            codepoint = (charCode - 55296 << 10) + 65536 | nextCharCode - 56320;\n            wasSurrogatePair = true;\n          }\n        }\n      }\n      if (codepoint <= 127)\n        result += 1;\n      else if (codepoint <= 2047)\n        result += 2;\n      else if (codepoint <= 65535)\n        result += 3;\n      else\n        result += 4;\n      if (wasSurrogatePair)\n        i++;\n    }\n    return result;\n  }\n  createString(onigBinding2) {\n    const result = onigBinding2.omalloc(this.utf8Length);\n    onigBinding2.HEAPU8.set(this.utf8Value, result);\n    return result;\n  }\n}\nconst _OnigString = class _OnigString {\n  constructor(str) {\n    __publicField(this, \"id\", ++_OnigString.LAST_ID);\n    __publicField(this, \"_onigBinding\");\n    __publicField(this, \"content\");\n    __publicField(this, \"utf16Length\");\n    __publicField(this, \"utf8Length\");\n    __publicField(this, \"utf16OffsetToUtf8\");\n    __publicField(this, \"utf8OffsetToUtf16\");\n    __publicField(this, \"ptr\");\n    if (!onigBinding)\n      throw new ShikiError(\"Must invoke loadWasm first.\");\n    this._onigBinding = onigBinding;\n    this.content = str;\n    const utfString = new UtfString(str);\n    this.utf16Length = utfString.utf16Length;\n    this.utf8Length = utfString.utf8Length;\n    this.utf16OffsetToUtf8 = utfString.utf16OffsetToUtf8;\n    this.utf8OffsetToUtf16 = utfString.utf8OffsetToUtf16;\n    if (this.utf8Length < 1e4 && !_OnigString._sharedPtrInUse) {\n      if (!_OnigString._sharedPtr)\n        _OnigString._sharedPtr = onigBinding.omalloc(1e4);\n      _OnigString._sharedPtrInUse = true;\n      onigBinding.HEAPU8.set(utfString.utf8Value, _OnigString._sharedPtr);\n      this.ptr = _OnigString._sharedPtr;\n    } else {\n      this.ptr = utfString.createString(onigBinding);\n    }\n  }\n  convertUtf8OffsetToUtf16(utf8Offset) {\n    if (this.utf8OffsetToUtf16) {\n      if (utf8Offset < 0)\n        return 0;\n      if (utf8Offset > this.utf8Length)\n        return this.utf16Length;\n      return this.utf8OffsetToUtf16[utf8Offset];\n    }\n    return utf8Offset;\n  }\n  convertUtf16OffsetToUtf8(utf16Offset) {\n    if (this.utf16OffsetToUtf8) {\n      if (utf16Offset < 0)\n        return 0;\n      if (utf16Offset > this.utf16Length)\n        return this.utf8Length;\n      return this.utf16OffsetToUtf8[utf16Offset];\n    }\n    return utf16Offset;\n  }\n  dispose() {\n    if (this.ptr === _OnigString._sharedPtr)\n      _OnigString._sharedPtrInUse = false;\n    else\n      this._onigBinding.ofree(this.ptr);\n  }\n};\n__publicField(_OnigString, \"LAST_ID\", 0);\n__publicField(_OnigString, \"_sharedPtr\", 0);\n// a pointer to a string of 10000 bytes\n__publicField(_OnigString, \"_sharedPtrInUse\", false);\nlet OnigString = _OnigString;\nclass OnigScanner {\n  constructor(patterns) {\n    __publicField(this, \"_onigBinding\");\n    __publicField(this, \"_ptr\");\n    if (!onigBinding)\n      throw new ShikiError(\"Must invoke loadWasm first.\");\n    const strPtrsArr = [];\n    const strLenArr = [];\n    for (let i = 0, len = patterns.length; i < len; i++) {\n      const utfString = new UtfString(patterns[i]);\n      strPtrsArr[i] = utfString.createString(onigBinding);\n      strLenArr[i] = utfString.utf8Length;\n    }\n    const strPtrsPtr = onigBinding.omalloc(4 * patterns.length);\n    onigBinding.HEAPU32.set(strPtrsArr, strPtrsPtr / 4);\n    const strLenPtr = onigBinding.omalloc(4 * patterns.length);\n    onigBinding.HEAPU32.set(strLenArr, strLenPtr / 4);\n    const scannerPtr = onigBinding.createOnigScanner(strPtrsPtr, strLenPtr, patterns.length);\n    for (let i = 0, len = patterns.length; i < len; i++)\n      onigBinding.ofree(strPtrsArr[i]);\n    onigBinding.ofree(strLenPtr);\n    onigBinding.ofree(strPtrsPtr);\n    if (scannerPtr === 0)\n      throwLastOnigError(onigBinding);\n    this._onigBinding = onigBinding;\n    this._ptr = scannerPtr;\n  }\n  dispose() {\n    this._onigBinding.freeOnigScanner(this._ptr);\n  }\n  findNextMatchSync(string, startPosition, arg) {\n    let options = 0 /* None */;\n    if (typeof arg === \"number\") {\n      options = arg;\n    }\n    if (typeof string === \"string\") {\n      string = new OnigString(string);\n      const result = this._findNextMatchSync(string, startPosition, false, options);\n      string.dispose();\n      return result;\n    }\n    return this._findNextMatchSync(string, startPosition, false, options);\n  }\n  _findNextMatchSync(string, startPosition, debugCall, options) {\n    const onigBinding2 = this._onigBinding;\n    const resultPtr = onigBinding2.findNextOnigScannerMatch(this._ptr, string.id, string.ptr, string.utf8Length, string.convertUtf16OffsetToUtf8(startPosition), options);\n    if (resultPtr === 0) {\n      return null;\n    }\n    const HEAPU32 = onigBinding2.HEAPU32;\n    let offset = resultPtr / 4;\n    const index = HEAPU32[offset++];\n    const count = HEAPU32[offset++];\n    const captureIndices = [];\n    for (let i = 0; i < count; i++) {\n      const beg = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n      const end = string.convertUtf8OffsetToUtf16(HEAPU32[offset++]);\n      captureIndices[i] = {\n        start: beg,\n        end,\n        length: end - beg\n      };\n    }\n    return {\n      index,\n      captureIndices\n    };\n  }\n}\nfunction isInstantiatorOptionsObject(dataOrOptions) {\n  return typeof dataOrOptions.instantiator === \"function\";\n}\nfunction isInstantiatorModule(dataOrOptions) {\n  return typeof dataOrOptions.default === \"function\";\n}\nfunction isDataOptionsObject(dataOrOptions) {\n  return typeof dataOrOptions.data !== \"undefined\";\n}\nfunction isResponse(dataOrOptions) {\n  return typeof Response !== \"undefined\" && dataOrOptions instanceof Response;\n}\nfunction isArrayBuffer(data) {\n  return typeof ArrayBuffer !== \"undefined\" && (data instanceof ArrayBuffer || ArrayBuffer.isView(data)) || typeof Buffer !== \"undefined\" && Buffer.isBuffer?.(data) || typeof SharedArrayBuffer !== \"undefined\" && data instanceof SharedArrayBuffer || typeof Uint32Array !== \"undefined\" && data instanceof Uint32Array;\n}\nlet initPromise;\nfunction loadWasm(options) {\n  if (initPromise)\n    return initPromise;\n  async function _load() {\n    onigBinding = await main(async (info) => {\n      let instance = options;\n      instance = await instance;\n      if (typeof instance === \"function\")\n        instance = await instance(info);\n      if (typeof instance === \"function\")\n        instance = await instance(info);\n      if (isInstantiatorOptionsObject(instance)) {\n        instance = await instance.instantiator(info);\n      } else if (isInstantiatorModule(instance)) {\n        instance = await instance.default(info);\n      } else {\n        if (isDataOptionsObject(instance))\n          instance = instance.data;\n        if (isResponse(instance)) {\n          if (typeof WebAssembly.instantiateStreaming === \"function\")\n            instance = await _makeResponseStreamingLoader(instance)(info);\n          else\n            instance = await _makeResponseNonStreamingLoader(instance)(info);\n        } else if (isArrayBuffer(instance)) {\n          instance = await _makeArrayBufferLoader(instance)(info);\n        } else if (instance instanceof WebAssembly.Module) {\n          instance = await _makeArrayBufferLoader(instance)(info);\n        } else if (\"default\" in instance && instance.default instanceof WebAssembly.Module) {\n          instance = await _makeArrayBufferLoader(instance.default)(info);\n        }\n      }\n      if (\"instance\" in instance)\n        instance = instance.instance;\n      if (\"exports\" in instance)\n        instance = instance.exports;\n      return instance;\n    });\n  }\n  initPromise = _load();\n  return initPromise;\n}\nfunction _makeArrayBufferLoader(data) {\n  return (importObject) => WebAssembly.instantiate(data, importObject);\n}\nfunction _makeResponseStreamingLoader(data) {\n  return (importObject) => WebAssembly.instantiateStreaming(data, importObject);\n}\nfunction _makeResponseNonStreamingLoader(data) {\n  return async (importObject) => {\n    const arrayBuffer = await data.arrayBuffer();\n    return WebAssembly.instantiate(arrayBuffer, importObject);\n  };\n}\n\nlet _defaultWasmLoader;\nfunction setDefaultWasmLoader(_loader) {\n  _defaultWasmLoader = _loader;\n}\nfunction getDefaultWasmLoader() {\n  return _defaultWasmLoader;\n}\nasync function createOnigurumaEngine(options) {\n  if (options)\n    await loadWasm(options);\n  return {\n    createScanner(patterns) {\n      return new OnigScanner(patterns.map((p) => typeof p === \"string\" ? p : p.source));\n    },\n    createString(s) {\n      return new OnigString(s);\n    }\n  };\n}\n\nexport { createOnigurumaEngine, getDefaultWasmLoader, loadWasm, setDefaultWasmLoader };\n","import { createSingletonShorthands, createdBundledHighlighter, guessEmbeddedLanguages } from '@shikijs/core';\nexport * from '@shikijs/core';\nimport { bundledThemes } from './themes.mjs';\nexport { bundledThemesInfo } from './themes.mjs';\nimport { createOnigurumaEngine } from '@shikijs/engine-oniguruma';\n\nconst bundledLanguagesInfo = [\n  {\n    \"id\": \"angular-html\",\n    \"name\": \"Angular HTML\",\n    \"import\": (() => import('@shikijs/langs/angular-html'))\n  },\n  {\n    \"id\": \"angular-ts\",\n    \"name\": \"Angular TypeScript\",\n    \"import\": (() => import('@shikijs/langs/angular-ts'))\n  },\n  {\n    \"id\": \"astro\",\n    \"name\": \"Astro\",\n    \"import\": (() => import('@shikijs/langs/astro'))\n  },\n  {\n    \"id\": \"blade\",\n    \"name\": \"Blade\",\n    \"import\": (() => import('@shikijs/langs/blade'))\n  },\n  {\n    \"id\": \"c\",\n    \"name\": \"C\",\n    \"import\": (() => import('@shikijs/langs/c'))\n  },\n  {\n    \"id\": \"coffee\",\n    \"name\": \"CoffeeScript\",\n    \"aliases\": [\n      \"coffeescript\"\n    ],\n    \"import\": (() => import('@shikijs/langs/coffee'))\n  },\n  {\n    \"id\": \"cpp\",\n    \"name\": \"C++\",\n    \"aliases\": [\n      \"c++\"\n    ],\n    \"import\": (() => import('@shikijs/langs/cpp'))\n  },\n  {\n    \"id\": \"css\",\n    \"name\": \"CSS\",\n    \"import\": (() => import('@shikijs/langs/css'))\n  },\n  {\n    \"id\": \"glsl\",\n    \"name\": \"GLSL\",\n    \"import\": (() => import('@shikijs/langs/glsl'))\n  },\n  {\n    \"id\": \"graphql\",\n    \"name\": \"GraphQL\",\n    \"aliases\": [\n      \"gql\"\n    ],\n    \"import\": (() => import('@shikijs/langs/graphql'))\n  },\n  {\n    \"id\": \"haml\",\n    \"name\": \"Ruby Haml\",\n    \"import\": (() => import('@shikijs/langs/haml'))\n  },\n  {\n    \"id\": \"handlebars\",\n    \"name\": \"Handlebars\",\n    \"aliases\": [\n      \"hbs\"\n    ],\n    \"import\": (() => import('@shikijs/langs/handlebars'))\n  },\n  {\n    \"id\": \"html\",\n    \"name\": \"HTML\",\n    \"import\": (() => import('@shikijs/langs/html'))\n  },\n  {\n    \"id\": \"html-derivative\",\n    \"name\": \"HTML (Derivative)\",\n    \"import\": (() => import('@shikijs/langs/html-derivative'))\n  },\n  {\n    \"id\": \"http\",\n    \"name\": \"HTTP\",\n    \"import\": (() => import('@shikijs/langs/http'))\n  },\n  {\n    \"id\": \"imba\",\n    \"name\": \"Imba\",\n    \"import\": (() => import('@shikijs/langs/imba'))\n  },\n  {\n    \"id\": \"java\",\n    \"name\": \"Java\",\n    \"import\": (() => import('@shikijs/langs/java'))\n  },\n  {\n    \"id\": \"javascript\",\n    \"name\": \"JavaScript\",\n    \"aliases\": [\n      \"js\"\n    ],\n    \"import\": (() => import('@shikijs/langs/javascript'))\n  },\n  {\n    \"id\": \"jinja\",\n    \"name\": \"Jinja\",\n    \"import\": (() => import('@shikijs/langs/jinja'))\n  },\n  {\n    \"id\": \"jison\",\n    \"name\": \"Jison\",\n    \"import\": (() => import('@shikijs/langs/jison'))\n  },\n  {\n    \"id\": \"json\",\n    \"name\": \"JSON\",\n    \"import\": (() => import('@shikijs/langs/json'))\n  },\n  {\n    \"id\": \"json5\",\n    \"name\": \"JSON5\",\n    \"import\": (() => import('@shikijs/langs/json5'))\n  },\n  {\n    \"id\": \"jsonc\",\n    \"name\": \"JSON with Comments\",\n    \"import\": (() => import('@shikijs/langs/jsonc'))\n  },\n  {\n    \"id\": \"jsonl\",\n    \"name\": \"JSON Lines\",\n    \"import\": (() => import('@shikijs/langs/jsonl'))\n  },\n  {\n    \"id\": \"jsx\",\n    \"name\": \"JSX\",\n    \"import\": (() => import('@shikijs/langs/jsx'))\n  },\n  {\n    \"id\": \"julia\",\n    \"name\": \"Julia\",\n    \"aliases\": [\n      \"jl\"\n    ],\n    \"import\": (() => import('@shikijs/langs/julia'))\n  },\n  {\n    \"id\": \"less\",\n    \"name\": \"Less\",\n    \"import\": (() => import('@shikijs/langs/less'))\n  },\n  {\n    \"id\": \"markdown\",\n    \"name\": \"Markdown\",\n    \"aliases\": [\n      \"md\"\n    ],\n    \"import\": (() => import('@shikijs/langs/markdown'))\n  },\n  {\n    \"id\": \"marko\",\n    \"name\": \"Marko\",\n    \"import\": (() => import('@shikijs/langs/marko'))\n  },\n  {\n    \"id\": \"mdc\",\n    \"name\": \"MDC\",\n    \"import\": (() => import('@shikijs/langs/mdc'))\n  },\n  {\n    \"id\": \"mdx\",\n    \"name\": \"MDX\",\n    \"import\": (() => import('@shikijs/langs/mdx'))\n  },\n  {\n    \"id\": \"php\",\n    \"name\": \"PHP\",\n    \"import\": (() => import('@shikijs/langs/php'))\n  },\n  {\n    \"id\": \"postcss\",\n    \"name\": \"PostCSS\",\n    \"import\": (() => import('@shikijs/langs/postcss'))\n  },\n  {\n    \"id\": \"pug\",\n    \"name\": \"Pug\",\n    \"aliases\": [\n      \"jade\"\n    ],\n    \"import\": (() => import('@shikijs/langs/pug'))\n  },\n  {\n    \"id\": \"python\",\n    \"name\": \"Python\",\n    \"aliases\": [\n      \"py\"\n    ],\n    \"import\": (() => import('@shikijs/langs/python'))\n  },\n  {\n    \"id\": \"r\",\n    \"name\": \"R\",\n    \"import\": (() => import('@shikijs/langs/r'))\n  },\n  {\n    \"id\": \"regexp\",\n    \"name\": \"RegExp\",\n    \"aliases\": [\n      \"regex\"\n    ],\n    \"import\": (() => import('@shikijs/langs/regexp'))\n  },\n  {\n    \"id\": \"sass\",\n    \"name\": \"Sass\",\n    \"import\": (() => import('@shikijs/langs/sass'))\n  },\n  {\n    \"id\": \"scss\",\n    \"name\": \"SCSS\",\n    \"import\": (() => import('@shikijs/langs/scss'))\n  },\n  {\n    \"id\": \"shellscript\",\n    \"name\": \"Shell\",\n    \"aliases\": [\n      \"bash\",\n      \"sh\",\n      \"shell\",\n      \"zsh\"\n    ],\n    \"import\": (() => import('@shikijs/langs/shellscript'))\n  },\n  {\n    \"id\": \"sql\",\n    \"name\": \"SQL\",\n    \"import\": (() => import('@shikijs/langs/sql'))\n  },\n  {\n    \"id\": \"stylus\",\n    \"name\": \"Stylus\",\n    \"aliases\": [\n      \"styl\"\n    ],\n    \"import\": (() => import('@shikijs/langs/stylus'))\n  },\n  {\n    \"id\": \"svelte\",\n    \"name\": \"Svelte\",\n    \"import\": (() => import('@shikijs/langs/svelte'))\n  },\n  {\n    \"id\": \"ts-tags\",\n    \"name\": \"TypeScript with Tags\",\n    \"aliases\": [\n      \"lit\"\n    ],\n    \"import\": (() => import('@shikijs/langs/ts-tags'))\n  },\n  {\n    \"id\": \"tsx\",\n    \"name\": \"TSX\",\n    \"import\": (() => import('@shikijs/langs/tsx'))\n  },\n  {\n    \"id\": \"typescript\",\n    \"name\": \"TypeScript\",\n    \"aliases\": [\n      \"ts\"\n    ],\n    \"import\": (() => import('@shikijs/langs/typescript'))\n  },\n  {\n    \"id\": \"vue\",\n    \"name\": \"Vue\",\n    \"import\": (() => import('@shikijs/langs/vue'))\n  },\n  {\n    \"id\": \"vue-html\",\n    \"name\": \"Vue HTML\",\n    \"import\": (() => import('@shikijs/langs/vue-html'))\n  },\n  {\n    \"id\": \"vue-vine\",\n    \"name\": \"Vue Vine\",\n    \"import\": (() => import('@shikijs/langs/vue-vine'))\n  },\n  {\n    \"id\": \"wasm\",\n    \"name\": \"WebAssembly\",\n    \"import\": (() => import('@shikijs/langs/wasm'))\n  },\n  {\n    \"id\": \"wgsl\",\n    \"name\": \"WGSL\",\n    \"import\": (() => import('@shikijs/langs/wgsl'))\n  },\n  {\n    \"id\": \"wit\",\n    \"name\": \"WebAssembly Interface Types\",\n    \"import\": (() => import('@shikijs/langs/wit'))\n  },\n  {\n    \"id\": \"xml\",\n    \"name\": \"XML\",\n    \"import\": (() => import('@shikijs/langs/xml'))\n  },\n  {\n    \"id\": \"yaml\",\n    \"name\": \"YAML\",\n    \"aliases\": [\n      \"yml\"\n    ],\n    \"import\": (() => import('@shikijs/langs/yaml'))\n  }\n];\nconst bundledLanguagesBase = Object.fromEntries(bundledLanguagesInfo.map((i) => [i.id, i.import]));\nconst bundledLanguagesAlias = Object.fromEntries(bundledLanguagesInfo.flatMap((i) => i.aliases?.map((a) => [a, i.import]) || []));\nconst bundledLanguages = {\n  ...bundledLanguagesBase,\n  ...bundledLanguagesAlias\n};\n\nconst createHighlighter = /* @__PURE__ */ createdBundledHighlighter({\n  langs: bundledLanguages,\n  themes: bundledThemes,\n  engine: () => createOnigurumaEngine(import('shiki/wasm'))\n});\nconst {\n  codeToHtml,\n  codeToHast,\n  codeToTokensBase,\n  codeToTokens,\n  codeToTokensWithThemes,\n  getSingletonHighlighter,\n  getLastGrammarState\n} = /* @__PURE__ */ createSingletonShorthands(\n  createHighlighter,\n  { guessEmbeddedLanguages }\n);\n\nexport { bundledLanguages, bundledLanguagesAlias, bundledLanguagesBase, bundledLanguagesInfo, bundledThemes, codeToHast, codeToHtml, codeToTokens, codeToTokensBase, codeToTokensWithThemes, createHighlighter, getLastGrammarState, getSingletonHighlighter };\n","import { type PropsWithChildren, createContext, useContext, useEffect, useState } from \"react\";\nimport { type Highlighter, bundledLanguages, createHighlighter } from \"shiki/bundle-web.mjs\";\n\nexport const SHIKI_DEFAULT_THEME = \"github-dark\";\nconst ShikiContext = createContext<Highlighter | null>(null);\n\nexport function ShikiProvider({ children }: PropsWithChildren) {\n  const [value, setValue] = useState<Highlighter | null>(null);\n\n  useEffect(() => {\n    createHighlighter({\n      themes: [SHIKI_DEFAULT_THEME],\n      langs: Object.keys(bundledLanguages),\n    }).then(setValue);\n  }, []);\n\n  return <ShikiContext.Provider value={value}>{children}</ShikiContext.Provider>;\n}\n\nexport function useShiki() {\n  const context = useContext(ShikiContext);\n\n  return context;\n}\n","export function removeURLSuffix(url: string, suffix: string): string {\n  try {\n    const parsedUrl = new URL(url);\n\n    if (parsedUrl.pathname.endsWith(suffix)) {\n      parsedUrl.pathname = parsedUrl.pathname.slice(0, -suffix.length);\n    }\n\n    return parsedUrl.toString();\n  } catch (error: unknown) {\n    if (error instanceof TypeError) {\n      throw new Error(`Invalid URL provided: ${url}. Error: ${error.message}`);\n    }\n    throw error;\n  }\n}\n","export const SPOTLIGHT_PREFIX = \"🔎 [Spotlight]\";\n\nconst noop = (..._args: unknown[]) => {}; // eslint-disable-line @typescript-eslint/no-unused-vars\nlet _log = noop;\nlet _warn = noop;\n\nexport function activateLogger() {\n  _log = (...args: unknown[]) => console.log(SPOTLIGHT_PREFIX, ...args);\n  _warn = (...args: unknown[]) => console.warn(SPOTLIGHT_PREFIX, ...args);\n}\n\nexport function deactivateLogger() {\n  _log = noop;\n  _warn = noop;\n}\n\nexport function log(...args: unknown[]) {\n  _log(...args);\n}\n\nexport function warn(...args: unknown[]) {\n  _warn(...args);\n}\n","import { log } from \"./lib/logger\";\n\nexport function connectToSidecar(\n  sidecarUrl: string,\n  // Content Type to listener\n  contentTypeListeners: Record<string, (event: string) => void>,\n  setOnline: (online: boolean) => void,\n): () => void {\n  log(\"Connecting to sidecar at\", sidecarUrl);\n  const sidecarStreamUrl = new URL(\"/stream\", sidecarUrl);\n  sidecarStreamUrl.searchParams.append(\"base64\", \"1\");\n\n  // TODO: Include version number once we have a reliable way to get it at runtime\n  const clientId = \"spotlight-overlay\";\n  sidecarStreamUrl.searchParams.append(\"client\", clientId);\n  const source = new EventSource(sidecarStreamUrl.href);\n\n  for (const [contentType, listener] of Object.entries(contentTypeListeners)) {\n    source.addEventListener(`${contentType}`, (event: MessageEvent<string>) => listener(event.data));\n  }\n\n  source.addEventListener(\"open\", () => {\n    setOnline(true);\n    log(\"Sidecar connected\");\n  });\n\n  source.addEventListener(\"error\", err => {\n    setOnline(false);\n    console.error(\"Sidecar connection error:\", err);\n  });\n\n  return () => {\n    log(\"Removing all content type listeners\");\n    for (const [contentType, listener] of Object.entries(contentTypeListeners)) {\n      source.removeEventListener(contentType, (event: MessageEvent<string>) => listener(event.data));\n      log(\"Removed listener for type\", contentType);\n    }\n  };\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","const CLASS_PART_SEPARATOR = '-';\nconst createClassGroupUtils = config => {\n  const classMap = createClassMap(config);\n  const {\n    conflictingClassGroups,\n    conflictingClassGroupModifiers\n  } = config;\n  const getClassGroupId = className => {\n    const classParts = className.split(CLASS_PART_SEPARATOR);\n    // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n    if (classParts[0] === '' && classParts.length !== 1) {\n      classParts.shift();\n    }\n    return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);\n  };\n  const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n    const conflicts = conflictingClassGroups[classGroupId] || [];\n    if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n      return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];\n    }\n    return conflicts;\n  };\n  return {\n    getClassGroupId,\n    getConflictingClassGroupIds\n  };\n};\nconst getGroupRecursive = (classParts, classPartObject) => {\n  if (classParts.length === 0) {\n    return classPartObject.classGroupId;\n  }\n  const currentClassPart = classParts[0];\n  const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n  const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;\n  if (classGroupFromNextClassPart) {\n    return classGroupFromNextClassPart;\n  }\n  if (classPartObject.validators.length === 0) {\n    return undefined;\n  }\n  const classRest = classParts.join(CLASS_PART_SEPARATOR);\n  return classPartObject.validators.find(({\n    validator\n  }) => validator(classRest))?.classGroupId;\n};\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/;\nconst getGroupIdForArbitraryProperty = className => {\n  if (arbitraryPropertyRegex.test(className)) {\n    const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];\n    const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));\n    if (property) {\n      // I use two dots here because one dot is used as prefix for class groups in plugins\n      return 'arbitrary..' + property;\n    }\n  }\n};\n/**\n * Exported for testing only\n */\nconst createClassMap = config => {\n  const {\n    theme,\n    classGroups\n  } = config;\n  const classMap = {\n    nextPart: new Map(),\n    validators: []\n  };\n  for (const classGroupId in classGroups) {\n    processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);\n  }\n  return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n  classGroup.forEach(classDefinition => {\n    if (typeof classDefinition === 'string') {\n      const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n      classPartObjectToEdit.classGroupId = classGroupId;\n      return;\n    }\n    if (typeof classDefinition === 'function') {\n      if (isThemeGetter(classDefinition)) {\n        processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n        return;\n      }\n      classPartObject.validators.push({\n        validator: classDefinition,\n        classGroupId\n      });\n      return;\n    }\n    Object.entries(classDefinition).forEach(([key, classGroup]) => {\n      processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);\n    });\n  });\n};\nconst getPart = (classPartObject, path) => {\n  let currentClassPartObject = classPartObject;\n  path.split(CLASS_PART_SEPARATOR).forEach(pathPart => {\n    if (!currentClassPartObject.nextPart.has(pathPart)) {\n      currentClassPartObject.nextPart.set(pathPart, {\n        nextPart: new Map(),\n        validators: []\n      });\n    }\n    currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);\n  });\n  return currentClassPartObject;\n};\nconst isThemeGetter = func => func.isThemeGetter;\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nconst createLruCache = maxCacheSize => {\n  if (maxCacheSize < 1) {\n    return {\n      get: () => undefined,\n      set: () => {}\n    };\n  }\n  let cacheSize = 0;\n  let cache = new Map();\n  let previousCache = new Map();\n  const update = (key, value) => {\n    cache.set(key, value);\n    cacheSize++;\n    if (cacheSize > maxCacheSize) {\n      cacheSize = 0;\n      previousCache = cache;\n      cache = new Map();\n    }\n  };\n  return {\n    get(key) {\n      let value = cache.get(key);\n      if (value !== undefined) {\n        return value;\n      }\n      if ((value = previousCache.get(key)) !== undefined) {\n        update(key, value);\n        return value;\n      }\n    },\n    set(key, value) {\n      if (cache.has(key)) {\n        cache.set(key, value);\n      } else {\n        update(key, value);\n      }\n    }\n  };\n};\nconst IMPORTANT_MODIFIER = '!';\nconst MODIFIER_SEPARATOR = ':';\nconst MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;\nconst createParseClassName = config => {\n  const {\n    prefix,\n    experimentalParseClassName\n  } = config;\n  /**\n   * Parse class name into parts.\n   *\n   * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n   * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n   */\n  let parseClassName = className => {\n    const modifiers = [];\n    let bracketDepth = 0;\n    let parenDepth = 0;\n    let modifierStart = 0;\n    let postfixModifierPosition;\n    for (let index = 0; index < className.length; index++) {\n      let currentCharacter = className[index];\n      if (bracketDepth === 0 && parenDepth === 0) {\n        if (currentCharacter === MODIFIER_SEPARATOR) {\n          modifiers.push(className.slice(modifierStart, index));\n          modifierStart = index + MODIFIER_SEPARATOR_LENGTH;\n          continue;\n        }\n        if (currentCharacter === '/') {\n          postfixModifierPosition = index;\n          continue;\n        }\n      }\n      if (currentCharacter === '[') {\n        bracketDepth++;\n      } else if (currentCharacter === ']') {\n        bracketDepth--;\n      } else if (currentCharacter === '(') {\n        parenDepth++;\n      } else if (currentCharacter === ')') {\n        parenDepth--;\n      }\n    }\n    const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);\n    const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);\n    const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;\n    const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n    return {\n      modifiers,\n      hasImportantModifier,\n      baseClassName,\n      maybePostfixModifierPosition\n    };\n  };\n  if (prefix) {\n    const fullPrefix = prefix + MODIFIER_SEPARATOR;\n    const parseClassNameOriginal = parseClassName;\n    parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {\n      isExternal: true,\n      modifiers: [],\n      hasImportantModifier: false,\n      baseClassName: className,\n      maybePostfixModifierPosition: undefined\n    };\n  }\n  if (experimentalParseClassName) {\n    const parseClassNameOriginal = parseClassName;\n    parseClassName = className => experimentalParseClassName({\n      className,\n      parseClassName: parseClassNameOriginal\n    });\n  }\n  return parseClassName;\n};\nconst stripImportantModifier = baseClassName => {\n  if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {\n    return baseClassName.substring(0, baseClassName.length - 1);\n  }\n  /**\n   * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n   * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n   */\n  if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {\n    return baseClassName.substring(1);\n  }\n  return baseClassName;\n};\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nconst createSortModifiers = config => {\n  const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));\n  const sortModifiers = modifiers => {\n    if (modifiers.length <= 1) {\n      return modifiers;\n    }\n    const sortedModifiers = [];\n    let unsortedModifiers = [];\n    modifiers.forEach(modifier => {\n      const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];\n      if (isPositionSensitive) {\n        sortedModifiers.push(...unsortedModifiers.sort(), modifier);\n        unsortedModifiers = [];\n      } else {\n        unsortedModifiers.push(modifier);\n      }\n    });\n    sortedModifiers.push(...unsortedModifiers.sort());\n    return sortedModifiers;\n  };\n  return sortModifiers;\n};\nconst createConfigUtils = config => ({\n  cache: createLruCache(config.cacheSize),\n  parseClassName: createParseClassName(config),\n  sortModifiers: createSortModifiers(config),\n  ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n  const {\n    parseClassName,\n    getClassGroupId,\n    getConflictingClassGroupIds,\n    sortModifiers\n  } = configUtils;\n  /**\n   * Set of classGroupIds in following format:\n   * `{importantModifier}{variantModifiers}{classGroupId}`\n   * @example 'float'\n   * @example 'hover:focus:bg-color'\n   * @example 'md:!pr'\n   */\n  const classGroupsInConflict = [];\n  const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n  let result = '';\n  for (let index = classNames.length - 1; index >= 0; index -= 1) {\n    const originalClassName = classNames[index];\n    const {\n      isExternal,\n      modifiers,\n      hasImportantModifier,\n      baseClassName,\n      maybePostfixModifierPosition\n    } = parseClassName(originalClassName);\n    if (isExternal) {\n      result = originalClassName + (result.length > 0 ? ' ' + result : result);\n      continue;\n    }\n    let hasPostfixModifier = !!maybePostfixModifierPosition;\n    let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n    if (!classGroupId) {\n      if (!hasPostfixModifier) {\n        // Not a Tailwind class\n        result = originalClassName + (result.length > 0 ? ' ' + result : result);\n        continue;\n      }\n      classGroupId = getClassGroupId(baseClassName);\n      if (!classGroupId) {\n        // Not a Tailwind class\n        result = originalClassName + (result.length > 0 ? ' ' + result : result);\n        continue;\n      }\n      hasPostfixModifier = false;\n    }\n    const variantModifier = sortModifiers(modifiers).join(':');\n    const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n    const classId = modifierId + classGroupId;\n    if (classGroupsInConflict.includes(classId)) {\n      // Tailwind class omitted due to conflict\n      continue;\n    }\n    classGroupsInConflict.push(classId);\n    const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier);\n    for (let i = 0; i < conflictGroups.length; ++i) {\n      const group = conflictGroups[i];\n      classGroupsInConflict.push(modifierId + group);\n    }\n    // Tailwind class not in conflict\n    result = originalClassName + (result.length > 0 ? ' ' + result : result);\n  }\n  return result;\n};\n\n/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\nfunction twJoin() {\n  let index = 0;\n  let argument;\n  let resolvedValue;\n  let string = '';\n  while (index < arguments.length) {\n    if (argument = arguments[index++]) {\n      if (resolvedValue = toValue(argument)) {\n        string && (string += ' ');\n        string += resolvedValue;\n      }\n    }\n  }\n  return string;\n}\nconst toValue = mix => {\n  if (typeof mix === 'string') {\n    return mix;\n  }\n  let resolvedValue;\n  let string = '';\n  for (let k = 0; k < mix.length; k++) {\n    if (mix[k]) {\n      if (resolvedValue = toValue(mix[k])) {\n        string && (string += ' ');\n        string += resolvedValue;\n      }\n    }\n  }\n  return string;\n};\nfunction createTailwindMerge(createConfigFirst, ...createConfigRest) {\n  let configUtils;\n  let cacheGet;\n  let cacheSet;\n  let functionToCall = initTailwindMerge;\n  function initTailwindMerge(classList) {\n    const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n    configUtils = createConfigUtils(config);\n    cacheGet = configUtils.cache.get;\n    cacheSet = configUtils.cache.set;\n    functionToCall = tailwindMerge;\n    return tailwindMerge(classList);\n  }\n  function tailwindMerge(classList) {\n    const cachedResult = cacheGet(classList);\n    if (cachedResult) {\n      return cachedResult;\n    }\n    const result = mergeClassList(classList, configUtils);\n    cacheSet(classList, result);\n    return result;\n  }\n  return function callTailwindMerge() {\n    return functionToCall(twJoin.apply(null, arguments));\n  };\n}\nconst fromTheme = key => {\n  const themeGetter = theme => theme[key] || [];\n  themeGetter.isThemeGetter = true;\n  return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/;\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/;\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/;\nconst imageRegex = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = value => fractionRegex.test(value);\nconst isNumber = value => !!value && !Number.isNaN(Number(value));\nconst isInteger = value => !!value && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst isAny = () => true;\nconst isLengthOnly = value =>\n// `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n// For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n// I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);\nconst isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\nconst isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);\nconst isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, isLabelShadow, isShadow);\nconst isArbitraryVariable = value => arbitraryVariableRegex.test(value);\nconst isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);\nconst isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);\nconst isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);\nconst isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);\nconst isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);\nconst isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);\n// Helpers\nconst getIsArbitraryValue = (value, testLabel, testValue) => {\n  const result = arbitraryValueRegex.exec(value);\n  if (result) {\n    if (result[1]) {\n      return testLabel(result[1]);\n    }\n    return testValue(result[2]);\n  }\n  return false;\n};\nconst getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n  const result = arbitraryVariableRegex.exec(value);\n  if (result) {\n    if (result[1]) {\n      return testLabel(result[1]);\n    }\n    return shouldMatchNoLabel;\n  }\n  return false;\n};\n// Labels\nconst isLabelPosition = label => label === 'position' || label === 'percentage';\nconst isLabelImage = label => label === 'image' || label === 'url';\nconst isLabelSize = label => label === 'length' || label === 'size' || label === 'bg-size';\nconst isLabelLength = label => label === 'length';\nconst isLabelNumber = label => label === 'number';\nconst isLabelFamilyName = label => label === 'family-name';\nconst isLabelShadow = label => label === 'shadow';\nconst validators = /*#__PURE__*/Object.defineProperty({\n  __proto__: null,\n  isAny,\n  isAnyNonArbitrary,\n  isArbitraryImage,\n  isArbitraryLength,\n  isArbitraryNumber,\n  isArbitraryPosition,\n  isArbitraryShadow,\n  isArbitrarySize,\n  isArbitraryValue,\n  isArbitraryVariable,\n  isArbitraryVariableFamilyName,\n  isArbitraryVariableImage,\n  isArbitraryVariableLength,\n  isArbitraryVariablePosition,\n  isArbitraryVariableShadow,\n  isArbitraryVariableSize,\n  isFraction,\n  isInteger,\n  isNumber,\n  isPercent,\n  isTshirtSize\n}, Symbol.toStringTag, {\n  value: 'Module'\n});\nconst getDefaultConfig = () => {\n  /**\n   * Theme getters for theme variable namespaces\n   * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n   */\n  /***/\n  const themeColor = fromTheme('color');\n  const themeFont = fromTheme('font');\n  const themeText = fromTheme('text');\n  const themeFontWeight = fromTheme('font-weight');\n  const themeTracking = fromTheme('tracking');\n  const themeLeading = fromTheme('leading');\n  const themeBreakpoint = fromTheme('breakpoint');\n  const themeContainer = fromTheme('container');\n  const themeSpacing = fromTheme('spacing');\n  const themeRadius = fromTheme('radius');\n  const themeShadow = fromTheme('shadow');\n  const themeInsetShadow = fromTheme('inset-shadow');\n  const themeTextShadow = fromTheme('text-shadow');\n  const themeDropShadow = fromTheme('drop-shadow');\n  const themeBlur = fromTheme('blur');\n  const themePerspective = fromTheme('perspective');\n  const themeAspect = fromTheme('aspect');\n  const themeEase = fromTheme('ease');\n  const themeAnimate = fromTheme('animate');\n  /**\n   * Helpers to avoid repeating the same scales\n   *\n   * We use functions that create a new array every time they're called instead of static arrays.\n   * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n   */\n  /***/\n  const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n  const scalePosition = () => ['center', 'top', 'bottom', 'left', 'right', 'top-left',\n  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n  'left-top', 'top-right',\n  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n  'right-top', 'bottom-right',\n  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n  'right-bottom', 'bottom-left',\n  // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n  'left-bottom'];\n  const scalePositionWithArbitrary = () => [...scalePosition(), isArbitraryVariable, isArbitraryValue];\n  const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n  const scaleOverscroll = () => ['auto', 'contain', 'none'];\n  const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n  const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()];\n  const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];\n  const scaleGridColRowStartAndEnd = () => ['auto', {\n    span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]\n  }, isInteger, isArbitraryVariable, isArbitraryValue];\n  const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];\n  const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];\n  const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline', 'center-safe', 'end-safe'];\n  const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'];\n  const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()];\n  const scaleSizing = () => [isFraction, 'auto', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', ...scaleUnambiguousSpacing()];\n  const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n  const scaleBgPosition = () => [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition, {\n    position: [isArbitraryVariable, isArbitraryValue]\n  }];\n  const scaleBgRepeat = () => ['no-repeat', {\n    repeat: ['', 'x', 'y', 'space', 'round']\n  }];\n  const scaleBgSize = () => ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize, {\n    size: [isArbitraryVariable, isArbitraryValue]\n  }];\n  const scaleGradientStopPosition = () => [isPercent, isArbitraryVariableLength, isArbitraryLength];\n  const scaleRadius = () => [\n  // Deprecated since Tailwind CSS v4.0.0\n  '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];\n  const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];\n  const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];\n  const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n  const scaleMaskImagePosition = () => [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition];\n  const scaleBlur = () => [\n  // Deprecated since Tailwind CSS v4.0.0\n  '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];\n  const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n  const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n  const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n  const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()];\n  return {\n    cacheSize: 500,\n    theme: {\n      animate: ['spin', 'ping', 'pulse', 'bounce'],\n      aspect: ['video'],\n      blur: [isTshirtSize],\n      breakpoint: [isTshirtSize],\n      color: [isAny],\n      container: [isTshirtSize],\n      'drop-shadow': [isTshirtSize],\n      ease: ['in', 'out', 'in-out'],\n      font: [isAnyNonArbitrary],\n      'font-weight': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],\n      'inset-shadow': [isTshirtSize],\n      leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n      perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n      radius: [isTshirtSize],\n      shadow: [isTshirtSize],\n      spacing: ['px', isNumber],\n      text: [isTshirtSize],\n      'text-shadow': [isTshirtSize],\n      tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']\n    },\n    classGroups: {\n      // --------------\n      // --- Layout ---\n      // --------------\n      /**\n       * Aspect Ratio\n       * @see https://tailwindcss.com/docs/aspect-ratio\n       */\n      aspect: [{\n        aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\n      }],\n      /**\n       * Container\n       * @see https://tailwindcss.com/docs/container\n       * @deprecated since Tailwind CSS v4.0.0\n       */\n      container: ['container'],\n      /**\n       * Columns\n       * @see https://tailwindcss.com/docs/columns\n       */\n      columns: [{\n        columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer]\n      }],\n      /**\n       * Break After\n       * @see https://tailwindcss.com/docs/break-after\n       */\n      'break-after': [{\n        'break-after': scaleBreak()\n      }],\n      /**\n       * Break Before\n       * @see https://tailwindcss.com/docs/break-before\n       */\n      'break-before': [{\n        'break-before': scaleBreak()\n      }],\n      /**\n       * Break Inside\n       * @see https://tailwindcss.com/docs/break-inside\n       */\n      'break-inside': [{\n        'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n      }],\n      /**\n       * Box Decoration Break\n       * @see https://tailwindcss.com/docs/box-decoration-break\n       */\n      'box-decoration': [{\n        'box-decoration': ['slice', 'clone']\n      }],\n      /**\n       * Box Sizing\n       * @see https://tailwindcss.com/docs/box-sizing\n       */\n      box: [{\n        box: ['border', 'content']\n      }],\n      /**\n       * Display\n       * @see https://tailwindcss.com/docs/display\n       */\n      display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\n      /**\n       * Screen Reader Only\n       * @see https://tailwindcss.com/docs/display#screen-reader-only\n       */\n      sr: ['sr-only', 'not-sr-only'],\n      /**\n       * Floats\n       * @see https://tailwindcss.com/docs/float\n       */\n      float: [{\n        float: ['right', 'left', 'none', 'start', 'end']\n      }],\n      /**\n       * Clear\n       * @see https://tailwindcss.com/docs/clear\n       */\n      clear: [{\n        clear: ['left', 'right', 'both', 'none', 'start', 'end']\n      }],\n      /**\n       * Isolation\n       * @see https://tailwindcss.com/docs/isolation\n       */\n      isolation: ['isolate', 'isolation-auto'],\n      /**\n       * Object Fit\n       * @see https://tailwindcss.com/docs/object-fit\n       */\n      'object-fit': [{\n        object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n      }],\n      /**\n       * Object Position\n       * @see https://tailwindcss.com/docs/object-position\n       */\n      'object-position': [{\n        object: scalePositionWithArbitrary()\n      }],\n      /**\n       * Overflow\n       * @see https://tailwindcss.com/docs/overflow\n       */\n      overflow: [{\n        overflow: scaleOverflow()\n      }],\n      /**\n       * Overflow X\n       * @see https://tailwindcss.com/docs/overflow\n       */\n      'overflow-x': [{\n        'overflow-x': scaleOverflow()\n      }],\n      /**\n       * Overflow Y\n       * @see https://tailwindcss.com/docs/overflow\n       */\n      'overflow-y': [{\n        'overflow-y': scaleOverflow()\n      }],\n      /**\n       * Overscroll Behavior\n       * @see https://tailwindcss.com/docs/overscroll-behavior\n       */\n      overscroll: [{\n        overscroll: scaleOverscroll()\n      }],\n      /**\n       * Overscroll Behavior X\n       * @see https://tailwindcss.com/docs/overscroll-behavior\n       */\n      'overscroll-x': [{\n        'overscroll-x': scaleOverscroll()\n      }],\n      /**\n       * Overscroll Behavior Y\n       * @see https://tailwindcss.com/docs/overscroll-behavior\n       */\n      'overscroll-y': [{\n        'overscroll-y': scaleOverscroll()\n      }],\n      /**\n       * Position\n       * @see https://tailwindcss.com/docs/position\n       */\n      position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n      /**\n       * Top / Right / Bottom / Left\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      inset: [{\n        inset: scaleInset()\n      }],\n      /**\n       * Right / Left\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      'inset-x': [{\n        'inset-x': scaleInset()\n      }],\n      /**\n       * Top / Bottom\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      'inset-y': [{\n        'inset-y': scaleInset()\n      }],\n      /**\n       * Start\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      start: [{\n        start: scaleInset()\n      }],\n      /**\n       * End\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      end: [{\n        end: scaleInset()\n      }],\n      /**\n       * Top\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      top: [{\n        top: scaleInset()\n      }],\n      /**\n       * Right\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      right: [{\n        right: scaleInset()\n      }],\n      /**\n       * Bottom\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      bottom: [{\n        bottom: scaleInset()\n      }],\n      /**\n       * Left\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      left: [{\n        left: scaleInset()\n      }],\n      /**\n       * Visibility\n       * @see https://tailwindcss.com/docs/visibility\n       */\n      visibility: ['visible', 'invisible', 'collapse'],\n      /**\n       * Z-Index\n       * @see https://tailwindcss.com/docs/z-index\n       */\n      z: [{\n        z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]\n      }],\n      // ------------------------\n      // --- Flexbox and Grid ---\n      // ------------------------\n      /**\n       * Flex Basis\n       * @see https://tailwindcss.com/docs/flex-basis\n       */\n      basis: [{\n        basis: [isFraction, 'full', 'auto', themeContainer, ...scaleUnambiguousSpacing()]\n      }],\n      /**\n       * Flex Direction\n       * @see https://tailwindcss.com/docs/flex-direction\n       */\n      'flex-direction': [{\n        flex: ['row', 'row-reverse', 'col', 'col-reverse']\n      }],\n      /**\n       * Flex Wrap\n       * @see https://tailwindcss.com/docs/flex-wrap\n       */\n      'flex-wrap': [{\n        flex: ['nowrap', 'wrap', 'wrap-reverse']\n      }],\n      /**\n       * Flex\n       * @see https://tailwindcss.com/docs/flex\n       */\n      flex: [{\n        flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]\n      }],\n      /**\n       * Flex Grow\n       * @see https://tailwindcss.com/docs/flex-grow\n       */\n      grow: [{\n        grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Flex Shrink\n       * @see https://tailwindcss.com/docs/flex-shrink\n       */\n      shrink: [{\n        shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Order\n       * @see https://tailwindcss.com/docs/order\n       */\n      order: [{\n        order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Grid Template Columns\n       * @see https://tailwindcss.com/docs/grid-template-columns\n       */\n      'grid-cols': [{\n        'grid-cols': scaleGridTemplateColsRows()\n      }],\n      /**\n       * Grid Column Start / End\n       * @see https://tailwindcss.com/docs/grid-column\n       */\n      'col-start-end': [{\n        col: scaleGridColRowStartAndEnd()\n      }],\n      /**\n       * Grid Column Start\n       * @see https://tailwindcss.com/docs/grid-column\n       */\n      'col-start': [{\n        'col-start': scaleGridColRowStartOrEnd()\n      }],\n      /**\n       * Grid Column End\n       * @see https://tailwindcss.com/docs/grid-column\n       */\n      'col-end': [{\n        'col-end': scaleGridColRowStartOrEnd()\n      }],\n      /**\n       * Grid Template Rows\n       * @see https://tailwindcss.com/docs/grid-template-rows\n       */\n      'grid-rows': [{\n        'grid-rows': scaleGridTemplateColsRows()\n      }],\n      /**\n       * Grid Row Start / End\n       * @see https://tailwindcss.com/docs/grid-row\n       */\n      'row-start-end': [{\n        row: scaleGridColRowStartAndEnd()\n      }],\n      /**\n       * Grid Row Start\n       * @see https://tailwindcss.com/docs/grid-row\n       */\n      'row-start': [{\n        'row-start': scaleGridColRowStartOrEnd()\n      }],\n      /**\n       * Grid Row End\n       * @see https://tailwindcss.com/docs/grid-row\n       */\n      'row-end': [{\n        'row-end': scaleGridColRowStartOrEnd()\n      }],\n      /**\n       * Grid Auto Flow\n       * @see https://tailwindcss.com/docs/grid-auto-flow\n       */\n      'grid-flow': [{\n        'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n      }],\n      /**\n       * Grid Auto Columns\n       * @see https://tailwindcss.com/docs/grid-auto-columns\n       */\n      'auto-cols': [{\n        'auto-cols': scaleGridAutoColsRows()\n      }],\n      /**\n       * Grid Auto Rows\n       * @see https://tailwindcss.com/docs/grid-auto-rows\n       */\n      'auto-rows': [{\n        'auto-rows': scaleGridAutoColsRows()\n      }],\n      /**\n       * Gap\n       * @see https://tailwindcss.com/docs/gap\n       */\n      gap: [{\n        gap: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Gap X\n       * @see https://tailwindcss.com/docs/gap\n       */\n      'gap-x': [{\n        'gap-x': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Gap Y\n       * @see https://tailwindcss.com/docs/gap\n       */\n      'gap-y': [{\n        'gap-y': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Justify Content\n       * @see https://tailwindcss.com/docs/justify-content\n       */\n      'justify-content': [{\n        justify: [...scaleAlignPrimaryAxis(), 'normal']\n      }],\n      /**\n       * Justify Items\n       * @see https://tailwindcss.com/docs/justify-items\n       */\n      'justify-items': [{\n        'justify-items': [...scaleAlignSecondaryAxis(), 'normal']\n      }],\n      /**\n       * Justify Self\n       * @see https://tailwindcss.com/docs/justify-self\n       */\n      'justify-self': [{\n        'justify-self': ['auto', ...scaleAlignSecondaryAxis()]\n      }],\n      /**\n       * Align Content\n       * @see https://tailwindcss.com/docs/align-content\n       */\n      'align-content': [{\n        content: ['normal', ...scaleAlignPrimaryAxis()]\n      }],\n      /**\n       * Align Items\n       * @see https://tailwindcss.com/docs/align-items\n       */\n      'align-items': [{\n        items: [...scaleAlignSecondaryAxis(), {\n          baseline: ['', 'last']\n        }]\n      }],\n      /**\n       * Align Self\n       * @see https://tailwindcss.com/docs/align-self\n       */\n      'align-self': [{\n        self: ['auto', ...scaleAlignSecondaryAxis(), {\n          baseline: ['', 'last']\n        }]\n      }],\n      /**\n       * Place Content\n       * @see https://tailwindcss.com/docs/place-content\n       */\n      'place-content': [{\n        'place-content': scaleAlignPrimaryAxis()\n      }],\n      /**\n       * Place Items\n       * @see https://tailwindcss.com/docs/place-items\n       */\n      'place-items': [{\n        'place-items': [...scaleAlignSecondaryAxis(), 'baseline']\n      }],\n      /**\n       * Place Self\n       * @see https://tailwindcss.com/docs/place-self\n       */\n      'place-self': [{\n        'place-self': ['auto', ...scaleAlignSecondaryAxis()]\n      }],\n      // Spacing\n      /**\n       * Padding\n       * @see https://tailwindcss.com/docs/padding\n       */\n      p: [{\n        p: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Padding X\n       * @see https://tailwindcss.com/docs/padding\n       */\n      px: [{\n        px: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Padding Y\n       * @see https://tailwindcss.com/docs/padding\n       */\n      py: [{\n        py: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Padding Start\n       * @see https://tailwindcss.com/docs/padding\n       */\n      ps: [{\n        ps: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Padding End\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pe: [{\n        pe: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Padding Top\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pt: [{\n        pt: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Padding Right\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pr: [{\n        pr: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Padding Bottom\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pb: [{\n        pb: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Padding Left\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pl: [{\n        pl: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Margin\n       * @see https://tailwindcss.com/docs/margin\n       */\n      m: [{\n        m: scaleMargin()\n      }],\n      /**\n       * Margin X\n       * @see https://tailwindcss.com/docs/margin\n       */\n      mx: [{\n        mx: scaleMargin()\n      }],\n      /**\n       * Margin Y\n       * @see https://tailwindcss.com/docs/margin\n       */\n      my: [{\n        my: scaleMargin()\n      }],\n      /**\n       * Margin Start\n       * @see https://tailwindcss.com/docs/margin\n       */\n      ms: [{\n        ms: scaleMargin()\n      }],\n      /**\n       * Margin End\n       * @see https://tailwindcss.com/docs/margin\n       */\n      me: [{\n        me: scaleMargin()\n      }],\n      /**\n       * Margin Top\n       * @see https://tailwindcss.com/docs/margin\n       */\n      mt: [{\n        mt: scaleMargin()\n      }],\n      /**\n       * Margin Right\n       * @see https://tailwindcss.com/docs/margin\n       */\n      mr: [{\n        mr: scaleMargin()\n      }],\n      /**\n       * Margin Bottom\n       * @see https://tailwindcss.com/docs/margin\n       */\n      mb: [{\n        mb: scaleMargin()\n      }],\n      /**\n       * Margin Left\n       * @see https://tailwindcss.com/docs/margin\n       */\n      ml: [{\n        ml: scaleMargin()\n      }],\n      /**\n       * Space Between X\n       * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n       */\n      'space-x': [{\n        'space-x': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Space Between X Reverse\n       * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n       */\n      'space-x-reverse': ['space-x-reverse'],\n      /**\n       * Space Between Y\n       * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n       */\n      'space-y': [{\n        'space-y': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Space Between Y Reverse\n       * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n       */\n      'space-y-reverse': ['space-y-reverse'],\n      // --------------\n      // --- Sizing ---\n      // --------------\n      /**\n       * Size\n       * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n       */\n      size: [{\n        size: scaleSizing()\n      }],\n      /**\n       * Width\n       * @see https://tailwindcss.com/docs/width\n       */\n      w: [{\n        w: [themeContainer, 'screen', ...scaleSizing()]\n      }],\n      /**\n       * Min-Width\n       * @see https://tailwindcss.com/docs/min-width\n       */\n      'min-w': [{\n        'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n        'none', ...scaleSizing()]\n      }],\n      /**\n       * Max-Width\n       * @see https://tailwindcss.com/docs/max-width\n       */\n      'max-w': [{\n        'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n        'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n        {\n          screen: [themeBreakpoint]\n        }, ...scaleSizing()]\n      }],\n      /**\n       * Height\n       * @see https://tailwindcss.com/docs/height\n       */\n      h: [{\n        h: ['screen', 'lh', ...scaleSizing()]\n      }],\n      /**\n       * Min-Height\n       * @see https://tailwindcss.com/docs/min-height\n       */\n      'min-h': [{\n        'min-h': ['screen', 'lh', 'none', ...scaleSizing()]\n      }],\n      /**\n       * Max-Height\n       * @see https://tailwindcss.com/docs/max-height\n       */\n      'max-h': [{\n        'max-h': ['screen', 'lh', ...scaleSizing()]\n      }],\n      // ------------------\n      // --- Typography ---\n      // ------------------\n      /**\n       * Font Size\n       * @see https://tailwindcss.com/docs/font-size\n       */\n      'font-size': [{\n        text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength]\n      }],\n      /**\n       * Font Smoothing\n       * @see https://tailwindcss.com/docs/font-smoothing\n       */\n      'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n      /**\n       * Font Style\n       * @see https://tailwindcss.com/docs/font-style\n       */\n      'font-style': ['italic', 'not-italic'],\n      /**\n       * Font Weight\n       * @see https://tailwindcss.com/docs/font-weight\n       */\n      'font-weight': [{\n        font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]\n      }],\n      /**\n       * Font Stretch\n       * @see https://tailwindcss.com/docs/font-stretch\n       */\n      'font-stretch': [{\n        'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]\n      }],\n      /**\n       * Font Family\n       * @see https://tailwindcss.com/docs/font-family\n       */\n      'font-family': [{\n        font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]\n      }],\n      /**\n       * Font Variant Numeric\n       * @see https://tailwindcss.com/docs/font-variant-numeric\n       */\n      'fvn-normal': ['normal-nums'],\n      /**\n       * Font Variant Numeric\n       * @see https://tailwindcss.com/docs/font-variant-numeric\n       */\n      'fvn-ordinal': ['ordinal'],\n      /**\n       * Font Variant Numeric\n       * @see https://tailwindcss.com/docs/font-variant-numeric\n       */\n      'fvn-slashed-zero': ['slashed-zero'],\n      /**\n       * Font Variant Numeric\n       * @see https://tailwindcss.com/docs/font-variant-numeric\n       */\n      'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n      /**\n       * Font Variant Numeric\n       * @see https://tailwindcss.com/docs/font-variant-numeric\n       */\n      'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n      /**\n       * Font Variant Numeric\n       * @see https://tailwindcss.com/docs/font-variant-numeric\n       */\n      'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n      /**\n       * Letter Spacing\n       * @see https://tailwindcss.com/docs/letter-spacing\n       */\n      tracking: [{\n        tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Line Clamp\n       * @see https://tailwindcss.com/docs/line-clamp\n       */\n      'line-clamp': [{\n        'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber]\n      }],\n      /**\n       * Line Height\n       * @see https://tailwindcss.com/docs/line-height\n       */\n      leading: [{\n        leading: [/** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n        themeLeading, ...scaleUnambiguousSpacing()]\n      }],\n      /**\n       * List Style Image\n       * @see https://tailwindcss.com/docs/list-style-image\n       */\n      'list-image': [{\n        'list-image': ['none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * List Style Position\n       * @see https://tailwindcss.com/docs/list-style-position\n       */\n      'list-style-position': [{\n        list: ['inside', 'outside']\n      }],\n      /**\n       * List Style Type\n       * @see https://tailwindcss.com/docs/list-style-type\n       */\n      'list-style-type': [{\n        list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Text Alignment\n       * @see https://tailwindcss.com/docs/text-align\n       */\n      'text-alignment': [{\n        text: ['left', 'center', 'right', 'justify', 'start', 'end']\n      }],\n      /**\n       * Placeholder Color\n       * @deprecated since Tailwind CSS v3.0.0\n       * @see https://v3.tailwindcss.com/docs/placeholder-color\n       */\n      'placeholder-color': [{\n        placeholder: scaleColor()\n      }],\n      /**\n       * Text Color\n       * @see https://tailwindcss.com/docs/text-color\n       */\n      'text-color': [{\n        text: scaleColor()\n      }],\n      /**\n       * Text Decoration\n       * @see https://tailwindcss.com/docs/text-decoration\n       */\n      'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n      /**\n       * Text Decoration Style\n       * @see https://tailwindcss.com/docs/text-decoration-style\n       */\n      'text-decoration-style': [{\n        decoration: [...scaleLineStyle(), 'wavy']\n      }],\n      /**\n       * Text Decoration Thickness\n       * @see https://tailwindcss.com/docs/text-decoration-thickness\n       */\n      'text-decoration-thickness': [{\n        decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]\n      }],\n      /**\n       * Text Decoration Color\n       * @see https://tailwindcss.com/docs/text-decoration-color\n       */\n      'text-decoration-color': [{\n        decoration: scaleColor()\n      }],\n      /**\n       * Text Underline Offset\n       * @see https://tailwindcss.com/docs/text-underline-offset\n       */\n      'underline-offset': [{\n        'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Text Transform\n       * @see https://tailwindcss.com/docs/text-transform\n       */\n      'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n      /**\n       * Text Overflow\n       * @see https://tailwindcss.com/docs/text-overflow\n       */\n      'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n      /**\n       * Text Wrap\n       * @see https://tailwindcss.com/docs/text-wrap\n       */\n      'text-wrap': [{\n        text: ['wrap', 'nowrap', 'balance', 'pretty']\n      }],\n      /**\n       * Text Indent\n       * @see https://tailwindcss.com/docs/text-indent\n       */\n      indent: [{\n        indent: scaleUnambiguousSpacing()\n      }],\n      /**\n       * Vertical Alignment\n       * @see https://tailwindcss.com/docs/vertical-align\n       */\n      'vertical-align': [{\n        align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Whitespace\n       * @see https://tailwindcss.com/docs/whitespace\n       */\n      whitespace: [{\n        whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces']\n      }],\n      /**\n       * Word Break\n       * @see https://tailwindcss.com/docs/word-break\n       */\n      break: [{\n        break: ['normal', 'words', 'all', 'keep']\n      }],\n      /**\n       * Overflow Wrap\n       * @see https://tailwindcss.com/docs/overflow-wrap\n       */\n      wrap: [{\n        wrap: ['break-word', 'anywhere', 'normal']\n      }],\n      /**\n       * Hyphens\n       * @see https://tailwindcss.com/docs/hyphens\n       */\n      hyphens: [{\n        hyphens: ['none', 'manual', 'auto']\n      }],\n      /**\n       * Content\n       * @see https://tailwindcss.com/docs/content\n       */\n      content: [{\n        content: ['none', isArbitraryVariable, isArbitraryValue]\n      }],\n      // -------------------\n      // --- Backgrounds ---\n      // -------------------\n      /**\n       * Background Attachment\n       * @see https://tailwindcss.com/docs/background-attachment\n       */\n      'bg-attachment': [{\n        bg: ['fixed', 'local', 'scroll']\n      }],\n      /**\n       * Background Clip\n       * @see https://tailwindcss.com/docs/background-clip\n       */\n      'bg-clip': [{\n        'bg-clip': ['border', 'padding', 'content', 'text']\n      }],\n      /**\n       * Background Origin\n       * @see https://tailwindcss.com/docs/background-origin\n       */\n      'bg-origin': [{\n        'bg-origin': ['border', 'padding', 'content']\n      }],\n      /**\n       * Background Position\n       * @see https://tailwindcss.com/docs/background-position\n       */\n      'bg-position': [{\n        bg: scaleBgPosition()\n      }],\n      /**\n       * Background Repeat\n       * @see https://tailwindcss.com/docs/background-repeat\n       */\n      'bg-repeat': [{\n        bg: scaleBgRepeat()\n      }],\n      /**\n       * Background Size\n       * @see https://tailwindcss.com/docs/background-size\n       */\n      'bg-size': [{\n        bg: scaleBgSize()\n      }],\n      /**\n       * Background Image\n       * @see https://tailwindcss.com/docs/background-image\n       */\n      'bg-image': [{\n        bg: ['none', {\n          linear: [{\n            to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n          }, isInteger, isArbitraryVariable, isArbitraryValue],\n          radial: ['', isArbitraryVariable, isArbitraryValue],\n          conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n        }, isArbitraryVariableImage, isArbitraryImage]\n      }],\n      /**\n       * Background Color\n       * @see https://tailwindcss.com/docs/background-color\n       */\n      'bg-color': [{\n        bg: scaleColor()\n      }],\n      /**\n       * Gradient Color Stops From Position\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-from-pos': [{\n        from: scaleGradientStopPosition()\n      }],\n      /**\n       * Gradient Color Stops Via Position\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-via-pos': [{\n        via: scaleGradientStopPosition()\n      }],\n      /**\n       * Gradient Color Stops To Position\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-to-pos': [{\n        to: scaleGradientStopPosition()\n      }],\n      /**\n       * Gradient Color Stops From\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-from': [{\n        from: scaleColor()\n      }],\n      /**\n       * Gradient Color Stops Via\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-via': [{\n        via: scaleColor()\n      }],\n      /**\n       * Gradient Color Stops To\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-to': [{\n        to: scaleColor()\n      }],\n      // ---------------\n      // --- Borders ---\n      // ---------------\n      /**\n       * Border Radius\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      rounded: [{\n        rounded: scaleRadius()\n      }],\n      /**\n       * Border Radius Start\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-s': [{\n        'rounded-s': scaleRadius()\n      }],\n      /**\n       * Border Radius End\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-e': [{\n        'rounded-e': scaleRadius()\n      }],\n      /**\n       * Border Radius Top\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-t': [{\n        'rounded-t': scaleRadius()\n      }],\n      /**\n       * Border Radius Right\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-r': [{\n        'rounded-r': scaleRadius()\n      }],\n      /**\n       * Border Radius Bottom\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-b': [{\n        'rounded-b': scaleRadius()\n      }],\n      /**\n       * Border Radius Left\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-l': [{\n        'rounded-l': scaleRadius()\n      }],\n      /**\n       * Border Radius Start Start\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-ss': [{\n        'rounded-ss': scaleRadius()\n      }],\n      /**\n       * Border Radius Start End\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-se': [{\n        'rounded-se': scaleRadius()\n      }],\n      /**\n       * Border Radius End End\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-ee': [{\n        'rounded-ee': scaleRadius()\n      }],\n      /**\n       * Border Radius End Start\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-es': [{\n        'rounded-es': scaleRadius()\n      }],\n      /**\n       * Border Radius Top Left\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-tl': [{\n        'rounded-tl': scaleRadius()\n      }],\n      /**\n       * Border Radius Top Right\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-tr': [{\n        'rounded-tr': scaleRadius()\n      }],\n      /**\n       * Border Radius Bottom Right\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-br': [{\n        'rounded-br': scaleRadius()\n      }],\n      /**\n       * Border Radius Bottom Left\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-bl': [{\n        'rounded-bl': scaleRadius()\n      }],\n      /**\n       * Border Width\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w': [{\n        border: scaleBorderWidth()\n      }],\n      /**\n       * Border Width X\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-x': [{\n        'border-x': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Y\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-y': [{\n        'border-y': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Start\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-s': [{\n        'border-s': scaleBorderWidth()\n      }],\n      /**\n       * Border Width End\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-e': [{\n        'border-e': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Top\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-t': [{\n        'border-t': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Right\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-r': [{\n        'border-r': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Bottom\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-b': [{\n        'border-b': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Left\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-l': [{\n        'border-l': scaleBorderWidth()\n      }],\n      /**\n       * Divide Width X\n       * @see https://tailwindcss.com/docs/border-width#between-children\n       */\n      'divide-x': [{\n        'divide-x': scaleBorderWidth()\n      }],\n      /**\n       * Divide Width X Reverse\n       * @see https://tailwindcss.com/docs/border-width#between-children\n       */\n      'divide-x-reverse': ['divide-x-reverse'],\n      /**\n       * Divide Width Y\n       * @see https://tailwindcss.com/docs/border-width#between-children\n       */\n      'divide-y': [{\n        'divide-y': scaleBorderWidth()\n      }],\n      /**\n       * Divide Width Y Reverse\n       * @see https://tailwindcss.com/docs/border-width#between-children\n       */\n      'divide-y-reverse': ['divide-y-reverse'],\n      /**\n       * Border Style\n       * @see https://tailwindcss.com/docs/border-style\n       */\n      'border-style': [{\n        border: [...scaleLineStyle(), 'hidden', 'none']\n      }],\n      /**\n       * Divide Style\n       * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n       */\n      'divide-style': [{\n        divide: [...scaleLineStyle(), 'hidden', 'none']\n      }],\n      /**\n       * Border Color\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color': [{\n        border: scaleColor()\n      }],\n      /**\n       * Border Color X\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-x': [{\n        'border-x': scaleColor()\n      }],\n      /**\n       * Border Color Y\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-y': [{\n        'border-y': scaleColor()\n      }],\n      /**\n       * Border Color S\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-s': [{\n        'border-s': scaleColor()\n      }],\n      /**\n       * Border Color E\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-e': [{\n        'border-e': scaleColor()\n      }],\n      /**\n       * Border Color Top\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-t': [{\n        'border-t': scaleColor()\n      }],\n      /**\n       * Border Color Right\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-r': [{\n        'border-r': scaleColor()\n      }],\n      /**\n       * Border Color Bottom\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-b': [{\n        'border-b': scaleColor()\n      }],\n      /**\n       * Border Color Left\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-l': [{\n        'border-l': scaleColor()\n      }],\n      /**\n       * Divide Color\n       * @see https://tailwindcss.com/docs/divide-color\n       */\n      'divide-color': [{\n        divide: scaleColor()\n      }],\n      /**\n       * Outline Style\n       * @see https://tailwindcss.com/docs/outline-style\n       */\n      'outline-style': [{\n        outline: [...scaleLineStyle(), 'none', 'hidden']\n      }],\n      /**\n       * Outline Offset\n       * @see https://tailwindcss.com/docs/outline-offset\n       */\n      'outline-offset': [{\n        'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Outline Width\n       * @see https://tailwindcss.com/docs/outline-width\n       */\n      'outline-w': [{\n        outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength]\n      }],\n      /**\n       * Outline Color\n       * @see https://tailwindcss.com/docs/outline-color\n       */\n      'outline-color': [{\n        outline: scaleColor()\n      }],\n      // ---------------\n      // --- Effects ---\n      // ---------------\n      /**\n       * Box Shadow\n       * @see https://tailwindcss.com/docs/box-shadow\n       */\n      shadow: [{\n        shadow: [\n        // Deprecated since Tailwind CSS v4.0.0\n        '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]\n      }],\n      /**\n       * Box Shadow Color\n       * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n       */\n      'shadow-color': [{\n        shadow: scaleColor()\n      }],\n      /**\n       * Inset Box Shadow\n       * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n       */\n      'inset-shadow': [{\n        'inset-shadow': ['none', themeInsetShadow, isArbitraryVariableShadow, isArbitraryShadow]\n      }],\n      /**\n       * Inset Box Shadow Color\n       * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n       */\n      'inset-shadow-color': [{\n        'inset-shadow': scaleColor()\n      }],\n      /**\n       * Ring Width\n       * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n       */\n      'ring-w': [{\n        ring: scaleBorderWidth()\n      }],\n      /**\n       * Ring Width Inset\n       * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n       * @deprecated since Tailwind CSS v4.0.0\n       * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n       */\n      'ring-w-inset': ['ring-inset'],\n      /**\n       * Ring Color\n       * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n       */\n      'ring-color': [{\n        ring: scaleColor()\n      }],\n      /**\n       * Ring Offset Width\n       * @see https://v3.tailwindcss.com/docs/ring-offset-width\n       * @deprecated since Tailwind CSS v4.0.0\n       * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n       */\n      'ring-offset-w': [{\n        'ring-offset': [isNumber, isArbitraryLength]\n      }],\n      /**\n       * Ring Offset Color\n       * @see https://v3.tailwindcss.com/docs/ring-offset-color\n       * @deprecated since Tailwind CSS v4.0.0\n       * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n       */\n      'ring-offset-color': [{\n        'ring-offset': scaleColor()\n      }],\n      /**\n       * Inset Ring Width\n       * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n       */\n      'inset-ring-w': [{\n        'inset-ring': scaleBorderWidth()\n      }],\n      /**\n       * Inset Ring Color\n       * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n       */\n      'inset-ring-color': [{\n        'inset-ring': scaleColor()\n      }],\n      /**\n       * Text Shadow\n       * @see https://tailwindcss.com/docs/text-shadow\n       */\n      'text-shadow': [{\n        'text-shadow': ['none', themeTextShadow, isArbitraryVariableShadow, isArbitraryShadow]\n      }],\n      /**\n       * Text Shadow Color\n       * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n       */\n      'text-shadow-color': [{\n        'text-shadow': scaleColor()\n      }],\n      /**\n       * Opacity\n       * @see https://tailwindcss.com/docs/opacity\n       */\n      opacity: [{\n        opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Mix Blend Mode\n       * @see https://tailwindcss.com/docs/mix-blend-mode\n       */\n      'mix-blend': [{\n        'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']\n      }],\n      /**\n       * Background Blend Mode\n       * @see https://tailwindcss.com/docs/background-blend-mode\n       */\n      'bg-blend': [{\n        'bg-blend': scaleBlendMode()\n      }],\n      /**\n       * Mask Clip\n       * @see https://tailwindcss.com/docs/mask-clip\n       */\n      'mask-clip': [{\n        'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n      }, 'mask-no-clip'],\n      /**\n       * Mask Composite\n       * @see https://tailwindcss.com/docs/mask-composite\n       */\n      'mask-composite': [{\n        mask: ['add', 'subtract', 'intersect', 'exclude']\n      }],\n      /**\n       * Mask Image\n       * @see https://tailwindcss.com/docs/mask-image\n       */\n      'mask-image-linear-pos': [{\n        'mask-linear': [isNumber]\n      }],\n      'mask-image-linear-from-pos': [{\n        'mask-linear-from': scaleMaskImagePosition()\n      }],\n      'mask-image-linear-to-pos': [{\n        'mask-linear-to': scaleMaskImagePosition()\n      }],\n      'mask-image-linear-from-color': [{\n        'mask-linear-from': scaleColor()\n      }],\n      'mask-image-linear-to-color': [{\n        'mask-linear-to': scaleColor()\n      }],\n      'mask-image-t-from-pos': [{\n        'mask-t-from': scaleMaskImagePosition()\n      }],\n      'mask-image-t-to-pos': [{\n        'mask-t-to': scaleMaskImagePosition()\n      }],\n      'mask-image-t-from-color': [{\n        'mask-t-from': scaleColor()\n      }],\n      'mask-image-t-to-color': [{\n        'mask-t-to': scaleColor()\n      }],\n      'mask-image-r-from-pos': [{\n        'mask-r-from': scaleMaskImagePosition()\n      }],\n      'mask-image-r-to-pos': [{\n        'mask-r-to': scaleMaskImagePosition()\n      }],\n      'mask-image-r-from-color': [{\n        'mask-r-from': scaleColor()\n      }],\n      'mask-image-r-to-color': [{\n        'mask-r-to': scaleColor()\n      }],\n      'mask-image-b-from-pos': [{\n        'mask-b-from': scaleMaskImagePosition()\n      }],\n      'mask-image-b-to-pos': [{\n        'mask-b-to': scaleMaskImagePosition()\n      }],\n      'mask-image-b-from-color': [{\n        'mask-b-from': scaleColor()\n      }],\n      'mask-image-b-to-color': [{\n        'mask-b-to': scaleColor()\n      }],\n      'mask-image-l-from-pos': [{\n        'mask-l-from': scaleMaskImagePosition()\n      }],\n      'mask-image-l-to-pos': [{\n        'mask-l-to': scaleMaskImagePosition()\n      }],\n      'mask-image-l-from-color': [{\n        'mask-l-from': scaleColor()\n      }],\n      'mask-image-l-to-color': [{\n        'mask-l-to': scaleColor()\n      }],\n      'mask-image-x-from-pos': [{\n        'mask-x-from': scaleMaskImagePosition()\n      }],\n      'mask-image-x-to-pos': [{\n        'mask-x-to': scaleMaskImagePosition()\n      }],\n      'mask-image-x-from-color': [{\n        'mask-x-from': scaleColor()\n      }],\n      'mask-image-x-to-color': [{\n        'mask-x-to': scaleColor()\n      }],\n      'mask-image-y-from-pos': [{\n        'mask-y-from': scaleMaskImagePosition()\n      }],\n      'mask-image-y-to-pos': [{\n        'mask-y-to': scaleMaskImagePosition()\n      }],\n      'mask-image-y-from-color': [{\n        'mask-y-from': scaleColor()\n      }],\n      'mask-image-y-to-color': [{\n        'mask-y-to': scaleColor()\n      }],\n      'mask-image-radial': [{\n        'mask-radial': [isArbitraryVariable, isArbitraryValue]\n      }],\n      'mask-image-radial-from-pos': [{\n        'mask-radial-from': scaleMaskImagePosition()\n      }],\n      'mask-image-radial-to-pos': [{\n        'mask-radial-to': scaleMaskImagePosition()\n      }],\n      'mask-image-radial-from-color': [{\n        'mask-radial-from': scaleColor()\n      }],\n      'mask-image-radial-to-color': [{\n        'mask-radial-to': scaleColor()\n      }],\n      'mask-image-radial-shape': [{\n        'mask-radial': ['circle', 'ellipse']\n      }],\n      'mask-image-radial-size': [{\n        'mask-radial': [{\n          closest: ['side', 'corner'],\n          farthest: ['side', 'corner']\n        }]\n      }],\n      'mask-image-radial-pos': [{\n        'mask-radial-at': scalePosition()\n      }],\n      'mask-image-conic-pos': [{\n        'mask-conic': [isNumber]\n      }],\n      'mask-image-conic-from-pos': [{\n        'mask-conic-from': scaleMaskImagePosition()\n      }],\n      'mask-image-conic-to-pos': [{\n        'mask-conic-to': scaleMaskImagePosition()\n      }],\n      'mask-image-conic-from-color': [{\n        'mask-conic-from': scaleColor()\n      }],\n      'mask-image-conic-to-color': [{\n        'mask-conic-to': scaleColor()\n      }],\n      /**\n       * Mask Mode\n       * @see https://tailwindcss.com/docs/mask-mode\n       */\n      'mask-mode': [{\n        mask: ['alpha', 'luminance', 'match']\n      }],\n      /**\n       * Mask Origin\n       * @see https://tailwindcss.com/docs/mask-origin\n       */\n      'mask-origin': [{\n        'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view']\n      }],\n      /**\n       * Mask Position\n       * @see https://tailwindcss.com/docs/mask-position\n       */\n      'mask-position': [{\n        mask: scaleBgPosition()\n      }],\n      /**\n       * Mask Repeat\n       * @see https://tailwindcss.com/docs/mask-repeat\n       */\n      'mask-repeat': [{\n        mask: scaleBgRepeat()\n      }],\n      /**\n       * Mask Size\n       * @see https://tailwindcss.com/docs/mask-size\n       */\n      'mask-size': [{\n        mask: scaleBgSize()\n      }],\n      /**\n       * Mask Type\n       * @see https://tailwindcss.com/docs/mask-type\n       */\n      'mask-type': [{\n        'mask-type': ['alpha', 'luminance']\n      }],\n      /**\n       * Mask Image\n       * @see https://tailwindcss.com/docs/mask-image\n       */\n      'mask-image': [{\n        mask: ['none', isArbitraryVariable, isArbitraryValue]\n      }],\n      // ---------------\n      // --- Filters ---\n      // ---------------\n      /**\n       * Filter\n       * @see https://tailwindcss.com/docs/filter\n       */\n      filter: [{\n        filter: [\n        // Deprecated since Tailwind CSS v3.0.0\n        '', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Blur\n       * @see https://tailwindcss.com/docs/blur\n       */\n      blur: [{\n        blur: scaleBlur()\n      }],\n      /**\n       * Brightness\n       * @see https://tailwindcss.com/docs/brightness\n       */\n      brightness: [{\n        brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Contrast\n       * @see https://tailwindcss.com/docs/contrast\n       */\n      contrast: [{\n        contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Drop Shadow\n       * @see https://tailwindcss.com/docs/drop-shadow\n       */\n      'drop-shadow': [{\n        'drop-shadow': [\n        // Deprecated since Tailwind CSS v4.0.0\n        '', 'none', themeDropShadow, isArbitraryVariableShadow, isArbitraryShadow]\n      }],\n      /**\n       * Drop Shadow Color\n       * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n       */\n      'drop-shadow-color': [{\n        'drop-shadow': scaleColor()\n      }],\n      /**\n       * Grayscale\n       * @see https://tailwindcss.com/docs/grayscale\n       */\n      grayscale: [{\n        grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Hue Rotate\n       * @see https://tailwindcss.com/docs/hue-rotate\n       */\n      'hue-rotate': [{\n        'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Invert\n       * @see https://tailwindcss.com/docs/invert\n       */\n      invert: [{\n        invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Saturate\n       * @see https://tailwindcss.com/docs/saturate\n       */\n      saturate: [{\n        saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Sepia\n       * @see https://tailwindcss.com/docs/sepia\n       */\n      sepia: [{\n        sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Filter\n       * @see https://tailwindcss.com/docs/backdrop-filter\n       */\n      'backdrop-filter': [{\n        'backdrop-filter': [\n        // Deprecated since Tailwind CSS v3.0.0\n        '', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Blur\n       * @see https://tailwindcss.com/docs/backdrop-blur\n       */\n      'backdrop-blur': [{\n        'backdrop-blur': scaleBlur()\n      }],\n      /**\n       * Backdrop Brightness\n       * @see https://tailwindcss.com/docs/backdrop-brightness\n       */\n      'backdrop-brightness': [{\n        'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Contrast\n       * @see https://tailwindcss.com/docs/backdrop-contrast\n       */\n      'backdrop-contrast': [{\n        'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Grayscale\n       * @see https://tailwindcss.com/docs/backdrop-grayscale\n       */\n      'backdrop-grayscale': [{\n        'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Hue Rotate\n       * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n       */\n      'backdrop-hue-rotate': [{\n        'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Invert\n       * @see https://tailwindcss.com/docs/backdrop-invert\n       */\n      'backdrop-invert': [{\n        'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Opacity\n       * @see https://tailwindcss.com/docs/backdrop-opacity\n       */\n      'backdrop-opacity': [{\n        'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Saturate\n       * @see https://tailwindcss.com/docs/backdrop-saturate\n       */\n      'backdrop-saturate': [{\n        'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Sepia\n       * @see https://tailwindcss.com/docs/backdrop-sepia\n       */\n      'backdrop-sepia': [{\n        'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      // --------------\n      // --- Tables ---\n      // --------------\n      /**\n       * Border Collapse\n       * @see https://tailwindcss.com/docs/border-collapse\n       */\n      'border-collapse': [{\n        border: ['collapse', 'separate']\n      }],\n      /**\n       * Border Spacing\n       * @see https://tailwindcss.com/docs/border-spacing\n       */\n      'border-spacing': [{\n        'border-spacing': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Border Spacing X\n       * @see https://tailwindcss.com/docs/border-spacing\n       */\n      'border-spacing-x': [{\n        'border-spacing-x': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Border Spacing Y\n       * @see https://tailwindcss.com/docs/border-spacing\n       */\n      'border-spacing-y': [{\n        'border-spacing-y': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Table Layout\n       * @see https://tailwindcss.com/docs/table-layout\n       */\n      'table-layout': [{\n        table: ['auto', 'fixed']\n      }],\n      /**\n       * Caption Side\n       * @see https://tailwindcss.com/docs/caption-side\n       */\n      caption: [{\n        caption: ['top', 'bottom']\n      }],\n      // ---------------------------------\n      // --- Transitions and Animation ---\n      // ---------------------------------\n      /**\n       * Transition Property\n       * @see https://tailwindcss.com/docs/transition-property\n       */\n      transition: [{\n        transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Transition Behavior\n       * @see https://tailwindcss.com/docs/transition-behavior\n       */\n      'transition-behavior': [{\n        transition: ['normal', 'discrete']\n      }],\n      /**\n       * Transition Duration\n       * @see https://tailwindcss.com/docs/transition-duration\n       */\n      duration: [{\n        duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Transition Timing Function\n       * @see https://tailwindcss.com/docs/transition-timing-function\n       */\n      ease: [{\n        ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Transition Delay\n       * @see https://tailwindcss.com/docs/transition-delay\n       */\n      delay: [{\n        delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Animation\n       * @see https://tailwindcss.com/docs/animation\n       */\n      animate: [{\n        animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]\n      }],\n      // ------------------\n      // --- Transforms ---\n      // ------------------\n      /**\n       * Backface Visibility\n       * @see https://tailwindcss.com/docs/backface-visibility\n       */\n      backface: [{\n        backface: ['hidden', 'visible']\n      }],\n      /**\n       * Perspective\n       * @see https://tailwindcss.com/docs/perspective\n       */\n      perspective: [{\n        perspective: [themePerspective, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Perspective Origin\n       * @see https://tailwindcss.com/docs/perspective-origin\n       */\n      'perspective-origin': [{\n        'perspective-origin': scalePositionWithArbitrary()\n      }],\n      /**\n       * Rotate\n       * @see https://tailwindcss.com/docs/rotate\n       */\n      rotate: [{\n        rotate: scaleRotate()\n      }],\n      /**\n       * Rotate X\n       * @see https://tailwindcss.com/docs/rotate\n       */\n      'rotate-x': [{\n        'rotate-x': scaleRotate()\n      }],\n      /**\n       * Rotate Y\n       * @see https://tailwindcss.com/docs/rotate\n       */\n      'rotate-y': [{\n        'rotate-y': scaleRotate()\n      }],\n      /**\n       * Rotate Z\n       * @see https://tailwindcss.com/docs/rotate\n       */\n      'rotate-z': [{\n        'rotate-z': scaleRotate()\n      }],\n      /**\n       * Scale\n       * @see https://tailwindcss.com/docs/scale\n       */\n      scale: [{\n        scale: scaleScale()\n      }],\n      /**\n       * Scale X\n       * @see https://tailwindcss.com/docs/scale\n       */\n      'scale-x': [{\n        'scale-x': scaleScale()\n      }],\n      /**\n       * Scale Y\n       * @see https://tailwindcss.com/docs/scale\n       */\n      'scale-y': [{\n        'scale-y': scaleScale()\n      }],\n      /**\n       * Scale Z\n       * @see https://tailwindcss.com/docs/scale\n       */\n      'scale-z': [{\n        'scale-z': scaleScale()\n      }],\n      /**\n       * Scale 3D\n       * @see https://tailwindcss.com/docs/scale\n       */\n      'scale-3d': ['scale-3d'],\n      /**\n       * Skew\n       * @see https://tailwindcss.com/docs/skew\n       */\n      skew: [{\n        skew: scaleSkew()\n      }],\n      /**\n       * Skew X\n       * @see https://tailwindcss.com/docs/skew\n       */\n      'skew-x': [{\n        'skew-x': scaleSkew()\n      }],\n      /**\n       * Skew Y\n       * @see https://tailwindcss.com/docs/skew\n       */\n      'skew-y': [{\n        'skew-y': scaleSkew()\n      }],\n      /**\n       * Transform\n       * @see https://tailwindcss.com/docs/transform\n       */\n      transform: [{\n        transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu']\n      }],\n      /**\n       * Transform Origin\n       * @see https://tailwindcss.com/docs/transform-origin\n       */\n      'transform-origin': [{\n        origin: scalePositionWithArbitrary()\n      }],\n      /**\n       * Transform Style\n       * @see https://tailwindcss.com/docs/transform-style\n       */\n      'transform-style': [{\n        transform: ['3d', 'flat']\n      }],\n      /**\n       * Translate\n       * @see https://tailwindcss.com/docs/translate\n       */\n      translate: [{\n        translate: scaleTranslate()\n      }],\n      /**\n       * Translate X\n       * @see https://tailwindcss.com/docs/translate\n       */\n      'translate-x': [{\n        'translate-x': scaleTranslate()\n      }],\n      /**\n       * Translate Y\n       * @see https://tailwindcss.com/docs/translate\n       */\n      'translate-y': [{\n        'translate-y': scaleTranslate()\n      }],\n      /**\n       * Translate Z\n       * @see https://tailwindcss.com/docs/translate\n       */\n      'translate-z': [{\n        'translate-z': scaleTranslate()\n      }],\n      /**\n       * Translate None\n       * @see https://tailwindcss.com/docs/translate\n       */\n      'translate-none': ['translate-none'],\n      // ---------------------\n      // --- Interactivity ---\n      // ---------------------\n      /**\n       * Accent Color\n       * @see https://tailwindcss.com/docs/accent-color\n       */\n      accent: [{\n        accent: scaleColor()\n      }],\n      /**\n       * Appearance\n       * @see https://tailwindcss.com/docs/appearance\n       */\n      appearance: [{\n        appearance: ['none', 'auto']\n      }],\n      /**\n       * Caret Color\n       * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n       */\n      'caret-color': [{\n        caret: scaleColor()\n      }],\n      /**\n       * Color Scheme\n       * @see https://tailwindcss.com/docs/color-scheme\n       */\n      'color-scheme': [{\n        scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light']\n      }],\n      /**\n       * Cursor\n       * @see https://tailwindcss.com/docs/cursor\n       */\n      cursor: [{\n        cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Field Sizing\n       * @see https://tailwindcss.com/docs/field-sizing\n       */\n      'field-sizing': [{\n        'field-sizing': ['fixed', 'content']\n      }],\n      /**\n       * Pointer Events\n       * @see https://tailwindcss.com/docs/pointer-events\n       */\n      'pointer-events': [{\n        'pointer-events': ['auto', 'none']\n      }],\n      /**\n       * Resize\n       * @see https://tailwindcss.com/docs/resize\n       */\n      resize: [{\n        resize: ['none', '', 'y', 'x']\n      }],\n      /**\n       * Scroll Behavior\n       * @see https://tailwindcss.com/docs/scroll-behavior\n       */\n      'scroll-behavior': [{\n        scroll: ['auto', 'smooth']\n      }],\n      /**\n       * Scroll Margin\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-m': [{\n        'scroll-m': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin X\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-mx': [{\n        'scroll-mx': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Y\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-my': [{\n        'scroll-my': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Start\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-ms': [{\n        'scroll-ms': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin End\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-me': [{\n        'scroll-me': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Top\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-mt': [{\n        'scroll-mt': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Right\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-mr': [{\n        'scroll-mr': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Bottom\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-mb': [{\n        'scroll-mb': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Left\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-ml': [{\n        'scroll-ml': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-p': [{\n        'scroll-p': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding X\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-px': [{\n        'scroll-px': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Y\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-py': [{\n        'scroll-py': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Start\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-ps': [{\n        'scroll-ps': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding End\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pe': [{\n        'scroll-pe': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Top\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pt': [{\n        'scroll-pt': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Right\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pr': [{\n        'scroll-pr': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Bottom\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pb': [{\n        'scroll-pb': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Left\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pl': [{\n        'scroll-pl': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Snap Align\n       * @see https://tailwindcss.com/docs/scroll-snap-align\n       */\n      'snap-align': [{\n        snap: ['start', 'end', 'center', 'align-none']\n      }],\n      /**\n       * Scroll Snap Stop\n       * @see https://tailwindcss.com/docs/scroll-snap-stop\n       */\n      'snap-stop': [{\n        snap: ['normal', 'always']\n      }],\n      /**\n       * Scroll Snap Type\n       * @see https://tailwindcss.com/docs/scroll-snap-type\n       */\n      'snap-type': [{\n        snap: ['none', 'x', 'y', 'both']\n      }],\n      /**\n       * Scroll Snap Type Strictness\n       * @see https://tailwindcss.com/docs/scroll-snap-type\n       */\n      'snap-strictness': [{\n        snap: ['mandatory', 'proximity']\n      }],\n      /**\n       * Touch Action\n       * @see https://tailwindcss.com/docs/touch-action\n       */\n      touch: [{\n        touch: ['auto', 'none', 'manipulation']\n      }],\n      /**\n       * Touch Action X\n       * @see https://tailwindcss.com/docs/touch-action\n       */\n      'touch-x': [{\n        'touch-pan': ['x', 'left', 'right']\n      }],\n      /**\n       * Touch Action Y\n       * @see https://tailwindcss.com/docs/touch-action\n       */\n      'touch-y': [{\n        'touch-pan': ['y', 'up', 'down']\n      }],\n      /**\n       * Touch Action Pinch Zoom\n       * @see https://tailwindcss.com/docs/touch-action\n       */\n      'touch-pz': ['touch-pinch-zoom'],\n      /**\n       * User Select\n       * @see https://tailwindcss.com/docs/user-select\n       */\n      select: [{\n        select: ['none', 'text', 'all', 'auto']\n      }],\n      /**\n       * Will Change\n       * @see https://tailwindcss.com/docs/will-change\n       */\n      'will-change': [{\n        'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]\n      }],\n      // -----------\n      // --- SVG ---\n      // -----------\n      /**\n       * Fill\n       * @see https://tailwindcss.com/docs/fill\n       */\n      fill: [{\n        fill: ['none', ...scaleColor()]\n      }],\n      /**\n       * Stroke Width\n       * @see https://tailwindcss.com/docs/stroke-width\n       */\n      'stroke-w': [{\n        stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n      }],\n      /**\n       * Stroke\n       * @see https://tailwindcss.com/docs/stroke\n       */\n      stroke: [{\n        stroke: ['none', ...scaleColor()]\n      }],\n      // ---------------------\n      // --- Accessibility ---\n      // ---------------------\n      /**\n       * Forced Color Adjust\n       * @see https://tailwindcss.com/docs/forced-color-adjust\n       */\n      'forced-color-adjust': [{\n        'forced-color-adjust': ['auto', 'none']\n      }]\n    },\n    conflictingClassGroups: {\n      overflow: ['overflow-x', 'overflow-y'],\n      overscroll: ['overscroll-x', 'overscroll-y'],\n      inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n      'inset-x': ['right', 'left'],\n      'inset-y': ['top', 'bottom'],\n      flex: ['basis', 'grow', 'shrink'],\n      gap: ['gap-x', 'gap-y'],\n      p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n      px: ['pr', 'pl'],\n      py: ['pt', 'pb'],\n      m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n      mx: ['mr', 'ml'],\n      my: ['mt', 'mb'],\n      size: ['w', 'h'],\n      'font-size': ['leading'],\n      'fvn-normal': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\n      'fvn-ordinal': ['fvn-normal'],\n      'fvn-slashed-zero': ['fvn-normal'],\n      'fvn-figure': ['fvn-normal'],\n      'fvn-spacing': ['fvn-normal'],\n      'fvn-fraction': ['fvn-normal'],\n      'line-clamp': ['display', 'overflow'],\n      rounded: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\n      'rounded-s': ['rounded-ss', 'rounded-es'],\n      'rounded-e': ['rounded-se', 'rounded-ee'],\n      'rounded-t': ['rounded-tl', 'rounded-tr'],\n      'rounded-r': ['rounded-tr', 'rounded-br'],\n      'rounded-b': ['rounded-br', 'rounded-bl'],\n      'rounded-l': ['rounded-tl', 'rounded-bl'],\n      'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n      'border-w': ['border-w-x', 'border-w-y', 'border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n      'border-w-x': ['border-w-r', 'border-w-l'],\n      'border-w-y': ['border-w-t', 'border-w-b'],\n      'border-color': ['border-color-x', 'border-color-y', 'border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\n      'border-color-x': ['border-color-r', 'border-color-l'],\n      'border-color-y': ['border-color-t', 'border-color-b'],\n      translate: ['translate-x', 'translate-y', 'translate-none'],\n      'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n      'scroll-m': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n      'scroll-mx': ['scroll-mr', 'scroll-ml'],\n      'scroll-my': ['scroll-mt', 'scroll-mb'],\n      'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\n      'scroll-px': ['scroll-pr', 'scroll-pl'],\n      'scroll-py': ['scroll-pt', 'scroll-pb'],\n      touch: ['touch-x', 'touch-y', 'touch-pz'],\n      'touch-x': ['touch'],\n      'touch-y': ['touch'],\n      'touch-pz': ['touch']\n    },\n    conflictingClassGroupModifiers: {\n      'font-size': ['leading']\n    },\n    orderSensitiveModifiers: ['*', '**', 'after', 'backdrop', 'before', 'details-content', 'file', 'first-letter', 'first-line', 'marker', 'placeholder', 'selection']\n  };\n};\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nconst mergeConfigs = (baseConfig, {\n  cacheSize,\n  prefix,\n  experimentalParseClassName,\n  extend = {},\n  override = {}\n}) => {\n  overrideProperty(baseConfig, 'cacheSize', cacheSize);\n  overrideProperty(baseConfig, 'prefix', prefix);\n  overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n  overrideConfigProperties(baseConfig.theme, override.theme);\n  overrideConfigProperties(baseConfig.classGroups, override.classGroups);\n  overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);\n  overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);\n  overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);\n  mergeConfigProperties(baseConfig.theme, extend.theme);\n  mergeConfigProperties(baseConfig.classGroups, extend.classGroups);\n  mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);\n  mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);\n  mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');\n  return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n  if (overrideValue !== undefined) {\n    baseObject[overrideKey] = overrideValue;\n  }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n  if (overrideObject) {\n    for (const key in overrideObject) {\n      overrideProperty(baseObject, key, overrideObject[key]);\n    }\n  }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n  if (mergeObject) {\n    for (const key in mergeObject) {\n      mergeArrayProperties(baseObject, mergeObject, key);\n    }\n  }\n};\nconst mergeArrayProperties = (baseObject, mergeObject, key) => {\n  const mergeValue = mergeObject[key];\n  if (mergeValue !== undefined) {\n    baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;\n  }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n  // clsx is used for conditionally joining classNames together\n  // tailwind-merge is used to merge Tailwind CSS classes\n  // Reference: https://github.com/dcastil/tailwind-merge/blob/v3.3.0/docs/what-is-it-for.md\n  return twMerge(clsx(inputs));\n}\n","/**\n * returns a namespaced sessionStorage key for storing the last route.\n * @param contextId unique identifier for the current context, current sidecarUrl\n */\nexport function getRouteStorageKey(contextId: string) {\n  return `spotlight:lastRoute:${contextId}`;\n}\n","const createStoreImpl = (createState) => {\n  let state;\n  const listeners = /* @__PURE__ */ new Set();\n  const setState = (partial, replace) => {\n    const nextState = typeof partial === \"function\" ? partial(state) : partial;\n    if (!Object.is(nextState, state)) {\n      const previousState = state;\n      state = (replace != null ? replace : typeof nextState !== \"object\" || nextState === null) ? nextState : Object.assign({}, state, nextState);\n      listeners.forEach((listener) => listener(state, previousState));\n    }\n  };\n  const getState = () => state;\n  const getInitialState = () => initialState;\n  const subscribe = (listener) => {\n    listeners.add(listener);\n    return () => listeners.delete(listener);\n  };\n  const api = { setState, getState, getInitialState, subscribe };\n  const initialState = state = createState(setState, getState, api);\n  return api;\n};\nconst createStore = (createState) => createState ? createStoreImpl(createState) : createStoreImpl;\n\nexport { createStore };\n","import React from 'react';\nimport { createStore } from 'zustand/vanilla';\n\nconst identity = (arg) => arg;\nfunction useStore(api, selector = identity) {\n  const slice = React.useSyncExternalStore(\n    api.subscribe,\n    () => selector(api.getState()),\n    () => selector(api.getInitialState())\n  );\n  React.useDebugValue(slice);\n  return slice;\n}\nconst createImpl = (createState) => {\n  const api = createStore(createState);\n  const useBoundStore = (selector) => useStore(api, selector);\n  Object.assign(useBoundStore, api);\n  return useBoundStore;\n};\nconst create = (createState) => createState ? createImpl(createState) : createImpl;\n\nexport { create, useStore };\n","export const ERROR_EVENT_TYPES = new Set([\"event\", \"error\"]);\nexport const TRACE_EVENT_TYPES = new Set([\"transaction\"]);\nexport const PROFILE_EVENT_TYPES = new Set([\"profile\"]);\nexport const LOG_EVENT_TYPES = new Set([\"log\"]);\nexport const ATTACHMENT_EVENT_TYPES = new Set([\"attachment\"]);\nexport const SUPPORTED_EVENT_TYPES = new Set([\n  ...ERROR_EVENT_TYPES,\n  ...TRACE_EVENT_TYPES,\n  ...PROFILE_EVENT_TYPES,\n  ...LOG_EVENT_TYPES,\n]);\n","/**\n * Normalizes SDK name to a platform. Can be as specific or unspecific as we support different platforms and SDKs.\n */\nexport function sdkToPlatform(name: string) {\n  if (name.includes(\"javascript.astro\")) return \"javascript.astro\";\n  if (name.includes(\"javascript\")) return \"javascript\";\n  if (name.includes(\"java\")) return \"java\";\n  if (name.includes(\"python\")) return \"python\";\n  if (name.includes(\"php.laravel\")) return \"php.laravel\";\n  if (name.includes(\"php.symfony\")) return \"php.symfony\";\n  if (name.includes(\"php\")) return \"php\";\n  if (name.includes(\"ruby\")) return \"ruby\";\n  if (name.includes(\"dotnet\")) return \"dotnet\";\n  return \"unknown\";\n}\n","import type { Envelope } from \"@sentry/core\";\nimport type { StateCreator } from \"zustand\";\nimport { ATTACHMENT_EVENT_TYPES, SUPPORTED_EVENT_TYPES } from \"../../constants/sentry\";\nimport type { EventAttachment, Sdk, SentryEvent } from \"../../types\";\nimport { sdkToPlatform } from \"../../utils/sdkToPlatform\";\nimport type { EnvelopesSliceActions, EnvelopesSliceState, SentryStore } from \"../types\";\nimport { RAW_TYPES } from \"@spotlightjs/sidecar/constants\";\n\nconst initialEnvelopesState: EnvelopesSliceState = {\n  envelopes: new Map(),\n};\n\nexport const createEnvelopesSlice: StateCreator<SentryStore, [], [], EnvelopesSliceState & EnvelopesSliceActions> = (\n  set,\n  get,\n) => ({\n  ...initialEnvelopesState,\n  pushEnvelope: (envelope: Envelope) => {\n    const [header, items] = envelope;\n    const lastSeen = new Date(header.sent_at as string).getTime();\n    let sdk: Sdk;\n\n    if (header.sdk?.name && header.sdk.version) {\n      sdk = {\n        name: header.sdk.name,\n        version: header.sdk.version,\n        lastSeen: lastSeen,\n      };\n    } else if (items.length > 0) {\n      sdk = get().inferSdkFromEvent(items[0][1] as SentryEvent);\n    } else {\n      sdk = {\n        name: \"unknown\",\n        version: \"0.0.0\",\n        lastSeen,\n      };\n    }\n\n    get().storeSdkRecord(sdk);\n\n    const traceContext = header.trace;\n\n    const attachmentsByEventId = new Map<string, EventAttachment[]>();\n    const envelopeScopedAttachments: EventAttachment[] = [];\n    let eventCount = 0;\n\n    for (const [itemHeader, itemData] of items) {\n      if (SUPPORTED_EVENT_TYPES.has(itemHeader.type)) {\n        eventCount += 1;\n      }\n\n      if (!ATTACHMENT_EVENT_TYPES.has(itemHeader.type)) {\n        continue;\n      }\n\n      const rawData = (itemData as { data?: unknown })?.data;\n      if (typeof rawData !== \"string\") {\n        continue;\n      }\n\n      const attachment: EventAttachment = {\n        header: itemHeader,\n        data: rawData,\n      };\n\n      const eventId = \"event_id\" in itemHeader ? (itemHeader.event_id as string | undefined) : undefined;\n\n      if (eventId) {\n        const existing = attachmentsByEventId.get(eventId) ?? [];\n        existing.push(attachment);\n        attachmentsByEventId.set(eventId, existing);\n      } else {\n        envelopeScopedAttachments.push(attachment);\n      }\n    }\n\n    for (const [itemHeader, itemData] of items) {\n      if (SUPPORTED_EVENT_TYPES.has(itemHeader.type)) {\n        const item = itemData as SentryEvent;\n        if (!RAW_TYPES.has(itemHeader.type)) {\n          item.platform = sdkToPlatform(sdk.name);\n        }\n        if (traceContext) {\n          if (!item.contexts) {\n            item.contexts = {};\n          }\n          item.contexts.trace ??= traceContext;\n        }\n        const eventId = item.event_id ?? (\"event_id\" in itemHeader ? (itemHeader.event_id as string | undefined) : undefined);\n        let attachmentsForEvent = eventId ? attachmentsByEventId.get(eventId) : undefined;\n\n        if (!attachmentsForEvent?.length && eventCount === 1 && envelopeScopedAttachments.length > 0) {\n          attachmentsForEvent = envelopeScopedAttachments;\n        }\n\n        if (attachmentsForEvent?.length) {\n          item.attachments = attachmentsForEvent;\n        }\n        // The below is an async function but we really don't need to wait for that\n        get().pushEvent(itemData as SentryEvent);\n      }\n    }\n\n    const { envelopes } = get();\n    const newEnvelopes = new Map(envelopes);\n    newEnvelopes.set(header.__spotlight_envelope_id as string, envelope);\n    set({ envelopes: newEnvelopes });\n    return newEnvelopes.size;\n  },\n  getEnvelopeById: (id: string) => {\n    return get().envelopes.get(id);\n  },\n  getEnvelopes: () => Array.from(get().envelopes.values()),\n});\n","export function generateUuidv4() {\n  let dt = new Date().getTime();\n  return \"xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx\".replace(/[xy]/g, c => {\n    let rnd = Math.random() * 16; //random number in range 0 to 16\n    rnd = ((dt + rnd) % 16) | 0;\n    dt = Math.floor(dt / 16);\n    return (c === \"x\" ? rnd : (rnd & 0x3) | 0x8).toString(16);\n  });\n}\n","import { log } from \"~/lib/logger\";\nimport type { Span, Trace } from \"../types\";\n\n// mutates spans in place and adds children, as well as returns the top level tree\nexport function groupSpans(spans: Map<string, Span>): Span[] {\n  const tree: Span[] = [];\n\n  // need to sort root(s) first\n  const sortedSpans = Array.from(spans.values()).sort((a, b) => {\n    const parentComp = (a.parent_span_id ? 1 : 0) - (b.parent_span_id ? 1 : 0);\n    return parentComp === 0 ? compareSpans(a, b) : parentComp;\n  });\n\n  for (const span of sortedSpans) {\n    let parent = span && getParentOfSpan(span, spans, sortedSpans);\n\n    span.children ??= [];\n    if (parent) {\n      parent.children ??= [];\n      parent.children.push(span);\n    } else if (span.parent_span_id) {\n      const parentParent = sortedSpans.find(s => !s.parent_span_id);\n      if (!parentParent) {\n        log(`Root span (${span.parent_span_id}) for span (${span.span_id}). Creating orphan.`);\n      } else {\n        log(`Creating orphan for parent (${span.parent_span_id}) for span (${span.span_id})`);\n      }\n      parent = {\n        trace_id: span.trace_id,\n        span_id: span.parent_span_id,\n        parent_span_id: parentParent ? parentParent.span_id : null,\n        op: \"orphan\",\n        description: \"missing or unknown parent span\",\n        children: [span],\n        start_timestamp: span.start_timestamp,\n        timestamp: span.timestamp,\n        status: \"unknown\",\n      };\n      spans.set(parent.span_id, parent);\n      // sortedSpans.splice(spanIdx, 0, parent);\n      if (parentParent) {\n        parentParent.children ??= [];\n        parentParent.children.push(parent);\n      } else {\n        tree.push(parent);\n      }\n    } else {\n      tree.push(span);\n    }\n    spans.set(span.span_id, span);\n  }\n\n  return tree;\n}\n\nfunction getParentOfSpan(span: Span, idLookup: Map<string, Span>, allSpans: Span[]): Span | undefined {\n  if (!span.parent_span_id) {\n    return undefined;\n  }\n\n  return idLookup.get(span.parent_span_id) || allSpans.find(s => s.span_id === span.parent_span_id);\n}\n\nexport function compareSpans(a: { start_timestamp: number }, b: { start_timestamp: number }): number {\n  return a.start_timestamp - b.start_timestamp;\n}\n\nexport function getRootTransactionMethod(trace: Trace) {\n  // Fallback to first transaction if no root transaction (e.g., orphan traces)\n  const transaction = trace.rootTransaction || trace.transactions[0];\n  const method = String(transaction?.contexts?.trace.data?.method || transaction?.request?.method || \"\");\n  return method;\n}\n\nexport function getRootTransactionName(trace: Trace) {\n  const method = getRootTransactionMethod(trace);\n  // For orphan traces without a root, use the first transaction's name\n  let name = trace.rootTransactionName;\n  if (!trace.rootTransaction && trace.transactions.length > 0) {\n    name = trace.transactions[0].transaction || trace.rootTransactionName;\n  }\n\n  // Strip method prefix if present\n  const finalName = method && name.startsWith(method) ? name.slice(method.length + 1) : name;\n\n  return finalName;\n}\n","import { log } from \"~/lib/logger\";\nimport { generateUuidv4 } from \"~/lib/uuid\";\nimport useSentryStore from \"../store\";\nimport type { SentryProfileWithTraceMeta } from \"../store/types\";\nimport type { EventFrame, Span, Trace } from \"../types\";\nimport { compareSpans } from \"../utils/traces\";\n\nconst _FUNCTION_NAME_FROM_FRAME_CACHE = new Map<EventFrame, string>();\nexport function getFunctionNameFromFrame(frame: EventFrame): string {\n  let result = _FUNCTION_NAME_FROM_FRAME_CACHE.get(frame);\n  if (!result) {\n    const module = frame.module || frame.filename || frame.abs_path || \"<unknown>\";\n    const functionName = frame.function || \"<anonymous>\";\n    const lineNo = frame.lineno ? `:${frame.lineno}` : \"\";\n    const colNo = frame.lineno && frame.colno ? `:${frame.colno}` : \"\";\n    result = `${module}@${functionName}${lineNo}${colNo}`;\n    _FUNCTION_NAME_FROM_FRAME_CACHE.set(frame, result);\n  }\n  return result;\n}\n\n/**\n * Groups consequent spans with the same description and op into a single span per each level.\n * Essentially a BFS traversal of the spans tree.\n * @param spans Span[] A list of spans to consolidate, sorted by their start_timestamp\n * @returns Span[] A list of spans with the same description and op consolidated into a single span\n */\nfunction consolidateSpans(trace: Trace, spans: Span[]): Span[] {\n  const consolidatedSpans: Span[] = [];\n  let lastSpan = spans[0];\n  let spanIdx = 1;\n  while (spanIdx < spans.length + 1) {\n    const span = spans[spanIdx];\n    spanIdx += 1;\n    if (span && span.description === lastSpan.description && span.op === lastSpan.op) {\n      // Require the spans are sorted by start_timestamp\n      lastSpan.timestamp = span.timestamp;\n      if (span.children) {\n        if (lastSpan.children) {\n          for (const child of span.children) {\n            lastSpan.children.push(child);\n          }\n          lastSpan.children.sort(compareSpans);\n        } else {\n          lastSpan.children = span.children;\n        }\n      }\n    } else {\n      // Discard very short spans\n      if (lastSpan.timestamp - lastSpan.start_timestamp > 0) {\n        if (lastSpan.children) {\n          lastSpan.children = consolidateSpans(trace, lastSpan.children);\n        }\n        consolidatedSpans.push(lastSpan);\n        trace.spans.set(lastSpan.span_id, lastSpan);\n      }\n      lastSpan = span;\n    }\n  }\n\n  return consolidatedSpans;\n}\n\n// This is done per platform right now but we may want to make it use\n// SDK or something more specific, especially for JS as `javascript` may\n// mean browser, node, etc.\nconst SENTRY_FRAME_FILTER_PER_PLATFORM: Record<\n  string,\n  (this: SentryProfileWithTraceMeta[\"frames\"], frameIdx: number) => boolean | undefined\n> = {\n  python: function (frameIdx) {\n    return this[frameIdx].module?.startsWith(\"sentry_sdk.\");\n  },\n  javascript: function (frameIdx) {\n    const frame = this[frameIdx];\n    const module = frame.module;\n    if (module) {\n      return module.startsWith(\"@sentry\") || module.startsWith(\"@opentelemetry.instrumentation\");\n    }\n    // This one below is to match things like `http://localhost:3000/node_modules/.vite/deps/@sentry_react.js?v=6942e78f` etc.\n    return frame.abs_path ? /\\/node_modules\\/.*\\/@(sentry|opentelemetry)[^a-z0-9]/.test(frame.abs_path) : false;\n  },\n};\n\nexport function getSpansFromProfile(\n  trace: Trace,\n  profile: SentryProfileWithTraceMeta,\n  parent_span_id: string | undefined,\n  startTs: number,\n  endTs: number,\n  threadIds: Set<string>,\n): Span[] {\n  threadIds.add(profile.active_thread_id);\n\n  const sentryFrameFilter = profile.platform && SENTRY_FRAME_FILTER_PER_PLATFORM[profile.platform];\n  // Try to fill in the gaps from profile data\n  const fillerSpans: Span[] = [];\n  for (let sampleIdx = 0; sampleIdx < profile.samples.length; sampleIdx++) {\n    const sample = profile.samples[sampleIdx];\n    if (sample.thread_id && !threadIds.has(sample.thread_id)) {\n      continue;\n    }\n    const sampleTs = sample.start_timestamp;\n    if (sampleTs < startTs || sampleTs > endTs) {\n      continue;\n    }\n    const nextSample = profile.samples[sampleIdx + 1];\n    const timestamp = nextSample ? nextSample.start_timestamp : endTs;\n\n    if (timestamp > endTs) {\n      continue;\n    }\n    const commonAttributes = {\n      start_timestamp: sampleTs,\n      timestamp,\n      trace_id: trace.trace_id,\n      status: \"ok\",\n      tags: { source: \"profile\" },\n      data: {\n        \"thread.id\": sample.thread_id,\n        \"thread.name\": profile.thread_metadata?.[sample.thread_id as keyof typeof profile.thread_metadata]?.name,\n      },\n    };\n    const sampleSpan: Span = {\n      span_id: generateUuidv4(),\n      parent_span_id,\n      ...commonAttributes,\n      op: \"Thread\",\n      description:\n        profile.thread_metadata?.[sample.thread_id as keyof typeof profile.thread_metadata]?.name ||\n        `Thread ${sample.thread_id}`,\n      data: {\n        thread_id: sample.thread_id,\n      },\n    };\n    let currentSpan = sampleSpan;\n    const currentStack = profile.stacks[sample.stack_id];\n    const lastSentryFrameIdx = sentryFrameFilter ? currentStack.findLastIndex(sentryFrameFilter, profile.frames) : 0;\n    for (let frameIdxIdx = lastSentryFrameIdx + 1; frameIdxIdx < currentStack.length; frameIdxIdx++) {\n      const frame = profile.frames[currentStack[frameIdxIdx]];\n      // XXX: We may wanna skip frames that doesn't have `in_app` set to true\n      //      that said it's better to have this as a dynamic filter\n      const [op, description] = getFunctionNameFromFrame(frame).split(\"@\");\n      const spanFromFrame: Span = {\n        span_id: generateUuidv4(),\n        parent_span_id: currentSpan.span_id,\n        ...commonAttributes,\n        op,\n        description,\n        data: {\n          ...frame,\n        },\n      };\n      currentSpan.children = [spanFromFrame];\n      currentSpan = spanFromFrame;\n    }\n    fillerSpans.push(sampleSpan);\n  }\n\n  if (!fillerSpans.length) {\n    return [];\n  }\n  const consolidated = consolidateSpans(trace, fillerSpans);\n  // Remove the extra layer of nesting if there is only one span which should be the \"Thread\" span\n  return (consolidated.length === 1 ? consolidated[0].children || [] : consolidated).filter(\n    span => span.timestamp - span.start_timestamp > 0 && span.timestamp <= endTs,\n  );\n}\n\n/**\n * Modifies the spanTree in place recursively by adding spans from the\n * profile data where there are gaps in the trace data.\n * @param spanTree Span[] The tree of spans to graft profile spans into\n */\nexport function graftProfileSpans(\n  trace: Trace,\n  profile?: SentryProfileWithTraceMeta,\n  spanTree: Span[] = trace.spanTree,\n  parent: Span | Trace = trace,\n) {\n  log(`Grafting profile spans into trace ${trace.trace_id}`);\n  if (trace.profileGrafted) {\n    log(`Trace already has profile grafted ${trace.trace_id}`);\n    return;\n  }\n  if (!profile) {\n    profile = trace.trace_id ? useSentryStore.getState().getProfileByTraceId(trace.trace_id) : undefined;\n    if (!profile) {\n      log(`Profile not found for trace ${trace.trace_id}`);\n      return;\n    }\n  }\n\n  let idx = -1;\n  while (idx < spanTree.length) {\n    const span = spanTree[idx] as Span | undefined;\n    if (span?.tags?.source === \"profile\") {\n      idx += 1;\n      continue;\n    }\n    const nextSpan = spanTree[idx + 1];\n    if (nextSpan?.tags?.source === \"profile\") {\n      idx += 1;\n      continue;\n    }\n\n    const startTs = span ? span.timestamp : parent.start_timestamp;\n    const endTs = nextSpan ? nextSpan.start_timestamp : parent.timestamp;\n    const threadIds = new Set([span?.data?.threadId, nextSpan?.data?.threadId, parent?.data?.threadId]);\n    threadIds.delete(undefined);\n    if (endTs - startTs > 0) {\n      const fillers = getSpansFromProfile(trace, profile, parent.span_id, startTs, endTs, threadIds as Set<string>);\n      if (fillers.length) {\n        spanTree.splice(idx + 1, 0, ...fillers);\n        idx += fillers.length;\n      }\n    }\n    if (span) {\n      span.children ??= [];\n      graftProfileSpans(trace, profile, span.children, span);\n    }\n    idx += 1;\n  }\n  // Only mark as grafted at the top level to avoid early quitting during\n  // recursive calls above for child spans\n  trace.profileGrafted = trace.spanTree === spanTree;\n}\n","import { ERROR_EVENT_TYPES, LOG_EVENT_TYPES, PROFILE_EVENT_TYPES, TRACE_EVENT_TYPES } from \"../constants/sentry\";\nimport type {\n  SentryErrorEvent,\n  SentryEvent,\n  SentryLogEvent,\n  SentryProfileV1Event,\n  SentryTransactionEvent,\n} from \"../types\";\n\nexport function isErrorEvent(event: SentryEvent): event is SentryErrorEvent {\n  return (!event.type || ERROR_EVENT_TYPES.has(event.type)) && Boolean((event as SentryErrorEvent).exception);\n}\n\nexport function isProfileEvent(event: SentryEvent): event is SentryProfileV1Event {\n  return !!event.type && PROFILE_EVENT_TYPES.has(event.type) && (event as SentryProfileV1Event).version === \"1\";\n}\n\nexport function isTraceEvent(event: SentryEvent): event is SentryTransactionEvent {\n  return !!event.type && TRACE_EVENT_TYPES.has(event.type);\n}\n\nexport function isLogEvent(event: SentryEvent): event is SentryLogEvent {\n  return !!event.type && LOG_EVENT_TYPES.has(event.type);\n}\n","export function toTimestamp(date: string | number) {\n  if (typeof date === \"string\") return new Date(date).getTime();\n  return date * 1000;\n}\n\nexport function relativeNsToTimestamp(startTs: number, ns: number | string) {\n  const nsStr = ns.toString();\n  return nsStr.length > 3 ? startTs + Number.parseInt(nsStr.slice(0, -3), 10) / 1000 : startTs;\n}\n","import type { StateCreator } from \"zustand\";\nimport { generateUuidv4 } from \"~/lib/uuid\";\nimport { graftProfileSpans } from \"../../data/profiles\";\nimport type {\n  ProfileSample,\n  SentryEvent,\n  SentryLogEventItem,\n  SentryProfileTransactionInfo,\n  SentryTransactionEvent,\n  Span,\n} from \"../../types\";\nimport { isErrorEvent, isLogEvent, isProfileEvent, isTraceEvent } from \"../../utils/sentry\";\nimport { compareSpans, groupSpans } from \"../../utils/traces\";\nimport type { EventsSliceActions, EventsSliceState, SentryStore } from \"../types\";\nimport { relativeNsToTimestamp, toTimestamp } from \"../utils\";\n\nconst initialEventsState: EventsSliceState = {\n  eventsById: new Map(),\n};\n\nexport const createEventsSlice: StateCreator<SentryStore, [], [], EventsSliceState & EventsSliceActions> = (\n  set,\n  get,\n) => ({\n  ...initialEventsState,\n  pushEvent: async (event: SentryEvent & { event_id?: string }) => {\n    if (!event.event_id) {\n      event.event_id = generateUuidv4();\n    }\n\n    const { eventsById: _eventsById } = get();\n    if (_eventsById.has(event.event_id)) return;\n\n    if (isErrorEvent(event)) {\n      await get().processStacktrace(event);\n    }\n\n    if (event.timestamp) {\n      event.timestamp = toTimestamp(event.timestamp);\n    }\n    if (event.start_timestamp) {\n      event.start_timestamp = toTimestamp(event.start_timestamp);\n    }\n\n    if (isLogEvent(event) && event.items?.length) {\n      const { logsById, logsByTraceId } = get();\n      for (const logItem of event.items) {\n        const logId = logItem.id || generateUuidv4();\n        if (logsById.has(logId)) {\n          continue;\n        }\n        if (logItem.severity_number == null) {\n          logItem.severity_number = 0;\n        }\n        logItem.sdk = logItem.attributes?.[\"sentry.sdk.name\"]?.value as string;\n        logItem.timestamp = toTimestamp(logItem.timestamp);\n        logItem.id = logId;\n\n        const newLogsById = new Map(logsById);\n        newLogsById.set(logItem.id, logItem);\n        set({ logsById: newLogsById });\n\n        if (logItem.trace_id) {\n          const newLogsByTraceId = new Map(logsByTraceId);\n          const logSet = newLogsByTraceId.get(logItem.trace_id) || new Set<SentryLogEventItem>();\n          logSet.add(logItem);\n          newLogsByTraceId.set(logItem.trace_id, logSet);\n          set({ logsByTraceId: newLogsByTraceId });\n        }\n      }\n    }\n\n    const { eventsById } = get();\n    const newEventIds = new Map(eventsById);\n    newEventIds.set(event.event_id, event);\n    set({ eventsById: newEventIds });\n\n    // Notify event subscribers\n    for (const [type, callback] of get().subscribers.values()) {\n      if (type === \"event\") {\n        (callback as (event: SentryEvent) => void)(event);\n      }\n    }\n\n    const traceCtx = event.contexts?.trace;\n    if (traceCtx?.trace_id) {\n      const { tracesById } = get();\n      const existingTrace = tracesById.get(traceCtx.trace_id);\n      const trace = existingTrace ?? {\n        ...traceCtx,\n        trace_id: traceCtx.trace_id,\n        spans: new Map(),\n        spanTree: [] as Span[],\n        transactions: [] as SentryTransactionEvent[],\n        errors: 0,\n        start_timestamp: event.start_timestamp ?? event.timestamp,\n        timestamp: event.timestamp,\n        status: traceCtx.status,\n        rootTransactionName: event.transaction || \"(unknown transaction)\",\n        rootTransaction: null,\n        profileGrafted: false,\n      };\n      trace.start_timestamp = Math.min(event.start_timestamp ?? event.timestamp, trace.start_timestamp);\n      trace.timestamp = Math.max(event.timestamp, trace.timestamp);\n\n      if (isTraceEvent(event)) {\n        trace.transactions.push(event);\n        trace.transactions.sort(compareSpans);\n\n        // recompute tree as we might have txn out of order\n        // XXX: we're trusting timestamps, which may not be as reliable as we'd like\n        const spanMap: Map<string, Span> = new Map();\n        for (const txn of trace.transactions) {\n          const trace = txn.contexts.trace;\n          if (!trace || !trace.span_id || !trace.trace_id) {\n            continue;\n          }\n\n          spanMap.set(trace.span_id, {\n            ...trace,\n            // TypeScript is not smart enough to compose the assertion above\n            // with the spread syntax above, hence the need for these explicit\n            // `span_id` and `trace_id` assignments\n            span_id: trace.span_id,\n            trace_id: trace.trace_id,\n            tags: txn?.tags,\n            start_timestamp: txn.start_timestamp,\n            timestamp: txn.timestamp,\n            description: traceCtx.description || txn.transaction,\n            transaction: txn,\n          });\n\n          if (txn.spans) {\n            for (const span of txn.spans) {\n              spanMap.set(span.span_id, {\n                ...span,\n                timestamp: toTimestamp(span.timestamp),\n                start_timestamp: toTimestamp(span.start_timestamp),\n              });\n            }\n          }\n        }\n        trace.spans = spanMap;\n        trace.spanTree = groupSpans(trace.spans);\n        graftProfileSpans(trace);\n      } else if (isErrorEvent(event)) {\n        trace.errors += 1;\n      }\n      if (traceCtx.status !== \"ok\") trace.status = traceCtx.status;\n\n      const roots = trace.transactions.filter(e => !e.contexts.trace.parent_span_id);\n      if (roots.length === 1) {\n        trace.rootTransaction = roots[0];\n        trace.rootTransactionName = roots[0].transaction || \"(unknown transaction)\";\n      } else if (roots.length > 1) {\n        trace.rootTransactionName = \"(multiple root transactions)\";\n      } else if (trace.transactions.length > 0) {\n        // Orphan trace: no root transaction, but has child transactions\n        // This happens when the backend receives a trace continuation from the frontend,\n        // but the frontend is not sending traces to Spotlight\n        console.debug(\n          `[Spotlight] Orphan trace detected (trace_id: ${trace.trace_id}). ` +\n            `Using first transaction \"${trace.transactions[0].transaction}\" as fallback.`,\n        );\n        trace.rootTransactionName = trace.transactions[0].transaction || \"(orphan transaction)\";\n      } else {\n        trace.rootTransactionName = \"(missing root transaction)\";\n      }\n\n      if (!existingTrace) {\n        const newTracesById = new Map(tracesById);\n        newTracesById.set(trace.trace_id, trace);\n        set({\n          tracesById: newTracesById,\n        });\n      }\n    }\n\n    if (isProfileEvent(event)) {\n      if (!event.transactions) {\n        event.transactions = event.transaction ? [event.transaction] : [];\n      }\n      const { profilesByTraceId, tracesById } = get();\n      const newProfilesByTraceId = new Map(profilesByTraceId);\n\n      for (const txn of event.transactions) {\n        if (typeof txn === \"string\") continue; // Skip if it's just a string transaction ID\n        const profileTxn = txn as SentryProfileTransactionInfo;\n        const trace = tracesById.get(profileTxn.trace_id);\n        const timestamp =\n          trace && profileTxn.relative_start_ns != null\n            ? relativeNsToTimestamp(trace.start_timestamp, profileTxn.relative_start_ns)\n            : event.timestamp;\n\n        const profile = {\n          platform: event.platform,\n          thread_metadata: event.profile.thread_metadata,\n          samples: event.profile.samples.map((s: ProfileSample) => ({\n            stack_id: s.stack_id,\n            thread_id: s.thread_id,\n            elapsed_since_start_ns: s.elapsed_since_start_ns,\n            start_timestamp: relativeNsToTimestamp(timestamp, s.elapsed_since_start_ns),\n          })),\n          frames: event.profile.frames,\n          stacks: event.profile.stacks.map(s => Array.from(s).reverse()),\n          timestamp,\n          active_thread_id: profileTxn.active_thread_id,\n        };\n        newProfilesByTraceId.set(profileTxn.trace_id, profile);\n        // Avoid grafting partial traces (where we mocked start_timestamp from the event's timestamp)\n        // These should get grafted once we get the full trace data later on\n        if (trace && trace.start_timestamp < trace.timestamp) {\n          graftProfileSpans(trace, profile);\n        }\n      }\n      set({ profilesByTraceId: newProfilesByTraceId });\n    }\n  },\n  getEvents: () => Array.from(get().eventsById.values()),\n});\n","import type { StateCreator } from \"zustand\";\nimport type { LogsSliceActions, LogsSliceState, SentryStore } from \"../types\";\n\nconst initialLogsState: LogsSliceState = {\n  logsById: new Map(),\n  logsByTraceId: new Map(),\n};\n\nexport const createLogsSlice: StateCreator<SentryStore, [], [], LogsSliceState & LogsSliceActions> = (_set, get) => ({\n  ...initialLogsState,\n  getLogById: (id: string) => get().logsById.get(id),\n  getLogs: () => Array.from(get().logsById.values()),\n  getLogsByTraceId: (traceId: string) => {\n    const logsByTraceId = get().logsByTraceId.get(traceId);\n    return logsByTraceId ? Array.from(logsByTraceId) : [];\n  },\n});\n","import type { StateCreator } from \"zustand\";\nimport { getFunctionNameFromFrame } from \"../../data/profiles\";\nimport type { AggregateCallData, TraceId } from \"../../types\";\nimport type { ProfilesSliceActions, ProfilesSliceState, SentryStore } from \"../types\";\n\nconst initialProfilesState: ProfilesSliceState = {\n  profilesByTraceId: new Map(),\n};\n\nexport const createProfilesSlice: StateCreator<SentryStore, [], [], ProfilesSliceState & ProfilesSliceActions> = (\n  _set,\n  get,\n) => ({\n  ...initialProfilesState,\n  getProfileByTraceId: (id: string) => get().profilesByTraceId.get(id),\n  getAggregateCallData: () => {\n    const aggregateCalls = new Map<string, AggregateCallData>();\n    for (const [traceId, profile] of get().profilesByTraceId) {\n      for (let sampleIdx = 0; sampleIdx < profile.samples.length - 1; sampleIdx++) {\n        const sample = profile.samples[sampleIdx];\n        const nextSample = profile.samples[sampleIdx + 1];\n        // TODO: Handle the case where nextSample is undefined -- use the end of the profile or associated trace\n        const duration = nextSample.start_timestamp - sample.start_timestamp;\n        // TODO: Keep a running average based on continuous samples\n        //       as in where we keep seeing the same function name / frame back to back\n\n        const stackId = sample.stack_id;\n        const frameIndices = profile.stacks[stackId];\n\n        for (const frameIdx of frameIndices) {\n          const frame = profile.frames[frameIdx];\n          const name = getFunctionNameFromFrame(frame);\n          const callData = aggregateCalls.get(name);\n          if (callData) {\n            callData.totalTime += duration;\n            callData.samples += 1;\n            callData.traceIds.add(traceId);\n          } else {\n            aggregateCalls.set(name, {\n              name,\n              totalTime: duration,\n              samples: 1,\n              traceIds: new Set<TraceId>([traceId]),\n            });\n          }\n        }\n      }\n    }\n\n    return Array.from(aggregateCalls.values());\n  },\n});\n","import type { StateCreator } from \"zustand\";\nimport type { Sdk, SentryEvent } from \"../../types\";\nimport type { SDKsSliceActions, SDKsSliceState, SentryStore } from \"../types\";\n\nconst initialSDKsState: SDKsSliceState = {\n  sdks: new Map<string, Sdk>(),\n};\n\nconst getSDKKey = (sdk: Sdk): string => `${sdk.name}@${sdk.version}`;\n\nexport const createSDKsSlice: StateCreator<SentryStore, [], [], SDKsSliceState & SDKsSliceActions> = (set, get) => ({\n  ...initialSDKsState,\n  inferSdkFromEvent: (event: SentryEvent) => {\n    const sdk: Sdk = {\n      name: \"unknown\",\n      version: \"unknown\",\n      lastSeen: new Date().getTime(),\n    };\n\n    if (event.sdk) {\n      sdk.name = event.sdk.name || sdk.name;\n      sdk.version = event.sdk.version || sdk.version;\n    } else if (event.platform) {\n      sdk.name = event.platform;\n    }\n\n    return sdk;\n  },\n  storeSdkRecord: (sdk: Sdk) => {\n    const sdks = get().sdks;\n    const existingSdk = sdks.get(getSDKKey(sdk));\n    if (existingSdk) {\n      existingSdk.lastSeen = sdk.lastSeen;\n    } else {\n      const newSdks = new Map(sdks);\n      newSdks.set(getSDKKey(sdk), sdk);\n      set({ sdks: newSdks });\n    }\n    return existingSdk || sdk;\n  },\n  getSdks: () => Array.from(get().sdks.values()),\n});\n","export const DEFAULT_SIDECAR_URL = \"http://localhost:8969\";\nexport const DEFAULT_SIDECAR_STREAM_URL = new URL(\"/stream\", DEFAULT_SIDECAR_URL).href;\n","import { CONTEXT_LINES_ENDPOINT } from \"@spotlightjs/sidecar/constants\";\nimport type { StateCreator } from \"zustand\";\nimport { DEFAULT_SIDECAR_URL } from \"~/constants\";\nimport type { SentryStore, SettingsSliceActions, SettingsSliceState } from \"../types\";\n\nconst initialSettingsState: SettingsSliceState = {\n  contextLinesProvider: new URL(CONTEXT_LINES_ENDPOINT, DEFAULT_SIDECAR_URL).href,\n};\n\nexport const createSettingsSlice: StateCreator<\n  SentryStore,\n  [],\n  [],\n  SettingsSliceState & SettingsSliceActions\n> = set => ({\n  ...initialSettingsState,\n  setSidecarUrl: (url: string) => {\n    const { href: contextLinesProviderUrl } = new URL(CONTEXT_LINES_ENDPOINT, url);\n    set({ contextLinesProvider: contextLinesProviderUrl });\n  },\n});\n","type FetchImpl = typeof fetch;\ntype WrappedFetchImpl = FetchImpl & { __sentry_original__: FetchImpl };\n\n/**\n * We want to get an unpatched fetch implementation to avoid capturing our own calls.\n */\nexport function getNativeFetchImplementation(): FetchImpl {\n  if (fetchIsWrapped(window.fetch)) {\n    return window.fetch.__sentry_original__;\n  }\n\n  return window.fetch;\n}\n\nfunction fetchIsWrapped(fetchImpl: FetchImpl): fetchImpl is WrappedFetchImpl {\n  return \"__sentry_original__\" in fetchImpl;\n}\n","import type { StateCreator } from \"zustand\";\nimport { log } from \"~/lib/logger\";\nimport type { SentryStore, SharedSliceActions } from \"~/telemetry/store/types\";\nimport type { SentryErrorEvent } from \"~/telemetry/types\";\nimport { getNativeFetchImplementation } from \"~/telemetry/utils/fetch\";\n\nexport const createSharedSlice: StateCreator<SentryStore, [], [], SharedSliceActions> = (set, get) => ({\n  getEventById: (id: string) => get().eventsById.get(id),\n  getTraceById: (id: string) => get().tracesById.get(id),\n  getEventsByTrace: (traceId: string, spanId?: string | null) => {\n    const { getEvents } = get();\n    return getEvents().filter(evt => {\n      const trace = evt.contexts?.trace;\n      if (!trace || trace.trace_id !== traceId) return false;\n      if (spanId !== undefined) return trace.span_id === spanId;\n      return true;\n    });\n  },\n  processStacktrace: async (errorEvent: SentryErrorEvent): Promise<void> => {\n    if (!errorEvent.exception || !errorEvent.exception.values) {\n      return;\n    }\n\n    await Promise.all(\n      (errorEvent.exception.values ?? []).map(async exception => {\n        if (!exception.stacktrace || !exception.stacktrace.frames) {\n          return;\n        }\n        exception.stacktrace.frames.reverse();\n\n        if (exception.stacktrace.frames.every(frame => frame.post_context && frame.pre_context && frame.context_line)) {\n          log(\"Skipping contextlines request as we have full context for\", exception);\n          return;\n        }\n\n        try {\n          const makeFetch = getNativeFetchImplementation();\n          const stackTraceWithContextResponse = await makeFetch(get().contextLinesProvider, {\n            method: \"PUT\",\n            body: JSON.stringify(exception.stacktrace),\n          });\n\n          if (!stackTraceWithContextResponse.ok || stackTraceWithContextResponse.status !== 200) {\n            return;\n          }\n\n          const stackTraceWithContext = await stackTraceWithContextResponse.json();\n          exception.stacktrace = stackTraceWithContext;\n        } catch {\n          // Something went wrong, for now we just ignore it.\n        }\n\n        return;\n      }),\n    );\n  },\n  resetData: () => {\n    set({\n      envelopes: new Map(),\n      eventsById: new Map(),\n      tracesById: new Map(),\n      sdks: new Map(),\n      profilesByTraceId: new Map(),\n      logsById: new Map(),\n      logsByTraceId: new Map(),\n    });\n  },\n});\n","import type { StateCreator } from \"zustand\";\nimport { generateUuidv4 } from \"~/lib/uuid\";\nimport type { SentryStore, Subscription, SubscriptionsSliceActions, SubscriptionsSliceState } from \"../types\";\n\nconst initialSubscriptionsState: SubscriptionsSliceState = {\n  subscribers: new Map(),\n};\n\nexport const createSubscriptionsSlice: StateCreator<\n  SentryStore,\n  [],\n  [],\n  SubscriptionsSliceState & SubscriptionsSliceActions\n> = (set, get) => ({\n  ...initialSubscriptionsState,\n  subscribe: (...args: Subscription) => {\n    const id = generateUuidv4();\n    const { subscribers } = get();\n    const newSubscribers = new Map(subscribers);\n    newSubscribers.set(id, args);\n    set({ subscribers: newSubscribers });\n\n    return () => {\n      const { subscribers: currentSubscribers } = get();\n      const updatedSubscribers = new Map(currentSubscribers);\n      updatedSubscribers.delete(id);\n      set({ subscribers: updatedSubscribers });\n    };\n  },\n});\n","import type { StateCreator } from \"zustand\";\nimport type { SentryStore, TracesSliceActions, TracesSliceState } from \"../types\";\n\nconst initialTracesState: TracesSliceState = {\n  tracesById: new Map(),\n};\n\nexport const createTracesSlice: StateCreator<SentryStore, [], [], TracesSliceState & TracesSliceActions> = (\n  _,\n  get,\n) => ({\n  ...initialTracesState,\n  getTraces: () => Array.from(get().tracesById.values()),\n});\n","import { create } from \"zustand\";\nimport { createEnvelopesSlice } from \"./slices/envelopesSlice\";\nimport { createEventsSlice } from \"./slices/eventsSlice\";\nimport { createLogsSlice } from \"./slices/logsSlice\";\nimport { createProfilesSlice } from \"./slices/profilesSlice\";\nimport { createSDKsSlice } from \"./slices/sdksSlice\";\nimport { createSettingsSlice } from \"./slices/settingsSlice\";\nimport { createSharedSlice } from \"./slices/sharedSlice\";\nimport { createSubscriptionsSlice } from \"./slices/subscriptionsSlice\";\nimport { createTracesSlice } from \"./slices/tracesSlice\";\nimport type { SentryStore, SharedSliceActions } from \"./types\";\n\nconst useSentryStore = create<SentryStore & SharedSliceActions>()((...a) => ({\n  ...createEventsSlice(...a),\n  ...createTracesSlice(...a),\n  ...createProfilesSlice(...a),\n  ...createSubscriptionsSlice(...a),\n  ...createSettingsSlice(...a),\n  ...createEnvelopesSlice(...a),\n  ...createSDKsSlice(...a),\n  ...createLogsSlice(...a),\n  ...createSharedSlice(...a),\n}));\n\nexport default useSentryStore;\n","export const ERROR_EVENT_TYPES = new Set([\"event\", \"error\"]);\nexport const TRACE_EVENT_TYPES = new Set([\"transaction\"]);\nexport const PROFILE_EVENT_TYPES = new Set([\"profile\"]);\nexport const LOG_EVENT_TYPES = new Set([\"log\"]);\nexport const SUPPORTED_EVENT_TYPES = new Set([\n    ...ERROR_EVENT_TYPES,\n    ...TRACE_EVENT_TYPES,\n    ...PROFILE_EVENT_TYPES,\n    ...LOG_EVENT_TYPES,\n]);\nexport function isErrorEvent(event) {\n    return (!event.type || ERROR_EVENT_TYPES.has(event.type)) && Boolean(event.exception);\n}\nexport function isProfileEvent(event) {\n    return !!event.type && PROFILE_EVENT_TYPES.has(event.type) && event.version === \"1\";\n}\nexport function isTraceEvent(event) {\n    return !!event.type && TRACE_EVENT_TYPES.has(event.type);\n}\nexport function isLogEvent(event) {\n    return !!event.type && LOG_EVENT_TYPES.has(event.type);\n}\n","import type { TabPanel } from \"~/types\";\n\nexport function createTab<T>(\n  id: string,\n  title: string,\n  extra: Partial<Omit<TabPanel<T>, \"id\" | \"title\">> = {},\n): TabPanel<T> {\n  return {\n    id,\n    title,\n    ...extra,\n  };\n}\n","import { NavLink } from \"react-router-dom\";\nimport type { TabPanel } from \"~/types\";\n\ntype TabsProps = {\n  tabs: TabPanel<unknown>[];\n  nested?: boolean;\n};\n\nexport default function TelemetryTabs({ tabs, nested = false }: TabsProps) {\n  return (\n    <nav className=\"flex border-b border-primary-700\">\n      {tabs.map(tab => {\n        const tabPath = nested ? `./${tab.id}` : `/${tab.id}`;\n\n        return (\n          <NavLink\n            key={tab.id}\n            to={tabPath}\n            className={({ isActive }) =>\n              `px-4 py-2 text-sm font-medium transition-colors hover:text-primary-200 ${\n                isActive ? \"border-b-2 border-primary-400 text-primary-200\" : \"text-primary-400\"\n              }`\n            }\n          >\n            {tab.title}\n          </NavLink>\n        );\n      })}\n    </nav>\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%231C1E24'/%3e%3cpath%20fill='url(%23a)'%20d='M7.35%2016.62c-.89-.8-1.15-2.49-.78-3.7.64.77%201.53%201%202.46%201.15%201.42.21%202.82.13%204.14-.51l.45-.27c.13.35.16.71.12%201.07-.1.9-.56%201.58-1.27%202.1l-.88.6c-.9.6-1.15%201.3-.8%202.33l.02.11a2.46%202.46%200%200%201-1.46-2.25c0-.24%200-.48-.04-.72-.07-.58-.35-.83-.87-.85-.53-.01-.95.3-1.06.82l-.03.12Z'/%3e%3cpath%20fill='%23fff'%20d='M2.88%2013.29S5.3%2012.1%207.75%2012.1l1.84-5.68c.06-.27.26-.46.5-.46.22%200%20.42.2.49.46l1.84%205.68a10.3%2010.3%200%200%201%204.86%201.18L13.15%202.05c-.12-.33-.32-.55-.6-.55H7.6c-.27%200-.46.22-.58.55L2.88%2013.29Z'/%3e%3clinearGradient%20id='a'%20x1='6.41'%20x2='14.95'%20y1='19.5'%20y2='15.41'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23D83333'/%3e%3cstop%20offset='1'%20stop-color='%23F041FF'/%3e%3c/linearGradient%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'/%3e%3cpath%20fill='%23fff'%20d='m3.88%2010.1%202.38%201.61c.07.06.15.12.22.2.07.06.11.16.11.26v.9a.22.22%200%200%201-.22.22h-.05a.3.3%200%200%201-.06-.03l-3.7-2.5a1.08%201.08%200%200%201-.23-.18.38.38%200%200%201-.08-.26v-.43c0-.1.02-.2.08-.27.07-.07.14-.13.23-.18l3.7-2.5a.3.3%200%200%201%20.06-.02h.05a.22.22%200%200%201%20.22.22v.9c0%20.1-.04.2-.11.26l-.22.2-2.38%201.6Zm7.18-4.28c.04-.08.1-.16.16-.22.08-.07.2-.1.3-.1h.8a.24.24%200%200%201%20.23.23l-.02.1-3.58%208.54a.67.67%200%200%201-.15.22.43.43%200%200%201-.32.1h-.76a.22.22%200%200%201-.16-.07.23.23%200%200%201-.05-.26l3.55-8.54Zm2.68%202.69a1.71%201.71%200%200%201-.22-.2.37.37%200%200%201-.11-.26v-.9a.22.22%200%200%201%20.13-.2.22.22%200%200%201%20.09-.02h.05l.06.03%203.7%202.5c.09.05.16.1.23.18.06.07.09.17.08.26v.45c0%20.1-.02.19-.08.26-.07.07-.14.14-.23.19l-3.7%202.46a.34.34%200%200%201-.06.03h-.05a.22.22%200%200%201-.22-.22v-.9a.37.37%200%200%201%20.11-.26l.22-.2%202.38-1.6-2.38-1.6Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23512BD4'/%3e%3cpath%20fill='%23fff'%20d='M2.58%2013a.56.56%200%200%201-.58-.55.54.54%200%200%201%20.17-.4.56.56%200%200%201%20.4-.16.56.56%200%200%201%20.42.16.53.53%200%200%201%200%20.8.56.56%200%200%201-.41.15Zm6.38-.1H7.92L5.19%208.58c-.07-.11-.13-.23-.17-.35h-.03c.03.27.04.54.03.81v3.88H4.1V7h1.11l2.66%204.24c.11.18.18.28.21.36h.02a5.63%205.63%200%200%201-.04-.8V7h.91l-.01%205.9Zm4.47%200h-3.21V7h3.08v.83h-2.13v1.68h1.97v.82h-1.97v1.75h2.26v.83ZM18%207.84h-1.65v5.08h-.95V7.83h-1.64V7H18v.83Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cpath%20fill='url(%23a)'%20d='M17.6124%206.70307C17.2544%205.84166%2016.5282%204.91159%2015.9596%204.61758C16.3652%205.40312%2016.6466%206.24675%2016.794%207.11846L16.7955%207.13228C15.8639%204.80976%2014.2842%203.87331%2012.994%201.83418C12.9273%201.73022%2012.8626%201.62504%2012.7999%201.5187C12.7675%201.46315%2012.7372%201.40642%2012.7091%201.34863C12.6556%201.245%2012.6144%201.13549%2012.5862%201.0223C12.5863%201.01708%2012.5844%201.01203%2012.5809%201.00811C12.5775%201.00418%2012.5727%201.00167%2012.5675%201.00104C12.5624%200.999652%2012.5571%200.999652%2012.552%201.00104C12.5509%201.00104%2012.5492%201.00296%2012.548%201.00338C12.5467%201.00381%2012.5439%201.00572%2012.542%201.00657L12.5452%201.00104C10.4757%202.21279%209.77348%204.45602%209.70885%205.57805C8.88238%205.63486%208.0922%205.93942%207.44139%206.452C7.37349%206.39449%207.30253%206.34069%207.22881%206.29086C7.04107%205.63374%207.03307%204.93829%207.20563%204.27702C6.44562%204.6452%205.7703%205.16713%205.22241%205.80977H5.21858C4.89204%205.39587%204.915%204.03105%204.93371%203.74597C4.83711%203.7848%204.7449%203.83375%204.65862%203.89202C4.37036%204.09776%204.10088%204.32861%203.85334%204.58187C3.57126%204.86787%203.31362%205.17699%203.08314%205.50599V5.50726V5.50577C2.55342%206.25675%202.1777%207.10522%201.97768%208.00219L1.96663%208.05661C1.93624%208.22755%201.90923%208.39907%201.88563%208.57107C1.88563%208.57724%201.88436%208.58298%201.88372%208.58914C1.81159%208.96401%201.7669%209.34363%201.75%209.725V9.76752C1.75181%2011.8305%202.52744%2013.8178%203.9236%2015.3366C5.31977%2016.8554%207.23488%2017.7952%209.29045%2017.9703C11.346%2018.1453%2013.3925%2017.5429%2015.0254%2016.2821C16.6583%2015.0213%2017.7588%2013.1938%2018.1095%2011.1608C18.1233%2011.0545%2018.1345%2010.9493%2018.1469%2010.8419C18.3166%209.43933%2018.1329%208.01656%2017.6124%206.70307ZM8.11615%2013.1525C8.15463%2013.171%208.19077%2013.191%208.23031%2013.2087L8.23605%2013.2123C8.19608%2013.1932%208.15611%2013.1732%208.11615%2013.1525ZM16.7961%207.13419V7.12633L16.7976%207.13505L16.7961%207.13419Z'/%3e%3cpath%20fill='url(%23b)'%20d='M17.6124%206.70304C17.2544%205.84163%2016.5282%204.91156%2015.9596%204.61755C16.3652%205.40309%2016.6466%206.24672%2016.794%207.11843V7.1263L16.7955%207.13502C17.4305%208.95231%2017.3387%2010.9447%2016.5391%2012.6959C15.5948%2014.7221%2013.309%2016.7988%209.73117%2016.6978C5.86527%2016.5884%202.46068%2013.7197%201.82419%209.96243C1.70833%209.36995%201.82419%209.06956%201.88244%208.58805C1.80298%208.96207%201.75864%209.3427%201.75%209.72497V9.76749C1.75181%2011.8305%202.52744%2013.8178%203.9236%2015.3366C5.31977%2016.8554%207.23488%2017.7952%209.29045%2017.9702C11.346%2018.1453%2013.3925%2017.5429%2015.0254%2016.2821C16.6583%2015.0213%2017.7588%2013.1938%2018.1095%2011.1608C18.1233%2011.0545%2018.1345%2010.9493%2018.1469%2010.8419C18.3166%209.4393%2018.1329%208.01653%2017.6124%206.70304Z'/%3e%3cpath%20fill='url(%23c)'%20d='M17.6124%206.70304C17.2544%205.84163%2016.5282%204.91156%2015.9596%204.61755C16.3652%205.40309%2016.6466%206.24672%2016.794%207.11843V7.1263L16.7955%207.13502C17.4305%208.95231%2017.3387%2010.9447%2016.5391%2012.6959C15.5948%2014.7221%2013.309%2016.7988%209.73117%2016.6978C5.86527%2016.5884%202.46068%2013.7197%201.82419%209.96243C1.70833%209.36995%201.82419%209.06956%201.88244%208.58805C1.80298%208.96207%201.75864%209.3427%201.75%209.72497V9.76749C1.75181%2011.8305%202.52744%2013.8178%203.9236%2015.3366C5.31977%2016.8554%207.23488%2017.7952%209.29045%2017.9702C11.346%2018.1453%2013.3925%2017.5429%2015.0254%2016.2821C16.6583%2015.0213%2017.7588%2013.1938%2018.1095%2011.1608C18.1233%2011.0545%2018.1345%2010.9493%2018.1469%2010.8419C18.3166%209.4393%2018.1329%208.01653%2017.6124%206.70304Z'/%3e%3cpath%20fill='url(%23d)'%20d='M13.6086%207.67161C13.6264%207.68415%2013.643%207.69669%2013.6598%207.70924C13.4528%207.34225%2013.1952%207.00624%2012.8945%206.71114C10.3337%204.14988%2012.2233%201.15771%2012.542%201.00571L12.5452%201.00104C10.4757%202.21279%209.77349%204.45601%209.70886%205.57805C9.80495%205.57146%209.90019%205.56338%209.99841%205.56338C10.7327%205.56472%2011.4536%205.7605%2012.0877%206.13081C12.7218%206.50111%2013.2466%207.03273%2013.6086%207.67161Z'/%3e%3cpath%20fill='url(%23e)'%20d='M10.0037%208.18307C9.99012%208.38801%209.26605%209.09486%209.01286%209.09486C6.66993%209.09486%206.28961%2010.5122%206.28961%2010.5122C6.39335%2011.7056%207.225%2012.6887%208.23032%2013.2086C8.27624%2013.2324%208.3228%2013.2539%208.36936%2013.275C8.45%2013.3107%208.53064%2013.3437%208.61128%2013.374C8.9563%2013.4961%209.31767%2013.5659%209.68336%2013.5809C13.7899%2013.7735%2014.5854%208.67011%2011.6219%207.18922C12.3211%207.09826%2013.029%207.27016%2013.6086%207.67159C13.2466%207.0327%2012.7218%206.50108%2012.0877%206.13078C11.4536%205.76048%2010.7327%205.5647%209.99841%205.56335C9.90062%205.56335%209.80496%205.57143%209.70887%205.57802C8.88239%205.63483%208.09222%205.93939%207.44141%206.45197C7.56705%206.55826%207.70885%206.70027%208.00753%206.99471C8.56664%207.54552%2010.0005%208.11611%2010.0037%208.18307Z'/%3e%3cpath%20fill='url(%23f)'%20d='M10.0037%208.18307C9.99012%208.38801%209.26605%209.09486%209.01286%209.09486C6.66993%209.09486%206.28961%2010.5122%206.28961%2010.5122C6.39335%2011.7056%207.225%2012.6887%208.23032%2013.2086C8.27624%2013.2324%208.3228%2013.2539%208.36936%2013.275C8.45%2013.3107%208.53064%2013.3437%208.61128%2013.374C8.9563%2013.4961%209.31767%2013.5659%209.68336%2013.5809C13.7899%2013.7735%2014.5854%208.67011%2011.6219%207.18922C12.3211%207.09826%2013.029%207.27016%2013.6086%207.67159C13.2466%207.0327%2012.7218%206.50108%2012.0877%206.13078C11.4536%205.76048%2010.7327%205.5647%209.99841%205.56335C9.90062%205.56335%209.80496%205.57143%209.70887%205.57802C8.88239%205.63483%208.09222%205.93939%207.44141%206.45197C7.56705%206.55826%207.70885%206.70027%208.00753%206.99471C8.56664%207.54552%2010.0005%208.11611%2010.0037%208.18307Z'/%3e%3cpath%20fill='url(%23g)'%20d='M7.05728%206.178C7.12403%206.22051%207.17909%206.2575%207.22735%206.29088C7.03961%205.63376%207.03161%204.93831%207.20418%204.27704C6.44416%204.64522%205.76884%205.16715%205.22095%205.80979C5.26113%205.80873%206.45629%205.78726%207.05728%206.178Z'/%3e%3cpath%20fill='url(%23h)'%20d='M1.82525%209.96247C2.4611%2013.7197%205.86633%2016.5884%209.73223%2016.6979C13.3101%2016.7991%2015.5958%2014.7221%2016.5401%2012.6959C17.3397%2010.9448%2017.4316%208.95235%2016.7965%207.13505V7.12719C16.7965%207.12102%2016.7952%207.11741%2016.7965%207.11932L16.798%207.13314C17.0903%209.04154%2016.1196%2010.8904%2014.6022%2012.1406L14.5975%2012.1513C11.6408%2014.5592%208.8113%2013.6041%208.23859%2013.2142C8.19862%2013.1951%208.15866%2013.1752%208.11869%2013.1545C6.39482%2012.3305%205.68265%2010.7599%205.83529%209.41293C5.42608%209.41897%205.0239%209.3062%204.67748%209.0883C4.33106%208.8704%204.05527%208.55671%203.88352%208.18524C4.33604%207.90801%204.85201%207.75128%205.38227%207.73C5.91252%207.70871%206.4394%207.82357%206.91268%208.06364C7.88843%208.50659%208.99875%208.55024%2010.0063%208.18524C10.0031%208.11827%208.56916%207.54747%208.01006%206.99687C7.71137%206.70244%207.56958%206.56064%207.44394%206.45413C7.37604%206.39662%207.30507%206.34283%207.23135%206.29299C7.18246%206.25962%207.1274%206.22348%207.06128%206.18011C6.4603%205.78937%205.26513%205.81084%205.22559%205.81191H5.22176C4.89523%205.398%204.91819%204.03319%204.93689%203.74811C4.84029%203.78693%204.74808%203.83589%204.6618%203.89416C4.37355%204.09989%204.10407%204.33074%203.85652%204.584C3.57343%204.8692%203.31473%205.17761%203.08313%205.50599V5.50727V5.50578C2.55341%206.25676%202.1777%207.10523%201.97767%208.0022C1.97363%208.01899%201.6809%209.29877%201.82525%209.96247Z'/%3e%3cpath%20fill='url(%23i)'%20d='M12.8949%206.71115C13.1957%207.00658%2013.4533%207.34294%2013.6602%207.71031C13.7055%207.74453%2013.7478%207.77855%2013.7837%207.8115C15.6517%209.53346%2014.673%2011.9676%2014.6001%2012.1408C16.1175%2010.8906%2017.0873%209.04174%2016.7959%207.13334C15.8639%204.80976%2014.2842%203.87331%2012.994%201.83418C12.9273%201.73022%2012.8626%201.62504%2012.7999%201.5187C12.7675%201.46315%2012.7372%201.40642%2012.7091%201.34863C12.6556%201.245%2012.6143%201.13549%2012.5862%201.0223C12.5863%201.01708%2012.5844%201.01203%2012.5809%201.00811C12.5775%201.00418%2012.5727%201.00167%2012.5675%201.00104C12.5624%200.999652%2012.5571%200.999652%2012.552%201.00104C12.5509%201.00104%2012.5492%201.00296%2012.5479%201.00338C12.5467%201.00381%2012.5439%201.00572%2012.542%201.00657C12.2233%201.15772%2010.3336%204.14989%2012.8949%206.71115Z'/%3e%3cpath%20fill='url(%23j)'%20d='M13.7825%207.81043C13.7429%207.77481%2013.7017%207.74104%2013.659%207.70924C13.6422%207.6967%2013.6256%207.68415%2013.6077%207.67161C13.0282%207.27018%2012.3202%207.09829%2011.6211%207.18925C14.5846%208.67099%2013.7895%2013.7735%209.68253%2013.5809C9.31684%2013.5659%208.95547%2013.4962%208.61045%2013.3741C8.52981%2013.3439%208.44917%2013.3109%208.36852%2013.275C8.32197%2013.2537%208.27541%2013.2325%208.22949%2013.2087L8.23523%2013.2123C8.80794%2013.6032%2011.6366%2014.5584%2014.5942%2012.1493L14.5988%2012.1387C14.6726%2011.9665%2015.6513%209.53175%2013.7825%207.81043Z'/%3e%3cpath%20fill='url(%23k)'%20d='M6.2896%2010.5122C6.2896%2010.5122%206.66992%209.09487%209.01285%209.09487C9.26604%209.09487%209.99075%208.38801%2010.0037%208.18308C8.99621%208.54808%207.88589%208.50444%206.91014%208.06148C6.43686%207.82142%205.90998%207.70656%205.37973%207.72784C4.84947%207.74913%204.3335%207.90585%203.88098%208.18308C4.05273%208.55455%204.32852%208.86824%204.67494%209.08614C5.02136%209.30405%205.42354%209.41681%205.83275%209.41077C5.68011%2010.7579%206.39228%2012.3285%208.11615%2013.1523C8.15463%2013.1708%208.19077%2013.1908%208.23031%2013.2084C7.22413%2012.6887%206.39334%2011.7057%206.2896%2010.5122Z'/%3e%3cpath%20fill='url(%23l)'%20d='M17.6124%206.70307C17.2544%205.84166%2016.5282%204.91159%2015.9596%204.61758C16.3652%205.40312%2016.6466%206.24675%2016.794%207.11846L16.7955%207.13228C15.8639%204.80976%2014.2842%203.87331%2012.994%201.83418C12.9273%201.73022%2012.8626%201.62504%2012.7999%201.5187C12.7675%201.46315%2012.7372%201.40642%2012.7091%201.34863C12.6556%201.245%2012.6144%201.13549%2012.5862%201.0223C12.5863%201.01708%2012.5844%201.01203%2012.5809%201.00811C12.5775%201.00418%2012.5727%201.00167%2012.5675%201.00104C12.5624%200.999652%2012.5571%200.999652%2012.552%201.00104C12.5509%201.00104%2012.5492%201.00296%2012.548%201.00338C12.5467%201.00381%2012.5439%201.00572%2012.542%201.00657L12.5452%201.00104C10.4757%202.21279%209.77348%204.45602%209.70885%205.57805C9.80494%205.57146%209.90018%205.56339%209.9984%205.56339C10.7327%205.56473%2011.4536%205.76051%2012.0877%206.13081C12.7218%206.50112%2013.2465%207.03274%2013.6086%207.67162C13.029%207.27019%2012.321%207.09829%2011.6219%207.18926C14.5854%208.67099%2013.7903%2013.7735%209.68334%2013.5809C9.31766%2013.5659%208.95629%2013.4962%208.61126%2013.3741C8.53062%2013.3439%208.44998%2013.3109%208.36934%2013.275C8.32278%2013.2537%208.27623%2013.2325%208.23031%2013.2087L8.23605%2013.2123C8.19608%2013.1932%208.15611%2013.1732%208.11615%2013.1525C8.15463%2013.171%208.19077%2013.191%208.23031%2013.2087C7.22413%2012.6887%206.39334%2011.7057%206.28959%2010.5122C6.28959%2010.5122%206.66991%209.09489%209.01284%209.09489C9.26603%209.09489%209.99074%208.38804%2010.0037%208.1831C10.0005%208.11614%208.56662%207.54534%208.00752%206.99474C7.70883%206.7003%207.56703%206.55851%207.44139%206.452C7.37349%206.39449%207.30253%206.34069%207.22881%206.29086C7.04107%205.63374%207.03307%204.93829%207.20563%204.27702C6.44562%204.6452%205.7703%205.16713%205.22241%205.80977H5.21858C4.89204%205.39587%204.915%204.03105%204.93371%203.74597C4.83711%203.7848%204.7449%203.83375%204.65862%203.89202C4.37036%204.09776%204.10088%204.32861%203.85334%204.58187C3.57126%204.86787%203.31362%205.17699%203.08314%205.50599V5.50726V5.50577C2.55342%206.25675%202.1777%207.10522%201.97768%208.00219L1.96663%208.05661C1.95111%208.12911%201.88159%208.49731%201.8716%208.57639C1.8716%208.58234%201.8716%208.57022%201.8716%208.57639C1.80802%208.95647%201.76741%209.34003%201.75%209.725V9.76752C1.75181%2011.8305%202.52744%2013.8178%203.9236%2015.3366C5.31977%2016.8554%207.23488%2017.7952%209.29045%2017.9703C11.346%2018.1453%2013.3925%2017.5429%2015.0254%2016.2821C16.6583%2015.0213%2017.7588%2013.1938%2018.1095%2011.1608C18.1233%2011.0545%2018.1345%2010.9493%2018.1469%2010.8419C18.3166%209.43933%2018.1329%208.01656%2017.6124%206.70307Z'/%3e%3clinearGradient%20id='a'%20x1='16.522'%20x2='2.844'%20y1='3.634'%20y2='16.83'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.048'%20stop-color='%23FFF44F'/%3e%3cstop%20offset='.111'%20stop-color='%23FFE847'/%3e%3cstop%20offset='.225'%20stop-color='%23FFC830'/%3e%3cstop%20offset='.368'%20stop-color='%23FF980E'/%3e%3cstop%20offset='.401'%20stop-color='%23FF8B16'/%3e%3cstop%20offset='.462'%20stop-color='%23FF672A'/%3e%3cstop%20offset='.534'%20stop-color='%23FF3647'/%3e%3cstop%20offset='.705'%20stop-color='%23E31587'/%3e%3c/linearGradient%3e%3cradialGradient%20id='b'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(15.89%202.887)%20scale(17.1764)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.129'%20stop-color='%23FFBD4F'/%3e%3cstop%20offset='.186'%20stop-color='%23FFAC31'/%3e%3cstop%20offset='.247'%20stop-color='%23FF9D17'/%3e%3cstop%20offset='.283'%20stop-color='%23FF980E'/%3e%3cstop%20offset='.403'%20stop-color='%23FF563B'/%3e%3cstop%20offset='.467'%20stop-color='%23FF3750'/%3e%3cstop%20offset='.71'%20stop-color='%23F5156C'/%3e%3cstop%20offset='.782'%20stop-color='%23EB0878'/%3e%3cstop%20offset='.86'%20stop-color='%23E50080'/%3e%3c/radialGradient%3e%3cradialGradient%20id='c'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(9.613%209.909)%20scale(17.1764)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.3'%20stop-color='%23960E18'/%3e%3cstop%20offset='.351'%20stop-color='%23B11927'%20stop-opacity='.74'/%3e%3cstop%20offset='.435'%20stop-color='%23DB293D'%20stop-opacity='.343'/%3e%3cstop%20offset='.497'%20stop-color='%23F5334B'%20stop-opacity='.094'/%3e%3cstop%20offset='.53'%20stop-color='%23FF3750'%20stop-opacity='0'/%3e%3c/radialGradient%3e%3cradialGradient%20id='d'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(11.684%20-1.011)%20scale(12.4436)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.132'%20stop-color='%23FFF44F'/%3e%3cstop%20offset='.252'%20stop-color='%23FFDC3E'/%3e%3cstop%20offset='.506'%20stop-color='%23FF9D12'/%3e%3cstop%20offset='.526'%20stop-color='%23FF980E'/%3e%3c/radialGradient%3e%3cradialGradient%20id='e'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(8.17846%200%200%208.17845%207.714%2014.396)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.353'%20stop-color='%233A8EE6'/%3e%3cstop%20offset='.472'%20stop-color='%235C79F0'/%3e%3cstop%20offset='.669'%20stop-color='%239059FF'/%3e%3cstop%20offset='1'%20stop-color='%23C139E6'/%3e%3c/radialGradient%3e%3cradialGradient%20id='f'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='matrix(4.21474%20-1.019%201.193%204.9344%2010.552%208.501)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.206'%20stop-color='%239059FF'%20stop-opacity='0'/%3e%3cstop%20offset='.278'%20stop-color='%238C4FF3'%20stop-opacity='.064'/%3e%3cstop%20offset='.747'%20stop-color='%237716A8'%20stop-opacity='.45'/%3e%3cstop%20offset='.975'%20stop-color='%236E008B'%20stop-opacity='.6'/%3e%3c/radialGradient%3e%3cradialGradient%20id='g'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(9.397%202.184)%20scale(5.88357)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFE226'/%3e%3cstop%20offset='.121'%20stop-color='%23FFDB27'/%3e%3cstop%20offset='.295'%20stop-color='%23FFC82A'/%3e%3cstop%20offset='.502'%20stop-color='%23FFA930'/%3e%3cstop%20offset='.732'%20stop-color='%23FF7E37'/%3e%3cstop%20offset='.792'%20stop-color='%23FF7139'/%3e%3c/radialGradient%3e%3cradialGradient%20id='h'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(14.021%20-1.548)%20scale(25.1026)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.113'%20stop-color='%23FFF44F'/%3e%3cstop%20offset='.456'%20stop-color='%23FF980E'/%3e%3cstop%20offset='.622'%20stop-color='%23FF5634'/%3e%3cstop%20offset='.716'%20stop-color='%23FF3647'/%3e%3cstop%20offset='.904'%20stop-color='%23E31587'/%3e%3c/radialGradient%3e%3cradialGradient%20id='i'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='rotate(83.976%206.037%206.538)%20scale(18.3983%2012.0746)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FFF44F'/%3e%3cstop%20offset='.06'%20stop-color='%23FFE847'/%3e%3cstop%20offset='.168'%20stop-color='%23FFC830'/%3e%3cstop%20offset='.304'%20stop-color='%23FF980E'/%3e%3cstop%20offset='.356'%20stop-color='%23FF8B16'/%3e%3cstop%20offset='.455'%20stop-color='%23FF672A'/%3e%3cstop%20offset='.57'%20stop-color='%23FF3647'/%3e%3cstop%20offset='.737'%20stop-color='%23E31587'/%3e%3c/radialGradient%3e%3cradialGradient%20id='j'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(9.258%204.363)%20scale(15.672)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.137'%20stop-color='%23FFF44F'/%3e%3cstop%20offset='.48'%20stop-color='%23FF980E'/%3e%3cstop%20offset='.592'%20stop-color='%23FF5634'/%3e%3cstop%20offset='.655'%20stop-color='%23FF3647'/%3e%3cstop%20offset='.904'%20stop-color='%23E31587'/%3e%3c/radialGradient%3e%3cradialGradient%20id='k'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(13.395%205.28)%20scale(17.1528)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.094'%20stop-color='%23FFF44F'/%3e%3cstop%20offset='.231'%20stop-color='%23FFE141'/%3e%3cstop%20offset='.509'%20stop-color='%23FFAF1E'/%3e%3cstop%20offset='.626'%20stop-color='%23FF980E'/%3e%3c/radialGradient%3e%3clinearGradient%20id='l'%20x1='16.358'%20x2='4.719'%20y1='3.563'%20y2='15.201'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.167'%20stop-color='%23FFF44F'%20stop-opacity='.8'/%3e%3cstop%20offset='.266'%20stop-color='%23FFF44F'%20stop-opacity='.634'/%3e%3cstop%20offset='.489'%20stop-color='%23FFF44F'%20stop-opacity='.217'/%3e%3cstop%20offset='.6'%20stop-color='%23FFF44F'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cpath%20fill='%234286F5'%20d='M17.38%208.6c.47%203.2-.46%205.66-2.16%207.2l-2.42-1.88a3.97%203.97%200%200%200%201.57-2.36h-4.2V8.6h7.2Z'/%3e%3cpath%20fill='%23EA4235'%20d='m15.3%204.3-2.2%202.18a4.22%204.22%200%200%200-2.94-1.15%204.6%204.6%200%200%200-4.35%203.18l-2.5-1.95A7.66%207.66%200%200%201%2015.3%204.3Z'/%3e%3cpath%20fill='%2334A853'%20d='m12.8%2013.92%202.42%201.89a7.43%207.43%200%200%201-5.06%201.84%207.66%207.66%200%200%201-6.85-4.23l2.5-1.95a4.6%204.6%200%200%200%204.35%203.18c1.1%200%201.97-.26%202.64-.73Z'/%3e%3cpath%20fill='%23FBBC05'%20d='m3.31%206.56%202.5%201.94c-.32.97-.32%202%200%202.97l-2.5%201.95a7.66%207.66%200%200%201%200-6.86Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23F6DE1E'/%3e%3cpath%20d='m9.82%2013.28%201.82-1.07.3.42a2.38%202.38%200%200%200%203%20.7%201%201%200%200%200%20.15-1.66c-.14-.13-.3-.23-.46-.31-.44-.22-.9-.42-1.35-.62a6.9%206.9%200%200%201-1.78-1%203.08%203.08%200%200%201-1-2.68%202.92%202.92%200%200%201%202.56-2.69%204.58%204.58%200%200%201%201.88.06%203.28%203.28%200%200%201%202.13%201.7l-1.78%201.1-.26-.38a1.43%201.43%200%200%200-1.55-.55%201%201%200%200%200-.5%201.64c.17.18.37.32.6.42.48.25.99.45%201.49.68.55.24%201.06.54%201.53.91a3%203%200%200%201%201.13%202.75%202.89%202.89%200%200%201-2.24%202.7%205.33%205.33%200%200%201-3.76-.27%203.83%203.83%200%200%201-1.91-1.85Zm-8.07.25%201.84-1.12.36.53a1.35%201.35%200%200%200%201.58.57.8.8%200%200%200%20.61-.52c.06-.19.1-.37.13-.56V4.4h2.26v7.73c.01.43-.04.87-.15%201.3a2.72%202.72%200%200%201-2%202c-1.03.3-2.13.2-3.1-.29a3.37%203.37%200%200%201-1.53-1.62Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23FF2D20'/%3e%3cpath%20fill='%23fff'%20fill-rule='evenodd'%20d='M18%205.75v3.38a.24.24%200%200%201-.12.2l-2.78%201.62v3.17a.24.24%200%200%201-.12.2l-5.8%203.35a.17.17%200%200%201-.05.02H9.1a.27.27%200%200%201-.12%200h-.02a.37.37%200%200%201-.04-.02l-5.8-3.34a.24.24%200%200%201-.13-.21V4.17l.01-.06v-.02c0-.02%200-.03.02-.04l.01-.02.03-.04.02-.02.03-.01%202.9-1.68a.24.24%200%200%201%20.24%200l2.9%201.68.02.01.03.02a.33.33%200%200%201%20.05.1v6.29l2.42-1.4V5.74l.02-.04.01-.02.03-.03.02-.01.03-.03%202.9-1.67a.25.25%200%200%201%20.23%200l2.9%201.67.03.03.02.01.02.03.02.02.01.04.08.02ZM17.52%209V6.23l-1.01.58-1.4.81v2.76l2.41-1.4Zm-2.9%204.99v-2.76l-1.38.79-3.95%202.25v2.78l5.34-3.06ZM3.49%204.58v9.4l5.33%203.06v-2.78l-2.78-1.58-.03-.02-.02-.02-.02-.02-.02-.02v-.03l-.02-.03V5.98l-1.42-.8-1.02-.59Zm2.67-1.8L3.73%204.17l2.42%201.4%202.42-1.4-2.42-1.4Zm1.26%208.69%201.4-.81V4.59l-1.02.58-1.4.81v6.08l1.02-.6Zm7.45-7.05-2.43%201.4%202.42%201.39%202.42-1.4-2.41-1.4Zm-.24%203.2-1.41-.8-1.02-.58v2.75l1.4.8%201.02.59V7.62Zm-5.57%206.22%203.55-2.03%201.77-1-2.41-1.4L9.17%2011l-2.53%201.46%202.41%201.37Z'%20clip-rule='evenodd'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%232D4C91'/%3e%3cpath%20fill='%23425D9C'%20d='M0%2020V0l20%2020H0Z'/%3e%3cpath%20fill='%23FEFEFE'%20d='M8.12%205v1.78l.02.06v2.31l.01.4.02.4v.1a.04.04%200%200%201-.03-.01L7.32%208.7%205.05%205.07A.13.13%200%200%200%204.92%205h-.8v5.96h.69v-4.4a5.47%205.47%200%200%200-.03-.68.5.5%200%200%201%200-.06l.02.03.01.03.05.1.12.24%202.95%204.67c0%20.02.02.04.04.05l.07.02h.76V5h-.68ZM10.32%205.01V10.97h3.1v-.66h-2.39V8.25h2.09v-.63h-2.09V5.63h2.24v-.62h-2.95ZM2.88%2010.77a.47.47%200%200%200%20.03-.19.47.47%200%200%200-.12-.35.45.45%200%200%200-.34-.15.44.44%200%200%200-.33.15.47.47%200%200%200-.12.35.47.47%200%200%200%20.12.35.45.45%200%200%200%20.33.15.45.45%200%200%200%20.34-.15c.04-.04.07-.1.1-.16ZM13.95%205.63h1.68v5.32h.67V5.63H18V5h-4.05v.63ZM6.26%2015.07h-.3V12.5h.38l.88%201.57h.02l.88-1.57h.38v2.57h-.3v-2.06h-.02l-.93%201.62H7.2L6.28%2013h-.02v2.07Z'/%3e%3cpath%20fill='%23FEFEFE'%20fill-rule='evenodd'%20d='M9.95%2012.5h.4l.97%202.54v.03h-.35l-.25-.67H9.58l-.25.67h-.34v-.03l.96-2.54Zm.2.36-.47%201.25h.94l-.46-1.25h-.02Z'%20clip-rule='evenodd'/%3e%3cpath%20fill='%23FEFEFE'%20d='M13.7%2014.17c0%20.59-.38.94-1%20.94s-1-.35-1-.94V12.5h.32v1.66c0%20.4.22.65.67.65.46%200%20.68-.26.68-.65V12.5h.33v1.67ZM14.74%2015.07h-.33V12.5h.33v2.57Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%231A1A1A'/%3e%3cpath%20fill='%23E0234E'%20fill-rule='evenodd'%20d='M11.2154%201.75c-.1193%200-.2301.0256-.3324.0597.2173.1448.3366.3366.3963.554.0043.0297.0128.051.0171.0809.0042.0255.0085.0511.0085.0767.017.375-.098.4218-.179.6434-.1236.2855-.0895.5923.0597.8395a.5039.5039%200%200%200%20.0511.0937c-.1619-1.078.7372-1.24.9034-1.5766.0127-.294-.2301-.49-.4219-.6264-.1832-.1108-.3494-.1449-.5028-.1449Zm1.355.2429c-.017.098-.0042.0724-.0085.1236-.0042.034-.0042.0767-.0085.1108-.0085.034-.017.0681-.0298.1022a.9495.9495%200%200%201-.0341.1023c-.0171.034-.0298.0639-.0469.098-.0128.017-.0213.034-.0341.0511l-.0255.0384a1.4831%201.4831%200%200%201-.064.0852c-.0255.0256-.0468.0554-.0767.0767v.0043c-.0255.0213-.0511.0468-.0809.0681-.0895.0682-.1918.1194-.2855.1833-.0298.0213-.0597.0383-.0852.0639a.621.621%200%200%200-.081.0682c-.0298.0255-.0511.0511-.0767.081-.0213.0255-.0469.0553-.0639.0852-.0213.0298-.0426.0596-.0597.0894-.017.0341-.0298.064-.0469.098-.0127.0341-.0255.064-.034.098-.0128.0384-.0213.0725-.0299.1066-.0042.017-.0042.0383-.0085.0554-.0043.017-.0043.034-.0085.0511%200%20.0341-.0043.0724-.0043.1065%200%20.0256%200%20.0512.0043.0767%200%20.0341.0043.0682.0128.1066.0043.034.0128.0681.0213.1022.0128.0341.0213.0682.0341.1023.0085.0213.0213.0426.0298.0597l-.9801-.3793a10.4914%2010.4914%200%200%200-.4943-.1278l-.2684-.064a7.9133%207.9133%200%200%200-.7755-.115c-.0085%200-.0128-.0042-.0213-.0042a7.6176%207.6176%200%200%200-.7628-.0384%208.039%208.039%200%200%200-.5582.0213c-.26.017-.5199.0511-.7798.0938-.0639.0085-.1278.0213-.1917.034a8.55%208.55%200%200%200-.3835.0853l-.1918.051c-.064.0257-.1236.0555-.1832.081l-.1406.064c-.0086.0042-.017.0042-.0213.0085-.0427.0213-.081.0383-.1194.0596a.2083.2083%200%200%200-.0298.0128%201.8785%201.8785%200%200%200-.132.0682c-.03.0128-.0597.0298-.0853.0426a.385.385%200%200%201-.0383.0213c-.0384.0213-.0768.0426-.1108.064a1.071%201.071%200%200%200-.1023.0639c-.0298.0213-.0597.0383-.0852.0596-.0043.0043-.0085.0043-.0128.0085a.9833.9833%200%200%200-.081.0597l-.0085.0085-.064.0511c-.0084.0043-.017.0128-.0255.017-.0213.0171-.0426.0384-.0639.0555-.0043.0085-.0128.0128-.017.017-.0256.0256-.0512.047-.0767.0725-.0043%200-.0043.0042-.0086.0085a1.1979%201.1979%200%200%200-.0767.0724c-.0042.0043-.0042.0085-.0085.0085a1.0015%201.0015%200%200%200-.0639.0682c-.0085.0085-.0213.017-.0298.0256-.0213.0256-.0469.0511-.0725.0767-.0042.0085-.0128.0128-.017.0213-.0341.034-.064.0682-.098.1023l-.0128.0128c-.0682.0724-.1406.1448-.2173.2087a2.4213%202.4213%200%200%201-.2386.1875%203.2231%203.2231%200%200%201-.2557.162%202.597%202.597%200%200%201-.2685.1278%203.0709%203.0709%200%200%201-.277.1023c-.179.0383-.3622.1108-.5198.1235-.0341%200-.0724.0086-.1065.0128-.0384.0085-.0725.017-.1066.0256l-.1022.0383a1.09%201.09%200%200%200-.1023.047c-.0298.0212-.064.0383-.0937.0596a.6963.6963%200%200%200-.0853.0724c-.0298.0213-.0596.0511-.0852.0767-.0256.0298-.0511.0554-.0724.0852-.0213.0341-.0469.064-.064.098a.7506.7506%200%200%200-.0596.098c-.017.0384-.034.0725-.0469.1108-.0128.0341-.0255.0725-.0383.1108-.0085.0341-.017.0682-.0213.1023%200%20.0043-.0043.0085-.0043.0128-.0085.0383-.0085.0895-.0128.115-.0042.0298-.0085.0554-.0085.0852%200%20.0171%200%20.0384.0043.0554a.4518.4518%200%200%200%20.017.081.568.568%200%200%200%20.0298.0767v.0043a.7396.7396%200%200%200%20.047.0767c.017.0255.034.0511.0553.0767.0213.0213.0469.0468.0725.0682a.624.624%200%200%200%20.081.0681c.1022.0895.1278.1193.2598.1875.0213.0128.0427.0213.0682.0341.0043%200%20.0085.0043.0128.0043%200%20.0085%200%20.0128.0043.0213a.873.873%200%200%200%20.0213.1022.5751.5751%200%200%200%20.034.1023c.0129.0256.0214.0511.0342.0767.0042.0085.0085.017.0128.0213.017.0341.034.064.051.0938l.064.0895c.0213.0255.0469.0553.0724.081.0256.0255.0512.0468.081.0724%200%200%20.0043.0042.0085.0042.0256.0213.0511.0426.0767.0597a.6778.6778%200%200%200%20.0938.0554c.0298.017.0639.034.098.0469.0255.0127.0554.0213.0852.0298.0043.0043.0085.0043.017.0085.017.0043.0384.0085.0554.0128-.0128.23-.017.4474.017.5241.0384.0852.226-.1747.4134-.473-.0255.294-.0426.6392%200%20.7415.0469.1065.3026-.2259.5241-.5923%203.0212-.6989%205.7782%201.3891%206.068%204.3378-.0555-.4602-.6222-.7159-.8821-.652-.1279.3154-.3452.7202-.6946.9716a2.732%202.732%200%200%200-.0426-.8522c-.0938.392-.277.7584-.5284%201.0738-.4048.0298-.8096-.1662-1.0227-.4602-.017-.0128-.0213-.0384-.034-.0554-.0129-.0299-.0256-.0597-.0342-.0895a.3544.3544%200%200%201-.0255-.0895c-.0043-.0298-.0043-.0597-.0043-.0937v-.064a.6801.6801%200%200%201%20.0213-.0894.729.729%200%200%201%20.0298-.0895c.017-.0299.0299-.0597.0512-.0895.0724-.2046.0724-.3707-.0597-.4687a.4833.4833%200%200%200-.081-.0427c-.017-.0042-.0383-.0127-.0553-.017-.0128-.0043-.0213-.0085-.0341-.0128a.6913.6913%200%200%200-.0895-.0213.3253.3253%200%200%200-.0895-.0128.7068.7068%200%200%200-.0937-.0085c-.0213%200-.0427.0043-.064.0043a.3294.3294%200%200%200-.0937.0128.6555.6555%200%200%200-.0895.017.7441.7441%200%200%200-.0895.0298c-.0298.0128-.0554.0256-.0852.0384-.0256.0128-.0511.0298-.081.0426-.9928.6477-.4005%202.1647.277%202.6036-.2557.0468-.5156.1022-.588.1576l-.0085.0085c.1832.1108.375.2046.5752.2855.2727.0895.5625.1705.6903.2046v.0042a4.12%204.12%200%200%200%201.0738.0767c1.8877-.1321%203.4345-1.5681%203.7158-3.46.0085.0383.017.0724.0255.1108.0128.0767.0299.1576.0384.2386v.0043c.0085.0383.0128.0767.017.1108v.017c.0043.0384.0085.0767.0085.1108.0043.0469.0086.0937.0086.1406v.0682c0%20.0213.0042.0469.0042.0682%200%20.0255-.0042.0511-.0042.0767v.0596c0%20.0299-.0043.0554-.0043.0853%200%20.017%200%20.034-.0043.0554%200%20.0298-.0042.0596-.0042.0937-.0043.0128-.0043.0256-.0043.0383-.0043.0341-.0085.064-.0128.0981%200%20.0127%200%20.0255-.0043.0383-.0042.0426-.0128.081-.017.1236v.0085c-.0085.0384-.0171.081-.0256.1193v.0128a47.477%2047.477%200%200%201-.0256.1151c0%20.0042-.0042.0127-.0042.017a1.1596%201.1596%200%200%201-.0298.1151v.0127c-.0128.0427-.0256.081-.0341.1194-.0043.0042-.0043.0085-.0043.0085l-.0384.1278c-.017.0426-.0298.081-.0468.1236-.0171.0426-.0299.0852-.0469.1236-.0171.0426-.0341.0809-.0511.1235h-.0043c-.0171.0384-.0341.081-.0554.1193a.207.207%200%200%201-.0128.0299c-.0043.0042-.0043.0085-.0085.0128-.277.5582-.686%201.0482-1.1974%201.4317-.034.0213-.0682.0469-.1022.0724-.0086.0086-.0214.0128-.0299.0213a1.7283%201.7283%200%200%201-.0937.064l.0128.0255h.0042l.179-.0255h.0043a9.218%209.218%200%200%200%20.3323-.0597.7537.7537%200%200%200%20.0938-.0213c.0213-.0043.0383-.0085.0596-.0128.0299-.0043.0597-.0128.0895-.017.0256-.0085.0511-.0128.0767-.0213.4261-.1023.8395-.2429%201.2357-.4091-.6775.9247-1.5851%201.6704-2.6461%202.1604.49-.0341.98-.1151%201.453-.2514%201.7173-.5071%203.1618-1.6619%204.0268-3.2172a6.8014%206.8014%200%200%201-1.1462%202.7399%206.7117%206.7117%200%200%200%201.1377-.9459%206.7537%206.7537%200%200%200%201.7939-3.622%206.7853%206.7853%200%200%201%20.1236%202.0539c3.0766-4.291.2557-8.7397-.9247-9.9115-.0042-.0085-.0085-.0128-.0085-.0213-.0042.0043-.0043.0043-.0043.0085%200-.0042%200-.0042-.0042-.0085%200%20.0511-.0043.1023-.0085.1534a5.8096%205.8096%200%200%201-.0426.2855c-.0213.0938-.0469.1875-.0725.2813a3.5133%203.5133%200%200%201-.1023.2727%203.6249%203.6249%200%200%201-.1278.2599c-.0469.081-.098.1662-.1534.2429a3.2451%203.2451%200%200%201-.1747.23c-.0639.0768-.1321.145-.2003.2131a2.749%202.749%200%200%201-.1235.1066c-.0341.0298-.064.0554-.098.0852a2.382%202.382%200%200%201-.2387.1662c-.0809.0511-.1662.1022-.2514.1449a7.3882%207.3882%200%200%201-.2684.1193%203.007%203.007%200%200%201-.277.0894%203.4422%203.4422%200%200%201-.2855.064c-.098.017-.196.0255-.2898.034a3.2708%203.2708%200%200%201-.2045.0086c-.098%200-.196-.0085-.2898-.017-.098-.0086-.196-.0214-.2897-.0427a2.1534%202.1534%200%200%201-.2855-.0724h-.0043c.0938-.0085.1875-.017.2813-.0341.098-.017.1917-.0384.2855-.064a3.002%203.002%200%200%200%20.2769-.0894c.0938-.0341.1833-.0767.2685-.1193.0895-.0427.1704-.0895.2557-.1406.0809-.0554.1619-.1108.2386-.1705a2.3314%202.3314%200%200%200%20.2173-.1917c.0724-.064.1364-.1364.2003-.2088a4.2167%204.2167%200%200%200%20.1789-.2302c.0086-.0127.0171-.0298.0256-.0426.0426-.0681.0852-.1363.1236-.2045a2.9446%202.9446%200%200%200%20.2301-.5326c.0298-.0895.0511-.1833.0724-.277.0171-.098.0341-.1918.0426-.2855.0085-.098.0171-.196.0171-.2898%200-.0681-.0043-.1363-.0085-.2045a5.8943%205.8943%200%200%200-.0341-.2855%203.1281%203.1281%200%200%200-.0639-.2855c-.0299-.0895-.0597-.1832-.0938-.2727-.0341-.0895-.0767-.179-.1193-.2642-.0469-.0852-.0937-.1704-.1449-.2514a4.7429%204.7429%200%200%200-.1704-.2344%209.1534%209.1534%200%200%200-.196-.2173%202.7053%202.7053%200%200%200-.1108-.1065%207.8697%207.8697%200%200%200-.5923-.4176.802.802%200%200%200-.0852-.0426c-.1407-.0895-.2728-.1364-.4049-.179Z'%20clip-rule='evenodd'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'/%3e%3cpath%20fill='url(%23a)'%20d='M7.04%205%2018.2%2019.38c-.24.21-.5.42-.76.62h-.86L6.62%207.14V15H4.94V5h2.1Z'/%3e%3cpath%20fill='url(%23b)'%20d='M15.08%205H13.4v10h1.67V5Z'/%3e%3clinearGradient%20id='a'%20x1='12.58'%20x2='17.51'%20y1='13.68'%20y2='19.79'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23fff'/%3e%3cstop%20offset='1'%20stop-color='%23fff'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='14.24'%20x2='14.22'%20y1='5'%20y2='12.34'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23fff'/%3e%3cstop%20offset='1'%20stop-color='%23fff'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23333'/%3e%3cpath%20fill='url(%23a)'%20d='M10.38%202.1a.8.8%200%200%200-.78%200L3.16%205.72a.74.74%200%200%200-.38.65v7.25c0%20.27.15.52.38.66L9.6%2017.9a.8.8%200%200%200%20.78%200l6.44-3.62a.74.74%200%200%200%20.38-.66V6.37a.77.77%200%200%200-.38-.65L10.38%202.1Z'/%3e%3cpath%20fill='url(%23b)'%20d='M16.84%205.72%2010.37%202.1a1.08%201.08%200%200%200-.2-.07L2.92%2014.1a.8.8%200%200%200%20.21.18L9.6%2017.9c.19.1.4.13.6.07L17%205.85a.48.48%200%200%200-.16-.13Z'/%3e%3cpath%20fill='url(%23c)'%20d='M16.84%2014.28c.18-.1.32-.28.38-.48L10.14%202.01a.8.8%200%200%200-.55.1L3.16%205.7%2010.1%2018l.3-.09%206.45-3.63Z'/%3e%3clinearGradient%20id='a'%20x1='12.61'%20x2='7.04'%20y1='4.8'%20y2='16.47'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%233F873F'/%3e%3cstop%20offset='.33'%20stop-color='%233F8B3D'/%3e%3cstop%20offset='.64'%20stop-color='%233E9638'/%3e%3cstop%20offset='.93'%20stop-color='%233DA92E'/%3e%3cstop%20offset='1'%20stop-color='%233DAE2B'/%3e%3c/linearGradient%3e%3clinearGradient%20id='b'%20x1='9.01'%20x2='25.03'%20y1='10.85'%20y2='-1.32'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.14'%20stop-color='%233F873F'/%3e%3cstop%20offset='.4'%20stop-color='%2352A044'/%3e%3cstop%20offset='.71'%20stop-color='%2364B749'/%3e%3cstop%20offset='.91'%20stop-color='%236ABF4B'/%3e%3c/linearGradient%3e%3clinearGradient%20id='c'%20x1='2.55'%20x2='17.44'%20y1='10'%20y2='10'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20offset='.09'%20stop-color='%236ABF4B'/%3e%3cstop%20offset='.29'%20stop-color='%2364B749'/%3e%3cstop%20offset='.6'%20stop-color='%2352A044'/%3e%3cstop%20offset='.86'%20stop-color='%233F873F'/%3e%3c/linearGradient%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%235C669A'/%3e%3cpath%20fill='%23fff'%20d='M3.06%207.48H5.5c.72%200%201.24.21%201.57.62.32.41.42.97.32%201.66a3.2%203.2%200%200%201-.87%201.78c-.27.3-.6.5-.98.6a4.5%204.5%200%200%201-1.08.13h-1.1L3.03%2014H1.75l1.3-6.52Zm1.06%201.04-.54%202.73h.23c.5.01%201-.04%201.47-.18.39-.12.65-.57.77-1.32.11-.64%200-1-.33-1.1A4.21%204.21%200%200%200%204.3%208.5h-.2.02Zm4.71-2.77h1.26l-.36%201.73h1.13c.5-.02.98.11%201.39.39.3.24.4.7.27%201.38l-.6%203.03h-1.3l.6-2.9a.82.82%200%200%200-.06-.64.77.77%200%200%200-.63-.19H9.5l-.74%203.73H7.51l1.31-6.52.01-.01Zm5.05%201.73h2.45c.72%200%201.24.21%201.56.62.32.41.43.97.32%201.66a3.2%203.2%200%200%201-.87%201.78c-.26.3-.6.5-.98.6a4.5%204.5%200%200%201-1.07.13h-1.1L13.84%2014h-1.27l1.31-6.52Zm1.07%201.04-.55%202.73h.24c.5.01.99-.04%201.46-.18.39-.12.65-.57.77-1.32.11-.64%200-1-.32-1.1a4.19%204.19%200%200%200-1.43-.14h-.19'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%235A9FD4'/%3e%3cpath%20fill='%23fff'%20d='M9.9%202c-.6%200-1.22.05-1.82.16-1.61.28-1.9.88-1.9%201.98V5.6H10v.48H4.74c-1.1%200-2.08.67-2.38%201.93a7.18%207.18%200%200%200%200%203.88c.27%201.13.92%201.94%202.02%201.94H5.7v-1.74A2.43%202.43%200%200%201%208.08%209.7h3.81a1.92%201.92%200%200%200%201.91-1.94V4.14c0-1.03-.87-1.81-1.9-1.98-.66-.11-1.33-.16-2-.16ZM7.85%203.17a.73.73%200%201%201%20.03%201.46.73.73%200%200%201-.03-1.46Z'/%3e%3cpath%20fill='%23fff'%20d='M14.28%206.08v1.7a2.45%202.45%200%200%201-2.39%202.42H8.1a1.95%201.95%200%200%200-1.92%201.94v3.63c0%201.03.9%201.64%201.91%201.94%201.24.39%202.57.39%203.81%200%20.97-.28%201.91-.84%201.91-1.94v-1.46H10v-.48h5.71c1.11%200%201.52-.77%201.91-1.94.4-1.2.38-2.34%200-3.88-.27-1.1-.8-1.93-1.9-1.93h-1.44Zm-2.15%209.2a.73.73%200%201%201-.5.22.72.72%200%200%201%20.5-.22Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23212121'/%3e%3cpath%20fill='%23fff'%20d='M15.42%2016.5c0-.77%200-1.47-.12-2.97-.14-1.51-.93-2.28-2.27-2.55%201.59-.2%202.77-1.44%202.77-3.35%200-2.54-1.68-4.13-5.05-4.13H4.5v2.65h5.63c1.49%200%202.23.64%202.23%201.7%200%201.2-.74%201.64-2.23%201.64H4.5v2.71h5.47c1.17%200%201.82.33%201.92%201.82.08%201.02.07%201.52.06%202v.48h3.47Z'/%3e%3cpath%20fill='%23fff'%20d='M4.5%2014.48v2.02h4.42v-1.3c0-.26-.13-.72-.75-.72H4.5Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23BD0012'/%3e%3cpath%20fill='%23fff'%20d='m6.63%2015.68%206.57-4.2%203.36%205.57-9.93-1.35v-.02ZM17.5%205.3v.1c0%20.42-.05.85-.07%201.27v.84c0%20.56-.06%201.12-.09%201.7v.84l-.08%201.66v.86c0%20.3-.05.86-.07%201.3%200%20.28%200%20.56-.05.83%200%20.45-.04.89-.06%201.33-.02.44%200%20.63-.05.94l-.05-.05-.54-.83-2.86-4.6c-.12-.2-.12-.2%200-.41l3.13-4.69c.24-.34.46-.7.7-1.03l.09-.06ZM3.6%209.61l1.15-1.72c.16-.23.35-.43.56-.62L7.33%205.4c.26-.25.56-.46.87-.64l2.12-1.2a.3.3%200%200%201%20.27%200c.3.13.61.23.94.35h.06v.07l-.82%201.63a.74.74%200%200%201-.18.24l-2.65%202.4-.46.45a1.8%201.8%200%200%201-.3.21%2044.84%2044.84%200%200%201-2.8%201.4.2.2%200%200%201-.12-.05l-.65-.65Zm4.03-.12%205.18%201.66-6.56%204.22c0-.07%201.31-5.7%201.38-5.88Zm9.26-4.2-3.68%205.54-1.88-4.6c.05%200%204.88-.87%205.56-.94ZM7.7%209.04l3.24-2.87%201.87%204.55-5.1-1.68Zm-1.8%206.48-3.4.09%201.77-4.24%201.62%204.15Zm.04-.98L4.5%2010.79l2.69-1.37-.2.86-.2.86-.22.86-.2.84-.2.85-.22.85Zm5.25-8.75a.3.3%200%200%201%200-.12l.8-1.62c.06-.11.1-.13.21-.1l1.2.31%202.66.7h.13c-.05.1-4.42.77-5%20.83Zm1.88-2.08%203.65-.8.78%202.02-4.43-1.22ZM3.16%2016.12a.22.22%200%200%201%20.17-.05h.69l1.65-.05c.28%200%20.56.01.84.06l.94.1%201.13.16%201.13.16%201.06.15%201%20.14%201.4.19%201.12.15h.1-.05l-.77-.08-.87-.07-1.1-.1-.87-.1-1.07-.09-.86-.08-1.08-.07-.86-.07-1.06-.1-.87-.08-.94-.08-.83-.09Zm-.66-1.7.88-4.34.33.34.27.27c.1.12.12.17.06.31l-.69%201.59-.73%201.7-.12.15v-.01Zm8.7-11.16c.43-.08%203.47-.48%203.55-.46h-.07l-.69.16-1.83.46c-.25.06-.5.04-.73-.07l-.22-.09Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%23fff'/%3e%3cg%20filter='url(%23a)'%20opacity='.53'%3e%3cpath%20d='M17.6325%2010.6143C17.6325%2011.5842%2017.4341%2012.5446%2017.0486%2013.4407C16.6632%2014.3368%2016.0982%2015.151%2015.386%2015.8369C14.6737%2016.5227%2013.8282%2017.0667%2012.8976%2017.4379C11.967%2017.8091%2010.9697%2018.0001%209.96242%2018.0001C8.95518%2018.0001%207.9578%2017.8091%207.02723%2017.4379C6.09666%2017.0667%205.25112%2016.5227%204.53889%2015.8369C3.82666%2015.151%203.26169%2014.3368%202.87624%2013.4407C2.49078%2012.5446%202.29239%2011.5842%202.29239%2010.6143C2.29239%208.65547%203.10048%206.77687%204.53889%205.39176C5.9773%204.00666%207.9282%203.22852%209.96242%203.22852C10.9697%203.22852%2011.967%203.41955%2012.8976%203.79073C13.8282%204.1619%2014.6737%204.70593%2015.386%205.39176C16.0982%206.0776%2016.6632%206.8918%2017.0486%207.78789C17.4341%208.68397%2017.6325%209.64439%2017.6325%2010.6143Z'/%3e%3c/g%3e%3cpath%20fill='url(%23b)'%20stroke='%23CDCDCD'%20stroke-linecap='round'%20stroke-linejoin='round'%20stroke-width='.15'%20d='M17.9241%209.96204C17.9241%2011.0076%2017.7181%2012.043%2017.318%2013.009C16.9179%2013.975%2016.3314%2014.8527%2015.5921%2015.5921C14.8527%2016.3314%2013.975%2016.9179%2013.009%2017.318C12.043%2017.7181%2011.0076%2017.9241%209.96203%2017.9241C7.85037%2017.9241%205.8252%2017.0852%204.33203%2015.5921C2.83885%2014.0989%202%2012.0737%202%209.96204C2%207.85038%202.83885%205.8252%204.33203%204.33203C5.8252%202.83886%207.85037%202%209.96203%202C11.0076%202%2012.043%202.20595%2013.009%202.60608C13.975%203.00621%2014.8527%203.59269%2015.5921%204.33203C16.3314%205.07137%2016.9179%205.9491%2017.318%206.9151C17.7181%207.8811%2017.9241%208.91645%2017.9241%209.96204Z'/%3e%3cpath%20fill='url(%23c)'%20d='M17.3002%209.96217C17.3002%2011.9084%2016.5271%2013.7748%2015.1509%2015.151C13.7747%2016.5272%2011.9082%2017.3003%209.96204%2017.3003C8.01585%2017.3003%206.14936%2016.5272%204.77319%2015.151C3.39702%2013.7748%202.6239%2011.9084%202.6239%209.96217C2.6239%208.01597%203.39702%206.14948%204.77319%204.77332C6.14936%203.39715%208.01585%202.62402%209.96204%202.62402C11.9082%202.62402%2013.7747%203.39715%2015.1509%204.77332C16.5271%206.14948%2017.3002%208.01597%2017.3002%209.96217Z'/%3e%3cpath%20fill='%23F4F2F3'%20d='M9.96203%203.00659C9.90276%203.00659%209.85504%203.05431%209.85504%203.11358V4.34764C9.85504%204.40691%209.90276%204.45462%209.96203%204.45462C10.0213%204.45462%2010.069%204.40691%2010.069%204.34764V3.11358C10.069%203.05431%2010.0213%203.00659%209.96203%203.00659ZM9.26212%203.05083C9.25503%203.05007%209.24773%203.05007%209.24036%203.05092C9.18141%203.05707%209.1389%203.10948%209.14506%203.16843L9.19899%203.68471C9.20514%203.74366%209.25755%203.78617%209.3165%203.78001C9.37546%203.77386%209.41797%203.72145%209.41181%203.6625L9.35792%203.14622C9.35253%203.09464%209.31173%203.05564%209.26212%203.05083ZM10.6668%203.05134C10.6172%203.05612%2010.5764%203.09511%2010.571%203.14668L10.5167%203.66292C10.5105%203.72186%2010.553%203.77432%2010.6119%203.78052C10.6709%203.78672%2010.7233%203.74426%2010.7295%203.68531L10.7838%203.16903C10.79%203.11009%2010.7475%203.05767%2010.6885%203.05147C10.6812%203.05071%2010.6739%203.05071%2010.6668%203.05134ZM8.54314%203.15509C8.53602%203.15515%208.52878%203.15585%208.52153%203.15738C8.46355%203.16965%208.42674%203.22623%208.43902%203.28422L8.6946%204.4915C8.70687%204.54948%208.76345%204.58628%208.82143%204.57401C8.87942%204.56173%208.91622%204.5052%208.90395%204.44721L8.64837%203.23989C8.63762%203.18915%208.59298%203.1547%208.54314%203.15509ZM11.3858%203.15611C11.3359%203.1556%2011.2913%203.19015%2011.2805%203.24088L11.024%204.44802C11.0117%204.506%2011.0485%204.56259%2011.1065%204.5749C11.1644%204.58723%2011.221%204.55045%2011.2333%204.49248L11.4898%203.28534C11.5021%203.22737%2011.4654%203.17077%2011.4074%203.15846C11.4001%203.15693%2011.3929%203.15611%2011.3858%203.15611ZM7.85698%203.34856C7.84313%203.34729%207.82883%203.34881%207.81473%203.35349C7.75836%203.37182%207.72771%203.4319%207.74603%203.48827L7.90644%203.98197C7.92476%204.03834%207.9849%204.06899%208.04127%204.05068C8.09764%204.03235%208.12825%203.97222%208.10993%203.91585L7.94952%203.42215C7.93579%203.37987%207.89854%203.35209%207.85698%203.34856ZM12.068%203.34881C12.0265%203.35235%2011.9893%203.38014%2011.9755%203.42242L11.815%203.91607C11.7967%203.97243%2011.8273%204.03257%2011.8837%204.0509C11.94%204.06922%2012.0002%204.03859%2012.0185%203.98224L12.179%203.48854C12.1973%203.43217%2012.1667%203.37203%2012.1103%203.35371C12.0963%203.34913%2012.0819%203.34764%2012.068%203.34881ZM7.17845%203.59686C7.16455%203.59712%207.15048%203.60017%207.13694%203.60619C7.08281%203.63026%207.05856%203.69323%207.08264%203.74739L7.58386%204.87506C7.60793%204.92922%207.6709%204.95344%207.72506%204.92937C7.7792%204.9053%207.80349%204.84233%207.77941%204.78816L7.27814%203.66049C7.26009%203.61987%207.22015%203.59605%207.17845%203.59686ZM12.7542%203.60065C12.7126%203.59989%2012.6726%203.62355%2012.6545%203.66414L12.1517%204.79112C12.1276%204.84525%2012.1517%204.90826%2012.2058%204.93241C12.26%204.95656%2012.323%204.93243%2012.3471%204.8783L12.8499%203.75132C12.874%203.69719%2012.8499%203.63417%2012.7958%203.61002C12.7822%203.604%2012.7681%203.60095%2012.7542%203.60065ZM6.54863%203.9301C6.52809%203.92858%206.50693%203.93315%206.48768%203.94429C6.43635%203.97392%206.41889%204.0391%206.44852%204.09043L6.70807%204.53998C6.73771%204.59132%206.80288%204.60878%206.85421%204.57914C6.90554%204.5495%206.92301%204.48433%206.89337%204.433L6.63382%203.98345C6.61529%203.95136%206.58287%203.9325%206.54863%203.9301ZM13.3754%203.9301C13.3412%203.93239%2013.3088%203.95135%2013.2903%203.98344L13.0307%204.43299C13.0011%204.48432%2013.0186%204.5495%2013.0699%204.57913C13.1212%204.60877%2013.1864%204.59131%2013.216%204.53998L13.4756%204.09042C13.5052%204.03909%2013.4878%203.97392%2013.4364%203.94428C13.4172%203.93317%2013.396%203.92868%2013.3754%203.9301ZM5.93705%204.31155C5.91647%204.31231%205.89585%204.31892%205.87786%204.33196C5.82988%204.36676%205.81927%204.4334%205.85409%204.48138L6.57871%205.48027C6.61351%205.52825%206.68019%205.53886%206.72817%205.50406C6.77615%205.46926%206.78676%205.40262%206.75194%205.35464L6.02728%204.35575C6.00552%204.32576%205.97135%204.31038%205.93705%204.31155ZM13.9947%204.31699C13.9604%204.31572%2013.9262%204.3311%2013.9044%204.36104L13.1784%205.35896C13.1435%205.40689%2013.1541%205.47356%2013.202%205.50843C13.2499%205.5433%2013.3166%205.5328%2013.3515%205.48489L14.0774%204.48697C14.1123%204.43904%2014.1017%204.37237%2014.0538%204.3375C14.0359%204.32444%2014.0152%204.31773%2013.9947%204.31699ZM5.39039%204.77001C5.36308%204.76848%205.33522%204.77761%205.31319%204.79743C5.26914%204.83709%205.2656%204.90446%205.30526%204.94852L5.65258%205.33435C5.69224%205.3784%205.75961%205.38195%205.80367%205.34228C5.84772%205.30262%205.85126%205.2352%205.8116%205.19115L5.46432%204.80536C5.44449%204.78333%205.41771%204.77144%205.39039%204.77001ZM14.5345%204.77077C14.5071%204.77229%2014.4804%204.78411%2014.4605%204.80614L14.1132%205.19188C14.0735%205.23593%2014.077%205.30335%2014.1211%205.34301C14.1652%205.38267%2014.2325%205.37911%2014.2722%205.33508L14.6196%204.94934C14.6592%204.90529%2014.6557%204.83787%2014.6116%204.79821C14.5896%204.77838%2014.5618%204.76934%2014.5345%204.77077ZM4.86645%205.27328C4.83914%205.27481%204.8124%205.28663%204.79257%205.30865C4.75292%205.35271%204.75646%205.42008%204.8005%205.45974L5.71767%206.28538C5.76172%206.32504%205.82909%206.32149%205.86875%206.27745C5.90841%206.2334%205.90491%206.16602%205.86084%206.12637L4.94364%205.30072C4.9216%205.2809%204.89377%205.27185%204.86645%205.27328ZM15.0609%205.27689C15.0336%205.27537%2015.0057%205.28447%2014.9837%205.30427L14.066%206.12927C14.0219%206.1689%2014.0183%206.23627%2014.0579%206.28035C14.0975%206.32443%2014.1649%206.32801%2014.209%206.28839L15.1268%205.46339C15.1709%205.42376%2015.1744%205.35639%2015.1348%205.31231C15.115%205.29027%2015.0882%205.27835%2015.0609%205.27689ZM4.43075%205.83353C4.39645%205.83226%204.36225%205.84771%204.34048%205.87767C4.30564%205.92562%204.31621%205.99225%204.36417%206.02709L4.78413%206.33221C4.83208%206.36705%204.89871%206.35654%204.93355%206.30857C4.96839%206.26062%204.95784%206.19395%204.90991%206.15911L4.48995%205.85399C4.47198%205.84092%204.45133%205.83426%204.43075%205.83353ZM15.4962%205.83742C15.4756%205.83818%2015.455%205.84476%2015.437%205.85783L15.0169%206.16267C14.9689%206.19748%2014.9583%206.26416%2014.9931%206.31214C15.0279%206.36011%2015.0945%206.37068%2015.1425%206.33588L15.5627%206.03104C15.6107%205.99623%2015.6212%205.92959%2015.5864%205.88161C15.5647%205.85163%2015.5305%205.83624%2015.4962%205.83742ZM4.02359%206.43113C3.98935%206.43342%203.95696%206.45238%203.93844%206.48446C3.9088%206.53579%203.92626%206.60096%203.9776%206.6306L5.0463%207.24763C5.09763%207.27726%205.16281%207.2598%205.19244%207.20847C5.22208%207.15714%205.20462%207.09197%205.15329%207.06233L4.08458%206.4453C4.06534%206.43419%204.04413%206.4297%204.02359%206.43113ZM15.9005%206.43113C15.8799%206.4296%2015.8587%206.43418%2015.8395%206.44531L14.7708%207.06234C14.7194%207.09198%2014.702%207.15715%2014.7316%207.20848C14.7613%207.25981%2014.8264%207.27727%2014.8778%207.24764L15.9465%206.63061C15.9978%206.60097%2016.0153%206.5358%2015.9857%206.48447C15.9671%206.45239%2015.9347%206.43352%2015.9005%206.43113ZM3.71574%207.0681C3.67405%207.06709%203.63407%207.09095%203.61596%207.13154C3.59181%207.18568%203.61594%207.2487%203.67008%207.27284L4.14419%207.48432C4.19832%207.50846%204.26134%207.48434%204.28549%207.4302C4.30963%207.37607%204.28546%207.31305%204.23132%207.28891L3.75725%207.07743C3.74373%207.07138%203.72964%207.06838%203.71574%207.0681ZM16.2104%207.0725C16.1965%207.07275%2016.1824%207.0758%2016.1688%207.08183L15.6946%207.29294C15.6405%207.31706%2015.6163%207.38004%2015.6404%207.43418C15.6645%207.48833%2015.7275%207.51255%2015.7817%207.48844L16.2559%207.27728C16.31%207.25319%2016.3342%207.19019%2016.3101%207.13604C16.292%207.09542%2016.2521%207.07167%2016.2104%207.0725ZM3.44137%207.73386C3.39982%207.73734%203.36256%207.7651%203.34879%207.80737C3.33044%207.86372%203.36099%207.92388%203.41736%207.94224L4.5907%208.32457C4.64705%208.34292%204.70721%208.31234%204.72558%208.256C4.74393%208.19964%204.71337%208.13948%204.65701%208.12112L3.48367%207.7388C3.46959%207.7342%203.45522%207.73269%203.44137%207.73386ZM16.4843%207.73843C16.4704%207.73716%2016.4561%207.73869%2016.442%207.74336L15.2684%208.12486C15.212%208.14318%2015.1814%208.20332%2015.1997%208.25969C15.2181%208.31606%2015.2782%208.34667%2015.3346%208.32835L16.5081%207.94686C16.5645%207.92853%2016.5952%207.86839%2016.5768%207.81203C16.5631%207.76975%2016.5258%207.74196%2016.4843%207.73843ZM3.27044%208.43271C3.22059%208.43221%203.17589%208.4668%203.16511%208.51753C3.15278%208.57551%203.18956%208.6321%203.24753%208.64442L3.75531%208.75233C3.81329%208.76466%203.86987%208.72788%203.8822%208.66991C3.89453%208.61193%203.85775%208.55534%203.79978%208.54302L3.29204%208.43511C3.2848%208.43359%203.27755%208.43271%203.27044%208.43271ZM16.6539%208.43373C16.6467%208.43379%2016.6395%208.43475%2016.6323%208.43602L16.1245%208.54388C16.0665%208.55621%2016.0298%208.61274%2016.0421%208.67072C16.0544%208.7287%2016.111%208.76551%2016.169%208.75319L16.6767%208.64533C16.7347%208.633%2016.7715%208.57642%2016.7592%208.51844C16.7484%208.46771%2016.7037%208.43331%2016.6539%208.43373ZM3.14105%209.13567C3.09144%209.14043%203.0506%209.17935%203.04515%209.23093C3.03892%209.28987%203.08133%209.34236%203.14027%209.34858L4.36749%209.47833C4.42644%209.48456%204.47892%209.44211%204.48514%209.38317C4.49137%209.32423%204.44892%209.27174%204.38998%209.26552L3.16276%209.13577C3.15539%209.135%203.14814%209.135%203.14105%209.13567ZM16.7842%209.1449C16.7771%209.14414%2016.7698%209.14414%2016.7624%209.14499L15.535%209.27308C15.4761%209.27923%2015.4336%209.33164%2015.4397%209.39059C15.4459%209.44954%2015.4983%209.49205%2015.5573%209.4859L16.7846%209.35781C16.8436%209.35166%2016.8861%209.29925%2016.8799%209.24029C16.8745%209.18871%2016.8338%209.14972%2016.7842%209.1449ZM3.12027%209.85525C3.061%209.85525%203.01329%209.90296%203.01329%209.96223C3.01329%2010.0215%203.061%2010.0692%203.12027%2010.0692H3.63937C3.69864%2010.0692%203.7464%2010.0215%203.7464%209.96223C3.7464%209.90296%203.69864%209.85525%203.63937%209.85525H3.12027ZM16.2847%209.85525C16.2254%209.85525%2016.1777%209.90296%2016.1777%209.96223C16.1777%2010.0215%2016.2254%2010.0692%2016.2847%2010.0692H16.8038C16.8631%2010.0692%2016.9108%2010.0215%2016.9108%209.96223C16.9108%209.90296%2016.8631%209.85525%2016.8038%209.85525H16.2847ZM4.38855%2010.4385C4.38146%2010.4377%204.37421%2010.4377%204.36684%2010.4386L3.13943%2010.5667C3.08048%2010.5728%203.03798%2010.6252%203.04413%2010.6842C3.05028%2010.7431%203.10269%2010.7856%203.16164%2010.7795L4.38905%2010.6514C4.448%2010.6452%204.4905%2010.5928%204.48435%2010.5339C4.47897%2010.4823%204.43816%2010.4433%204.38855%2010.4385ZM15.5349%2010.4461C15.4852%2010.4508%2015.4444%2010.4897%2015.439%2010.5413C15.4327%2010.6003%2015.4751%2010.6527%2015.5341%2010.659L16.7613%2010.7887C16.8202%2010.7949%2016.8727%2010.7525%2016.879%2010.6935C16.8852%2010.6346%2016.8427%2010.5821%2016.7838%2010.5759L15.5566%2010.4461C15.5492%2010.4454%2015.542%2010.4454%2015.5349%2010.4461ZM3.77674%2011.1688C3.76962%2011.1689%203.76238%2011.1696%203.75513%2011.1711L3.24735%2011.279C3.18937%2011.2913%203.15262%2011.3479%203.16493%2011.4059C3.17726%2011.4638%203.23384%2011.5006%203.29182%2011.4883L3.7996%2011.3805C3.85758%2011.3681%203.89433%2011.3116%203.88202%2011.2536C3.87124%2011.2028%203.82658%2011.1684%203.77674%2011.1688ZM16.1472%2011.1698C16.0973%2011.1693%2016.0527%2011.2039%2016.0419%2011.2546C16.0296%2011.3126%2016.0663%2011.3692%2016.1243%2011.3815L16.6321%2011.4894C16.69%2011.5017%2016.7466%2011.465%2016.7589%2011.407C16.7713%2011.3491%2016.7345%2011.2924%2016.6765%2011.2801L16.1688%2011.1722C16.1615%2011.1707%2016.1543%2011.1698%2016.1472%2011.1698ZM4.63179%2011.5912C4.61794%2011.59%204.60364%2011.5915%204.58954%2011.5962L3.41593%2011.9776C3.35956%2011.996%203.32895%2012.0561%203.34727%2012.1125C3.3656%2012.1688%203.42573%2012.1995%203.4821%2012.1811L4.65567%2011.7996C4.71204%2011.7813%204.7427%2011.7212%204.72438%2011.6648C4.71062%2011.6225%204.67334%2011.5947%204.63179%2011.5912ZM15.2911%2011.595C15.2496%2011.5985%2015.2123%2011.6263%2015.1985%2011.6685C15.1802%2011.7249%2015.2107%2011.785%2015.2671%2011.8034L16.4404%2012.1857C16.4968%2012.2041%2016.557%2012.1735%2016.5753%2012.1172C16.5937%2012.0608%2016.5631%2012.0006%2016.5067%2011.9823L15.3334%2011.6C15.3193%2011.5954%2015.305%2011.5938%2015.2911%2011.595ZM4.18395%2012.4268C4.17005%2012.4271%204.15597%2012.4301%204.14244%2012.4361L3.66818%2012.6472C3.61403%2012.6713%203.58987%2012.7343%203.61397%2012.7885C3.63809%2012.8426%203.70107%2012.8668%203.75522%2012.8427L4.22948%2012.6316C4.28363%2012.6075%204.30779%2012.5445%204.28369%2012.4903C4.26561%2012.4497%204.22564%2012.426%204.18395%2012.4268ZM15.7384%2012.4309C15.6967%2012.4298%2015.6567%2012.4537%2015.6386%2012.4943C15.6145%2012.5484%2015.6386%2012.6115%2015.6927%2012.6356L16.1668%2012.8471C16.2209%2012.8712%2016.284%2012.8471%2016.3081%2012.793C16.3322%2012.7388%2016.3081%2012.6758%2016.254%2012.6517L15.7799%2012.4402C15.7664%2012.4341%2015.7523%2012.4311%2015.7384%2012.4309ZM5.1073%2012.6627C5.08676%2012.6612%205.06555%2012.6658%205.0463%2012.6769L3.9776%2013.2939C3.92626%2013.3236%203.9088%2013.3887%203.93844%2013.4401C3.96808%2013.4914%204.03325%2013.5089%204.08458%2013.4792L5.15329%2012.8622C5.20462%2012.8326%205.22208%2012.7674%205.19244%2012.716C5.17391%2012.684%205.14153%2012.6651%205.1073%2012.6627ZM14.8168%2012.6627C14.7826%2012.665%2014.7501%2012.684%2014.7316%2012.716C14.702%2012.7674%2014.7194%2012.8326%2014.7708%2012.8622L15.8395%2013.4792C15.8908%2013.5088%2015.956%2013.4914%2015.9857%2013.4401C16.0153%2013.3887%2015.9978%2013.3235%2015.9465%2013.2939L14.8778%2012.6769C14.8585%2012.6658%2014.8373%2012.6613%2014.8168%2012.6627ZM4.84073%2013.5682C4.82015%2013.5689%204.79953%2013.5756%204.78154%2013.5886L4.3614%2013.8935C4.31342%2013.9283%204.30281%2013.9949%204.33761%2014.0429C4.37242%2014.0909%204.43905%2014.1015%204.48703%2014.0667L4.90721%2013.7618C4.95519%2013.727%204.9658%2013.6604%204.931%2013.6124C4.90925%2013.5824%204.87503%2013.567%204.84073%2013.5682ZM15.0808%2013.5718C15.0465%2013.5705%2015.0123%2013.586%2014.9905%2013.6159C14.9557%2013.6639%2014.9662%2013.7306%2015.0142%2013.7654L15.4342%2014.0705C15.4821%2014.1054%2015.5487%2014.0948%2015.5836%2014.0468C15.6184%2013.9989%2015.6079%2013.9323%2015.5599%2013.8974L15.14%2013.5923C15.122%2013.5792%2015.1014%2013.5725%2015.0808%2013.5718ZM5.79229%2013.6087C5.76499%2013.6072%205.73713%2013.6163%205.71509%2013.6361L4.79733%2014.4611C4.75325%2014.5007%204.74967%2014.5681%204.7893%2014.6122C4.82892%2014.6563%204.8963%2014.6599%204.94038%2014.6202L5.85814%2013.7952C5.90222%2013.7556%205.9058%2013.6882%205.86617%2013.6441C5.84637%2013.6221%205.81961%2013.6102%205.79229%2013.6087ZM14.1292%2013.6117C14.1019%2013.6132%2014.0751%2013.625%2014.0553%2013.6471C14.0156%2013.6911%2014.0192%2013.7585%2014.0632%2013.7981L14.9804%2014.6238C15.0244%2014.6634%2015.0919%2014.6599%2015.1315%2014.6158C15.1712%2014.5718%2015.1676%2014.5044%2015.1236%2014.4648L14.2064%2013.6391C14.1843%2013.6193%2014.1565%2013.6102%2014.1292%2013.6117ZM6.66296%2014.3954C6.62867%2014.3942%206.59444%2014.4095%206.57264%2014.4395L5.84669%2015.4374C5.81182%2015.4853%205.82231%2015.552%205.87023%2015.5869C5.91816%2015.6218%205.98483%2015.6113%206.01969%2015.5633L6.74565%2014.5654C6.78051%2014.5175%206.77002%2014.4508%206.72211%2014.4159C6.70414%2014.4029%206.68354%2014.3962%206.66296%2014.3954ZM13.2551%2014.3999C13.2346%2014.4007%2013.2139%2014.4073%2013.1959%2014.4203C13.148%2014.4551%2013.1374%2014.5218%2013.1722%2014.5698L13.8968%2015.5686C13.9316%2015.6166%2013.9982%2015.6272%2014.0462%2015.5924C14.0942%2015.5576%2014.1048%2015.491%2014.07%2015.443L13.3454%2014.4441C13.3236%2014.4141%2013.2894%2014.3987%2013.2551%2014.3999ZM5.7258%2014.5541C5.69849%2014.5556%205.67171%2014.5674%205.65188%2014.5894L5.30455%2014.9752C5.26489%2015.0192%205.2684%2015.0866%205.31246%2015.1263C5.35651%2015.166%205.42388%2015.1624%205.46354%2015.1183L5.81091%2014.7326C5.85058%2014.6885%205.84702%2014.6211%205.80298%2014.5815C5.78094%2014.5616%205.75312%2014.5526%205.7258%2014.5541ZM14.1976%2014.5546C14.1703%2014.553%2014.1425%2014.5622%2014.1205%2014.582C14.0764%2014.6216%2014.0729%2014.689%2014.1125%2014.7331L14.4598%2015.1189C14.4994%2015.163%2014.5668%2015.1665%2014.6109%2015.1268C14.6549%2015.0872%2014.6585%2015.0198%2014.6188%2014.9757L14.2715%2014.5899C14.2517%2014.5679%2014.2249%2014.556%2014.1976%2014.5546ZM7.67672%2014.9825C7.63503%2014.9815%207.5951%2015.0054%207.57699%2015.0459L7.07419%2016.1729C7.05004%2016.2271%207.07418%2016.2901%207.12831%2016.3142C7.18244%2016.3384%207.24545%2016.3142%207.2696%2016.2601L7.77239%2015.1331C7.79654%2015.079%207.77241%2015.016%207.71828%2014.9918C7.70475%2014.9858%207.69062%2014.9828%207.67672%2014.9825ZM12.2406%2014.9856C12.2266%2014.9859%2012.2125%2014.9889%2012.199%2014.9949C12.1449%2015.019%2012.1206%2015.0819%2012.1447%2015.1361L12.6459%2016.2638C12.67%2016.3179%2012.733%2016.3421%2012.7872%2016.3181C12.8413%2016.294%2012.8655%2016.231%2012.8415%2016.1769L12.3402%2015.0492C12.3222%2015.0086%2012.2822%2014.9848%2012.2406%2014.9856ZM6.79322%2015.3309C6.75899%2015.3332%206.72659%2015.3522%206.70807%2015.3843L6.44852%2015.8338C6.41889%2015.8852%206.43635%2015.9503%206.48768%2015.98C6.53901%2016.0096%206.60419%2015.9921%206.63382%2015.9408L6.89337%2015.4913C6.92301%2015.4399%206.90555%2015.3748%206.85421%2015.3451C6.83497%2015.334%206.81376%2015.3295%206.79322%2015.3309ZM13.1308%2015.3309C13.1103%2015.3294%2013.0891%2015.334%2013.0699%2015.3451C13.0186%2015.3748%2013.0011%2015.4399%2013.0307%2015.4913L13.2903%2015.9408C13.3199%2015.9922%2013.3851%2016.0096%2013.4364%2015.98C13.4878%2015.9503%2013.5052%2015.8852%2013.4756%2015.8338L13.216%2015.3843C13.1975%2015.3522%2013.1651%2015.3333%2013.1308%2015.3309ZM8.79603%2015.3471C8.74619%2015.3465%208.70153%2015.3811%208.69076%2015.4318L8.4343%2016.639C8.42198%2016.6969%208.45875%2016.7535%208.51672%2016.7659C8.5747%2016.7782%208.6313%2016.7414%208.64361%2016.6834L8.90006%2015.4763C8.91239%2015.4183%208.87561%2015.3617%208.81764%2015.3494C8.8104%2015.3479%208.80315%2015.3471%208.79603%2015.3471ZM11.1242%2015.3478C11.1171%2015.3479%2011.1099%2015.3486%2011.1027%2015.3501C11.0447%2015.3624%2011.0079%2015.4189%2011.0202%2015.4769L11.2757%2016.6842C11.288%2016.7422%2011.3446%2016.779%2011.4026%2016.7667C11.4606%2016.7545%2011.4974%2016.6979%2011.4851%2016.6399L11.2295%2015.4327C11.2187%2015.3819%2011.1741%2015.3474%2011.1242%2015.3478ZM9.96203%2015.4696C9.90276%2015.4696%209.85504%2015.5173%209.85504%2015.5766V16.8106C9.85504%2016.8699%209.90276%2016.9176%209.96203%2016.9176C10.0213%2016.9176%2010.069%2016.8699%2010.069%2016.8106V15.5766C10.069%2015.5173%2010.0213%2015.4696%209.96203%2015.4696ZM7.99814%2015.8683C7.95659%2015.8719%207.9193%2015.8997%207.90556%2015.9419L7.7451%2016.4356C7.72678%2016.492%207.75741%2016.5521%207.81377%2016.5705C7.87013%2016.5888%207.93027%2016.5581%207.94859%2016.5018L8.10905%2016.0081C8.12738%2015.9517%208.09675%2015.8916%208.04039%2015.8733C8.02631%2015.8687%208.01199%2015.8672%207.99814%2015.8683ZM11.9251%2015.8686C11.9112%2015.8673%2011.8969%2015.8689%2011.8828%2015.8735C11.8265%2015.8918%2011.7958%2015.952%2011.8141%2016.0083L11.9745%2016.502C11.9929%2016.5584%2012.053%2016.589%2012.1094%2016.5707C12.1657%2016.5524%2012.1964%2016.4923%2012.1781%2016.4359L12.0176%2015.9422C12.0039%2015.8999%2011.9666%2015.8721%2011.9251%2015.8686ZM9.29047%2016.1436C9.24086%2016.1483%209.19998%2016.1873%209.19457%2016.2389L9.14031%2016.7551C9.13411%2016.8141%209.17657%2016.8665%209.23552%2016.8727C9.29447%2016.8789%209.34693%2016.8364%209.35313%2016.7775L9.40738%2016.2613C9.41358%2016.2023%209.37112%2016.1499%209.31217%2016.1437C9.3048%2016.1429%209.29756%2016.1429%209.29047%2016.1436ZM10.6293%2016.1441C10.6222%2016.1433%2010.6149%2016.1433%2010.6075%2016.1442C10.5486%2016.1503%2010.5061%2016.2027%2010.5122%2016.2617L10.5662%2016.778C10.5723%2016.8369%2010.6247%2016.8794%2010.6837%2016.8733C10.7426%2016.8671%2010.7851%2016.8147%2010.779%2016.7557L10.7251%2016.2395C10.7197%2016.1879%2010.6789%2016.1489%2010.6293%2016.1441Z'/%3e%3cg%20filter='url(%23d)'%20opacity='.409'%3e%3cpath%20d='M14.9763%205.68262L9.12289%209.08348L5.42194%2014.9098L10.8361%2010.8996L14.9763%205.68262Z'/%3e%3c/g%3e%3cpath%20fill='%23FF5150'%20d='M10.8009%2010.8406L9.12314%209.08358L15.0749%205.07983L10.8009%2010.8406Z'/%3e%3cpath%20fill='%23F1F1F1'%20d='M10.8009%2010.8405L9.12315%209.0835L4.84918%2014.8443L10.8009%2010.8405Z'/%3e%3cpath%20d='M4.84918%2014.8444L10.8009%2010.8406L15.0749%205.07983L4.84918%2014.8444Z'%20opacity='.243'/%3e%3cdefs%3e%3cfilter%20id='a'%20width='17.34'%20height='16.771'%20x='1.292'%20y='2.229'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20result='effect1_foregroundBlur_312_309'%20stdDeviation='.5'/%3e%3c/filter%3e%3cfilter%20id='d'%20width='14.644'%20height='14.317'%20x='2.877'%20y='3.138'%20color-interpolation-filters='sRGB'%20filterUnits='userSpaceOnUse'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeBlend%20in='SourceGraphic'%20in2='BackgroundImageFix'%20result='shape'/%3e%3cfeGaussianBlur%20result='effect1_foregroundBlur_312_309'%20stdDeviation='1.272'/%3e%3c/filter%3e%3cradialGradient%20id='c'%20cx='0'%20cy='0'%20r='1'%20gradientTransform='translate(9.995%208.892)%20scale(7.96201)'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%2306C2E7'/%3e%3cstop%20offset='.25'%20stop-color='%230DB8EC'/%3e%3cstop%20offset='.5'%20stop-color='%2312AEF1'/%3e%3cstop%20offset='.75'%20stop-color='%231F86F9'/%3e%3cstop%20offset='1'%20stop-color='%23107DDD'/%3e%3c/radialGradient%3e%3clinearGradient%20id='b'%20x1='9.962'%20x2='9.962'%20y1='17.924'%20y2='2'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23BDBDBD'/%3e%3cstop%20offset='1'%20stop-color='%23fff'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2020%2020'%3e%3crect%20width='100%25'%20height='100%25'%20fill='%231A171B'/%3e%3cpath%20fill='%23fff'%20d='M15.8%201.5a4.5%204.5%200%200%200-3.23%201.72%2010.85%2010.85%200%200%200-1.97%203.63C9.82%206.2%209.2%205.37%207.94%205c-.97-.28-2-.16-2.94.54-.45.34-.76.84-.9%201.31-.38%201.24.4%202.33.75%202.73l.77.82c.16.17.54.59.36%201.2-.2.66-1%201.08-1.82.83-.36-.11-.88-.38-.77-.76.05-.16.16-.28.22-.41.06-.12.08-.2.1-.26.15-.48-.05-1.12-.57-1.28-.5-.15-.99-.03-1.18.6-.22.71.12%202%201.94%202.56%202.14.66%203.95-.5%204.2-2.02.16-.95-.26-1.66-1.05-2.56l-.64-.71a1.17%201.17%200%200%201-.12-1.56c.34-.43.82-.61%201.61-.4%201.15.32%201.67%201.12%202.53%201.76-.36%201.17-.59%202.33-.8%203.38l-.13.78c-.61%203.21-1.08%204.98-2.3%206-.24.17-.59.43-1.12.45-.27%200-.36-.18-.37-.27%200-.2.16-.28.27-.37.16-.09.4-.23.39-.7a1.07%201.07%200%200%200-1.15-1.02c-.5.02-1.26.49-1.23%201.35.03.88.86%201.55%202.1%201.5.68-.01%202.17-.29%203.64-2.03%201.7-2%202.18-4.3%202.54-5.98l.4-2.22c.23.03.47.05.73.05%202.13.05%203.2-1.05%203.2-1.86.02-.48-.31-.96-.77-.95a.89.89%200%200%200-.85.69c-.1.44.68.85.08%201.24-.43.28-1.2.47-2.3.32l.2-1.1c.4-2.07.9-4.61%202.8-4.67.13-.01.63%200%20.64.33%200%20.12-.02.14-.15.4a.9.9%200%200%200-.18.56c.02.53.42.88%201%20.85.78-.02%201-.78%201-1.17-.04-.91-1-1.49-2.28-1.45Z'/%3e%3c/svg%3e\"","import { ReactComponent as AstroIcon } from \"platformicons/svg/astro.svg\";\nimport { ReactComponent as DefaultIcon } from \"platformicons/svg/default.svg\";\nimport { ReactComponent as DotNetIcon } from \"platformicons/svg/dotnet.svg\";\nimport { ReactComponent as FirefoxIcon } from \"platformicons/svg/firefox.svg\";\nimport { ReactComponent as ChromeIcon } from \"platformicons/svg/google.svg\";\nimport { ReactComponent as JavaScriptIcon } from \"platformicons/svg/javascript.svg\";\nimport { ReactComponent as PhpLaravelIcon } from \"platformicons/svg/laravel.svg\";\nimport { ReactComponent as DotNetMauiIcon } from \"platformicons/svg/maui.svg\";\nimport { ReactComponent as NestJsIcon } from \"platformicons/svg/nestjs.svg\";\nimport { ReactComponent as NextJsIcon } from \"platformicons/svg/nextjs.svg\";\nimport { ReactComponent as NodeIcon } from \"platformicons/svg/nodejs.svg\";\nimport { ReactComponent as PhpIcon } from \"platformicons/svg/php.svg\";\nimport { ReactComponent as PythonIcon } from \"platformicons/svg/python.svg\";\nimport { ReactComponent as RemixIcon } from \"platformicons/svg/remix.svg\";\nimport { ReactComponent as RubyIcon } from \"platformicons/svg/ruby.svg\";\nimport { ReactComponent as SafariIcon } from \"platformicons/svg/safari.svg\";\nimport { ReactComponent as PhpSymfonyIcon } from \"platformicons/svg/symfony.svg\";\nimport type { SentryEvent } from \"../../types\";\n\nimport type { ComponentPropsWithoutRef } from \"react\";\n\ntype Platform = \"python\" | \"javascript\" | \"node\" | \"ruby\" | \"csharp\" | string;\n\ntype PlatformIconProps = ComponentPropsWithoutRef<\"svg\"> & {\n  size?: number;\n  platform?: Platform;\n  event?: SentryEvent;\n  height?: number;\n  width?: number;\n  title?: string;\n};\n\ntype IconMap = Record<\n  string,\n  React.FunctionComponent<\n    React.SVGProps<SVGSVGElement> & {\n      title?: string;\n    }\n  >\n>;\n\nconst BROWSER_ICON_MAP: IconMap = {\n  Safari: SafariIcon,\n  Chrome: ChromeIcon,\n  Firefox: FirefoxIcon,\n} as const;\n\nconst DefaultSDKIcon = DefaultIcon;\nconst SDK_ICON_MAP: IconMap = {\n  \"sentry.javascript.nextjs\": NextJsIcon,\n  \"sentry.javascript.astro\": AstroIcon,\n  \"sentry.javascript.remix\": RemixIcon,\n  \"sentry.javascript.nestjs\": NestJsIcon,\n  ruby: RubyIcon,\n  python: PythonIcon,\n  javascript: JavaScriptIcon,\n  node: NodeIcon,\n  php: PhpIcon,\n  \"php.laravel\": PhpLaravelIcon,\n  \"php.symfony\": PhpSymfonyIcon,\n  dotnet: DotNetIcon,\n  \"dotnet.maui\": DotNetMauiIcon,\n  csharp: DotNetIcon,\n} as const;\n\nexport default function PlatformIcon({ platform, event, size = 42, title, ...props }: PlatformIconProps) {\n  return (\n    <WrappedIcon platform={platform} event={event} size={size} title={title} {...props}>\n      <CorePlatformIcon platform={platform} event={event} size={size} title={title} {...props} />\n    </WrappedIcon>\n  );\n}\n\nfunction WrappedIcon({ event, size = 42, ...props }: PlatformIconProps) {\n  const wrappedWidth = size / 3;\n  const wrappedHeight = size / 3;\n\n  return (\n    <div className=\"relative\">\n      {props.children}\n      <RuntimeIcon\n        event={event}\n        size={size}\n        width={wrappedWidth}\n        height={wrappedHeight}\n        {...props}\n        className=\"absolute bottom-1 right-1\"\n      />\n    </div>\n  );\n}\n\nfunction RuntimeIcon({\n  event,\n  size = 42,\n  ...props\n}: ComponentPropsWithoutRef<\"svg\"> & {\n  size?: number;\n  event?: SentryEvent;\n  height?: number;\n  width?: number;\n  title?: string;\n}) {\n  const runtimeName = `${event?.contexts?.runtime?.name || \"\"}`;\n  if (!runtimeName) return null;\n\n  const runtimeTitle = `${runtimeName} ${event?.contexts?.runtime?.version}`;\n  switch (runtimeName) {\n    case \"node\":\n      return <NodeIcon title={runtimeTitle} width={size} height={size} {...props} />;\n  }\n\n  const browserName = `${event?.contexts?.browser?.name || \"\"}`;\n  const browserTitle = `${browserName} ${event?.contexts?.browser?.version}`;\n\n  const iconKey = Object.keys(BROWSER_ICON_MAP).find(browser => browserName.includes(browser));\n  if (iconKey) {\n    const Icon = BROWSER_ICON_MAP[iconKey];\n    return <Icon title={browserTitle} width={size} height={size} {...props} />;\n  }\n\n  return null;\n}\n\nfunction CorePlatformIcon({ platform, event, size = 42, title, ...props }: PlatformIconProps) {\n  const name = platform || event?.platform || \"unknown\";\n  const sdk = event?.sdk?.name || \"\";\n  const newTitle = title ?? name;\n\n  const iconName = Object.keys(SDK_ICON_MAP).find(name => sdk.startsWith(name)) as\n    | keyof typeof SDK_ICON_MAP\n    | undefined;\n\n  if (iconName) {\n    const Icon = SDK_ICON_MAP[iconName];\n    return <Icon title={newTitle} width={size} height={size} {...props} />;\n  }\n\n  const Icon = SDK_ICON_MAP[name] ?? DefaultSDKIcon;\n  return <Icon title={newTitle} width={size} height={size} {...props} />;\n}\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","/** Internal global with common properties and Sentry extensions  */\n\n/** Get's the global object for the current JavaScript runtime */\nconst GLOBAL_OBJ = globalThis ;\n\nexport { GLOBAL_OBJ };\n//# sourceMappingURL=worldwide.js.map\n","// This is a magic string replaced by rollup\n\nconst SDK_VERSION = \"10.5.0\" ;\n\nexport { SDK_VERSION };\n//# sourceMappingURL=version.js.map\n","import { SDK_VERSION } from './utils/version.js';\nimport { GLOBAL_OBJ } from './utils/worldwide.js';\n\n/**\n * An object that contains globally accessible properties and maintains a scope stack.\n * @hidden\n */\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nfunction getMainCarrier() {\n  // This ensures a Sentry carrier exists\n  getSentryCarrier(GLOBAL_OBJ);\n  return GLOBAL_OBJ;\n}\n\n/** Will either get the existing sentry carrier, or create a new one. */\nfunction getSentryCarrier(carrier) {\n  const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n\n  // For now: First SDK that sets the .version property wins\n  __SENTRY__.version = __SENTRY__.version || SDK_VERSION;\n\n  // Intentionally populating and returning the version of \"this\" SDK instance\n  // rather than what's set in .version so that \"this\" SDK always gets its carrier\n  return (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n}\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__[]` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\nfunction getGlobalSingleton(\n  name,\n  creator,\n  obj = GLOBAL_OBJ,\n) {\n  const __SENTRY__ = (obj.__SENTRY__ = obj.__SENTRY__ || {});\n  const carrier = (__SENTRY__[SDK_VERSION] = __SENTRY__[SDK_VERSION] || {});\n  // Note: We do not want to set `carrier.version` here, as this may be called before any `init` is called, e.g. for the default scopes\n  return carrier[name] || (carrier[name] = creator());\n}\n\nexport { getGlobalSingleton, getMainCarrier, getSentryCarrier };\n//# sourceMappingURL=carrier.js.map\n","import { getGlobalSingleton } from '../carrier.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst CONSOLE_LEVELS = [\n  'debug',\n  'info',\n  'warn',\n  'error',\n  'log',\n  'assert',\n  'trace',\n] ;\n\n/** Prefix for logging strings */\nconst PREFIX = 'Sentry Logger ';\n\n/** This may be mutated by the console instrumentation. */\nconst originalConsoleMethods\n\n = {};\n\n/**\n * Temporarily disable sentry console instrumentations.\n *\n * @param callback The function to run against the original `console` messages\n * @returns The results of the callback\n */\nfunction consoleSandbox(callback) {\n  if (!('console' in GLOBAL_OBJ)) {\n    return callback();\n  }\n\n  const console = GLOBAL_OBJ.console ;\n  const wrappedFuncs = {};\n\n  const wrappedLevels = Object.keys(originalConsoleMethods) ;\n\n  // Restore all wrapped console methods\n  wrappedLevels.forEach(level => {\n    const originalConsoleMethod = originalConsoleMethods[level];\n    wrappedFuncs[level] = console[level] ;\n    console[level] = originalConsoleMethod ;\n  });\n\n  try {\n    return callback();\n  } finally {\n    // Revert restoration to wrapped state\n    wrappedLevels.forEach(level => {\n      console[level] = wrappedFuncs[level] ;\n    });\n  }\n}\n\nfunction enable() {\n  _getLoggerSettings().enabled = true;\n}\n\nfunction disable() {\n  _getLoggerSettings().enabled = false;\n}\n\nfunction isEnabled() {\n  return _getLoggerSettings().enabled;\n}\n\nfunction log(...args) {\n  _maybeLog('log', ...args);\n}\n\nfunction warn(...args) {\n  _maybeLog('warn', ...args);\n}\n\nfunction error(...args) {\n  _maybeLog('error', ...args);\n}\n\nfunction _maybeLog(level, ...args) {\n  if (!DEBUG_BUILD) {\n    return;\n  }\n\n  if (isEnabled()) {\n    consoleSandbox(() => {\n      GLOBAL_OBJ.console[level](`${PREFIX}[${level}]:`, ...args);\n    });\n  }\n}\n\nfunction _getLoggerSettings() {\n  if (!DEBUG_BUILD) {\n    return { enabled: false };\n  }\n\n  return getGlobalSingleton('loggerSettings', () => ({ enabled: false }));\n}\n\n/**\n * This is a logger singleton which either logs things or no-ops if logging is not enabled.\n */\nconst debug = {\n  /** Enable logging. */\n  enable,\n  /** Disable logging. */\n  disable,\n  /** Check if logging is enabled. */\n  isEnabled,\n  /** Log a message. */\n  log,\n  /** Log a warning. */\n  warn,\n  /** Log an error. */\n  error,\n} ;\n\nexport { CONSOLE_LEVELS, consoleSandbox, debug, originalConsoleMethods };\n//# sourceMappingURL=debug-logger.js.map\n","const STACKTRACE_FRAME_LIMIT = 50;\nconst UNKNOWN_FUNCTION = '?';\n// Used to sanitize webpack (error: *) wrapped stack errors\nconst WEBPACK_ERROR_REGEXP = /\\(error: (.*)\\)/;\nconst STRIP_FRAME_REGEXP = /captureMessage|captureException/;\n\n/**\n * Creates a stack parser with the supplied line parsers\n *\n * StackFrames are returned in the correct order for Sentry Exception\n * frames and with Sentry SDK internal frames removed from the top and bottom\n *\n */\nfunction createStackParser(...parsers) {\n  const sortedParsers = parsers.sort((a, b) => a[0] - b[0]).map(p => p[1]);\n\n  return (stack, skipFirstLines = 0, framesToPop = 0) => {\n    const frames = [];\n    const lines = stack.split('\\n');\n\n    for (let i = skipFirstLines; i < lines.length; i++) {\n      let line = lines[i] ;\n      // Truncate lines over 1kb because many of the regular expressions use\n      // backtracking which results in run time that increases exponentially\n      // with input size. Huge strings can result in hangs/Denial of Service:\n      // https://github.com/getsentry/sentry-javascript/issues/2286\n      if (line.length > 1024) {\n        line = line.slice(0, 1024);\n      }\n\n      // https://github.com/getsentry/sentry-javascript/issues/5459\n      // Remove webpack (error: *) wrappers\n      const cleanedLine = WEBPACK_ERROR_REGEXP.test(line) ? line.replace(WEBPACK_ERROR_REGEXP, '$1') : line;\n\n      // https://github.com/getsentry/sentry-javascript/issues/7813\n      // Skip Error: lines\n      if (cleanedLine.match(/\\S*Error: /)) {\n        continue;\n      }\n\n      for (const parser of sortedParsers) {\n        const frame = parser(cleanedLine);\n\n        if (frame) {\n          frames.push(frame);\n          break;\n        }\n      }\n\n      if (frames.length >= STACKTRACE_FRAME_LIMIT + framesToPop) {\n        break;\n      }\n    }\n\n    return stripSentryFramesAndReverse(frames.slice(framesToPop));\n  };\n}\n\n/**\n * Gets a stack parser implementation from Options.stackParser\n * @see Options\n *\n * If options contains an array of line parsers, it is converted into a parser\n */\nfunction stackParserFromStackParserOptions(stackParser) {\n  if (Array.isArray(stackParser)) {\n    return createStackParser(...stackParser);\n  }\n  return stackParser;\n}\n\n/**\n * Removes Sentry frames from the top and bottom of the stack if present and enforces a limit of max number of frames.\n * Assumes stack input is ordered from top to bottom and returns the reverse representation so call site of the\n * function that caused the crash is the last frame in the array.\n * @hidden\n */\nfunction stripSentryFramesAndReverse(stack) {\n  if (!stack.length) {\n    return [];\n  }\n\n  const localStack = Array.from(stack);\n\n  // If stack starts with one of our API calls, remove it (starts, meaning it's the top of the stack - aka last call)\n  if (/sentryWrapped/.test(getLastStackFrame(localStack).function || '')) {\n    localStack.pop();\n  }\n\n  // Reversing in the middle of the procedure allows us to just pop the values off the stack\n  localStack.reverse();\n\n  // If stack ends with one of our internal API calls, remove it (ends, meaning it's the bottom of the stack - aka top-most call)\n  if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n    localStack.pop();\n\n    // When using synthetic events, we will have a 2 levels deep stack, as `new Error('Sentry syntheticException')`\n    // is produced within the scope itself, making it:\n    //\n    //   Sentry.captureException()\n    //   scope.captureException()\n    //\n    // instead of just the top `Sentry` call itself.\n    // This forces us to possibly strip an additional frame in the exact same was as above.\n    if (STRIP_FRAME_REGEXP.test(getLastStackFrame(localStack).function || '')) {\n      localStack.pop();\n    }\n  }\n\n  return localStack.slice(0, STACKTRACE_FRAME_LIMIT).map(frame => ({\n    ...frame,\n    filename: frame.filename || getLastStackFrame(localStack).filename,\n    function: frame.function || UNKNOWN_FUNCTION,\n  }));\n}\n\nfunction getLastStackFrame(arr) {\n  return arr[arr.length - 1] || {};\n}\n\nconst defaultFunctionName = '<anonymous>';\n\n/**\n * Safely extract function name from itself\n */\nfunction getFunctionName(fn) {\n  try {\n    if (!fn || typeof fn !== 'function') {\n      return defaultFunctionName;\n    }\n    return fn.name || defaultFunctionName;\n  } catch {\n    // Just accessing custom props in some Selenium environments\n    // can cause a \"Permission denied\" exception (see raven-js#495).\n    return defaultFunctionName;\n  }\n}\n\n/**\n * Get's stack frames from an event without needing to check for undefined properties.\n */\nfunction getFramesFromEvent(event) {\n  const exception = event.exception;\n\n  if (exception) {\n    const frames = [];\n    try {\n      // @ts-expect-error Object could be undefined\n      exception.values.forEach(value => {\n        // @ts-expect-error Value could be undefined\n        if (value.stacktrace.frames) {\n          // @ts-expect-error Value could be undefined\n          frames.push(...value.stacktrace.frames);\n        }\n      });\n      return frames;\n    } catch {\n      return undefined;\n    }\n  }\n  return undefined;\n}\n\nexport { UNKNOWN_FUNCTION, createStackParser, getFramesFromEvent, getFunctionName, stackParserFromStackParserOptions, stripSentryFramesAndReverse };\n//# sourceMappingURL=stacktrace.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getFunctionName } from '../utils/stacktrace.js';\n\n// We keep the handlers globally\nconst handlers = {};\nconst instrumented = {};\n\n/** Add a handler function. */\nfunction addHandler(type, handler) {\n  handlers[type] = handlers[type] || [];\n  (handlers[type] ).push(handler);\n}\n\n/**\n * Reset all instrumentation handlers.\n * This can be used by tests to ensure we have a clean slate of instrumentation handlers.\n */\nfunction resetInstrumentationHandlers() {\n  Object.keys(handlers).forEach(key => {\n    handlers[key ] = undefined;\n  });\n}\n\n/** Maybe run an instrumentation function, unless it was already called. */\nfunction maybeInstrument(type, instrumentFn) {\n  if (!instrumented[type]) {\n    instrumented[type] = true;\n    try {\n      instrumentFn();\n    } catch (e) {\n      DEBUG_BUILD && debug.error(`Error while instrumenting ${type}`, e);\n    }\n  }\n}\n\n/** Trigger handlers for a given instrumentation type. */\nfunction triggerHandlers(type, data) {\n  const typeHandlers = type && handlers[type];\n  if (!typeHandlers) {\n    return;\n  }\n\n  for (const handler of typeHandlers) {\n    try {\n      handler(data);\n    } catch (e) {\n      DEBUG_BUILD &&\n        debug.error(\n          `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n          e,\n        );\n    }\n  }\n}\n\nexport { addHandler, maybeInstrument, resetInstrumentationHandlers, triggerHandlers };\n//# sourceMappingURL=handlers.js.map\n","import { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nlet _oldOnErrorHandler = null;\n\n/**\n * Add an instrumentation handler for when an error is captured by the global error handler.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addGlobalErrorInstrumentationHandler(handler) {\n  const type = 'error';\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentError);\n}\n\nfunction instrumentError() {\n  _oldOnErrorHandler = GLOBAL_OBJ.onerror;\n\n  // Note: The reason we are doing window.onerror instead of window.addEventListener('error')\n  // is that we are using this handler in the Loader Script, to handle buffered errors consistently\n  GLOBAL_OBJ.onerror = function (\n    msg,\n    url,\n    line,\n    column,\n    error,\n  ) {\n    const handlerData = {\n      column,\n      error,\n      line,\n      msg,\n      url,\n    };\n    triggerHandlers('error', handlerData);\n\n    if (_oldOnErrorHandler) {\n      // eslint-disable-next-line prefer-rest-params\n      return _oldOnErrorHandler.apply(this, arguments);\n    }\n\n    return false;\n  };\n\n  GLOBAL_OBJ.onerror.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { addGlobalErrorInstrumentationHandler };\n//# sourceMappingURL=globalError.js.map\n","import { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\nlet _oldOnUnhandledRejectionHandler = null;\n\n/**\n * Add an instrumentation handler for when an unhandled promise rejection is captured.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addGlobalUnhandledRejectionInstrumentationHandler(\n  handler,\n) {\n  const type = 'unhandledrejection';\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentUnhandledRejection);\n}\n\nfunction instrumentUnhandledRejection() {\n  _oldOnUnhandledRejectionHandler = GLOBAL_OBJ.onunhandledrejection;\n\n  // Note: The reason we are doing window.onunhandledrejection instead of window.addEventListener('unhandledrejection')\n  // is that we are using this handler in the Loader Script, to handle buffered rejections consistently\n  GLOBAL_OBJ.onunhandledrejection = function (e) {\n    const handlerData = e;\n    triggerHandlers('unhandledrejection', handlerData);\n\n    if (_oldOnUnhandledRejectionHandler) {\n      // eslint-disable-next-line prefer-rest-params\n      return _oldOnUnhandledRejectionHandler.apply(this, arguments);\n    }\n\n    return true;\n  };\n\n  GLOBAL_OBJ.onunhandledrejection.__SENTRY_INSTRUMENTED__ = true;\n}\n\nexport { addGlobalUnhandledRejectionInstrumentationHandler };\n//# sourceMappingURL=globalUnhandledRejection.js.map\n","// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isError(wat) {\n  switch (objectToString.call(wat)) {\n    case '[object Error]':\n    case '[object Exception]':\n    case '[object DOMException]':\n    case '[object WebAssembly.Exception]':\n      return true;\n    default:\n      return isInstanceOf(wat, Error);\n  }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\nfunction isBuiltin(wat, className) {\n  return objectToString.call(wat) === `[object ${className}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isErrorEvent(wat) {\n  return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMError(wat) {\n  return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMException(wat) {\n  return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isString(wat) {\n  return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given string is parameterized\n * {@link isParameterizedString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isParameterizedString(wat) {\n  return (\n    typeof wat === 'object' &&\n    wat !== null &&\n    '__sentry_template_string__' in wat &&\n    '__sentry_template_values__' in wat\n  );\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPrimitive(wat) {\n  return wat === null || isParameterizedString(wat) || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal, or a class instance.\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPlainObject(wat) {\n  return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isEvent(wat) {\n  return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isElement(wat) {\n  return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isRegExp(wat) {\n  return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nfunction isThenable(wat) {\n  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n  return Boolean(wat?.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isSyntheticEvent(wat) {\n  return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nfunction isInstanceOf(wat, base) {\n  try {\n    return wat instanceof base;\n  } catch {\n    return false;\n  }\n}\n\n/**\n * Checks whether given value's type is a Vue ViewModel.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isVueViewModel(wat) {\n  // Not using Object.prototype.toString because in Vue 3 it would read the instance's Symbol(Symbol.toStringTag) property.\n  return !!(typeof wat === 'object' && wat !== null && ((wat ).__isVue || (wat )._isVue));\n}\n\n/**\n * Checks whether the given parameter is a Standard Web API Request instance.\n *\n * Returns false if Request is not available in the current runtime.\n */\nfunction isRequest(request) {\n  return typeof Request !== 'undefined' && isInstanceOf(request, Request);\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isParameterizedString, isPlainObject, isPrimitive, isRegExp, isRequest, isString, isSyntheticEvent, isThenable, isVueViewModel };\n//# sourceMappingURL=is.js.map\n","import { isString } from './is.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ ;\n\nconst DEFAULT_MAX_STRING_LENGTH = 80;\n\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction htmlTreeAsString(\n  elem,\n  options = {},\n) {\n  if (!elem) {\n    return '<unknown>';\n  }\n\n  // try/catch both:\n  // - accessing event.target (see getsentry/raven-js#838, #768)\n  // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n  // - can throw an exception in some circumstances.\n  try {\n    let currentElem = elem ;\n    const MAX_TRAVERSE_HEIGHT = 5;\n    const out = [];\n    let height = 0;\n    let len = 0;\n    const separator = ' > ';\n    const sepLength = separator.length;\n    let nextStr;\n    const keyAttrs = Array.isArray(options) ? options : options.keyAttrs;\n    const maxStringLength = (!Array.isArray(options) && options.maxStringLength) || DEFAULT_MAX_STRING_LENGTH;\n\n    while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n      nextStr = _htmlElementAsString(currentElem, keyAttrs);\n      // bail out if\n      // - nextStr is the 'html' element\n      // - the length of the string that would be created exceeds maxStringLength\n      //   (ignore this limit if we are on the first iteration)\n      if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= maxStringLength)) {\n        break;\n      }\n\n      out.push(nextStr);\n\n      len += nextStr.length;\n      currentElem = currentElem.parentNode;\n    }\n\n    return out.reverse().join(separator);\n  } catch {\n    return '<unknown>';\n  }\n}\n\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el, keyAttrs) {\n  const elem = el\n\n;\n\n  const out = [];\n\n  if (!elem?.tagName) {\n    return '';\n  }\n\n  // @ts-expect-error WINDOW has HTMLElement\n  if (WINDOW.HTMLElement) {\n    // If using the component name annotation plugin, this value may be available on the DOM node\n    if (elem instanceof HTMLElement && elem.dataset) {\n      if (elem.dataset['sentryComponent']) {\n        return elem.dataset['sentryComponent'];\n      }\n      if (elem.dataset['sentryElement']) {\n        return elem.dataset['sentryElement'];\n      }\n    }\n  }\n\n  out.push(elem.tagName.toLowerCase());\n\n  // Pairs of attribute keys defined in `serializeAttribute` and their values on element.\n  const keyAttrPairs = keyAttrs?.length\n    ? keyAttrs.filter(keyAttr => elem.getAttribute(keyAttr)).map(keyAttr => [keyAttr, elem.getAttribute(keyAttr)])\n    : null;\n\n  if (keyAttrPairs?.length) {\n    keyAttrPairs.forEach(keyAttrPair => {\n      out.push(`[${keyAttrPair[0]}=\"${keyAttrPair[1]}\"]`);\n    });\n  } else {\n    if (elem.id) {\n      out.push(`#${elem.id}`);\n    }\n\n    const className = elem.className;\n    if (className && isString(className)) {\n      const classes = className.split(/\\s+/);\n      for (const c of classes) {\n        out.push(`.${c}`);\n      }\n    }\n  }\n  const allowedAttrs = ['aria-label', 'type', 'name', 'title', 'alt'];\n  for (const k of allowedAttrs) {\n    const attr = elem.getAttribute(k);\n    if (attr) {\n      out.push(`[${k}=\"${attr}\"]`);\n    }\n  }\n\n  return out.join('');\n}\n\n/**\n * A safe form of location.href\n */\nfunction getLocationHref() {\n  try {\n    return WINDOW.document.location.href;\n  } catch {\n    return '';\n  }\n}\n\n/**\n * Given a DOM element, traverses up the tree until it finds the first ancestor node\n * that has the `data-sentry-component` or `data-sentry-element` attribute with `data-sentry-component` taking\n * precedence. This attribute is added at build-time by projects that have the component name annotation plugin installed.\n *\n * @returns a string representation of the component for the provided DOM element, or `null` if not found\n */\nfunction getComponentName(elem) {\n  // @ts-expect-error WINDOW has HTMLElement\n  if (!WINDOW.HTMLElement) {\n    return null;\n  }\n\n  let currentElem = elem ;\n  const MAX_TRAVERSE_HEIGHT = 5;\n  for (let i = 0; i < MAX_TRAVERSE_HEIGHT; i++) {\n    if (!currentElem) {\n      return null;\n    }\n\n    if (currentElem instanceof HTMLElement) {\n      if (currentElem.dataset['sentryComponent']) {\n        return currentElem.dataset['sentryComponent'];\n      }\n      if (currentElem.dataset['sentryElement']) {\n        return currentElem.dataset['sentryElement'];\n      }\n    }\n\n    currentElem = currentElem.parentNode;\n  }\n\n  return null;\n}\n\nexport { getComponentName, getLocationHref, htmlTreeAsString };\n//# sourceMappingURL=browser.js.map\n","import { isString, isRegExp, isVueViewModel } from './is.js';\n\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string (0 = unlimited)\n * @returns string Encoded\n */\nfunction truncate(str, max = 0) {\n  if (typeof str !== 'string' || max === 0) {\n    return str;\n  }\n  return str.length <= max ? str : `${str.slice(0, max)}...`;\n}\n\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nfunction snipLine(line, colno) {\n  let newLine = line;\n  const lineLength = newLine.length;\n  if (lineLength <= 150) {\n    return newLine;\n  }\n  if (colno > lineLength) {\n    // eslint-disable-next-line no-param-reassign\n    colno = lineLength;\n  }\n\n  let start = Math.max(colno - 60, 0);\n  if (start < 5) {\n    start = 0;\n  }\n\n  let end = Math.min(start + 140, lineLength);\n  if (end > lineLength - 5) {\n    end = lineLength;\n  }\n  if (end === lineLength) {\n    start = Math.max(end - 140, 0);\n  }\n\n  newLine = newLine.slice(start, end);\n  if (start > 0) {\n    newLine = `'{snip} ${newLine}`;\n  }\n  if (end < lineLength) {\n    newLine += ' {snip}';\n  }\n\n  return newLine;\n}\n\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\nfunction safeJoin(input, delimiter) {\n  if (!Array.isArray(input)) {\n    return '';\n  }\n\n  const output = [];\n  // eslint-disable-next-line @typescript-eslint/prefer-for-of\n  for (let i = 0; i < input.length; i++) {\n    const value = input[i];\n    try {\n      // This is a hack to fix a Vue3-specific bug that causes an infinite loop of\n      // console warnings. This happens when a Vue template is rendered with\n      // an undeclared variable, which we try to stringify, ultimately causing\n      // Vue to issue another warning which repeats indefinitely.\n      // see: https://github.com/getsentry/sentry-javascript/pull/8981\n      if (isVueViewModel(value)) {\n        output.push('[VueViewModel]');\n      } else {\n        output.push(String(value));\n      }\n    } catch {\n      output.push('[value cannot be serialized]');\n    }\n  }\n\n  return output.join(delimiter);\n}\n\n/**\n * Checks if the given value matches a regex or string\n *\n * @param value The string to test\n * @param pattern Either a regex or a string against which `value` will be matched\n * @param requireExactStringMatch If true, `value` must match `pattern` exactly. If false, `value` will match\n * `pattern` if it contains `pattern`. Only applies to string-type patterns.\n */\nfunction isMatchingPattern(\n  value,\n  pattern,\n  requireExactStringMatch = false,\n) {\n  if (!isString(value)) {\n    return false;\n  }\n\n  if (isRegExp(pattern)) {\n    return pattern.test(value);\n  }\n  if (isString(pattern)) {\n    return requireExactStringMatch ? value === pattern : value.includes(pattern);\n  }\n\n  return false;\n}\n\n/**\n * Test the given string against an array of strings and regexes. By default, string matching is done on a\n * substring-inclusion basis rather than a strict equality basis\n *\n * @param testString The string to test\n * @param patterns The patterns against which to test the string\n * @param requireExactStringMatch If true, `testString` must match one of the given string patterns exactly in order to\n * count. If false, `testString` will match a string pattern if it contains that pattern.\n * @returns\n */\nfunction stringMatchesSomePattern(\n  testString,\n  patterns = [],\n  requireExactStringMatch = false,\n) {\n  return patterns.some(pattern => isMatchingPattern(testString, pattern, requireExactStringMatch));\n}\n\nexport { isMatchingPattern, safeJoin, snipLine, stringMatchesSomePattern, truncate };\n//# sourceMappingURL=string.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { htmlTreeAsString } from './browser.js';\nimport { debug } from './debug-logger.js';\nimport { isError, isEvent, isInstanceOf, isPrimitive, isElement } from './is.js';\nimport { truncate } from './string.js';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * If the method on the passed object is not a function, the wrapper will not be applied.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, <other\n * args>)` or `origMethod.apply(this, [<other args>])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n  if (!(name in source)) {\n    return;\n  }\n\n  // explicitly casting to unknown because we don't know the type of the method initially at all\n  const original = source[name] ;\n\n  if (typeof original !== 'function') {\n    return;\n  }\n\n  const wrapped = replacementFactory(original) ;\n\n  // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n  // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n  if (typeof wrapped === 'function') {\n    markFunctionWrapped(wrapped, original);\n  }\n\n  try {\n    source[name] = wrapped;\n  } catch {\n    DEBUG_BUILD && debug.log(`Failed to replace method \"${name}\" in object`, source);\n  }\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n  try {\n    Object.defineProperty(obj, name, {\n      // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n      value: value,\n      writable: true,\n      configurable: true,\n    });\n  } catch {\n    DEBUG_BUILD && debug.log(`Failed to add non-enumerable property \"${name}\" to object`, obj);\n  }\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n  try {\n    const proto = original.prototype || {};\n    wrapped.prototype = original.prototype = proto;\n    addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n  } catch {} // eslint-disable-line no-empty\n}\n\n/**\n * This extracts the original function if available.  See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction getOriginalFunction(func) {\n  return func.__sentry_original__;\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argument itself, when value is neither an Event nor\n *  an Error.\n */\nfunction convertToPlainObject(value)\n\n {\n  if (isError(value)) {\n    return {\n      message: value.message,\n      name: value.name,\n      stack: value.stack,\n      ...getOwnProperties(value),\n    };\n  } else if (isEvent(value)) {\n    const newObj\n\n = {\n      type: value.type,\n      target: serializeEventTarget(value.target),\n      currentTarget: serializeEventTarget(value.currentTarget),\n      ...getOwnProperties(value),\n    };\n\n    if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n      newObj.detail = value.detail;\n    }\n\n    return newObj;\n  } else {\n    return value;\n  }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n  try {\n    return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n  } catch {\n    return '<unknown>';\n  }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n  if (typeof obj === 'object' && obj !== null) {\n    const extractedProps = {};\n    for (const property in obj) {\n      if (Object.prototype.hasOwnProperty.call(obj, property)) {\n        extractedProps[property] = (obj )[property];\n      }\n    }\n    return extractedProps;\n  } else {\n    return {};\n  }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n  const keys = Object.keys(convertToPlainObject(exception));\n  keys.sort();\n\n  const firstKey = keys[0];\n\n  if (!firstKey) {\n    return '[object has no keys]';\n  }\n\n  if (firstKey.length >= maxLength) {\n    return truncate(firstKey, maxLength);\n  }\n\n  for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n    const serialized = keys.slice(0, includedKeys).join(', ');\n    if (serialized.length > maxLength) {\n      continue;\n    }\n    if (includedKeys === keys.length) {\n      return serialized;\n    }\n    return truncate(serialized, maxLength);\n  }\n\n  return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n *\n * @deprecated This function is no longer used by the SDK and will be removed in a future major version.\n */\nfunction dropUndefinedKeys(inputValue) {\n  // This map keeps track of what already visited nodes map to.\n  // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n  // references as the input object.\n  const memoizationMap = new Map();\n\n  // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n  return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n  // Early return for primitive values\n  if (inputValue === null || typeof inputValue !== 'object') {\n    return inputValue;\n  }\n\n  // Check memo map first for all object types\n  const memoVal = memoizationMap.get(inputValue);\n  if (memoVal !== undefined) {\n    return memoVal ;\n  }\n\n  // handle arrays\n  if (Array.isArray(inputValue)) {\n    const returnValue = [];\n    // Store mapping to handle circular references\n    memoizationMap.set(inputValue, returnValue);\n\n    inputValue.forEach(value => {\n      returnValue.push(_dropUndefinedKeys(value, memoizationMap));\n    });\n\n    return returnValue ;\n  }\n\n  if (isPojo(inputValue)) {\n    const returnValue = {};\n    // Store mapping to handle circular references\n    memoizationMap.set(inputValue, returnValue);\n\n    const keys = Object.keys(inputValue);\n\n    keys.forEach(key => {\n      const val = inputValue[key];\n      if (val !== undefined) {\n        returnValue[key] = _dropUndefinedKeys(val, memoizationMap);\n      }\n    });\n\n    return returnValue ;\n  }\n\n  // For other object types, return as is\n  return inputValue;\n}\n\nfunction isPojo(input) {\n  // Plain objects have Object as constructor or no constructor\n  const constructor = (input ).constructor;\n  return constructor === Object || constructor === undefined;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n  let objectified;\n  switch (true) {\n    // this will catch both undefined and null\n    case wat == undefined:\n      objectified = new String(wat);\n      break;\n\n    // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n    // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n    // an object in order to wrap it.\n    case typeof wat === 'symbol' || typeof wat === 'bigint':\n      objectified = Object(wat);\n      break;\n\n    // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n    case isPrimitive(wat):\n      // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n      objectified = new (wat ).constructor(wat);\n      break;\n\n    // by process of elimination, at this point we know that `wat` must already be an object\n    default:\n      objectified = wat;\n      break;\n  }\n  return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify };\n//# sourceMappingURL=object.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nfunction getCrypto() {\n  const gbl = GLOBAL_OBJ ;\n  return gbl.crypto || gbl.msCrypto;\n}\n\n/**\n * UUID4 generator\n * @param crypto Object that provides the crypto API.\n * @returns string Generated UUID4.\n */\nfunction uuid4(crypto = getCrypto()) {\n  let getRandomByte = () => Math.random() * 16;\n  try {\n    if (crypto?.randomUUID) {\n      return crypto.randomUUID().replace(/-/g, '');\n    }\n    if (crypto?.getRandomValues) {\n      getRandomByte = () => {\n        // crypto.getRandomValues might return undefined instead of the typed array\n        // in old Chromium versions (e.g. 23.0.1235.0 (151422))\n        // However, `typedArray` is still filled in-place.\n        // @see https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues#typedarray\n        const typedArray = new Uint8Array(1);\n        crypto.getRandomValues(typedArray);\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        return typedArray[0];\n      };\n    }\n  } catch {\n    // some runtimes can crash invoking crypto\n    // https://github.com/getsentry/sentry-javascript/issues/8935\n  }\n\n  // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n  // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n  return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n    // eslint-disable-next-line no-bitwise\n    ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n  );\n}\n\nfunction getFirstException(event) {\n  return event.exception?.values?.[0];\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n  const { message, event_id: eventId } = event;\n  if (message) {\n    return message;\n  }\n\n  const firstException = getFirstException(event);\n  if (firstException) {\n    if (firstException.type && firstException.value) {\n      return `${firstException.type}: ${firstException.value}`;\n    }\n    return firstException.type || firstException.value || eventId || '<unknown>';\n  }\n  return eventId || '<unknown>';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n  const exception = (event.exception = event.exception || {});\n  const values = (exception.values = exception.values || []);\n  const firstException = (values[0] = values[0] || {});\n  if (!firstException.value) {\n    firstException.value = value || '';\n  }\n  if (!firstException.type) {\n    firstException.type = type || 'Error';\n  }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n  const firstException = getFirstException(event);\n  if (!firstException) {\n    return;\n  }\n\n  const defaultMechanism = { type: 'generic', handled: true };\n  const currentMechanism = firstException.mechanism;\n  firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n  if (newMechanism && 'data' in newMechanism) {\n    const mergedData = { ...currentMechanism?.data, ...newMechanism.data };\n    firstException.mechanism.data = mergedData;\n  }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n  /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\nfunction _parseInt(input) {\n  return parseInt(input || '', 10);\n}\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n  const match = input.match(SEMVER_REGEXP) || [];\n  const major = _parseInt(match[1]);\n  const minor = _parseInt(match[2]);\n  const patch = _parseInt(match[3]);\n  return {\n    buildmetadata: match[5],\n    major: isNaN(major) ? undefined : major,\n    minor: isNaN(minor) ? undefined : minor,\n    patch: isNaN(patch) ? undefined : patch,\n    prerelease: match[4],\n  };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n  // When there is no line number in the frame, attaching context is nonsensical and will even break grouping\n  if (frame.lineno === undefined) {\n    return;\n  }\n\n  const maxLines = lines.length;\n  const sourceLine = Math.max(Math.min(maxLines - 1, frame.lineno - 1), 0);\n\n  frame.pre_context = lines\n    .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n    .map((line) => snipLine(line, 0));\n\n  // We guard here to ensure this is not larger than the existing number of lines\n  const lineIndex = Math.min(maxLines - 1, sourceLine);\n\n  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n  frame.context_line = snipLine(lines[lineIndex], frame.colno || 0);\n\n  frame.post_context = lines\n    .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n    .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n  if (isAlreadyCaptured(exception)) {\n    return true;\n  }\n\n  try {\n    // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n    // `ExtraErrorData` integration\n    addNonEnumerableProperty(exception , '__sentry_captured__', true);\n  } catch {\n    // `exception` is a primitive, so we can't mark it seen\n  }\n\n  return false;\n}\n\nfunction isAlreadyCaptured(exception) {\n  try {\n    return (exception ).__sentry_captured__;\n  } catch {} // eslint-disable-line no-empty\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nconst ONE_SECOND_IN_MS = 1000;\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nfunction dateTimestampInSeconds() {\n  return Date.now() / ONE_SECOND_IN_MS;\n}\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction createUnixTimestampInSecondsFunc() {\n  const { performance } = GLOBAL_OBJ ;\n  // Some browser and environments don't have a performance or timeOrigin, so we fallback to\n  // using Date.now() to compute the starting time.\n  if (!performance?.now || !performance.timeOrigin) {\n    return dateTimestampInSeconds;\n  }\n\n  const timeOrigin = performance.timeOrigin;\n\n  // performance.now() is a monotonic clock, which means it starts at 0 when the process begins. To get the current\n  // wall clock time (actual UNIX timestamp), we need to add the starting time origin and the current time elapsed.\n  //\n  // TODO: This does not account for the case where the monotonic clock that powers performance.now() drifts from the\n  // wall clock time, which causes the returned timestamp to be inaccurate. We should investigate how to detect and\n  // correct for this.\n  // See: https://github.com/getsentry/sentry-javascript/issues/2590\n  // See: https://github.com/mdn/content/issues/4713\n  // See: https://dev.to/noamr/when-a-millisecond-is-not-a-millisecond-3h6\n  return () => {\n    return (timeOrigin + performance.now()) / ONE_SECOND_IN_MS;\n  };\n}\n\nlet _cachedTimestampInSeconds;\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nfunction timestampInSeconds() {\n  // We store this in a closure so that we don't have to create a new function every time this is called.\n  const func = _cachedTimestampInSeconds ?? (_cachedTimestampInSeconds = createUnixTimestampInSecondsFunc());\n  return func();\n}\n\n/**\n * Cached result of getBrowserTimeOrigin.\n */\nlet cachedTimeOrigin;\n\n/**\n * Gets the time origin and the mode used to determine it.\n */\nfunction getBrowserTimeOrigin() {\n  // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n  // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n  // data as reliable if they are within a reasonable threshold of the current time.\n\n  const { performance } = GLOBAL_OBJ ;\n  if (!performance?.now) {\n    return [undefined, 'none'];\n  }\n\n  const threshold = 3600 * 1000;\n  const performanceNow = performance.now();\n  const dateNow = Date.now();\n\n  // if timeOrigin isn't available set delta to threshold so it isn't used\n  const timeOriginDelta = performance.timeOrigin\n    ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n    : threshold;\n  const timeOriginIsReliable = timeOriginDelta < threshold;\n\n  // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n  // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n  // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n  // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n  // Date API.\n  // eslint-disable-next-line deprecation/deprecation\n  const navigationStart = performance.timing?.navigationStart;\n  const hasNavigationStart = typeof navigationStart === 'number';\n  // if navigationStart isn't available set delta to threshold so it isn't used\n  const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n  const navigationStartIsReliable = navigationStartDelta < threshold;\n\n  if (timeOriginIsReliable || navigationStartIsReliable) {\n    // Use the more reliable time origin\n    if (timeOriginDelta <= navigationStartDelta) {\n      return [performance.timeOrigin, 'timeOrigin'];\n    } else {\n      return [navigationStart, 'navigationStart'];\n    }\n  }\n\n  // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n  return [dateNow, 'dateNow'];\n}\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nfunction browserPerformanceTimeOrigin() {\n  if (!cachedTimeOrigin) {\n    cachedTimeOrigin = getBrowserTimeOrigin();\n  }\n\n  return cachedTimeOrigin[0];\n}\n\nexport { browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds };\n//# sourceMappingURL=time.js.map\n","import { uuid4 } from './utils/misc.js';\nimport { timestampInSeconds } from './utils/time.js';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nfunction makeSession(context) {\n  // Both timestamp and started are in seconds since the UNIX epoch.\n  const startingTime = timestampInSeconds();\n\n  const session = {\n    sid: uuid4(),\n    init: true,\n    timestamp: startingTime,\n    started: startingTime,\n    duration: 0,\n    status: 'ok',\n    errors: 0,\n    ignoreDuration: false,\n    toJSON: () => sessionToJSON(session),\n  };\n\n  if (context) {\n    updateSession(session, context);\n  }\n\n  return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see Client.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\n// eslint-disable-next-line complexity\nfunction updateSession(session, context = {}) {\n  if (context.user) {\n    if (!session.ipAddress && context.user.ip_address) {\n      session.ipAddress = context.user.ip_address;\n    }\n\n    if (!session.did && !context.did) {\n      session.did = context.user.id || context.user.email || context.user.username;\n    }\n  }\n\n  session.timestamp = context.timestamp || timestampInSeconds();\n\n  if (context.abnormal_mechanism) {\n    session.abnormal_mechanism = context.abnormal_mechanism;\n  }\n\n  if (context.ignoreDuration) {\n    session.ignoreDuration = context.ignoreDuration;\n  }\n  if (context.sid) {\n    // Good enough uuid validation. — Kamil\n    session.sid = context.sid.length === 32 ? context.sid : uuid4();\n  }\n  if (context.init !== undefined) {\n    session.init = context.init;\n  }\n  if (!session.did && context.did) {\n    session.did = `${context.did}`;\n  }\n  if (typeof context.started === 'number') {\n    session.started = context.started;\n  }\n  if (session.ignoreDuration) {\n    session.duration = undefined;\n  } else if (typeof context.duration === 'number') {\n    session.duration = context.duration;\n  } else {\n    const duration = session.timestamp - session.started;\n    session.duration = duration >= 0 ? duration : 0;\n  }\n  if (context.release) {\n    session.release = context.release;\n  }\n  if (context.environment) {\n    session.environment = context.environment;\n  }\n  if (!session.ipAddress && context.ipAddress) {\n    session.ipAddress = context.ipAddress;\n  }\n  if (!session.userAgent && context.userAgent) {\n    session.userAgent = context.userAgent;\n  }\n  if (typeof context.errors === 'number') {\n    session.errors = context.errors;\n  }\n  if (context.status) {\n    session.status = context.status;\n  }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n *               this function will keep the previously set status, unless it was `'ok'` in which case\n *               it is changed to `'exited'`.\n */\nfunction closeSession(session, status) {\n  let context = {};\n  if (status) {\n    context = { status };\n  } else if (session.status === 'ok') {\n    context = { status: 'exited' };\n  }\n\n  updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session) {\n  return {\n    sid: `${session.sid}`,\n    init: session.init,\n    // Make sure that sec is converted to ms for date constructor\n    started: new Date(session.started * 1000).toISOString(),\n    timestamp: new Date(session.timestamp * 1000).toISOString(),\n    status: session.status,\n    errors: session.errors,\n    did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n    duration: session.duration,\n    abnormal_mechanism: session.abnormal_mechanism,\n    attrs: {\n      release: session.release,\n      environment: session.environment,\n      ip_address: session.ipAddress,\n      user_agent: session.userAgent,\n    },\n  };\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","/**\n * Shallow merge two objects.\n * Does not mutate the passed in objects.\n * Undefined/empty values in the merge object will overwrite existing values.\n *\n * By default, this merges 2 levels deep.\n */\nfunction merge(initialObj, mergeObj, levels = 2) {\n  // If the merge value is not an object, or we have no merge levels left,\n  // we just set the value to the merge value\n  if (!mergeObj || typeof mergeObj !== 'object' || levels <= 0) {\n    return mergeObj;\n  }\n\n  // If the merge object is an empty object, and the initial object is not undefined, we return the initial object\n  if (initialObj && Object.keys(mergeObj).length === 0) {\n    return initialObj;\n  }\n\n  // Clone object\n  const output = { ...initialObj };\n\n  // Merge values into output, resursively\n  for (const key in mergeObj) {\n    if (Object.prototype.hasOwnProperty.call(mergeObj, key)) {\n      output[key] = merge(output[key], mergeObj[key], levels - 1);\n    }\n  }\n\n  return output;\n}\n\nexport { merge };\n//# sourceMappingURL=merge.js.map\n","import { uuid4 } from './misc.js';\n\n/**\n * Generate a random, valid trace ID.\n */\nfunction generateTraceId() {\n  return uuid4();\n}\n\n/**\n * Generate a random, valid span ID.\n */\nfunction generateSpanId() {\n  return uuid4().substring(16);\n}\n\nexport { generateSpanId, generateTraceId };\n//# sourceMappingURL=propagationContext.js.map\n","import { addNonEnumerableProperty } from './object.js';\n\nconst SCOPE_SPAN_FIELD = '_sentrySpan';\n\n/**\n * Set the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nfunction _setSpanForScope(scope, span) {\n  if (span) {\n    addNonEnumerableProperty(scope , SCOPE_SPAN_FIELD, span);\n  } else {\n    // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n    delete (scope )[SCOPE_SPAN_FIELD];\n  }\n}\n\n/**\n * Get the active span for a given scope.\n * NOTE: This should NOT be used directly, but is only used internally by the trace methods.\n */\nfunction _getSpanForScope(scope) {\n  return scope[SCOPE_SPAN_FIELD];\n}\n\nexport { _getSpanForScope, _setSpanForScope };\n//# sourceMappingURL=spanOnScope.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { updateSession } from './session.js';\nimport { debug } from './utils/debug-logger.js';\nimport { isPlainObject } from './utils/is.js';\nimport { merge } from './utils/merge.js';\nimport { uuid4 } from './utils/misc.js';\nimport { generateTraceId } from './utils/propagationContext.js';\nimport { _setSpanForScope, _getSpanForScope } from './utils/spanOnScope.js';\nimport { truncate } from './utils/string.js';\nimport { dateTimestampInSeconds } from './utils/time.js';\n\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\nconst DEFAULT_MAX_BREADCRUMBS = 100;\n\n/**\n * A context to be used for capturing an event.\n * This can either be a Scope, or a partial ScopeContext,\n * or a callback that receives the current scope and returns a new scope to use.\n */\n\n/**\n * Holds additional event information.\n */\nclass Scope {\n  /** Flag if notifying is happening. */\n\n  /** Callback for client to receive scope changes. */\n\n  /** Callback list that will be called during event processing. */\n\n  /** Array of breadcrumbs. */\n\n  /** User */\n\n  /** Tags */\n\n  /** Extra */\n\n  /** Contexts */\n\n  /** Attachments */\n\n  /** Propagation Context for distributed tracing */\n\n  /**\n   * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n   * sent to Sentry\n   */\n\n  /** Fingerprint */\n\n  /** Severity */\n\n  /**\n   * Transaction Name\n   *\n   * IMPORTANT: The transaction name on the scope has nothing to do with root spans/transaction objects.\n   * It's purpose is to assign a transaction to the scope that's added to non-transaction events.\n   */\n\n  /** Session */\n\n  /** The client on this scope */\n\n  /** Contains the last event id of a captured event.  */\n\n  // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n\n   constructor() {\n    this._notifyingListeners = false;\n    this._scopeListeners = [];\n    this._eventProcessors = [];\n    this._breadcrumbs = [];\n    this._attachments = [];\n    this._user = {};\n    this._tags = {};\n    this._extra = {};\n    this._contexts = {};\n    this._sdkProcessingMetadata = {};\n    this._propagationContext = {\n      traceId: generateTraceId(),\n      sampleRand: Math.random(),\n    };\n  }\n\n  /**\n   * Clone all data from this scope into a new scope.\n   */\n   clone() {\n    const newScope = new Scope();\n    newScope._breadcrumbs = [...this._breadcrumbs];\n    newScope._tags = { ...this._tags };\n    newScope._extra = { ...this._extra };\n    newScope._contexts = { ...this._contexts };\n    if (this._contexts.flags) {\n      // We need to copy the `values` array so insertions on a cloned scope\n      // won't affect the original array.\n      newScope._contexts.flags = {\n        values: [...this._contexts.flags.values],\n      };\n    }\n\n    newScope._user = this._user;\n    newScope._level = this._level;\n    newScope._session = this._session;\n    newScope._transactionName = this._transactionName;\n    newScope._fingerprint = this._fingerprint;\n    newScope._eventProcessors = [...this._eventProcessors];\n    newScope._attachments = [...this._attachments];\n    newScope._sdkProcessingMetadata = { ...this._sdkProcessingMetadata };\n    newScope._propagationContext = { ...this._propagationContext };\n    newScope._client = this._client;\n    newScope._lastEventId = this._lastEventId;\n\n    _setSpanForScope(newScope, _getSpanForScope(this));\n\n    return newScope;\n  }\n\n  /**\n   * Update the client assigned to this scope.\n   * Note that not every scope will have a client assigned - isolation scopes & the global scope will generally not have a client,\n   * as well as manually created scopes.\n   */\n   setClient(client) {\n    this._client = client;\n  }\n\n  /**\n   * Set the ID of the last captured error event.\n   * This is generally only captured on the isolation scope.\n   */\n   setLastEventId(lastEventId) {\n    this._lastEventId = lastEventId;\n  }\n\n  /**\n   * Get the client assigned to this scope.\n   */\n   getClient() {\n    return this._client ;\n  }\n\n  /**\n   * Get the ID of the last captured error event.\n   * This is generally only available on the isolation scope.\n   */\n   lastEventId() {\n    return this._lastEventId;\n  }\n\n  /**\n   * @inheritDoc\n   */\n   addScopeListener(callback) {\n    this._scopeListeners.push(callback);\n  }\n\n  /**\n   * Add an event processor that will be called before an event is sent.\n   */\n   addEventProcessor(callback) {\n    this._eventProcessors.push(callback);\n    return this;\n  }\n\n  /**\n   * Set the user for this scope.\n   * Set to `null` to unset the user.\n   */\n   setUser(user) {\n    // If null is passed we want to unset everything, but still define keys,\n    // so that later down in the pipeline any existing values are cleared.\n    this._user = user || {\n      email: undefined,\n      id: undefined,\n      ip_address: undefined,\n      username: undefined,\n    };\n\n    if (this._session) {\n      updateSession(this._session, { user });\n    }\n\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Get the user from this scope.\n   */\n   getUser() {\n    return this._user;\n  }\n\n  /**\n   * Set an object that will be merged into existing tags on the scope,\n   * and will be sent as tags data with the event.\n   */\n   setTags(tags) {\n    this._tags = {\n      ...this._tags,\n      ...tags,\n    };\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Set a single tag that will be sent as tags data with the event.\n   */\n   setTag(key, value) {\n    this._tags = { ...this._tags, [key]: value };\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Set an object that will be merged into existing extra on the scope,\n   * and will be sent as extra data with the event.\n   */\n   setExtras(extras) {\n    this._extra = {\n      ...this._extra,\n      ...extras,\n    };\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Set a single key:value extra entry that will be sent as extra data with the event.\n   */\n   setExtra(key, extra) {\n    this._extra = { ...this._extra, [key]: extra };\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Sets the fingerprint on the scope to send with the events.\n   * @param {string[]} fingerprint Fingerprint to group events in Sentry.\n   */\n   setFingerprint(fingerprint) {\n    this._fingerprint = fingerprint;\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Sets the level on the scope for future events.\n   */\n   setLevel(level) {\n    this._level = level;\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Sets the transaction name on the scope so that the name of e.g. taken server route or\n   * the page location is attached to future events.\n   *\n   * IMPORTANT: Calling this function does NOT change the name of the currently active\n   * root span. If you want to change the name of the active root span, use\n   * `Sentry.updateSpanName(rootSpan, 'new name')` instead.\n   *\n   * By default, the SDK updates the scope's transaction name automatically on sensible\n   * occasions, such as a page navigation or when handling a new request on the server.\n   */\n   setTransactionName(name) {\n    this._transactionName = name;\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Sets context data with the given name.\n   * Data passed as context will be normalized. You can also pass `null` to unset the context.\n   * Note that context data will not be merged - calling `setContext` will overwrite an existing context with the same key.\n   */\n   setContext(key, context) {\n    if (context === null) {\n      // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n      delete this._contexts[key];\n    } else {\n      this._contexts[key] = context;\n    }\n\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Set the session for the scope.\n   */\n   setSession(session) {\n    if (!session) {\n      delete this._session;\n    } else {\n      this._session = session;\n    }\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Get the session from the scope.\n   */\n   getSession() {\n    return this._session;\n  }\n\n  /**\n   * Updates the scope with provided data. Can work in three variations:\n   * - plain object containing updatable attributes\n   * - Scope instance that'll extract the attributes from\n   * - callback function that'll receive the current scope as an argument and allow for modifications\n   */\n   update(captureContext) {\n    if (!captureContext) {\n      return this;\n    }\n\n    const scopeToMerge = typeof captureContext === 'function' ? captureContext(this) : captureContext;\n\n    const scopeInstance =\n      scopeToMerge instanceof Scope\n        ? scopeToMerge.getScopeData()\n        : isPlainObject(scopeToMerge)\n          ? (captureContext )\n          : undefined;\n\n    const { tags, extra, user, contexts, level, fingerprint = [], propagationContext } = scopeInstance || {};\n\n    this._tags = { ...this._tags, ...tags };\n    this._extra = { ...this._extra, ...extra };\n    this._contexts = { ...this._contexts, ...contexts };\n\n    if (user && Object.keys(user).length) {\n      this._user = user;\n    }\n\n    if (level) {\n      this._level = level;\n    }\n\n    if (fingerprint.length) {\n      this._fingerprint = fingerprint;\n    }\n\n    if (propagationContext) {\n      this._propagationContext = propagationContext;\n    }\n\n    return this;\n  }\n\n  /**\n   * Clears the current scope and resets its properties.\n   * Note: The client will not be cleared.\n   */\n   clear() {\n    // client is not cleared here on purpose!\n    this._breadcrumbs = [];\n    this._tags = {};\n    this._extra = {};\n    this._user = {};\n    this._contexts = {};\n    this._level = undefined;\n    this._transactionName = undefined;\n    this._fingerprint = undefined;\n    this._session = undefined;\n    _setSpanForScope(this, undefined);\n    this._attachments = [];\n    this.setPropagationContext({ traceId: generateTraceId(), sampleRand: Math.random() });\n\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Adds a breadcrumb to the scope.\n   * By default, the last 100 breadcrumbs are kept.\n   */\n   addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n    const maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n\n    // No data has been changed, so don't notify scope listeners\n    if (maxCrumbs <= 0) {\n      return this;\n    }\n\n    const mergedBreadcrumb = {\n      timestamp: dateTimestampInSeconds(),\n      ...breadcrumb,\n      // Breadcrumb messages can theoretically be infinitely large and they're held in memory so we truncate them not to leak (too much) memory\n      message: breadcrumb.message ? truncate(breadcrumb.message, 2048) : breadcrumb.message,\n    };\n\n    this._breadcrumbs.push(mergedBreadcrumb);\n    if (this._breadcrumbs.length > maxCrumbs) {\n      this._breadcrumbs = this._breadcrumbs.slice(-maxCrumbs);\n      this._client?.recordDroppedEvent('buffer_overflow', 'log_item');\n    }\n\n    this._notifyScopeListeners();\n\n    return this;\n  }\n\n  /**\n   * Get the last breadcrumb of the scope.\n   */\n   getLastBreadcrumb() {\n    return this._breadcrumbs[this._breadcrumbs.length - 1];\n  }\n\n  /**\n   * Clear all breadcrumbs from the scope.\n   */\n   clearBreadcrumbs() {\n    this._breadcrumbs = [];\n    this._notifyScopeListeners();\n    return this;\n  }\n\n  /**\n   * Add an attachment to the scope.\n   */\n   addAttachment(attachment) {\n    this._attachments.push(attachment);\n    return this;\n  }\n\n  /**\n   * Clear all attachments from the scope.\n   */\n   clearAttachments() {\n    this._attachments = [];\n    return this;\n  }\n\n  /**\n   * Get the data of this scope, which should be applied to an event during processing.\n   */\n   getScopeData() {\n    return {\n      breadcrumbs: this._breadcrumbs,\n      attachments: this._attachments,\n      contexts: this._contexts,\n      tags: this._tags,\n      extra: this._extra,\n      user: this._user,\n      level: this._level,\n      fingerprint: this._fingerprint || [],\n      eventProcessors: this._eventProcessors,\n      propagationContext: this._propagationContext,\n      sdkProcessingMetadata: this._sdkProcessingMetadata,\n      transactionName: this._transactionName,\n      span: _getSpanForScope(this),\n    };\n  }\n\n  /**\n   * Add data which will be accessible during event processing but won't get sent to Sentry.\n   */\n   setSDKProcessingMetadata(newData) {\n    this._sdkProcessingMetadata = merge(this._sdkProcessingMetadata, newData, 2);\n    return this;\n  }\n\n  /**\n   * Add propagation context to the scope, used for distributed tracing\n   */\n   setPropagationContext(context) {\n    this._propagationContext = context;\n    return this;\n  }\n\n  /**\n   * Get propagation context from the scope, used for distributed tracing\n   */\n   getPropagationContext() {\n    return this._propagationContext;\n  }\n\n  /**\n   * Capture an exception for this scope.\n   *\n   * @returns {string} The id of the captured Sentry event.\n   */\n   captureException(exception, hint) {\n    const eventId = hint?.event_id || uuid4();\n\n    if (!this._client) {\n      DEBUG_BUILD && debug.warn('No client configured on scope - will not capture exception!');\n      return eventId;\n    }\n\n    const syntheticException = new Error('Sentry syntheticException');\n\n    this._client.captureException(\n      exception,\n      {\n        originalException: exception,\n        syntheticException,\n        ...hint,\n        event_id: eventId,\n      },\n      this,\n    );\n\n    return eventId;\n  }\n\n  /**\n   * Capture a message for this scope.\n   *\n   * @returns {string} The id of the captured message.\n   */\n   captureMessage(message, level, hint) {\n    const eventId = hint?.event_id || uuid4();\n\n    if (!this._client) {\n      DEBUG_BUILD && debug.warn('No client configured on scope - will not capture message!');\n      return eventId;\n    }\n\n    const syntheticException = new Error(message);\n\n    this._client.captureMessage(\n      message,\n      level,\n      {\n        originalException: message,\n        syntheticException,\n        ...hint,\n        event_id: eventId,\n      },\n      this,\n    );\n\n    return eventId;\n  }\n\n  /**\n   * Capture a Sentry event for this scope.\n   *\n   * @returns {string} The id of the captured event.\n   */\n   captureEvent(event, hint) {\n    const eventId = hint?.event_id || uuid4();\n\n    if (!this._client) {\n      DEBUG_BUILD && debug.warn('No client configured on scope - will not capture event!');\n      return eventId;\n    }\n\n    this._client.captureEvent(event, { ...hint, event_id: eventId }, this);\n\n    return eventId;\n  }\n\n  /**\n   * This will be called on every set call.\n   */\n   _notifyScopeListeners() {\n    // We need this check for this._notifyingListeners to be able to work on scope during updates\n    // If this check is not here we'll produce endless recursion when something is done with the scope\n    // during the callback.\n    if (!this._notifyingListeners) {\n      this._notifyingListeners = true;\n      this._scopeListeners.forEach(callback => {\n        callback(this);\n      });\n      this._notifyingListeners = false;\n    }\n  }\n}\n\nexport { Scope };\n//# sourceMappingURL=scope.js.map\n","import { getGlobalSingleton } from './carrier.js';\nimport { Scope } from './scope.js';\n\n/** Get the default current scope. */\nfunction getDefaultCurrentScope() {\n  return getGlobalSingleton('defaultCurrentScope', () => new Scope());\n}\n\n/** Get the default isolation scope. */\nfunction getDefaultIsolationScope() {\n  return getGlobalSingleton('defaultIsolationScope', () => new Scope());\n}\n\nexport { getDefaultCurrentScope, getDefaultIsolationScope };\n//# sourceMappingURL=defaultScopes.js.map\n","import { getDefaultCurrentScope, getDefaultIsolationScope } from '../defaultScopes.js';\nimport { Scope } from '../scope.js';\nimport { isThenable } from '../utils/is.js';\nimport { getMainCarrier, getSentryCarrier } from '../carrier.js';\n\n/**\n * This is an object that holds a stack of scopes.\n */\nclass AsyncContextStack {\n\n   constructor(scope, isolationScope) {\n    let assignedScope;\n    if (!scope) {\n      assignedScope = new Scope();\n    } else {\n      assignedScope = scope;\n    }\n\n    let assignedIsolationScope;\n    if (!isolationScope) {\n      assignedIsolationScope = new Scope();\n    } else {\n      assignedIsolationScope = isolationScope;\n    }\n\n    // scope stack for domains or the process\n    this._stack = [{ scope: assignedScope }];\n    this._isolationScope = assignedIsolationScope;\n  }\n\n  /**\n   * Fork a scope for the stack.\n   */\n   withScope(callback) {\n    const scope = this._pushScope();\n\n    let maybePromiseResult;\n    try {\n      maybePromiseResult = callback(scope);\n    } catch (e) {\n      this._popScope();\n      throw e;\n    }\n\n    if (isThenable(maybePromiseResult)) {\n      // @ts-expect-error - isThenable returns the wrong type\n      return maybePromiseResult.then(\n        res => {\n          this._popScope();\n          return res;\n        },\n        e => {\n          this._popScope();\n          throw e;\n        },\n      );\n    }\n\n    this._popScope();\n    return maybePromiseResult;\n  }\n\n  /**\n   * Get the client of the stack.\n   */\n   getClient() {\n    return this.getStackTop().client ;\n  }\n\n  /**\n   * Returns the scope of the top stack.\n   */\n   getScope() {\n    return this.getStackTop().scope;\n  }\n\n  /**\n   * Get the isolation scope for the stack.\n   */\n   getIsolationScope() {\n    return this._isolationScope;\n  }\n\n  /**\n   * Returns the topmost scope layer in the order domain > local > process.\n   */\n   getStackTop() {\n    return this._stack[this._stack.length - 1] ;\n  }\n\n  /**\n   * Push a scope to the stack.\n   */\n   _pushScope() {\n    // We want to clone the content of prev scope\n    const scope = this.getScope().clone();\n    this._stack.push({\n      client: this.getClient(),\n      scope,\n    });\n    return scope;\n  }\n\n  /**\n   * Pop a scope from the stack.\n   */\n   _popScope() {\n    if (this._stack.length <= 1) return false;\n    return !!this._stack.pop();\n  }\n}\n\n/**\n * Get the global async context stack.\n * This will be removed during the v8 cycle and is only here to make migration easier.\n */\nfunction getAsyncContextStack() {\n  const registry = getMainCarrier();\n  const sentry = getSentryCarrier(registry);\n\n  return (sentry.stack = sentry.stack || new AsyncContextStack(getDefaultCurrentScope(), getDefaultIsolationScope()));\n}\n\nfunction withScope(callback) {\n  return getAsyncContextStack().withScope(callback);\n}\n\nfunction withSetScope(scope, callback) {\n  const stack = getAsyncContextStack() ;\n  return stack.withScope(() => {\n    stack.getStackTop().scope = scope;\n    return callback(scope);\n  });\n}\n\nfunction withIsolationScope(callback) {\n  return getAsyncContextStack().withScope(() => {\n    return callback(getAsyncContextStack().getIsolationScope());\n  });\n}\n\n/**\n * Get the stack-based async context strategy.\n */\nfunction getStackAsyncContextStrategy() {\n  return {\n    withIsolationScope,\n    withScope,\n    withSetScope,\n    withSetIsolationScope: (_isolationScope, callback) => {\n      return withIsolationScope(callback);\n    },\n    getCurrentScope: () => getAsyncContextStack().getScope(),\n    getIsolationScope: () => getAsyncContextStack().getIsolationScope(),\n  };\n}\n\nexport { AsyncContextStack, getStackAsyncContextStrategy };\n//# sourceMappingURL=stackStrategy.js.map\n","import { getMainCarrier, getSentryCarrier } from '../carrier.js';\nimport { getStackAsyncContextStrategy } from './stackStrategy.js';\n\n/**\n * @private Private API with no semver guarantees!\n *\n * Sets the global async context strategy\n */\nfunction setAsyncContextStrategy(strategy) {\n  // Get main carrier (global for every environment)\n  const registry = getMainCarrier();\n  const sentry = getSentryCarrier(registry);\n  sentry.acs = strategy;\n}\n\n/**\n * Get the current async context strategy.\n * If none has been setup, the default will be used.\n */\nfunction getAsyncContextStrategy(carrier) {\n  const sentry = getSentryCarrier(carrier);\n\n  if (sentry.acs) {\n    return sentry.acs;\n  }\n\n  // Otherwise, use the default one (stack)\n  return getStackAsyncContextStrategy();\n}\n\nexport { getAsyncContextStrategy, setAsyncContextStrategy };\n//# sourceMappingURL=index.js.map\n","import { getAsyncContextStrategy } from './asyncContext/index.js';\nimport { getMainCarrier, getGlobalSingleton } from './carrier.js';\nimport { Scope } from './scope.js';\nimport { generateSpanId } from './utils/propagationContext.js';\n\n/**\n * Get the currently active scope.\n */\nfunction getCurrentScope() {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  return acs.getCurrentScope();\n}\n\n/**\n * Get the currently active isolation scope.\n * The isolation scope is active for the current execution context.\n */\nfunction getIsolationScope() {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  return acs.getIsolationScope();\n}\n\n/**\n * Get the global scope.\n * This scope is applied to _all_ events.\n */\nfunction getGlobalScope() {\n  return getGlobalSingleton('globalScope', () => new Scope());\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n */\n\n/**\n * Either creates a new active scope, or sets the given scope as active scope in the given callback.\n */\nfunction withScope(\n  ...rest\n) {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n\n  // If a scope is defined, we want to make this the active scope instead of the default one\n  if (rest.length === 2) {\n    const [scope, callback] = rest;\n\n    if (!scope) {\n      return acs.withScope(callback);\n    }\n\n    return acs.withSetScope(scope, callback);\n  }\n\n  return acs.withScope(rest[0]);\n}\n\n/**\n * Attempts to fork the current isolation scope and the current scope based on the current async context strategy. If no\n * async context strategy is set, the isolation scope and the current scope will not be forked (this is currently the\n * case, for example, in the browser).\n *\n * Usage of this function in environments without async context strategy is discouraged and may lead to unexpected behaviour.\n *\n * This function is intended for Sentry SDK and SDK integration development. It is not recommended to be used in \"normal\"\n * applications directly because it comes with pitfalls. Use at your own risk!\n */\n\n/**\n * Either creates a new active isolation scope, or sets the given isolation scope as active scope in the given callback.\n */\nfunction withIsolationScope(\n  ...rest\n\n) {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n\n  // If a scope is defined, we want to make this the active scope instead of the default one\n  if (rest.length === 2) {\n    const [isolationScope, callback] = rest;\n\n    if (!isolationScope) {\n      return acs.withIsolationScope(callback);\n    }\n\n    return acs.withSetIsolationScope(isolationScope, callback);\n  }\n\n  return acs.withIsolationScope(rest[0]);\n}\n\n/**\n * Get the currently active client.\n */\nfunction getClient() {\n  return getCurrentScope().getClient();\n}\n\n/**\n * Get a trace context for the given scope.\n */\nfunction getTraceContextFromScope(scope) {\n  const propagationContext = scope.getPropagationContext();\n\n  const { traceId, parentSpanId, propagationSpanId } = propagationContext;\n\n  const traceContext = {\n    trace_id: traceId,\n    span_id: propagationSpanId || generateSpanId(),\n  };\n\n  if (parentSpanId) {\n    traceContext.parent_span_id = parentSpanId;\n  }\n\n  return traceContext;\n}\n\nexport { getClient, getCurrentScope, getGlobalScope, getIsolationScope, getTraceContextFromScope, withIsolationScope, withScope };\n//# sourceMappingURL=currentScopes.js.map\n","/**\n * Use this attribute to represent the source of a span.\n * Should be one of: custom, url, route, view, component, task, unknown\n *\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_SOURCE = 'sentry.source';\n\n/**\n * Attributes that holds the sample rate that was locally applied to a span.\n * If this attribute is not defined, it means that the span inherited a sampling decision.\n *\n * NOTE: Is only defined on root spans.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE = 'sentry.sample_rate';\n\n/**\n * Attribute holding the sample rate of the previous trace.\n * This is used to sample consistently across subsequent traces in the browser SDK.\n *\n * Note: Only defined on root spans, if opted into consistent sampling\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE = 'sentry.previous_trace_sample_rate';\n\n/**\n * Use this attribute to represent the operation of a span.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_OP = 'sentry.op';\n\n/**\n * Use this attribute to represent the origin of a span.\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN = 'sentry.origin';\n\n/** The reason why an idle span finished. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON = 'sentry.idle_span_finish_reason';\n\n/** The unit of a measurement, which may be stored as a TimedEvent. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT = 'sentry.measurement_unit';\n\n/** The value of a measurement, which may be stored as a TimedEvent. */\nconst SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE = 'sentry.measurement_value';\n\n/**\n * A custom span name set by users guaranteed to be taken over any automatically\n * inferred name. This attribute is removed before the span is sent.\n *\n * @internal only meant for internal SDK usage\n * @hidden\n */\nconst SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME = 'sentry.custom_span_name';\n\n/**\n * The id of the profile that this span occurred in.\n */\nconst SEMANTIC_ATTRIBUTE_PROFILE_ID = 'sentry.profile_id';\n\nconst SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME = 'sentry.exclusive_time';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_HIT = 'cache.hit';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_KEY = 'cache.key';\n\nconst SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE = 'cache.item_size';\n\n/** TODO: Remove these once we update to latest semantic conventions */\nconst SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD = 'http.request.method';\nconst SEMANTIC_ATTRIBUTE_URL_FULL = 'url.full';\n\n/**\n * A span link attribute to mark the link as a special span link.\n *\n * Known values:\n * - `previous_trace`: The span links to the frontend root span of the previous trace.\n * - `next_trace`: The span links to the frontend root span of the next trace. (Not set by the SDK)\n *\n * Other values may be set as appropriate.\n * @see https://develop.sentry.dev/sdk/telemetry/traces/span-links/#link-types\n */\nconst SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE = 'sentry.link.type';\n\nexport { SEMANTIC_ATTRIBUTE_CACHE_HIT, SEMANTIC_ATTRIBUTE_CACHE_ITEM_SIZE, SEMANTIC_ATTRIBUTE_CACHE_KEY, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_PROFILE_ID, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_URL_FULL, SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE };\n//# sourceMappingURL=semanticAttributes.js.map\n","const SPAN_STATUS_UNSET = 0;\nconst SPAN_STATUS_OK = 1;\nconst SPAN_STATUS_ERROR = 2;\n\n/**\n * Converts a HTTP status code into a sentry status with a message.\n *\n * @param httpStatus The HTTP response status code.\n * @returns The span status or unknown_error.\n */\n// https://develop.sentry.dev/sdk/event-payloads/span/\nfunction getSpanStatusFromHttpCode(httpStatus) {\n  if (httpStatus < 400 && httpStatus >= 100) {\n    return { code: SPAN_STATUS_OK };\n  }\n\n  if (httpStatus >= 400 && httpStatus < 500) {\n    switch (httpStatus) {\n      case 401:\n        return { code: SPAN_STATUS_ERROR, message: 'unauthenticated' };\n      case 403:\n        return { code: SPAN_STATUS_ERROR, message: 'permission_denied' };\n      case 404:\n        return { code: SPAN_STATUS_ERROR, message: 'not_found' };\n      case 409:\n        return { code: SPAN_STATUS_ERROR, message: 'already_exists' };\n      case 413:\n        return { code: SPAN_STATUS_ERROR, message: 'failed_precondition' };\n      case 429:\n        return { code: SPAN_STATUS_ERROR, message: 'resource_exhausted' };\n      case 499:\n        return { code: SPAN_STATUS_ERROR, message: 'cancelled' };\n      default:\n        return { code: SPAN_STATUS_ERROR, message: 'invalid_argument' };\n    }\n  }\n\n  if (httpStatus >= 500 && httpStatus < 600) {\n    switch (httpStatus) {\n      case 501:\n        return { code: SPAN_STATUS_ERROR, message: 'unimplemented' };\n      case 503:\n        return { code: SPAN_STATUS_ERROR, message: 'unavailable' };\n      case 504:\n        return { code: SPAN_STATUS_ERROR, message: 'deadline_exceeded' };\n      default:\n        return { code: SPAN_STATUS_ERROR, message: 'internal_error' };\n    }\n  }\n\n  return { code: SPAN_STATUS_ERROR, message: 'unknown_error' };\n}\n\n/**\n * Sets the Http status attributes on the current span based on the http code.\n * Additionally, the span's status is updated, depending on the http code.\n */\nfunction setHttpStatus(span, httpStatus) {\n  span.setAttribute('http.response.status_code', httpStatus);\n\n  const spanStatus = getSpanStatusFromHttpCode(httpStatus);\n  if (spanStatus.message !== 'unknown_error') {\n    span.setStatus(spanStatus);\n  }\n}\n\nexport { SPAN_STATUS_ERROR, SPAN_STATUS_OK, SPAN_STATUS_UNSET, getSpanStatusFromHttpCode, setHttpStatus };\n//# sourceMappingURL=spanstatus.js.map\n","import { addNonEnumerableProperty } from '../utils/object.js';\n\nconst SCOPE_ON_START_SPAN_FIELD = '_sentryScope';\nconst ISOLATION_SCOPE_ON_START_SPAN_FIELD = '_sentryIsolationScope';\n\n/** Store the scope & isolation scope for a span, which can the be used when it is finished. */\nfunction setCapturedScopesOnSpan(span, scope, isolationScope) {\n  if (span) {\n    addNonEnumerableProperty(span, ISOLATION_SCOPE_ON_START_SPAN_FIELD, isolationScope);\n    addNonEnumerableProperty(span, SCOPE_ON_START_SPAN_FIELD, scope);\n  }\n}\n\n/**\n * Grabs the scope and isolation scope off a span that were active when the span was started.\n */\nfunction getCapturedScopesOnSpan(span) {\n  return {\n    scope: (span )[SCOPE_ON_START_SPAN_FIELD],\n    isolationScope: (span )[ISOLATION_SCOPE_ON_START_SPAN_FIELD],\n  };\n}\n\nexport { getCapturedScopesOnSpan, setCapturedScopesOnSpan };\n//# sourceMappingURL=utils.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { isString } from './is.js';\n\nconst SENTRY_BAGGAGE_KEY_PREFIX = 'sentry-';\n\nconst SENTRY_BAGGAGE_KEY_PREFIX_REGEX = /^sentry-/;\n\n/**\n * Max length of a serialized baggage string\n *\n * https://www.w3.org/TR/baggage/#limits\n */\nconst MAX_BAGGAGE_STRING_LENGTH = 8192;\n\n/**\n * Takes a baggage header and turns it into Dynamic Sampling Context, by extracting all the \"sentry-\" prefixed values\n * from it.\n *\n * @param baggageHeader A very bread definition of a baggage header as it might appear in various frameworks.\n * @returns The Dynamic Sampling Context that was found on `baggageHeader`, if there was any, `undefined` otherwise.\n */\nfunction baggageHeaderToDynamicSamplingContext(\n  // Very liberal definition of what any incoming header might look like\n  baggageHeader,\n) {\n  const baggageObject = parseBaggageHeader(baggageHeader);\n\n  if (!baggageObject) {\n    return undefined;\n  }\n\n  // Read all \"sentry-\" prefixed values out of the baggage object and put it onto a dynamic sampling context object.\n  const dynamicSamplingContext = Object.entries(baggageObject).reduce((acc, [key, value]) => {\n    if (key.match(SENTRY_BAGGAGE_KEY_PREFIX_REGEX)) {\n      const nonPrefixedKey = key.slice(SENTRY_BAGGAGE_KEY_PREFIX.length);\n      acc[nonPrefixedKey] = value;\n    }\n    return acc;\n  }, {});\n\n  // Only return a dynamic sampling context object if there are keys in it.\n  // A keyless object means there were no sentry values on the header, which means that there is no DSC.\n  if (Object.keys(dynamicSamplingContext).length > 0) {\n    return dynamicSamplingContext ;\n  } else {\n    return undefined;\n  }\n}\n\n/**\n * Turns a Dynamic Sampling Object into a baggage header by prefixing all the keys on the object with \"sentry-\".\n *\n * @param dynamicSamplingContext The Dynamic Sampling Context to turn into a header. For convenience and compatibility\n * with the `getDynamicSamplingContext` method on the Transaction class ,this argument can also be `undefined`. If it is\n * `undefined` the function will return `undefined`.\n * @returns a baggage header, created from `dynamicSamplingContext`, or `undefined` either if `dynamicSamplingContext`\n * was `undefined`, or if `dynamicSamplingContext` didn't contain any values.\n */\nfunction dynamicSamplingContextToSentryBaggageHeader(\n  // this also takes undefined for convenience and bundle size in other places\n  dynamicSamplingContext,\n) {\n  if (!dynamicSamplingContext) {\n    return undefined;\n  }\n\n  // Prefix all DSC keys with \"sentry-\" and put them into a new object\n  const sentryPrefixedDSC = Object.entries(dynamicSamplingContext).reduce(\n    (acc, [dscKey, dscValue]) => {\n      if (dscValue) {\n        acc[`${SENTRY_BAGGAGE_KEY_PREFIX}${dscKey}`] = dscValue;\n      }\n      return acc;\n    },\n    {},\n  );\n\n  return objectToBaggageHeader(sentryPrefixedDSC);\n}\n\n/**\n * Take a baggage header and parse it into an object.\n */\nfunction parseBaggageHeader(\n  baggageHeader,\n) {\n  if (!baggageHeader || (!isString(baggageHeader) && !Array.isArray(baggageHeader))) {\n    return undefined;\n  }\n\n  if (Array.isArray(baggageHeader)) {\n    // Combine all baggage headers into one object containing the baggage values so we can later read the Sentry-DSC-values from it\n    return baggageHeader.reduce((acc, curr) => {\n      const currBaggageObject = baggageHeaderToObject(curr);\n      Object.entries(currBaggageObject).forEach(([key, value]) => {\n        acc[key] = value;\n      });\n      return acc;\n    }, {});\n  }\n\n  return baggageHeaderToObject(baggageHeader);\n}\n\n/**\n * Will parse a baggage header, which is a simple key-value map, into a flat object.\n *\n * @param baggageHeader The baggage header to parse.\n * @returns a flat object containing all the key-value pairs from `baggageHeader`.\n */\nfunction baggageHeaderToObject(baggageHeader) {\n  return baggageHeader\n    .split(',')\n    .map(baggageEntry =>\n      baggageEntry.split('=').map(keyOrValue => {\n        try {\n          return decodeURIComponent(keyOrValue.trim());\n        } catch {\n          // We ignore errors here, e.g. if the value cannot be URL decoded.\n          // This will then be skipped in the next step\n          return;\n        }\n      }),\n    )\n    .reduce((acc, [key, value]) => {\n      if (key && value) {\n        acc[key] = value;\n      }\n      return acc;\n    }, {});\n}\n\n/**\n * Turns a flat object (key-value pairs) into a baggage header, which is also just key-value pairs.\n *\n * @param object The object to turn into a baggage header.\n * @returns a baggage header string, or `undefined` if the object didn't have any values, since an empty baggage header\n * is not spec compliant.\n */\nfunction objectToBaggageHeader(object) {\n  if (Object.keys(object).length === 0) {\n    // An empty baggage header is not spec compliant: We return undefined.\n    return undefined;\n  }\n\n  return Object.entries(object).reduce((baggageHeader, [objectKey, objectValue], currentIndex) => {\n    const baggageEntry = `${encodeURIComponent(objectKey)}=${encodeURIComponent(objectValue)}`;\n    const newBaggageHeader = currentIndex === 0 ? baggageEntry : `${baggageHeader},${baggageEntry}`;\n    if (newBaggageHeader.length > MAX_BAGGAGE_STRING_LENGTH) {\n      DEBUG_BUILD &&\n        debug.warn(\n          `Not adding key: ${objectKey} with val: ${objectValue} to baggage header due to exceeding baggage size limits.`,\n        );\n      return baggageHeader;\n    } else {\n      return newBaggageHeader;\n    }\n  }, '');\n}\n\nexport { MAX_BAGGAGE_STRING_LENGTH, SENTRY_BAGGAGE_KEY_PREFIX, SENTRY_BAGGAGE_KEY_PREFIX_REGEX, baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader, objectToBaggageHeader, parseBaggageHeader };\n//# sourceMappingURL=baggage.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { consoleSandbox, debug } from './debug-logger.js';\n\n/** Regular expression used to extract org ID from a DSN host. */\nconst ORG_ID_REGEX = /^o(\\d+)\\./;\n\n/** Regular expression used to parse a Dsn. */\nconst DSN_REGEX = /^(?:(\\w+):)\\/\\/(?:(\\w+)(?::(\\w+)?)?@)([\\w.-]+)(?::(\\d+))?\\/(.+)/;\n\nfunction isValidProtocol(protocol) {\n  return protocol === 'http' || protocol === 'https';\n}\n\n/**\n * Renders the string representation of this Dsn.\n *\n * By default, this will render the public representation without the password\n * component. To get the deprecated private representation, set `withPassword`\n * to true.\n *\n * @param withPassword When set to true, the password will be included.\n */\nfunction dsnToString(dsn, withPassword = false) {\n  const { host, path, pass, port, projectId, protocol, publicKey } = dsn;\n  return (\n    `${protocol}://${publicKey}${withPassword && pass ? `:${pass}` : ''}` +\n    `@${host}${port ? `:${port}` : ''}/${path ? `${path}/` : path}${projectId}`\n  );\n}\n\n/**\n * Parses a Dsn from a given string.\n *\n * @param str A Dsn as string\n * @returns Dsn as DsnComponents or undefined if @param str is not a valid DSN string\n */\nfunction dsnFromString(str) {\n  const match = DSN_REGEX.exec(str);\n\n  if (!match) {\n    // This should be logged to the console\n    consoleSandbox(() => {\n      // eslint-disable-next-line no-console\n      console.error(`Invalid Sentry Dsn: ${str}`);\n    });\n    return undefined;\n  }\n\n  const [protocol, publicKey, pass = '', host = '', port = '', lastPath = ''] = match.slice(1);\n  let path = '';\n  let projectId = lastPath;\n\n  const split = projectId.split('/');\n  if (split.length > 1) {\n    path = split.slice(0, -1).join('/');\n    projectId = split.pop() ;\n  }\n\n  if (projectId) {\n    const projectMatch = projectId.match(/^\\d+/);\n    if (projectMatch) {\n      projectId = projectMatch[0];\n    }\n  }\n\n  return dsnFromComponents({ host, pass, path, projectId, port, protocol: protocol , publicKey });\n}\n\nfunction dsnFromComponents(components) {\n  return {\n    protocol: components.protocol,\n    publicKey: components.publicKey || '',\n    pass: components.pass || '',\n    host: components.host,\n    port: components.port || '',\n    path: components.path || '',\n    projectId: components.projectId,\n  };\n}\n\nfunction validateDsn(dsn) {\n  if (!DEBUG_BUILD) {\n    return true;\n  }\n\n  const { port, projectId, protocol } = dsn;\n\n  const requiredComponents = ['protocol', 'publicKey', 'host', 'projectId'];\n  const hasMissingRequiredComponent = requiredComponents.find(component => {\n    if (!dsn[component]) {\n      debug.error(`Invalid Sentry Dsn: ${component} missing`);\n      return true;\n    }\n    return false;\n  });\n\n  if (hasMissingRequiredComponent) {\n    return false;\n  }\n\n  if (!projectId.match(/^\\d+$/)) {\n    debug.error(`Invalid Sentry Dsn: Invalid projectId ${projectId}`);\n    return false;\n  }\n\n  if (!isValidProtocol(protocol)) {\n    debug.error(`Invalid Sentry Dsn: Invalid protocol ${protocol}`);\n    return false;\n  }\n\n  if (port && isNaN(parseInt(port, 10))) {\n    debug.error(`Invalid Sentry Dsn: Invalid port ${port}`);\n    return false;\n  }\n\n  return true;\n}\n\n/**\n * Extract the org ID from a DSN host.\n *\n * @param host The host from a DSN\n * @returns The org ID if found, undefined otherwise\n */\nfunction extractOrgIdFromDsnHost(host) {\n  const match = host.match(ORG_ID_REGEX);\n\n  return match?.[1];\n}\n\n/**\n *  Returns the organization ID of the client.\n *\n *  The organization ID is extracted from the DSN. If the client options include a `orgId`, this will always take precedence.\n */\nfunction extractOrgIdFromClient(client) {\n  const options = client.getOptions();\n\n  const { host } = client.getDsn() || {};\n\n  let org_id;\n\n  if (options.orgId) {\n    org_id = String(options.orgId);\n  } else if (host) {\n    org_id = extractOrgIdFromDsnHost(host);\n  }\n\n  return org_id;\n}\n\n/**\n * Creates a valid Sentry Dsn object, identifying a Sentry instance and project.\n * @returns a valid DsnComponents object or `undefined` if @param from is an invalid DSN source\n */\nfunction makeDsn(from) {\n  const components = typeof from === 'string' ? dsnFromString(from) : dsnFromComponents(from);\n  if (!components || !validateDsn(components)) {\n    return undefined;\n  }\n  return components;\n}\n\nexport { dsnFromString, dsnToString, extractOrgIdFromClient, extractOrgIdFromDsnHost, makeDsn };\n//# sourceMappingURL=dsn.js.map\n","/**\n * Parse a sample rate from a given value.\n * This will either return a boolean or number sample rate, if the sample rate is valid (between 0 and 1).\n * If a string is passed, we try to convert it to a number.\n *\n * Any invalid sample rate will return `undefined`.\n */\nfunction parseSampleRate(sampleRate) {\n  if (typeof sampleRate === 'boolean') {\n    return Number(sampleRate);\n  }\n\n  const rate = typeof sampleRate === 'string' ? parseFloat(sampleRate) : sampleRate;\n  if (typeof rate !== 'number' || isNaN(rate) || rate < 0 || rate > 1) {\n    return undefined;\n  }\n\n  return rate;\n}\n\nexport { parseSampleRate };\n//# sourceMappingURL=parseSampleRate.js.map\n","import { debug } from './debug-logger.js';\nimport { baggageHeaderToDynamicSamplingContext } from './baggage.js';\nimport { extractOrgIdFromClient } from './dsn.js';\nimport { parseSampleRate } from './parseSampleRate.js';\nimport { generateTraceId, generateSpanId } from './propagationContext.js';\n\n// eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor -- RegExp is used for readability here\nconst TRACEPARENT_REGEXP = new RegExp(\n  '^[ \\\\t]*' + // whitespace\n    '([0-9a-f]{32})?' + // trace_id\n    '-?([0-9a-f]{16})?' + // span_id\n    '-?([01])?' + // sampled\n    '[ \\\\t]*$', // whitespace\n);\n\n/**\n * Extract transaction context data from a `sentry-trace` header.\n *\n * @param traceparent Traceparent string\n *\n * @returns Object containing data from the header, or undefined if traceparent string is malformed\n */\nfunction extractTraceparentData(traceparent) {\n  if (!traceparent) {\n    return undefined;\n  }\n\n  const matches = traceparent.match(TRACEPARENT_REGEXP);\n  if (!matches) {\n    return undefined;\n  }\n\n  let parentSampled;\n  if (matches[3] === '1') {\n    parentSampled = true;\n  } else if (matches[3] === '0') {\n    parentSampled = false;\n  }\n\n  return {\n    traceId: matches[1],\n    parentSampled,\n    parentSpanId: matches[2],\n  };\n}\n\n/**\n * Create a propagation context from incoming headers or\n * creates a minimal new one if the headers are undefined.\n */\nfunction propagationContextFromHeaders(\n  sentryTrace,\n  baggage,\n) {\n  const traceparentData = extractTraceparentData(sentryTrace);\n  const dynamicSamplingContext = baggageHeaderToDynamicSamplingContext(baggage);\n\n  if (!traceparentData?.traceId) {\n    return {\n      traceId: generateTraceId(),\n      sampleRand: Math.random(),\n    };\n  }\n\n  const sampleRand = getSampleRandFromTraceparentAndDsc(traceparentData, dynamicSamplingContext);\n\n  // The sample_rand on the DSC needs to be generated based on traceparent + baggage.\n  if (dynamicSamplingContext) {\n    dynamicSamplingContext.sample_rand = sampleRand.toString();\n  }\n\n  const { traceId, parentSpanId, parentSampled } = traceparentData;\n\n  return {\n    traceId,\n    parentSpanId,\n    sampled: parentSampled,\n    dsc: dynamicSamplingContext || {}, // If we have traceparent data but no DSC it means we are not head of trace and we must freeze it\n    sampleRand,\n  };\n}\n\n/**\n * Create sentry-trace header from span context values.\n */\nfunction generateSentryTraceHeader(\n  traceId = generateTraceId(),\n  spanId = generateSpanId(),\n  sampled,\n) {\n  let sampledString = '';\n  if (sampled !== undefined) {\n    sampledString = sampled ? '-1' : '-0';\n  }\n  return `${traceId}-${spanId}${sampledString}`;\n}\n\n/**\n * Given any combination of an incoming trace, generate a sample rand based on its defined semantics.\n *\n * Read more: https://develop.sentry.dev/sdk/telemetry/traces/#propagated-random-value\n */\nfunction getSampleRandFromTraceparentAndDsc(\n  traceparentData,\n  dsc,\n) {\n  // When there is an incoming sample rand use it.\n  const parsedSampleRand = parseSampleRate(dsc?.sample_rand);\n  if (parsedSampleRand !== undefined) {\n    return parsedSampleRand;\n  }\n\n  // Otherwise, if there is an incoming sampling decision + sample rate, generate a sample rand that would lead to the same sampling decision.\n  const parsedSampleRate = parseSampleRate(dsc?.sample_rate);\n  if (parsedSampleRate && traceparentData?.parentSampled !== undefined) {\n    return traceparentData.parentSampled\n      ? // Returns a sample rand with positive sampling decision [0, sampleRate)\n        Math.random() * parsedSampleRate\n      : // Returns a sample rand with negative sampling decision [sampleRate, 1)\n        parsedSampleRate + Math.random() * (1 - parsedSampleRate);\n  } else {\n    // If nothing applies, return a random sample rand.\n    return Math.random();\n  }\n}\n\n/**\n * Determines whether a new trace should be continued based on the provided baggage org ID and the client's `strictTraceContinuation` option.\n * If the trace should not be continued, a new trace will be started.\n *\n * The result is dependent on the `strictTraceContinuation` option in the client.\n * See https://develop.sentry.dev/sdk/telemetry/traces/#stricttracecontinuation\n */\nfunction shouldContinueTrace(client, baggageOrgId) {\n  const clientOrgId = extractOrgIdFromClient(client);\n\n  // Case: baggage orgID and Client orgID don't match - always start new trace\n  if (baggageOrgId && clientOrgId && baggageOrgId !== clientOrgId) {\n    debug.log(\n      `Won't continue trace because org IDs don't match (incoming baggage: ${baggageOrgId}, SDK options: ${clientOrgId})`,\n    );\n    return false;\n  }\n\n  const strictTraceContinuation = client.getOptions().strictTraceContinuation || false; // default for `strictTraceContinuation` is `false`\n\n  if (strictTraceContinuation) {\n    // With strict continuation enabled, don't continue trace if:\n    // - Baggage has orgID, but Client doesn't have one\n    // - Client has orgID, but baggage doesn't have one\n    if ((baggageOrgId && !clientOrgId) || (!baggageOrgId && clientOrgId)) {\n      debug.log(\n        `Starting a new trace because strict trace continuation is enabled but one org ID is missing (incoming baggage: ${baggageOrgId}, Sentry client: ${clientOrgId})`,\n      );\n      return false;\n    }\n  }\n\n  return true;\n}\n\nexport { TRACEPARENT_REGEXP, extractTraceparentData, generateSentryTraceHeader, propagationContextFromHeaders, shouldContinueTrace };\n//# sourceMappingURL=tracing.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getCurrentScope } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { SPAN_STATUS_UNSET, SPAN_STATUS_OK } from '../tracing/spanstatus.js';\nimport { getCapturedScopesOnSpan } from '../tracing/utils.js';\nimport { addNonEnumerableProperty } from './object.js';\nimport { generateSpanId } from './propagationContext.js';\nimport { timestampInSeconds } from './time.js';\nimport { generateSentryTraceHeader } from './tracing.js';\nimport { consoleSandbox } from './debug-logger.js';\nimport { _getSpanForScope } from './spanOnScope.js';\n\n// These are aligned with OpenTelemetry trace flags\nconst TRACE_FLAG_NONE = 0x0;\nconst TRACE_FLAG_SAMPLED = 0x1;\n\nlet hasShownSpanDropWarning = false;\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in an event.\n * By default, this will only include trace_id, span_id & parent_span_id.\n * If `includeAllData` is true, it will also include data, op, status & origin.\n */\nfunction spanToTransactionTraceContext(span) {\n  const { spanId: span_id, traceId: trace_id } = span.spanContext();\n  const { data, op, parent_span_id, status, origin, links } = spanToJSON(span);\n\n  return {\n    parent_span_id,\n    span_id,\n    trace_id,\n    data,\n    op,\n    status,\n    origin,\n    links,\n  };\n}\n\n/**\n * Convert a span to a trace context, which can be sent as the `trace` context in a non-transaction event.\n */\nfunction spanToTraceContext(span) {\n  const { spanId, traceId: trace_id, isRemote } = span.spanContext();\n\n  // If the span is remote, we use a random/virtual span as span_id to the trace context,\n  // and the remote span as parent_span_id\n  const parent_span_id = isRemote ? spanId : spanToJSON(span).parent_span_id;\n  const scope = getCapturedScopesOnSpan(span).scope;\n\n  const span_id = isRemote ? scope?.getPropagationContext().propagationSpanId || generateSpanId() : spanId;\n\n  return {\n    parent_span_id,\n    span_id,\n    trace_id,\n  };\n}\n\n/**\n * Convert a Span to a Sentry trace header.\n */\nfunction spanToTraceHeader(span) {\n  const { traceId, spanId } = span.spanContext();\n  const sampled = spanIsSampled(span);\n  return generateSentryTraceHeader(traceId, spanId, sampled);\n}\n\n/**\n *  Converts the span links array to a flattened version to be sent within an envelope.\n *\n *  If the links array is empty, it returns `undefined` so the empty value can be dropped before it's sent.\n */\nfunction convertSpanLinksForEnvelope(links) {\n  if (links && links.length > 0) {\n    return links.map(({ context: { spanId, traceId, traceFlags, ...restContext }, attributes }) => ({\n      span_id: spanId,\n      trace_id: traceId,\n      sampled: traceFlags === TRACE_FLAG_SAMPLED,\n      attributes,\n      ...restContext,\n    }));\n  } else {\n    return undefined;\n  }\n}\n\n/**\n * Convert a span time input into a timestamp in seconds.\n */\nfunction spanTimeInputToSeconds(input) {\n  if (typeof input === 'number') {\n    return ensureTimestampInSeconds(input);\n  }\n\n  if (Array.isArray(input)) {\n    // See {@link HrTime} for the array-based time format\n    return input[0] + input[1] / 1e9;\n  }\n\n  if (input instanceof Date) {\n    return ensureTimestampInSeconds(input.getTime());\n  }\n\n  return timestampInSeconds();\n}\n\n/**\n * Converts a timestamp to second, if it was in milliseconds, or keeps it as second.\n */\nfunction ensureTimestampInSeconds(timestamp) {\n  const isMs = timestamp > 9999999999;\n  return isMs ? timestamp / 1000 : timestamp;\n}\n\n/**\n * Convert a span to a JSON representation.\n */\n// Note: Because of this, we currently have a circular type dependency (which we opted out of in package.json).\n// This is not avoidable as we need `spanToJSON` in `spanUtils.ts`, which in turn is needed by `span.ts` for backwards compatibility.\n// And `spanToJSON` needs the Span class from `span.ts` to check here.\nfunction spanToJSON(span) {\n  if (spanIsSentrySpan(span)) {\n    return span.getSpanJSON();\n  }\n\n  const { spanId: span_id, traceId: trace_id } = span.spanContext();\n\n  // Handle a span from @opentelemetry/sdk-base-trace's `Span` class\n  if (spanIsOpenTelemetrySdkTraceBaseSpan(span)) {\n    const { attributes, startTime, name, endTime, status, links } = span;\n\n    // In preparation for the next major of OpenTelemetry, we want to support\n    // looking up the parent span id according to the new API\n    // In OTel v1, the parent span id is accessed as `parentSpanId`\n    // In OTel v2, the parent span id is accessed as `spanId` on the `parentSpanContext`\n    const parentSpanId =\n      'parentSpanId' in span\n        ? span.parentSpanId\n        : 'parentSpanContext' in span\n          ? (span.parentSpanContext )?.spanId\n          : undefined;\n\n    return {\n      span_id,\n      trace_id,\n      data: attributes,\n      description: name,\n      parent_span_id: parentSpanId,\n      start_timestamp: spanTimeInputToSeconds(startTime),\n      // This is [0,0] by default in OTEL, in which case we want to interpret this as no end time\n      timestamp: spanTimeInputToSeconds(endTime) || undefined,\n      status: getStatusMessage(status),\n      op: attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n      origin: attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] ,\n      links: convertSpanLinksForEnvelope(links),\n    };\n  }\n\n  // Finally, at least we have `spanContext()`....\n  // This should not actually happen in reality, but we need to handle it for type safety.\n  return {\n    span_id,\n    trace_id,\n    start_timestamp: 0,\n    data: {},\n  };\n}\n\nfunction spanIsOpenTelemetrySdkTraceBaseSpan(span) {\n  const castSpan = span ;\n  return !!castSpan.attributes && !!castSpan.startTime && !!castSpan.name && !!castSpan.endTime && !!castSpan.status;\n}\n\n/** Exported only for tests. */\n\n/**\n * Sadly, due to circular dependency checks we cannot actually import the Span class here and check for instanceof.\n * :( So instead we approximate this by checking if it has the `getSpanJSON` method.\n */\nfunction spanIsSentrySpan(span) {\n  return typeof (span ).getSpanJSON === 'function';\n}\n\n/**\n * Returns true if a span is sampled.\n * In most cases, you should just use `span.isRecording()` instead.\n * However, this has a slightly different semantic, as it also returns false if the span is finished.\n * So in the case where this distinction is important, use this method.\n */\nfunction spanIsSampled(span) {\n  // We align our trace flags with the ones OpenTelemetry use\n  // So we also check for sampled the same way they do.\n  const { traceFlags } = span.spanContext();\n  return traceFlags === TRACE_FLAG_SAMPLED;\n}\n\n/** Get the status message to use for a JSON representation of a span. */\nfunction getStatusMessage(status) {\n  if (!status || status.code === SPAN_STATUS_UNSET) {\n    return undefined;\n  }\n\n  if (status.code === SPAN_STATUS_OK) {\n    return 'ok';\n  }\n\n  return status.message || 'unknown_error';\n}\n\nconst CHILD_SPANS_FIELD = '_sentryChildSpans';\nconst ROOT_SPAN_FIELD = '_sentryRootSpan';\n\n/**\n * Adds an opaque child span reference to a span.\n */\nfunction addChildSpanToSpan(span, childSpan) {\n  // We store the root span reference on the child span\n  // We need this for `getRootSpan()` to work\n  const rootSpan = span[ROOT_SPAN_FIELD] || span;\n  addNonEnumerableProperty(childSpan , ROOT_SPAN_FIELD, rootSpan);\n\n  // We store a list of child spans on the parent span\n  // We need this for `getSpanDescendants()` to work\n  if (span[CHILD_SPANS_FIELD]) {\n    span[CHILD_SPANS_FIELD].add(childSpan);\n  } else {\n    addNonEnumerableProperty(span, CHILD_SPANS_FIELD, new Set([childSpan]));\n  }\n}\n\n/** This is only used internally by Idle Spans. */\nfunction removeChildSpanFromSpan(span, childSpan) {\n  if (span[CHILD_SPANS_FIELD]) {\n    span[CHILD_SPANS_FIELD].delete(childSpan);\n  }\n}\n\n/**\n * Returns an array of the given span and all of its descendants.\n */\nfunction getSpanDescendants(span) {\n  const resultSet = new Set();\n\n  function addSpanChildren(span) {\n    // This exit condition is required to not infinitely loop in case of a circular dependency.\n    if (resultSet.has(span)) {\n      return;\n      // We want to ignore unsampled spans (e.g. non recording spans)\n    } else if (spanIsSampled(span)) {\n      resultSet.add(span);\n      const childSpans = span[CHILD_SPANS_FIELD] ? Array.from(span[CHILD_SPANS_FIELD]) : [];\n      for (const childSpan of childSpans) {\n        addSpanChildren(childSpan);\n      }\n    }\n  }\n\n  addSpanChildren(span);\n\n  return Array.from(resultSet);\n}\n\n/**\n * Returns the root span of a given span.\n */\nfunction getRootSpan(span) {\n  return span[ROOT_SPAN_FIELD] || span;\n}\n\n/**\n * Returns the currently active span.\n */\nfunction getActiveSpan() {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  if (acs.getActiveSpan) {\n    return acs.getActiveSpan();\n  }\n\n  return _getSpanForScope(getCurrentScope());\n}\n\n/**\n * Logs a warning once if `beforeSendSpan` is used to drop spans.\n */\nfunction showSpanDropWarning() {\n  if (!hasShownSpanDropWarning) {\n    consoleSandbox(() => {\n      // eslint-disable-next-line no-console\n      console.warn(\n        '[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly.',\n      );\n    });\n    hasShownSpanDropWarning = true;\n  }\n}\n\n/**\n * Updates the name of the given span and ensures that the span name is not\n * overwritten by the Sentry SDK.\n *\n * Use this function instead of `span.updateName()` if you want to make sure that\n * your name is kept. For some spans, for example root `http.server` spans the\n * Sentry SDK would otherwise overwrite the span name with a high-quality name\n * it infers when the span ends.\n *\n * Use this function in server code or when your span is started on the server\n * and on the client (browser). If you only update a span name on the client,\n * you can also use `span.updateName()` the SDK does not overwrite the name.\n *\n * @param span - The span to update the name of.\n * @param name - The name to set on the span.\n */\nfunction updateSpanName(span, name) {\n  span.updateName(name);\n  span.setAttributes({\n    [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'custom',\n    [SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME]: name,\n  });\n}\n\nexport { TRACE_FLAG_NONE, TRACE_FLAG_SAMPLED, addChildSpanToSpan, convertSpanLinksForEnvelope, getActiveSpan, getRootSpan, getSpanDescendants, getStatusMessage, removeChildSpanFromSpan, showSpanDropWarning, spanIsSampled, spanTimeInputToSeconds, spanToJSON, spanToTraceContext, spanToTraceHeader, spanToTransactionTraceContext, updateSpanName };\n//# sourceMappingURL=spanUtils.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { addGlobalErrorInstrumentationHandler } from '../instrument/globalError.js';\nimport { addGlobalUnhandledRejectionInstrumentationHandler } from '../instrument/globalUnhandledRejection.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getActiveSpan, getRootSpan } from '../utils/spanUtils.js';\nimport { SPAN_STATUS_ERROR } from './spanstatus.js';\n\nlet errorsInstrumented = false;\n\n/**\n * Ensure that global errors automatically set the active span status.\n */\nfunction registerSpanErrorInstrumentation() {\n  if (errorsInstrumented) {\n    return;\n  }\n\n  /**\n   * If an error or unhandled promise occurs, we mark the active root span as failed\n   */\n  function errorCallback() {\n    const activeSpan = getActiveSpan();\n    const rootSpan = activeSpan && getRootSpan(activeSpan);\n    if (rootSpan) {\n      const message = 'internal_error';\n      DEBUG_BUILD && debug.log(`[Tracing] Root span: ${message} -> Global error occurred`);\n      rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message });\n    }\n  }\n\n  // The function name will be lost when bundling but we need to be able to identify this listener later to maintain the\n  // node.js default exit behaviour\n  errorCallback.tag = 'sentry_tracingErrorCallback';\n\n  errorsInstrumented = true;\n  addGlobalErrorInstrumentationHandler(errorCallback);\n  addGlobalUnhandledRejectionInstrumentationHandler(errorCallback);\n}\n\nexport { registerSpanErrorInstrumentation };\n//# sourceMappingURL=errors.js.map\n","import { getClient } from '../currentScopes.js';\n\n// Treeshakable guard to remove all code related to tracing\n\n/**\n * Determines if span recording is currently enabled.\n *\n * Spans are recorded when at least one of `tracesSampleRate` and `tracesSampler`\n * is defined in the SDK config. This function does not make any assumption about\n * sampling decisions, it only checks if the SDK is configured to record spans.\n *\n * Important: This function only determines if span recording is enabled. Trace\n * continuation and propagation is separately controlled and not covered by this function.\n * If this function returns `false`, traces can still be propagated (which is what\n * we refer to by \"Tracing without Performance\")\n * @see https://develop.sentry.dev/sdk/telemetry/traces/tracing-without-performance/\n *\n * @param maybeOptions An SDK options object to be passed to this function.\n * If this option is not provided, the function will use the current client's options.\n */\nfunction hasSpansEnabled(\n  maybeOptions,\n) {\n  if (typeof __SENTRY_TRACING__ === 'boolean' && !__SENTRY_TRACING__) {\n    return false;\n  }\n\n  const options = maybeOptions || getClient()?.getOptions();\n  return (\n    !!options &&\n    // Note: This check is `!= null`, meaning \"nullish\". `0` is not \"nullish\", `undefined` and `null` are. (This comment was brought to you by 15 minutes of questioning life)\n    (options.tracesSampleRate != null || !!options.tracesSampler)\n  );\n}\n\nexport { hasSpansEnabled };\n//# sourceMappingURL=hasSpansEnabled.js.map\n","const DEFAULT_ENVIRONMENT = 'production';\n\nexport { DEFAULT_ENVIRONMENT };\n//# sourceMappingURL=constants.js.map\n","import { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { getClient } from '../currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { baggageHeaderToDynamicSamplingContext, dynamicSamplingContextToSentryBaggageHeader } from '../utils/baggage.js';\nimport { extractOrgIdFromClient } from '../utils/dsn.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { addNonEnumerableProperty } from '../utils/object.js';\nimport { getRootSpan, spanToJSON, spanIsSampled } from '../utils/spanUtils.js';\nimport { getCapturedScopesOnSpan } from './utils.js';\n\n/**\n * If you change this value, also update the terser plugin config to\n * avoid minification of the object property!\n */\nconst FROZEN_DSC_FIELD = '_frozenDsc';\n\n/**\n * Freeze the given DSC on the given span.\n */\nfunction freezeDscOnSpan(span, dsc) {\n  const spanWithMaybeDsc = span ;\n  addNonEnumerableProperty(spanWithMaybeDsc, FROZEN_DSC_FIELD, dsc);\n}\n\n/**\n * Creates a dynamic sampling context from a client.\n *\n * Dispatches the `createDsc` lifecycle hook as a side effect.\n */\nfunction getDynamicSamplingContextFromClient(trace_id, client) {\n  const options = client.getOptions();\n\n  const { publicKey: public_key } = client.getDsn() || {};\n\n  // Instead of conditionally adding non-undefined values, we add them and then remove them if needed\n  // otherwise, the order of baggage entries changes, which \"breaks\" a bunch of tests etc.\n  const dsc = {\n    environment: options.environment || DEFAULT_ENVIRONMENT,\n    release: options.release,\n    public_key,\n    trace_id,\n    org_id: extractOrgIdFromClient(client),\n  };\n\n  client.emit('createDsc', dsc);\n\n  return dsc;\n}\n\n/**\n * Get the dynamic sampling context for the currently active scopes.\n */\nfunction getDynamicSamplingContextFromScope(client, scope) {\n  const propagationContext = scope.getPropagationContext();\n  return propagationContext.dsc || getDynamicSamplingContextFromClient(propagationContext.traceId, client);\n}\n\n/**\n * Creates a dynamic sampling context from a span (and client and scope)\n *\n * @param span the span from which a few values like the root span name and sample rate are extracted.\n *\n * @returns a dynamic sampling context\n */\nfunction getDynamicSamplingContextFromSpan(span) {\n  const client = getClient();\n  if (!client) {\n    return {};\n  }\n\n  const rootSpan = getRootSpan(span);\n  const rootSpanJson = spanToJSON(rootSpan);\n  const rootSpanAttributes = rootSpanJson.data;\n  const traceState = rootSpan.spanContext().traceState;\n\n  // The span sample rate that was locally applied to the root span should also always be applied to the DSC, even if the DSC is frozen.\n  // This is so that the downstream traces/services can use parentSampleRate in their `tracesSampler` to make consistent sampling decisions across the entire trace.\n  const rootSpanSampleRate =\n    traceState?.get('sentry.sample_rate') ??\n    rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE] ??\n    rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE];\n\n  function applyLocalSampleRateToDsc(dsc) {\n    if (typeof rootSpanSampleRate === 'number' || typeof rootSpanSampleRate === 'string') {\n      dsc.sample_rate = `${rootSpanSampleRate}`;\n    }\n    return dsc;\n  }\n\n  // For core implementation, we freeze the DSC onto the span as a non-enumerable property\n  const frozenDsc = (rootSpan )[FROZEN_DSC_FIELD];\n  if (frozenDsc) {\n    return applyLocalSampleRateToDsc(frozenDsc);\n  }\n\n  // For OpenTelemetry, we freeze the DSC on the trace state\n  const traceStateDsc = traceState?.get('sentry.dsc');\n\n  // If the span has a DSC, we want it to take precedence\n  const dscOnTraceState = traceStateDsc && baggageHeaderToDynamicSamplingContext(traceStateDsc);\n\n  if (dscOnTraceState) {\n    return applyLocalSampleRateToDsc(dscOnTraceState);\n  }\n\n  // Else, we generate it from the span\n  const dsc = getDynamicSamplingContextFromClient(span.spanContext().traceId, client);\n\n  // We don't want to have a transaction name in the DSC if the source is \"url\" because URLs might contain PII\n  const source = rootSpanAttributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n\n  // after JSON conversion, txn.name becomes jsonSpan.description\n  const name = rootSpanJson.description;\n  if (source !== 'url' && name) {\n    dsc.transaction = name;\n  }\n\n  // How can we even land here with hasSpansEnabled() returning false?\n  // Otel creates a Non-recording span in Tracing Without Performance mode when handling incoming requests\n  // So we end up with an active span that is not sampled (neither positively nor negatively)\n  if (hasSpansEnabled()) {\n    dsc.sampled = String(spanIsSampled(rootSpan));\n    dsc.sample_rand =\n      // In OTEL we store the sample rand on the trace state because we cannot access scopes for NonRecordingSpans\n      // The Sentry OTEL SpanSampler takes care of writing the sample rand on the root span\n      traceState?.get('sentry.sample_rand') ??\n      // On all other platforms we can actually get the scopes from a root span (we use this as a fallback)\n      getCapturedScopesOnSpan(rootSpan).scope?.getPropagationContext().sampleRand.toString();\n  }\n\n  applyLocalSampleRateToDsc(dsc);\n\n  client.emit('createDsc', dsc, rootSpan);\n\n  return dsc;\n}\n\n/**\n * Convert a Span to a baggage header.\n */\nfunction spanToBaggageHeader(span) {\n  const dsc = getDynamicSamplingContextFromSpan(span);\n  return dynamicSamplingContextToSentryBaggageHeader(dsc);\n}\n\nexport { freezeDscOnSpan, getDynamicSamplingContextFromClient, getDynamicSamplingContextFromScope, getDynamicSamplingContextFromSpan, spanToBaggageHeader };\n//# sourceMappingURL=dynamicSamplingContext.js.map\n","import { generateTraceId, generateSpanId } from '../utils/propagationContext.js';\nimport { TRACE_FLAG_NONE } from '../utils/spanUtils.js';\n\n/**\n * A Sentry Span that is non-recording, meaning it will not be sent to Sentry.\n */\nclass SentryNonRecordingSpan  {\n\n   constructor(spanContext = {}) {\n    this._traceId = spanContext.traceId || generateTraceId();\n    this._spanId = spanContext.spanId || generateSpanId();\n  }\n\n  /** @inheritdoc */\n   spanContext() {\n    return {\n      spanId: this._spanId,\n      traceId: this._traceId,\n      traceFlags: TRACE_FLAG_NONE,\n    };\n  }\n\n  /** @inheritdoc */\n   end(_timestamp) {}\n\n  /** @inheritdoc */\n   setAttribute(_key, _value) {\n    return this;\n  }\n\n  /** @inheritdoc */\n   setAttributes(_values) {\n    return this;\n  }\n\n  /** @inheritdoc */\n   setStatus(_status) {\n    return this;\n  }\n\n  /** @inheritdoc */\n   updateName(_name) {\n    return this;\n  }\n\n  /** @inheritdoc */\n   isRecording() {\n    return false;\n  }\n\n  /** @inheritdoc */\n   addEvent(\n    _name,\n    _attributesOrStartTime,\n    _startTime,\n  ) {\n    return this;\n  }\n\n  /** @inheritDoc */\n   addLink(_link) {\n    return this;\n  }\n\n  /** @inheritDoc */\n   addLinks(_links) {\n    return this;\n  }\n\n  /**\n   * This should generally not be used,\n   * but we need it for being compliant with the OTEL Span interface.\n   *\n   * @hidden\n   * @internal\n   */\n   recordException(_exception, _time) {\n    // noop\n  }\n}\n\nexport { SentryNonRecordingSpan };\n//# sourceMappingURL=sentryNonRecordingSpan.js.map\n","import { isVueViewModel, isSyntheticEvent } from './is.js';\nimport { convertToPlainObject } from './object.js';\nimport { getFunctionName } from './stacktrace.js';\n\n/**\n * Recursively normalizes the given object.\n *\n * - Creates a copy to prevent original input mutation\n * - Skips non-enumerable properties\n * - When stringifying, calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializable values (`undefined`/`NaN`/functions) to serializable format\n * - Translates known global objects/classes to a string representations\n * - Takes care of `Error` object serialization\n * - Optionally limits depth of final output\n * - Optionally limits number of properties/elements included in any single object/array\n *\n * @param input The object to be normalized.\n * @param depth The max depth to which to normalize the object. (Anything deeper stringified whole.)\n * @param maxProperties The max number of elements or properties to be included in any single array or\n * object in the normalized output.\n * @returns A normalized version of the object, or `\"**non-serializable**\"` if any errors are thrown during normalization.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction normalize(input, depth = 100, maxProperties = +Infinity) {\n  try {\n    // since we're at the outermost level, we don't provide a key\n    return visit('', input, depth, maxProperties);\n  } catch (err) {\n    return { ERROR: `**non-serializable** (${err})` };\n  }\n}\n\n/** JSDoc */\nfunction normalizeToSize(\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  object,\n  // Default Node.js REPL depth\n  depth = 3,\n  // 100kB, as 200kB is max payload size, so half sounds reasonable\n  maxSize = 100 * 1024,\n) {\n  const normalized = normalize(object, depth);\n\n  if (jsonSize(normalized) > maxSize) {\n    return normalizeToSize(object, depth - 1, maxSize);\n  }\n\n  return normalized ;\n}\n\n/**\n * Visits a node to perform normalization on it\n *\n * @param key The key corresponding to the given node\n * @param value The node to be visited\n * @param depth Optional number indicating the maximum recursion depth\n * @param maxProperties Optional maximum number of properties/elements included in any single object/array\n * @param memo Optional Memo class handling decycling\n */\nfunction visit(\n  key,\n  value,\n  depth = +Infinity,\n  maxProperties = +Infinity,\n  memo = memoBuilder(),\n) {\n  const [memoize, unmemoize] = memo;\n\n  // Get the simple cases out of the way first\n  if (\n    value == null || // this matches null and undefined -> eqeq not eqeqeq\n    ['boolean', 'string'].includes(typeof value) ||\n    (typeof value === 'number' && Number.isFinite(value))\n  ) {\n    return value ;\n  }\n\n  const stringified = stringifyValue(key, value);\n\n  // Anything we could potentially dig into more (objects or arrays) will have come back as `\"[object XXXX]\"`.\n  // Everything else will have already been serialized, so if we don't see that pattern, we're done.\n  if (!stringified.startsWith('[object ')) {\n    return stringified;\n  }\n\n  // From here on, we can assert that `value` is either an object or an array.\n\n  // Do not normalize objects that we know have already been normalized. As a general rule, the\n  // \"__sentry_skip_normalization__\" property should only be used sparingly and only should only be set on objects that\n  // have already been normalized.\n  if ((value )['__sentry_skip_normalization__']) {\n    return value ;\n  }\n\n  // We can set `__sentry_override_normalization_depth__` on an object to ensure that from there\n  // We keep a certain amount of depth.\n  // This should be used sparingly, e.g. we use it for the redux integration to ensure we get a certain amount of state.\n  const remainingDepth =\n    typeof (value )['__sentry_override_normalization_depth__'] === 'number'\n      ? ((value )['__sentry_override_normalization_depth__'] )\n      : depth;\n\n  // We're also done if we've reached the max depth\n  if (remainingDepth === 0) {\n    // At this point we know `serialized` is a string of the form `\"[object XXXX]\"`. Clean it up so it's just `\"[XXXX]\"`.\n    return stringified.replace('object ', '');\n  }\n\n  // If we've already visited this branch, bail out, as it's circular reference. If not, note that we're seeing it now.\n  if (memoize(value)) {\n    return '[Circular ~]';\n  }\n\n  // If the value has a `toJSON` method, we call it to extract more information\n  const valueWithToJSON = value ;\n  if (valueWithToJSON && typeof valueWithToJSON.toJSON === 'function') {\n    try {\n      const jsonValue = valueWithToJSON.toJSON();\n      // We need to normalize the return value of `.toJSON()` in case it has circular references\n      return visit('', jsonValue, remainingDepth - 1, maxProperties, memo);\n    } catch {\n      // pass (The built-in `toJSON` failed, but we can still try to do it ourselves)\n    }\n  }\n\n  // At this point we know we either have an object or an array, we haven't seen it before, and we're going to recurse\n  // because we haven't yet reached the max depth. Create an accumulator to hold the results of visiting each\n  // property/entry, and keep track of the number of items we add to it.\n  const normalized = (Array.isArray(value) ? [] : {}) ;\n  let numAdded = 0;\n\n  // Before we begin, convert`Error` and`Event` instances into plain objects, since some of each of their relevant\n  // properties are non-enumerable and otherwise would get missed.\n  const visitable = convertToPlainObject(value );\n\n  for (const visitKey in visitable) {\n    // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n    if (!Object.prototype.hasOwnProperty.call(visitable, visitKey)) {\n      continue;\n    }\n\n    if (numAdded >= maxProperties) {\n      normalized[visitKey] = '[MaxProperties ~]';\n      break;\n    }\n\n    // Recursively visit all the child nodes\n    const visitValue = visitable[visitKey];\n    normalized[visitKey] = visit(visitKey, visitValue, remainingDepth - 1, maxProperties, memo);\n\n    numAdded++;\n  }\n\n  // Once we've visited all the branches, remove the parent from memo storage\n  unmemoize(value);\n\n  // Return accumulated values\n  return normalized;\n}\n\n/* eslint-disable complexity */\n/**\n * Stringify the given value. Handles various known special values and types.\n *\n * Not meant to be used on simple primitives which already have a string representation, as it will, for example, turn\n * the number 1231 into \"[Object Number]\", nor on `null`, as it will throw.\n *\n * @param value The value to stringify\n * @returns A stringified representation of the given value\n */\nfunction stringifyValue(\n  key,\n  // this type is a tiny bit of a cheat, since this function does handle NaN (which is technically a number), but for\n  // our internal use, it'll do\n  value,\n) {\n  try {\n    if (key === 'domain' && value && typeof value === 'object' && (value )._events) {\n      return '[Domain]';\n    }\n\n    if (key === 'domainEmitter') {\n      return '[DomainEmitter]';\n    }\n\n    // It's safe to use `global`, `window`, and `document` here in this manner, as we are asserting using `typeof` first\n    // which won't throw if they are not present.\n\n    if (typeof global !== 'undefined' && value === global) {\n      return '[Global]';\n    }\n\n    // eslint-disable-next-line no-restricted-globals\n    if (typeof window !== 'undefined' && value === window) {\n      return '[Window]';\n    }\n\n    // eslint-disable-next-line no-restricted-globals\n    if (typeof document !== 'undefined' && value === document) {\n      return '[Document]';\n    }\n\n    if (isVueViewModel(value)) {\n      return '[VueViewModel]';\n    }\n\n    // React's SyntheticEvent thingy\n    if (isSyntheticEvent(value)) {\n      return '[SyntheticEvent]';\n    }\n\n    if (typeof value === 'number' && !Number.isFinite(value)) {\n      return `[${value}]`;\n    }\n\n    if (typeof value === 'function') {\n      return `[Function: ${getFunctionName(value)}]`;\n    }\n\n    if (typeof value === 'symbol') {\n      return `[${String(value)}]`;\n    }\n\n    // stringified BigInts are indistinguishable from regular numbers, so we need to label them to avoid confusion\n    if (typeof value === 'bigint') {\n      return `[BigInt: ${String(value)}]`;\n    }\n\n    // Now that we've knocked out all the special cases and the primitives, all we have left are objects. Simply casting\n    // them to strings means that instances of classes which haven't defined their `toStringTag` will just come out as\n    // `\"[object Object]\"`. If we instead look at the constructor's name (which is the same as the name of the class),\n    // we can make sure that only plain objects come out that way.\n    const objName = getConstructorName(value);\n\n    // Handle HTML Elements\n    if (/^HTML(\\w*)Element$/.test(objName)) {\n      return `[HTMLElement: ${objName}]`;\n    }\n\n    return `[object ${objName}]`;\n  } catch (err) {\n    return `**non-serializable** (${err})`;\n  }\n}\n/* eslint-enable complexity */\n\nfunction getConstructorName(value) {\n  const prototype = Object.getPrototypeOf(value);\n\n  return prototype?.constructor ? prototype.constructor.name : 'null prototype';\n}\n\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n  // eslint-disable-next-line no-bitwise\n  return ~-encodeURI(value).split(/%..|./).length;\n}\n\n/** Calculates bytes size of input object */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction jsonSize(value) {\n  return utf8Length(JSON.stringify(value));\n}\n\n/**\n * Normalizes URLs in exceptions and stacktraces to a base path so Sentry can fingerprint\n * across platforms and working directory.\n *\n * @param url The URL to be normalized.\n * @param basePath The application base path.\n * @returns The normalized URL.\n */\nfunction normalizeUrlToBase(url, basePath) {\n  const escapedBase = basePath\n    // Backslash to forward\n    .replace(/\\\\/g, '/')\n    // Escape RegExp special characters\n    .replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&');\n\n  let newUrl = url;\n  try {\n    newUrl = decodeURI(url);\n  } catch {\n    // Sometime this breaks\n  }\n  return (\n    newUrl\n      .replace(/\\\\/g, '/')\n      .replace(/webpack:\\/?/g, '') // Remove intermediate base path\n      // eslint-disable-next-line @sentry-internal/sdk/no-regexp-constructor\n      .replace(new RegExp(`(file://)?/*${escapedBase}/*`, 'ig'), 'app:///')\n  );\n}\n\n/**\n * Helper to decycle json objects\n */\nfunction memoBuilder() {\n  const inner = new WeakSet();\n  function memoize(obj) {\n    if (inner.has(obj)) {\n      return true;\n    }\n    inner.add(obj);\n    return false;\n  }\n\n  function unmemoize(obj) {\n    inner.delete(obj);\n  }\n  return [memoize, unmemoize];\n}\n\nexport { normalize, normalizeToSize, normalizeUrlToBase };\n//# sourceMappingURL=normalize.js.map\n","import { getSentryCarrier } from '../carrier.js';\nimport { dsnToString } from './dsn.js';\nimport { normalize } from './normalize.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * Creates an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nfunction createEnvelope(headers, items = []) {\n  return [headers, items] ;\n}\n\n/**\n * Add an item to an envelope.\n * Make sure to always explicitly provide the generic to this function\n * so that the envelope types resolve correctly.\n */\nfunction addItemToEnvelope(envelope, newItem) {\n  const [headers, items] = envelope;\n  return [headers, [...items, newItem]] ;\n}\n\n/**\n * Convenience function to loop through the items and item types of an envelope.\n * (This function was mostly created because working with envelope types is painful at the moment)\n *\n * If the callback returns true, the rest of the items will be skipped.\n */\nfunction forEachEnvelopeItem(\n  envelope,\n  callback,\n) {\n  const envelopeItems = envelope[1];\n\n  for (const envelopeItem of envelopeItems) {\n    const envelopeItemType = envelopeItem[0].type;\n    const result = callback(envelopeItem, envelopeItemType);\n\n    if (result) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\n/**\n * Returns true if the envelope contains any of the given envelope item types\n */\nfunction envelopeContainsItemType(envelope, types) {\n  return forEachEnvelopeItem(envelope, (_, type) => types.includes(type));\n}\n\n/**\n * Encode a string to UTF8 array.\n */\nfunction encodeUTF8(input) {\n  const carrier = getSentryCarrier(GLOBAL_OBJ);\n  return carrier.encodePolyfill ? carrier.encodePolyfill(input) : new TextEncoder().encode(input);\n}\n\n/**\n * Decode a UTF8 array to string.\n */\nfunction decodeUTF8(input) {\n  const carrier = getSentryCarrier(GLOBAL_OBJ);\n  return carrier.decodePolyfill ? carrier.decodePolyfill(input) : new TextDecoder().decode(input);\n}\n\n/**\n * Serializes an envelope.\n */\nfunction serializeEnvelope(envelope) {\n  const [envHeaders, items] = envelope;\n  // Initially we construct our envelope as a string and only convert to binary chunks if we encounter binary data\n  let parts = JSON.stringify(envHeaders);\n\n  function append(next) {\n    if (typeof parts === 'string') {\n      parts = typeof next === 'string' ? parts + next : [encodeUTF8(parts), next];\n    } else {\n      parts.push(typeof next === 'string' ? encodeUTF8(next) : next);\n    }\n  }\n\n  for (const item of items) {\n    const [itemHeaders, payload] = item;\n\n    append(`\\n${JSON.stringify(itemHeaders)}\\n`);\n\n    if (typeof payload === 'string' || payload instanceof Uint8Array) {\n      append(payload);\n    } else {\n      let stringifiedPayload;\n      try {\n        stringifiedPayload = JSON.stringify(payload);\n      } catch {\n        // In case, despite all our efforts to keep `payload` circular-dependency-free, `JSON.stringify()` still\n        // fails, we try again after normalizing it again with infinite normalization depth. This of course has a\n        // performance impact but in this case a performance hit is better than throwing.\n        stringifiedPayload = JSON.stringify(normalize(payload));\n      }\n      append(stringifiedPayload);\n    }\n  }\n\n  return typeof parts === 'string' ? parts : concatBuffers(parts);\n}\n\nfunction concatBuffers(buffers) {\n  const totalLength = buffers.reduce((acc, buf) => acc + buf.length, 0);\n\n  const merged = new Uint8Array(totalLength);\n  let offset = 0;\n  for (const buffer of buffers) {\n    merged.set(buffer, offset);\n    offset += buffer.length;\n  }\n\n  return merged;\n}\n\n/**\n * Parses an envelope\n */\nfunction parseEnvelope(env) {\n  let buffer = typeof env === 'string' ? encodeUTF8(env) : env;\n\n  function readBinary(length) {\n    const bin = buffer.subarray(0, length);\n    // Replace the buffer with the remaining data excluding trailing newline\n    buffer = buffer.subarray(length + 1);\n    return bin;\n  }\n\n  function readJson() {\n    let i = buffer.indexOf(0xa);\n    // If we couldn't find a newline, we must have found the end of the buffer\n    if (i < 0) {\n      i = buffer.length;\n    }\n\n    return JSON.parse(decodeUTF8(readBinary(i))) ;\n  }\n\n  const envelopeHeader = readJson();\n  // eslint-disable-next-line @typescript-eslint/no-explicit-any\n  const items = [];\n\n  while (buffer.length) {\n    const itemHeader = readJson();\n    const binaryLength = typeof itemHeader.length === 'number' ? itemHeader.length : undefined;\n\n    items.push([itemHeader, binaryLength ? readBinary(binaryLength) : readJson()]);\n  }\n\n  return [envelopeHeader, items];\n}\n\n/**\n * Creates envelope item for a single span\n */\nfunction createSpanEnvelopeItem(spanJson) {\n  const spanHeaders = {\n    type: 'span',\n  };\n\n  return [spanHeaders, spanJson];\n}\n\n/**\n * Creates attachment envelope items\n */\nfunction createAttachmentEnvelopeItem(attachment) {\n  const buffer = typeof attachment.data === 'string' ? encodeUTF8(attachment.data) : attachment.data;\n\n  return [\n    {\n      type: 'attachment',\n      length: buffer.length,\n      filename: attachment.filename,\n      content_type: attachment.contentType,\n      attachment_type: attachment.attachmentType,\n    },\n    buffer,\n  ];\n}\n\nconst ITEM_TYPE_TO_DATA_CATEGORY_MAP = {\n  session: 'session',\n  sessions: 'session',\n  attachment: 'attachment',\n  transaction: 'transaction',\n  event: 'error',\n  client_report: 'internal',\n  user_report: 'default',\n  profile: 'profile',\n  profile_chunk: 'profile',\n  replay_event: 'replay',\n  replay_recording: 'replay',\n  check_in: 'monitor',\n  feedback: 'feedback',\n  span: 'span',\n  raw_security: 'security',\n  log: 'log_item',\n};\n\n/**\n * Maps the type of an envelope item to a data category.\n */\nfunction envelopeItemTypeToDataCategory(type) {\n  return ITEM_TYPE_TO_DATA_CATEGORY_MAP[type];\n}\n\n/** Extracts the minimal SDK info from the metadata or an events */\nfunction getSdkMetadataForEnvelopeHeader(metadataOrEvent) {\n  if (!metadataOrEvent?.sdk) {\n    return;\n  }\n  const { name, version } = metadataOrEvent.sdk;\n  return { name, version };\n}\n\n/**\n * Creates event envelope headers, based on event, sdk info and tunnel\n * Note: This function was extracted from the core package to make it available in Replay\n */\nfunction createEventEnvelopeHeaders(\n  event,\n  sdkInfo,\n  tunnel,\n  dsn,\n) {\n  const dynamicSamplingContext = event.sdkProcessingMetadata?.dynamicSamplingContext;\n  return {\n    event_id: event.event_id ,\n    sent_at: new Date().toISOString(),\n    ...(sdkInfo && { sdk: sdkInfo }),\n    ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n    ...(dynamicSamplingContext && {\n      trace: dynamicSamplingContext,\n    }),\n  };\n}\n\nexport { addItemToEnvelope, createAttachmentEnvelopeItem, createEnvelope, createEventEnvelopeHeaders, createSpanEnvelopeItem, envelopeContainsItemType, envelopeItemTypeToDataCategory, forEachEnvelopeItem, getSdkMetadataForEnvelopeHeader, parseEnvelope, serializeEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { isMatchingPattern } from './string.js';\n\n/**\n * Check if a span should be ignored based on the ignoreSpans configuration.\n */\nfunction shouldIgnoreSpan(\n  span,\n  ignoreSpans,\n) {\n  if (!ignoreSpans?.length || !span.description) {\n    return false;\n  }\n\n  for (const pattern of ignoreSpans) {\n    if (isStringOrRegExp(pattern)) {\n      if (isMatchingPattern(span.description, pattern)) {\n        return true;\n      }\n      continue;\n    }\n\n    if (!pattern.name && !pattern.op) {\n      continue;\n    }\n\n    const nameMatches = pattern.name ? isMatchingPattern(span.description, pattern.name) : true;\n    const opMatches = pattern.op ? span.op && isMatchingPattern(span.op, pattern.op) : true;\n\n    // This check here is only correct because we can guarantee that we ran `isMatchingPattern`\n    // for at least one of `nameMatches` and `opMatches`. So in contrary to how this looks,\n    // not both op and name actually have to match. This is the most efficient way to check\n    // for all combinations of name and op patterns.\n    if (nameMatches && opMatches) {\n      return true;\n    }\n  }\n\n  return false;\n}\n\n/**\n * Takes a list of spans, and a span that was dropped, and re-parents the child spans of the dropped span to the parent of the dropped span, if possible.\n * This mutates the spans array in place!\n */\nfunction reparentChildSpans(spans, dropSpan) {\n  const droppedSpanParentId = dropSpan.parent_span_id;\n  const droppedSpanId = dropSpan.span_id;\n\n  // This should generally not happen, as we do not apply this on root spans\n  // but to be safe, we just bail in this case\n  if (!droppedSpanParentId) {\n    return;\n  }\n\n  for (const span of spans) {\n    if (span.parent_span_id === droppedSpanId) {\n      span.parent_span_id = droppedSpanParentId;\n    }\n  }\n}\n\nfunction isStringOrRegExp(value) {\n  return typeof value === 'string' || value instanceof RegExp;\n}\n\nexport { reparentChildSpans, shouldIgnoreSpan };\n//# sourceMappingURL=should-ignore-span.js.map\n","import { getDynamicSamplingContextFromSpan } from './tracing/dynamicSamplingContext.js';\nimport { dsnToString } from './utils/dsn.js';\nimport { getSdkMetadataForEnvelopeHeader, createEventEnvelopeHeaders, createEnvelope, createSpanEnvelopeItem } from './utils/envelope.js';\nimport { shouldIgnoreSpan } from './utils/should-ignore-span.js';\nimport { spanToJSON, showSpanDropWarning } from './utils/spanUtils.js';\n\n/**\n * Apply SdkInfo (name, version, packages, integrations) to the corresponding event key.\n * Merge with existing data if any.\n *\n * @internal, exported only for testing\n **/\nfunction _enhanceEventWithSdkInfo(event, newSdkInfo) {\n  if (!newSdkInfo) {\n    return event;\n  }\n\n  const eventSdkInfo = event.sdk || {};\n\n  event.sdk = {\n    ...eventSdkInfo,\n    name: eventSdkInfo.name || newSdkInfo.name,\n    version: eventSdkInfo.version || newSdkInfo.version,\n    integrations: [...(event.sdk?.integrations || []), ...(newSdkInfo.integrations || [])],\n    packages: [...(event.sdk?.packages || []), ...(newSdkInfo.packages || [])],\n    settings:\n      event.sdk?.settings || newSdkInfo.settings\n        ? {\n            ...event.sdk?.settings,\n            ...newSdkInfo.settings,\n          }\n        : undefined,\n  };\n\n  return event;\n}\n\n/** Creates an envelope from a Session */\nfunction createSessionEnvelope(\n  session,\n  dsn,\n  metadata,\n  tunnel,\n) {\n  const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n  const envelopeHeaders = {\n    sent_at: new Date().toISOString(),\n    ...(sdkInfo && { sdk: sdkInfo }),\n    ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n  };\n\n  const envelopeItem =\n    'aggregates' in session ? [{ type: 'sessions' }, session] : [{ type: 'session' }, session.toJSON()];\n\n  return createEnvelope(envelopeHeaders, [envelopeItem]);\n}\n\n/**\n * Create an Envelope from an event.\n */\nfunction createEventEnvelope(\n  event,\n  dsn,\n  metadata,\n  tunnel,\n) {\n  const sdkInfo = getSdkMetadataForEnvelopeHeader(metadata);\n\n  /*\n    Note: Due to TS, event.type may be `replay_event`, theoretically.\n    In practice, we never call `createEventEnvelope` with `replay_event` type,\n    and we'd have to adjust a looot of types to make this work properly.\n    We want to avoid casting this around, as that could lead to bugs (e.g. when we add another type)\n    So the safe choice is to really guard against the replay_event type here.\n  */\n  const eventType = event.type && event.type !== 'replay_event' ? event.type : 'event';\n\n  _enhanceEventWithSdkInfo(event, metadata?.sdk);\n\n  const envelopeHeaders = createEventEnvelopeHeaders(event, sdkInfo, tunnel, dsn);\n\n  // Prevent this data (which, if it exists, was used in earlier steps in the processing pipeline) from being sent to\n  // sentry. (Note: Our use of this property comes and goes with whatever we might be debugging, whatever hacks we may\n  // have temporarily added, etc. Even if we don't happen to be using it at some point in the future, let's not get rid\n  // of this `delete`, lest we miss putting it back in the next time the property is in use.)\n  delete event.sdkProcessingMetadata;\n\n  const eventItem = [{ type: eventType }, event];\n  return createEnvelope(envelopeHeaders, [eventItem]);\n}\n\n/**\n * Create envelope from Span item.\n *\n * Takes an optional client and runs spans through `beforeSendSpan` if available.\n */\nfunction createSpanEnvelope(spans, client) {\n  function dscHasRequiredProps(dsc) {\n    return !!dsc.trace_id && !!dsc.public_key;\n  }\n\n  // For the moment we'll obtain the DSC from the first span in the array\n  // This might need to be changed if we permit sending multiple spans from\n  // different segments in one envelope\n  const dsc = getDynamicSamplingContextFromSpan(spans[0]);\n\n  const dsn = client?.getDsn();\n  const tunnel = client?.getOptions().tunnel;\n\n  const headers = {\n    sent_at: new Date().toISOString(),\n    ...(dscHasRequiredProps(dsc) && { trace: dsc }),\n    ...(!!tunnel && dsn && { dsn: dsnToString(dsn) }),\n  };\n\n  const { beforeSendSpan, ignoreSpans } = client?.getOptions() || {};\n\n  const filteredSpans = ignoreSpans?.length\n    ? spans.filter(span => !shouldIgnoreSpan(spanToJSON(span), ignoreSpans))\n    : spans;\n  const droppedSpans = spans.length - filteredSpans.length;\n\n  if (droppedSpans) {\n    client?.recordDroppedEvent('before_send', 'span', droppedSpans);\n  }\n\n  const convertToSpanJSON = beforeSendSpan\n    ? (span) => {\n        const spanJson = spanToJSON(span);\n        const processedSpan = beforeSendSpan(spanJson);\n\n        if (!processedSpan) {\n          showSpanDropWarning();\n          return spanJson;\n        }\n\n        return processedSpan;\n      }\n    : spanToJSON;\n\n  const items = [];\n  for (const span of filteredSpans) {\n    const spanJson = convertToSpanJSON(span);\n    if (spanJson) {\n      items.push(createSpanEnvelopeItem(spanJson));\n    }\n  }\n\n  return createEnvelope(headers, items);\n}\n\nexport { _enhanceEventWithSdkInfo, createEventEnvelope, createSessionEnvelope, createSpanEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { spanToJSON, getRootSpan, spanIsSampled } from '../utils/spanUtils.js';\n\n/**\n * Print a log message for a started span.\n */\nfunction logSpanStart(span) {\n  if (!DEBUG_BUILD) return;\n\n  const { description = '< unknown name >', op = '< unknown op >', parent_span_id: parentSpanId } = spanToJSON(span);\n  const { spanId } = span.spanContext();\n\n  const sampled = spanIsSampled(span);\n  const rootSpan = getRootSpan(span);\n  const isRootSpan = rootSpan === span;\n\n  const header = `[Tracing] Starting ${sampled ? 'sampled' : 'unsampled'} ${isRootSpan ? 'root ' : ''}span`;\n\n  const infoParts = [`op: ${op}`, `name: ${description}`, `ID: ${spanId}`];\n\n  if (parentSpanId) {\n    infoParts.push(`parent ID: ${parentSpanId}`);\n  }\n\n  if (!isRootSpan) {\n    const { op, description } = spanToJSON(rootSpan);\n    infoParts.push(`root ID: ${rootSpan.spanContext().spanId}`);\n    if (op) {\n      infoParts.push(`root op: ${op}`);\n    }\n    if (description) {\n      infoParts.push(`root description: ${description}`);\n    }\n  }\n\n  debug.log(`${header}\n  ${infoParts.join('\\n  ')}`);\n}\n\n/**\n * Print a log message for an ended span.\n */\nfunction logSpanEnd(span) {\n  if (!DEBUG_BUILD) return;\n\n  const { description = '< unknown name >', op = '< unknown op >' } = spanToJSON(span);\n  const { spanId } = span.spanContext();\n  const rootSpan = getRootSpan(span);\n  const isRootSpan = rootSpan === span;\n\n  const msg = `[Tracing] Finishing \"${op}\" ${isRootSpan ? 'root ' : ''}span \"${description}\" with ID ${spanId}`;\n  debug.log(msg);\n}\n\nexport { logSpanEnd, logSpanStart };\n//# sourceMappingURL=logSpans.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE } from '../semanticAttributes.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getActiveSpan, getRootSpan } from '../utils/spanUtils.js';\n\n/**\n * Adds a measurement to the active transaction on the current global scope. You can optionally pass in a different span\n * as the 4th parameter.\n */\nfunction setMeasurement(name, value, unit, activeSpan = getActiveSpan()) {\n  const rootSpan = activeSpan && getRootSpan(activeSpan);\n\n  if (rootSpan) {\n    DEBUG_BUILD && debug.log(`[Measurement] Setting measurement on root span: ${name} = ${value} ${unit}`);\n    rootSpan.addEvent(name, {\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: value,\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: unit ,\n    });\n  }\n}\n\n/**\n * Convert timed events to measurements.\n */\nfunction timedEventsToMeasurements(events) {\n  if (!events || events.length === 0) {\n    return undefined;\n  }\n\n  const measurements = {};\n  events.forEach(event => {\n    const attributes = event.attributes || {};\n    const unit = attributes[SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT] ;\n    const value = attributes[SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE] ;\n\n    if (typeof unit === 'string' && typeof value === 'number') {\n      measurements[event.name] = { value, unit };\n    }\n  });\n\n  return measurements;\n}\n\nexport { setMeasurement, timedEventsToMeasurements };\n//# sourceMappingURL=measurement.js.map\n","import { getClient, getCurrentScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { createSpanEnvelope } from '../envelope.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_PROFILE_ID, SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME } from '../semanticAttributes.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { generateTraceId, generateSpanId } from '../utils/propagationContext.js';\nimport { TRACE_FLAG_SAMPLED, TRACE_FLAG_NONE, spanTimeInputToSeconds, convertSpanLinksForEnvelope, getRootSpan, getStatusMessage, spanToJSON, getSpanDescendants, spanToTransactionTraceContext } from '../utils/spanUtils.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { getDynamicSamplingContextFromSpan } from './dynamicSamplingContext.js';\nimport { logSpanEnd } from './logSpans.js';\nimport { timedEventsToMeasurements } from './measurement.js';\nimport { getCapturedScopesOnSpan } from './utils.js';\n\nconst MAX_SPAN_COUNT = 1000;\n\n/**\n * Span contains all data about a span\n */\nclass SentrySpan  {\n\n  /** Epoch timestamp in seconds when the span started. */\n\n  /** Epoch timestamp in seconds when the span ended. */\n\n  /** Internal keeper of the status */\n\n  /** The timed events added to this span. */\n\n  /** if true, treat span as a standalone span (not part of a transaction) */\n\n  /**\n   * You should never call the constructor manually, always use `Sentry.startSpan()`\n   * or other span methods.\n   * @internal\n   * @hideconstructor\n   * @hidden\n   */\n   constructor(spanContext = {}) {\n    this._traceId = spanContext.traceId || generateTraceId();\n    this._spanId = spanContext.spanId || generateSpanId();\n    this._startTime = spanContext.startTimestamp || timestampInSeconds();\n    this._links = spanContext.links;\n\n    this._attributes = {};\n    this.setAttributes({\n      [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'manual',\n      [SEMANTIC_ATTRIBUTE_SENTRY_OP]: spanContext.op,\n      ...spanContext.attributes,\n    });\n\n    this._name = spanContext.name;\n\n    if (spanContext.parentSpanId) {\n      this._parentSpanId = spanContext.parentSpanId;\n    }\n    // We want to include booleans as well here\n    if ('sampled' in spanContext) {\n      this._sampled = spanContext.sampled;\n    }\n    if (spanContext.endTimestamp) {\n      this._endTime = spanContext.endTimestamp;\n    }\n\n    this._events = [];\n\n    this._isStandaloneSpan = spanContext.isStandalone;\n\n    // If the span is already ended, ensure we finalize the span immediately\n    if (this._endTime) {\n      this._onSpanEnded();\n    }\n  }\n\n  /** @inheritDoc */\n   addLink(link) {\n    if (this._links) {\n      this._links.push(link);\n    } else {\n      this._links = [link];\n    }\n    return this;\n  }\n\n  /** @inheritDoc */\n   addLinks(links) {\n    if (this._links) {\n      this._links.push(...links);\n    } else {\n      this._links = links;\n    }\n    return this;\n  }\n\n  /**\n   * This should generally not be used,\n   * but it is needed for being compliant with the OTEL Span interface.\n   *\n   * @hidden\n   * @internal\n   */\n   recordException(_exception, _time) {\n    // noop\n  }\n\n  /** @inheritdoc */\n   spanContext() {\n    const { _spanId: spanId, _traceId: traceId, _sampled: sampled } = this;\n    return {\n      spanId,\n      traceId,\n      traceFlags: sampled ? TRACE_FLAG_SAMPLED : TRACE_FLAG_NONE,\n    };\n  }\n\n  /** @inheritdoc */\n   setAttribute(key, value) {\n    if (value === undefined) {\n      // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n      delete this._attributes[key];\n    } else {\n      this._attributes[key] = value;\n    }\n\n    return this;\n  }\n\n  /** @inheritdoc */\n   setAttributes(attributes) {\n    Object.keys(attributes).forEach(key => this.setAttribute(key, attributes[key]));\n    return this;\n  }\n\n  /**\n   * This should generally not be used,\n   * but we need it for browser tracing where we want to adjust the start time afterwards.\n   * USE THIS WITH CAUTION!\n   *\n   * @hidden\n   * @internal\n   */\n   updateStartTime(timeInput) {\n    this._startTime = spanTimeInputToSeconds(timeInput);\n  }\n\n  /**\n   * @inheritDoc\n   */\n   setStatus(value) {\n    this._status = value;\n    return this;\n  }\n\n  /**\n   * @inheritDoc\n   */\n   updateName(name) {\n    this._name = name;\n    this.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, 'custom');\n    return this;\n  }\n\n  /** @inheritdoc */\n   end(endTimestamp) {\n    // If already ended, skip\n    if (this._endTime) {\n      return;\n    }\n\n    this._endTime = spanTimeInputToSeconds(endTimestamp);\n    logSpanEnd(this);\n\n    this._onSpanEnded();\n  }\n\n  /**\n   * Get JSON representation of this span.\n   *\n   * @hidden\n   * @internal This method is purely for internal purposes and should not be used outside\n   * of SDK code. If you need to get a JSON representation of a span,\n   * use `spanToJSON(span)` instead.\n   */\n   getSpanJSON() {\n    return {\n      data: this._attributes,\n      description: this._name,\n      op: this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_OP],\n      parent_span_id: this._parentSpanId,\n      span_id: this._spanId,\n      start_timestamp: this._startTime,\n      status: getStatusMessage(this._status),\n      timestamp: this._endTime,\n      trace_id: this._traceId,\n      origin: this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN] ,\n      profile_id: this._attributes[SEMANTIC_ATTRIBUTE_PROFILE_ID] ,\n      exclusive_time: this._attributes[SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME] ,\n      measurements: timedEventsToMeasurements(this._events),\n      is_segment: (this._isStandaloneSpan && getRootSpan(this) === this) || undefined,\n      segment_id: this._isStandaloneSpan ? getRootSpan(this).spanContext().spanId : undefined,\n      links: convertSpanLinksForEnvelope(this._links),\n    };\n  }\n\n  /** @inheritdoc */\n   isRecording() {\n    return !this._endTime && !!this._sampled;\n  }\n\n  /**\n   * @inheritdoc\n   */\n   addEvent(\n    name,\n    attributesOrStartTime,\n    startTime,\n  ) {\n    DEBUG_BUILD && debug.log('[Tracing] Adding an event to span:', name);\n\n    const time = isSpanTimeInput(attributesOrStartTime) ? attributesOrStartTime : startTime || timestampInSeconds();\n    const attributes = isSpanTimeInput(attributesOrStartTime) ? {} : attributesOrStartTime || {};\n\n    const event = {\n      name,\n      time: spanTimeInputToSeconds(time),\n      attributes,\n    };\n\n    this._events.push(event);\n\n    return this;\n  }\n\n  /**\n   * This method should generally not be used,\n   * but for now we need a way to publicly check if the `_isStandaloneSpan` flag is set.\n   * USE THIS WITH CAUTION!\n   * @internal\n   * @hidden\n   * @experimental\n   */\n   isStandaloneSpan() {\n    return !!this._isStandaloneSpan;\n  }\n\n  /** Emit `spanEnd` when the span is ended. */\n   _onSpanEnded() {\n    const client = getClient();\n    if (client) {\n      client.emit('spanEnd', this);\n    }\n\n    // A segment span is basically the root span of a local span tree.\n    // So for now, this is either what we previously refer to as the root span,\n    // or a standalone span.\n    const isSegmentSpan = this._isStandaloneSpan || this === getRootSpan(this);\n\n    if (!isSegmentSpan) {\n      return;\n    }\n\n    // if this is a standalone span, we send it immediately\n    if (this._isStandaloneSpan) {\n      if (this._sampled) {\n        sendSpanEnvelope(createSpanEnvelope([this], client));\n      } else {\n        DEBUG_BUILD &&\n          debug.log('[Tracing] Discarding standalone span because its trace was not chosen to be sampled.');\n        if (client) {\n          client.recordDroppedEvent('sample_rate', 'span');\n        }\n      }\n      return;\n    }\n\n    const transactionEvent = this._convertSpanToTransaction();\n    if (transactionEvent) {\n      const scope = getCapturedScopesOnSpan(this).scope || getCurrentScope();\n      scope.captureEvent(transactionEvent);\n    }\n  }\n\n  /**\n   * Finish the transaction & prepare the event to send to Sentry.\n   */\n   _convertSpanToTransaction() {\n    // We can only convert finished spans\n    if (!isFullFinishedSpan(spanToJSON(this))) {\n      return undefined;\n    }\n\n    if (!this._name) {\n      DEBUG_BUILD && debug.warn('Transaction has no name, falling back to `<unlabeled transaction>`.');\n      this._name = '<unlabeled transaction>';\n    }\n\n    const { scope: capturedSpanScope, isolationScope: capturedSpanIsolationScope } = getCapturedScopesOnSpan(this);\n\n    const normalizedRequest = capturedSpanScope?.getScopeData().sdkProcessingMetadata?.normalizedRequest;\n\n    if (this._sampled !== true) {\n      return undefined;\n    }\n\n    // The transaction span itself as well as any potential standalone spans should be filtered out\n    const finishedSpans = getSpanDescendants(this).filter(span => span !== this && !isStandaloneSpan(span));\n\n    const spans = finishedSpans.map(span => spanToJSON(span)).filter(isFullFinishedSpan);\n\n    const source = this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] ;\n\n    // remove internal root span attributes we don't need to send.\n    /* eslint-disable @typescript-eslint/no-dynamic-delete */\n    delete this._attributes[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n    spans.forEach(span => {\n      delete span.data[SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME];\n    });\n    // eslint-enabled-next-line @typescript-eslint/no-dynamic-delete\n\n    const transaction = {\n      contexts: {\n        trace: spanToTransactionTraceContext(this),\n      },\n      spans:\n        // spans.sort() mutates the array, but `spans` is already a copy so we can safely do this here\n        // we do not use spans anymore after this point\n        spans.length > MAX_SPAN_COUNT\n          ? spans.sort((a, b) => a.start_timestamp - b.start_timestamp).slice(0, MAX_SPAN_COUNT)\n          : spans,\n      start_timestamp: this._startTime,\n      timestamp: this._endTime,\n      transaction: this._name,\n      type: 'transaction',\n      sdkProcessingMetadata: {\n        capturedSpanScope,\n        capturedSpanIsolationScope,\n        dynamicSamplingContext: getDynamicSamplingContextFromSpan(this),\n      },\n      request: normalizedRequest,\n      ...(source && {\n        transaction_info: {\n          source,\n        },\n      }),\n    };\n\n    const measurements = timedEventsToMeasurements(this._events);\n    const hasMeasurements = measurements && Object.keys(measurements).length;\n\n    if (hasMeasurements) {\n      DEBUG_BUILD &&\n        debug.log(\n          '[Measurements] Adding measurements to transaction event',\n          JSON.stringify(measurements, undefined, 2),\n        );\n      transaction.measurements = measurements;\n    }\n\n    return transaction;\n  }\n}\n\nfunction isSpanTimeInput(value) {\n  return (value && typeof value === 'number') || value instanceof Date || Array.isArray(value);\n}\n\n// We want to filter out any incomplete SpanJSON objects\nfunction isFullFinishedSpan(input) {\n  return !!input.start_timestamp && !!input.timestamp && !!input.span_id && !!input.trace_id;\n}\n\n/** `SentrySpan`s can be sent as a standalone span rather than belonging to a transaction */\nfunction isStandaloneSpan(span) {\n  return span instanceof SentrySpan && span.isStandaloneSpan();\n}\n\n/**\n * Sends a `SpanEnvelope`.\n *\n * Note: If the envelope's spans are dropped, e.g. via `beforeSendSpan`,\n * the envelope will not be sent either.\n */\nfunction sendSpanEnvelope(envelope) {\n  const client = getClient();\n  if (!client) {\n    return;\n  }\n\n  const spanItems = envelope[1];\n  if (!spanItems || spanItems.length === 0) {\n    client.recordDroppedEvent('before_send', 'span');\n    return;\n  }\n\n  // sendEnvelope should not throw\n  // eslint-disable-next-line @typescript-eslint/no-floating-promises\n  client.sendEnvelope(envelope);\n}\n\nexport { SentrySpan };\n//# sourceMappingURL=sentrySpan.js.map\n","import { isThenable } from './is.js';\n\n/**\n * Wrap a callback function with error handling.\n * If an error is thrown, it will be passed to the `onError` callback and re-thrown.\n *\n * If the return value of the function is a promise, it will be handled with `maybeHandlePromiseRejection`.\n *\n * If an `onFinally` callback is provided, this will be called when the callback has finished\n * - so if it returns a promise, once the promise resolved/rejected,\n * else once the callback has finished executing.\n * The `onFinally` callback will _always_ be called, no matter if an error was thrown or not.\n */\nfunction handleCallbackErrors\n\n(fn, onError, onFinally = () => {}) {\n  let maybePromiseResult;\n  try {\n    maybePromiseResult = fn();\n  } catch (e) {\n    onError(e);\n    onFinally();\n    throw e;\n  }\n\n  return maybeHandlePromiseRejection(maybePromiseResult, onError, onFinally);\n}\n\n/**\n * Maybe handle a promise rejection.\n * This expects to be given a value that _may_ be a promise, or any other value.\n * If it is a promise, and it rejects, it will call the `onError` callback.\n * Other than this, it will generally return the given value as-is.\n */\nfunction maybeHandlePromiseRejection(\n  value,\n  onError,\n  onFinally,\n) {\n  if (isThenable(value)) {\n    // @ts-expect-error - the isThenable check returns the \"wrong\" type here\n    return value.then(\n      res => {\n        onFinally();\n        return res;\n      },\n      e => {\n        onError(e);\n        onFinally();\n        throw e;\n      },\n    );\n  }\n\n  onFinally();\n  return value;\n}\n\nexport { handleCallbackErrors };\n//# sourceMappingURL=handleCallbackErrors.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { parseSampleRate } from '../utils/parseSampleRate.js';\n\n/**\n * Makes a sampling decision for the given options.\n *\n * Called every time a root span is created. Only root spans which emerge with a `sampled` value of `true` will be\n * sent to Sentry.\n */\nfunction sampleSpan(\n  options,\n  samplingContext,\n  sampleRand,\n) {\n  // nothing to do if span recording is not enabled\n  if (!hasSpansEnabled(options)) {\n    return [false];\n  }\n\n  let localSampleRateWasApplied = undefined;\n\n  // we would have bailed already if neither `tracesSampler` nor `tracesSampleRate` were defined, so one of these should\n  // work; prefer the hook if so\n  let sampleRate;\n  if (typeof options.tracesSampler === 'function') {\n    sampleRate = options.tracesSampler({\n      ...samplingContext,\n      inheritOrSampleWith: fallbackSampleRate => {\n        // If we have an incoming parent sample rate, we'll just use that one.\n        // The sampling decision will be inherited because of the sample_rand that was generated when the trace reached the incoming boundaries of the SDK.\n        if (typeof samplingContext.parentSampleRate === 'number') {\n          return samplingContext.parentSampleRate;\n        }\n\n        // Fallback if parent sample rate is not on the incoming trace (e.g. if there is no baggage)\n        // This is to provide backwards compatibility if there are incoming traces from older SDKs that don't send a parent sample rate or a sample rand. In these cases we just want to force either a sampling decision on the downstream traces via the sample rate.\n        if (typeof samplingContext.parentSampled === 'boolean') {\n          return Number(samplingContext.parentSampled);\n        }\n\n        return fallbackSampleRate;\n      },\n    });\n    localSampleRateWasApplied = true;\n  } else if (samplingContext.parentSampled !== undefined) {\n    sampleRate = samplingContext.parentSampled;\n  } else if (typeof options.tracesSampleRate !== 'undefined') {\n    sampleRate = options.tracesSampleRate;\n    localSampleRateWasApplied = true;\n  }\n\n  // Since this is coming from the user (or from a function provided by the user), who knows what we might get.\n  // (The only valid values are booleans or numbers between 0 and 1.)\n  const parsedSampleRate = parseSampleRate(sampleRate);\n\n  if (parsedSampleRate === undefined) {\n    DEBUG_BUILD &&\n      debug.warn(\n        `[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(\n          sampleRate,\n        )} of type ${JSON.stringify(typeof sampleRate)}.`,\n      );\n    return [false];\n  }\n\n  // if the function returned 0 (or false), or if `tracesSampleRate` is 0, it's a sign the transaction should be dropped\n  if (!parsedSampleRate) {\n    DEBUG_BUILD &&\n      debug.log(\n        `[Tracing] Discarding transaction because ${\n          typeof options.tracesSampler === 'function'\n            ? 'tracesSampler returned 0 or false'\n            : 'a negative sampling decision was inherited or tracesSampleRate is set to 0'\n        }`,\n      );\n    return [false, parsedSampleRate, localSampleRateWasApplied];\n  }\n\n  // We always compare the sample rand for the current execution context against the chosen sample rate.\n  // Read more: https://develop.sentry.dev/sdk/telemetry/traces/#propagated-random-value\n  const shouldSample = sampleRand < parsedSampleRate;\n\n  // if we're not going to keep it, we're done\n  if (!shouldSample) {\n    DEBUG_BUILD &&\n      debug.log(\n        `[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(\n          sampleRate,\n        )})`,\n      );\n  }\n\n  return [shouldSample, parsedSampleRate, localSampleRateWasApplied];\n}\n\nexport { sampleSpan };\n//# sourceMappingURL=sampling.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { withScope, getCurrentScope, getClient, getIsolationScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE } from '../semanticAttributes.js';\nimport { baggageHeaderToDynamicSamplingContext } from '../utils/baggage.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { handleCallbackErrors } from '../utils/handleCallbackErrors.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { parseSampleRate } from '../utils/parseSampleRate.js';\nimport { generateTraceId } from '../utils/propagationContext.js';\nimport { _setSpanForScope, _getSpanForScope } from '../utils/spanOnScope.js';\nimport { spanToJSON, spanTimeInputToSeconds, getRootSpan, addChildSpanToSpan, spanIsSampled } from '../utils/spanUtils.js';\nimport { shouldContinueTrace, propagationContextFromHeaders } from '../utils/tracing.js';\nimport { getDynamicSamplingContextFromSpan, freezeDscOnSpan } from './dynamicSamplingContext.js';\nimport { logSpanStart } from './logSpans.js';\nimport { sampleSpan } from './sampling.js';\nimport { SentryNonRecordingSpan } from './sentryNonRecordingSpan.js';\nimport { SentrySpan } from './sentrySpan.js';\nimport { SPAN_STATUS_ERROR } from './spanstatus.js';\nimport { setCapturedScopesOnSpan } from './utils.js';\n\n/* eslint-disable max-lines */\n\n\nconst SUPPRESS_TRACING_KEY = '__SENTRY_SUPPRESS_TRACING__';\n\n/**\n * Wraps a function with a transaction/span and finishes the span after the function is done.\n * The created span is the active span and will be used as parent by other spans created inside the function\n * and can be accessed via `Sentry.getActiveSpan()`, as long as the function is executed while the scope is active.\n *\n * If you want to create a span that is not set as active, use {@link startInactiveSpan}.\n *\n * You'll always get a span passed to the callback,\n * it may just be a non-recording span if the span is not sampled or if tracing is disabled.\n */\nfunction startSpan(options, callback) {\n  const acs = getAcs();\n  if (acs.startSpan) {\n    return acs.startSpan(options, callback);\n  }\n\n  const spanArguments = parseSentrySpanArguments(options);\n  const { forceTransaction, parentSpan: customParentSpan, scope: customScope } = options;\n\n  // We still need to fork a potentially passed scope, as we set the active span on it\n  // and we need to ensure that it is cleaned up properly once the span ends.\n  const customForkedScope = customScope?.clone();\n\n  return withScope(customForkedScope, () => {\n    // If `options.parentSpan` is defined, we want to wrap the callback in `withActiveSpan`\n    const wrapper = getActiveSpanWrapper(customParentSpan);\n\n    return wrapper(() => {\n      const scope = getCurrentScope();\n      const parentSpan = getParentSpan(scope, customParentSpan);\n\n      const shouldSkipSpan = options.onlyIfParent && !parentSpan;\n      const activeSpan = shouldSkipSpan\n        ? new SentryNonRecordingSpan()\n        : createChildOrRootSpan({\n            parentSpan,\n            spanArguments,\n            forceTransaction,\n            scope,\n          });\n\n      _setSpanForScope(scope, activeSpan);\n\n      return handleCallbackErrors(\n        () => callback(activeSpan),\n        () => {\n          // Only update the span status if it hasn't been changed yet, and the span is not yet finished\n          const { status } = spanToJSON(activeSpan);\n          if (activeSpan.isRecording() && (!status || status === 'ok')) {\n            activeSpan.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n          }\n        },\n        () => {\n          activeSpan.end();\n        },\n      );\n    });\n  });\n}\n\n/**\n * Similar to `Sentry.startSpan`. Wraps a function with a transaction/span, but does not finish the span\n * after the function is done automatically. Use `span.end()` to end the span.\n *\n * The created span is the active span and will be used as parent by other spans created inside the function\n * and can be accessed via `Sentry.getActiveSpan()`, as long as the function is executed while the scope is active.\n *\n * You'll always get a span passed to the callback,\n * it may just be a non-recording span if the span is not sampled or if tracing is disabled.\n */\nfunction startSpanManual(options, callback) {\n  const acs = getAcs();\n  if (acs.startSpanManual) {\n    return acs.startSpanManual(options, callback);\n  }\n\n  const spanArguments = parseSentrySpanArguments(options);\n  const { forceTransaction, parentSpan: customParentSpan, scope: customScope } = options;\n\n  const customForkedScope = customScope?.clone();\n\n  return withScope(customForkedScope, () => {\n    // If `options.parentSpan` is defined, we want to wrap the callback in `withActiveSpan`\n    const wrapper = getActiveSpanWrapper(customParentSpan);\n\n    return wrapper(() => {\n      const scope = getCurrentScope();\n      const parentSpan = getParentSpan(scope, customParentSpan);\n\n      const shouldSkipSpan = options.onlyIfParent && !parentSpan;\n      const activeSpan = shouldSkipSpan\n        ? new SentryNonRecordingSpan()\n        : createChildOrRootSpan({\n            parentSpan,\n            spanArguments,\n            forceTransaction,\n            scope,\n          });\n\n      _setSpanForScope(scope, activeSpan);\n\n      return handleCallbackErrors(\n        // We pass the `finish` function to the callback, so the user can finish the span manually\n        // this is mainly here for historic purposes because previously, we instructed users to call\n        // `finish` instead of `span.end()` to also clean up the scope. Nowadays, calling `span.end()`\n        // or `finish` has the same effect and we simply leave it here to avoid breaking user code.\n        () => callback(activeSpan, () => activeSpan.end()),\n        () => {\n          // Only update the span status if it hasn't been changed yet, and the span is not yet finished\n          const { status } = spanToJSON(activeSpan);\n          if (activeSpan.isRecording() && (!status || status === 'ok')) {\n            activeSpan.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n          }\n        },\n      );\n    });\n  });\n}\n\n/**\n * Creates a span. This span is not set as active, so will not get automatic instrumentation spans\n * as children or be able to be accessed via `Sentry.getActiveSpan()`.\n *\n * If you want to create a span that is set as active, use {@link startSpan}.\n *\n * This function will always return a span,\n * it may just be a non-recording span if the span is not sampled or if tracing is disabled.\n */\nfunction startInactiveSpan(options) {\n  const acs = getAcs();\n  if (acs.startInactiveSpan) {\n    return acs.startInactiveSpan(options);\n  }\n\n  const spanArguments = parseSentrySpanArguments(options);\n  const { forceTransaction, parentSpan: customParentSpan } = options;\n\n  // If `options.scope` is defined, we use this as as a wrapper,\n  // If `options.parentSpan` is defined, we want to wrap the callback in `withActiveSpan`\n  const wrapper = options.scope\n    ? (callback) => withScope(options.scope, callback)\n    : customParentSpan !== undefined\n      ? (callback) => withActiveSpan(customParentSpan, callback)\n      : (callback) => callback();\n\n  return wrapper(() => {\n    const scope = getCurrentScope();\n    const parentSpan = getParentSpan(scope, customParentSpan);\n\n    const shouldSkipSpan = options.onlyIfParent && !parentSpan;\n\n    if (shouldSkipSpan) {\n      return new SentryNonRecordingSpan();\n    }\n\n    return createChildOrRootSpan({\n      parentSpan,\n      spanArguments,\n      forceTransaction,\n      scope,\n    });\n  });\n}\n\n/**\n * Continue a trace from `sentry-trace` and `baggage` values.\n * These values can be obtained from incoming request headers, or in the browser from `<meta name=\"sentry-trace\">`\n * and `<meta name=\"baggage\">` HTML tags.\n *\n * Spans started with `startSpan`, `startSpanManual` and `startInactiveSpan`, within the callback will automatically\n * be attached to the incoming trace.\n */\nconst continueTrace = (\n  options\n\n,\n  callback,\n) => {\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  if (acs.continueTrace) {\n    return acs.continueTrace(options, callback);\n  }\n\n  const { sentryTrace, baggage } = options;\n\n  const client = getClient();\n  const incomingDsc = baggageHeaderToDynamicSamplingContext(baggage);\n  if (client && !shouldContinueTrace(client, incomingDsc?.org_id)) {\n    return startNewTrace(callback);\n  }\n\n  return withScope(scope => {\n    const propagationContext = propagationContextFromHeaders(sentryTrace, baggage);\n    scope.setPropagationContext(propagationContext);\n    return callback();\n  });\n};\n\n/**\n * Forks the current scope and sets the provided span as active span in the context of the provided callback. Can be\n * passed `null` to start an entirely new span tree.\n *\n * @param span Spans started in the context of the provided callback will be children of this span. If `null` is passed,\n * spans started within the callback will not be attached to a parent span.\n * @param callback Execution context in which the provided span will be active. Is passed the newly forked scope.\n * @returns the value returned from the provided callback function.\n */\nfunction withActiveSpan(span, callback) {\n  const acs = getAcs();\n  if (acs.withActiveSpan) {\n    return acs.withActiveSpan(span, callback);\n  }\n\n  return withScope(scope => {\n    _setSpanForScope(scope, span || undefined);\n    return callback(scope);\n  });\n}\n\n/** Suppress tracing in the given callback, ensuring no spans are generated inside of it. */\nfunction suppressTracing(callback) {\n  const acs = getAcs();\n\n  if (acs.suppressTracing) {\n    return acs.suppressTracing(callback);\n  }\n\n  return withScope(scope => {\n    // Note: We do not wait for the callback to finish before we reset the metadata\n    // the reason for this is that otherwise, in the browser this can lead to very weird behavior\n    // as there is only a single top scope, if the callback takes longer to finish,\n    // other, unrelated spans may also be suppressed, which we do not want\n    // so instead, we only suppress tracing synchronoysly in the browser\n    scope.setSDKProcessingMetadata({ [SUPPRESS_TRACING_KEY]: true });\n    const res = callback();\n    scope.setSDKProcessingMetadata({ [SUPPRESS_TRACING_KEY]: undefined });\n    return res;\n  });\n}\n\n/**\n * Starts a new trace for the duration of the provided callback. Spans started within the\n * callback will be part of the new trace instead of a potentially previously started trace.\n *\n * Important: Only use this function if you want to override the default trace lifetime and\n * propagation mechanism of the SDK for the duration and scope of the provided callback.\n * The newly created trace will also be the root of a new distributed trace, for example if\n * you make http requests within the callback.\n * This function might be useful if the operation you want to instrument should not be part\n * of a potentially ongoing trace.\n *\n * Default behavior:\n * - Server-side: A new trace is started for each incoming request.\n * - Browser: A new trace is started for each page our route. Navigating to a new route\n *            or page will automatically create a new trace.\n */\nfunction startNewTrace(callback) {\n  return withScope(scope => {\n    scope.setPropagationContext({\n      traceId: generateTraceId(),\n      sampleRand: Math.random(),\n    });\n    DEBUG_BUILD && debug.log(`Starting a new trace with id ${scope.getPropagationContext().traceId}`);\n    return withActiveSpan(null, callback);\n  });\n}\n\nfunction createChildOrRootSpan({\n  parentSpan,\n  spanArguments,\n  forceTransaction,\n  scope,\n}\n\n) {\n  if (!hasSpansEnabled()) {\n    const span = new SentryNonRecordingSpan();\n\n    // If this is a root span, we ensure to freeze a DSC\n    // So we can have at least partial data here\n    if (forceTransaction || !parentSpan) {\n      const dsc = {\n        sampled: 'false',\n        sample_rate: '0',\n        transaction: spanArguments.name,\n        ...getDynamicSamplingContextFromSpan(span),\n      } ;\n      freezeDscOnSpan(span, dsc);\n    }\n\n    return span;\n  }\n\n  const isolationScope = getIsolationScope();\n\n  let span;\n  if (parentSpan && !forceTransaction) {\n    span = _startChildSpan(parentSpan, scope, spanArguments);\n    addChildSpanToSpan(parentSpan, span);\n  } else if (parentSpan) {\n    // If we forced a transaction but have a parent span, make sure to continue from the parent span, not the scope\n    const dsc = getDynamicSamplingContextFromSpan(parentSpan);\n    const { traceId, spanId: parentSpanId } = parentSpan.spanContext();\n    const parentSampled = spanIsSampled(parentSpan);\n\n    span = _startRootSpan(\n      {\n        traceId,\n        parentSpanId,\n        ...spanArguments,\n      },\n      scope,\n      parentSampled,\n    );\n\n    freezeDscOnSpan(span, dsc);\n  } else {\n    const {\n      traceId,\n      dsc,\n      parentSpanId,\n      sampled: parentSampled,\n    } = {\n      ...isolationScope.getPropagationContext(),\n      ...scope.getPropagationContext(),\n    };\n\n    span = _startRootSpan(\n      {\n        traceId,\n        parentSpanId,\n        ...spanArguments,\n      },\n      scope,\n      parentSampled,\n    );\n\n    if (dsc) {\n      freezeDscOnSpan(span, dsc);\n    }\n  }\n\n  logSpanStart(span);\n\n  setCapturedScopesOnSpan(span, scope, isolationScope);\n\n  return span;\n}\n\n/**\n * This converts StartSpanOptions to SentrySpanArguments.\n * For the most part (for now) we accept the same options,\n * but some of them need to be transformed.\n */\nfunction parseSentrySpanArguments(options) {\n  const exp = options.experimental || {};\n  const initialCtx = {\n    isStandalone: exp.standalone,\n    ...options,\n  };\n\n  if (options.startTime) {\n    const ctx = { ...initialCtx };\n    ctx.startTimestamp = spanTimeInputToSeconds(options.startTime);\n    delete ctx.startTime;\n    return ctx;\n  }\n\n  return initialCtx;\n}\n\nfunction getAcs() {\n  const carrier = getMainCarrier();\n  return getAsyncContextStrategy(carrier);\n}\n\nfunction _startRootSpan(spanArguments, scope, parentSampled) {\n  const client = getClient();\n  const options = client?.getOptions() || {};\n\n  const { name = '' } = spanArguments;\n\n  const mutableSpanSamplingData = { spanAttributes: { ...spanArguments.attributes }, spanName: name, parentSampled };\n\n  // we don't care about the decision for the moment; this is just a placeholder\n  client?.emit('beforeSampling', mutableSpanSamplingData, { decision: false });\n\n  // If hook consumers override the parentSampled flag, we will use that value instead of the actual one\n  const finalParentSampled = mutableSpanSamplingData.parentSampled ?? parentSampled;\n  const finalAttributes = mutableSpanSamplingData.spanAttributes;\n\n  const currentPropagationContext = scope.getPropagationContext();\n  const [sampled, sampleRate, localSampleRateWasApplied] = scope.getScopeData().sdkProcessingMetadata[\n    SUPPRESS_TRACING_KEY\n  ]\n    ? [false]\n    : sampleSpan(\n        options,\n        {\n          name,\n          parentSampled: finalParentSampled,\n          attributes: finalAttributes,\n          parentSampleRate: parseSampleRate(currentPropagationContext.dsc?.sample_rate),\n        },\n        currentPropagationContext.sampleRand,\n      );\n\n  const rootSpan = new SentrySpan({\n    ...spanArguments,\n    attributes: {\n      [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'custom',\n      [SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE]:\n        sampleRate !== undefined && localSampleRateWasApplied ? sampleRate : undefined,\n      ...finalAttributes,\n    },\n    sampled,\n  });\n\n  if (!sampled && client) {\n    DEBUG_BUILD && debug.log('[Tracing] Discarding root span because its trace was not chosen to be sampled.');\n    client.recordDroppedEvent('sample_rate', 'transaction');\n  }\n\n  if (client) {\n    client.emit('spanStart', rootSpan);\n  }\n\n  return rootSpan;\n}\n\n/**\n * Creates a new `Span` while setting the current `Span.id` as `parentSpanId`.\n * This inherits the sampling decision from the parent span.\n */\nfunction _startChildSpan(parentSpan, scope, spanArguments) {\n  const { spanId, traceId } = parentSpan.spanContext();\n  const sampled = scope.getScopeData().sdkProcessingMetadata[SUPPRESS_TRACING_KEY] ? false : spanIsSampled(parentSpan);\n\n  const childSpan = sampled\n    ? new SentrySpan({\n        ...spanArguments,\n        parentSpanId: spanId,\n        traceId,\n        sampled,\n      })\n    : new SentryNonRecordingSpan({ traceId });\n\n  addChildSpanToSpan(parentSpan, childSpan);\n\n  const client = getClient();\n  if (client) {\n    client.emit('spanStart', childSpan);\n    // If it has an endTimestamp, it's already ended\n    if (spanArguments.endTimestamp) {\n      client.emit('spanEnd', childSpan);\n    }\n  }\n\n  return childSpan;\n}\n\nfunction getParentSpan(scope, customParentSpan) {\n  // always use the passed in span directly\n  if (customParentSpan) {\n    return customParentSpan ;\n  }\n\n  // This is different from `undefined` as it means the user explicitly wants no parent span\n  if (customParentSpan === null) {\n    return undefined;\n  }\n\n  const span = _getSpanForScope(scope) ;\n\n  if (!span) {\n    return undefined;\n  }\n\n  const client = getClient();\n  const options = client ? client.getOptions() : {};\n  if (options.parentSpanIsAlwaysRootSpan) {\n    return getRootSpan(span) ;\n  }\n\n  return span;\n}\n\nfunction getActiveSpanWrapper(parentSpan) {\n  return parentSpan !== undefined\n    ? (callback) => {\n        return withActiveSpan(parentSpan, callback);\n      }\n    : (callback) => callback();\n}\n\nexport { continueTrace, startInactiveSpan, startNewTrace, startSpan, startSpanManual, suppressTracing, withActiveSpan };\n//# sourceMappingURL=trace.js.map\n","import { getClient, getCurrentScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON } from '../semanticAttributes.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { hasSpansEnabled } from '../utils/hasSpansEnabled.js';\nimport { _setSpanForScope } from '../utils/spanOnScope.js';\nimport { getActiveSpan, spanTimeInputToSeconds, getSpanDescendants, spanToJSON, removeChildSpanFromSpan } from '../utils/spanUtils.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { getDynamicSamplingContextFromSpan, freezeDscOnSpan } from './dynamicSamplingContext.js';\nimport { SentryNonRecordingSpan } from './sentryNonRecordingSpan.js';\nimport { SentrySpan } from './sentrySpan.js';\nimport { SPAN_STATUS_ERROR } from './spanstatus.js';\nimport { startInactiveSpan } from './trace.js';\n\nconst TRACING_DEFAULTS = {\n  idleTimeout: 1000,\n  finalTimeout: 30000,\n  childSpanTimeout: 15000,\n};\n\nconst FINISH_REASON_HEARTBEAT_FAILED = 'heartbeatFailed';\nconst FINISH_REASON_IDLE_TIMEOUT = 'idleTimeout';\nconst FINISH_REASON_FINAL_TIMEOUT = 'finalTimeout';\nconst FINISH_REASON_EXTERNAL_FINISH = 'externalFinish';\n\n/**\n * An idle span is a span that automatically finishes. It does this by tracking child spans as activities.\n * An idle span is always the active span.\n */\nfunction startIdleSpan(startSpanOptions, options = {}) {\n  // Activities store a list of active spans\n  const activities = new Map();\n\n  // We should not use heartbeat if we finished a span\n  let _finished = false;\n\n  // Timer that tracks idleTimeout\n  let _idleTimeoutID;\n\n  // The reason why the span was finished\n  let _finishReason = FINISH_REASON_EXTERNAL_FINISH;\n\n  let _autoFinishAllowed = !options.disableAutoFinish;\n\n  const _cleanupHooks = [];\n\n  const {\n    idleTimeout = TRACING_DEFAULTS.idleTimeout,\n    finalTimeout = TRACING_DEFAULTS.finalTimeout,\n    childSpanTimeout = TRACING_DEFAULTS.childSpanTimeout,\n    beforeSpanEnd,\n  } = options;\n\n  const client = getClient();\n\n  if (!client || !hasSpansEnabled()) {\n    const span = new SentryNonRecordingSpan();\n\n    const dsc = {\n      sample_rate: '0',\n      sampled: 'false',\n      ...getDynamicSamplingContextFromSpan(span),\n    } ;\n    freezeDscOnSpan(span, dsc);\n\n    return span;\n  }\n\n  const scope = getCurrentScope();\n  const previousActiveSpan = getActiveSpan();\n  const span = _startIdleSpan(startSpanOptions);\n\n  // We patch span.end to ensure we can run some things before the span is ended\n  // eslint-disable-next-line @typescript-eslint/unbound-method\n  span.end = new Proxy(span.end, {\n    apply(target, thisArg, args) {\n      if (beforeSpanEnd) {\n        beforeSpanEnd(span);\n      }\n\n      // If the span is non-recording, nothing more to do here...\n      // This is the case if tracing is enabled but this specific span was not sampled\n      if (thisArg instanceof SentryNonRecordingSpan) {\n        return;\n      }\n\n      // Just ensuring that this keeps working, even if we ever have more arguments here\n      const [definedEndTimestamp, ...rest] = args;\n      const timestamp = definedEndTimestamp || timestampInSeconds();\n      const spanEndTimestamp = spanTimeInputToSeconds(timestamp);\n\n      // Ensure we end with the last span timestamp, if possible\n      const spans = getSpanDescendants(span).filter(child => child !== span);\n\n      // If we have no spans, we just end, nothing else to do here\n      if (!spans.length) {\n        onIdleSpanEnded(spanEndTimestamp);\n        return Reflect.apply(target, thisArg, [spanEndTimestamp, ...rest]);\n      }\n\n      const childEndTimestamps = spans\n        .map(span => spanToJSON(span).timestamp)\n        .filter(timestamp => !!timestamp) ;\n      const latestSpanEndTimestamp = childEndTimestamps.length ? Math.max(...childEndTimestamps) : undefined;\n\n      // In reality this should always exist here, but type-wise it may be undefined...\n      const spanStartTimestamp = spanToJSON(span).start_timestamp;\n\n      // The final endTimestamp should:\n      // * Never be before the span start timestamp\n      // * Be the latestSpanEndTimestamp, if there is one, and it is smaller than the passed span end timestamp\n      // * Otherwise be the passed end timestamp\n      // Final timestamp can never be after finalTimeout\n      const endTimestamp = Math.min(\n        spanStartTimestamp ? spanStartTimestamp + finalTimeout / 1000 : Infinity,\n        Math.max(spanStartTimestamp || -Infinity, Math.min(spanEndTimestamp, latestSpanEndTimestamp || Infinity)),\n      );\n\n      onIdleSpanEnded(endTimestamp);\n      return Reflect.apply(target, thisArg, [endTimestamp, ...rest]);\n    },\n  });\n\n  /**\n   * Cancels the existing idle timeout, if there is one.\n   */\n  function _cancelIdleTimeout() {\n    if (_idleTimeoutID) {\n      clearTimeout(_idleTimeoutID);\n      _idleTimeoutID = undefined;\n    }\n  }\n\n  /**\n   * Restarts idle timeout, if there is no running idle timeout it will start one.\n   */\n  function _restartIdleTimeout(endTimestamp) {\n    _cancelIdleTimeout();\n    _idleTimeoutID = setTimeout(() => {\n      if (!_finished && activities.size === 0 && _autoFinishAllowed) {\n        _finishReason = FINISH_REASON_IDLE_TIMEOUT;\n        span.end(endTimestamp);\n      }\n    }, idleTimeout);\n  }\n\n  /**\n   * Restarts child span timeout, if there is none running it will start one.\n   */\n  function _restartChildSpanTimeout(endTimestamp) {\n    _idleTimeoutID = setTimeout(() => {\n      if (!_finished && _autoFinishAllowed) {\n        _finishReason = FINISH_REASON_HEARTBEAT_FAILED;\n        span.end(endTimestamp);\n      }\n    }, childSpanTimeout);\n  }\n\n  /**\n   * Start tracking a specific activity.\n   * @param spanId The span id that represents the activity\n   */\n  function _pushActivity(spanId) {\n    _cancelIdleTimeout();\n    activities.set(spanId, true);\n\n    const endTimestamp = timestampInSeconds();\n    // We need to add the timeout here to have the real endtimestamp of the idle span\n    // Remember timestampInSeconds is in seconds, timeout is in ms\n    _restartChildSpanTimeout(endTimestamp + childSpanTimeout / 1000);\n  }\n\n  /**\n   * Remove an activity from usage\n   * @param spanId The span id that represents the activity\n   */\n  function _popActivity(spanId) {\n    if (activities.has(spanId)) {\n      activities.delete(spanId);\n    }\n\n    if (activities.size === 0) {\n      const endTimestamp = timestampInSeconds();\n      // We need to add the timeout here to have the real endtimestamp of the idle span\n      // Remember timestampInSeconds is in seconds, timeout is in ms\n      _restartIdleTimeout(endTimestamp + idleTimeout / 1000);\n    }\n  }\n\n  function onIdleSpanEnded(endTimestamp) {\n    _finished = true;\n    activities.clear();\n\n    _cleanupHooks.forEach(cleanup => cleanup());\n\n    _setSpanForScope(scope, previousActiveSpan);\n\n    const spanJSON = spanToJSON(span);\n\n    const { start_timestamp: startTimestamp } = spanJSON;\n    // This should never happen, but to make TS happy...\n    if (!startTimestamp) {\n      return;\n    }\n\n    const attributes = spanJSON.data;\n    if (!attributes[SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON]) {\n      span.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, _finishReason);\n    }\n\n    debug.log(`[Tracing] Idle span \"${spanJSON.op}\" finished`);\n\n    const childSpans = getSpanDescendants(span).filter(child => child !== span);\n\n    let discardedSpans = 0;\n    childSpans.forEach(childSpan => {\n      // We cancel all pending spans with status \"cancelled\" to indicate the idle span was finished early\n      if (childSpan.isRecording()) {\n        childSpan.setStatus({ code: SPAN_STATUS_ERROR, message: 'cancelled' });\n        childSpan.end(endTimestamp);\n        DEBUG_BUILD &&\n          debug.log('[Tracing] Cancelling span since span ended early', JSON.stringify(childSpan, undefined, 2));\n      }\n\n      const childSpanJSON = spanToJSON(childSpan);\n      const { timestamp: childEndTimestamp = 0, start_timestamp: childStartTimestamp = 0 } = childSpanJSON;\n\n      const spanStartedBeforeIdleSpanEnd = childStartTimestamp <= endTimestamp;\n\n      // Add a delta with idle timeout so that we prevent false positives\n      const timeoutWithMarginOfError = (finalTimeout + idleTimeout) / 1000;\n      const spanEndedBeforeFinalTimeout = childEndTimestamp - childStartTimestamp <= timeoutWithMarginOfError;\n\n      if (DEBUG_BUILD) {\n        const stringifiedSpan = JSON.stringify(childSpan, undefined, 2);\n        if (!spanStartedBeforeIdleSpanEnd) {\n          debug.log('[Tracing] Discarding span since it happened after idle span was finished', stringifiedSpan);\n        } else if (!spanEndedBeforeFinalTimeout) {\n          debug.log('[Tracing] Discarding span since it finished after idle span final timeout', stringifiedSpan);\n        }\n      }\n\n      if (!spanEndedBeforeFinalTimeout || !spanStartedBeforeIdleSpanEnd) {\n        removeChildSpanFromSpan(span, childSpan);\n        discardedSpans++;\n      }\n    });\n\n    if (discardedSpans > 0) {\n      span.setAttribute('sentry.idle_span_discarded_spans', discardedSpans);\n    }\n  }\n\n  _cleanupHooks.push(\n    client.on('spanStart', startedSpan => {\n      // If we already finished the idle span,\n      // or if this is the idle span itself being started,\n      // or if the started span has already been closed,\n      // we don't care about it for activity\n      if (\n        _finished ||\n        startedSpan === span ||\n        !!spanToJSON(startedSpan).timestamp ||\n        (startedSpan instanceof SentrySpan && startedSpan.isStandaloneSpan())\n      ) {\n        return;\n      }\n\n      const allSpans = getSpanDescendants(span);\n\n      // If the span that was just started is a child of the idle span, we should track it\n      if (allSpans.includes(startedSpan)) {\n        _pushActivity(startedSpan.spanContext().spanId);\n      }\n    }),\n  );\n\n  _cleanupHooks.push(\n    client.on('spanEnd', endedSpan => {\n      if (_finished) {\n        return;\n      }\n\n      _popActivity(endedSpan.spanContext().spanId);\n    }),\n  );\n\n  _cleanupHooks.push(\n    client.on('idleSpanEnableAutoFinish', spanToAllowAutoFinish => {\n      if (spanToAllowAutoFinish === span) {\n        _autoFinishAllowed = true;\n        _restartIdleTimeout();\n\n        if (activities.size) {\n          _restartChildSpanTimeout();\n        }\n      }\n    }),\n  );\n\n  // We only start the initial idle timeout if we are not delaying the auto finish\n  if (!options.disableAutoFinish) {\n    _restartIdleTimeout();\n  }\n\n  setTimeout(() => {\n    if (!_finished) {\n      span.setStatus({ code: SPAN_STATUS_ERROR, message: 'deadline_exceeded' });\n      _finishReason = FINISH_REASON_FINAL_TIMEOUT;\n      span.end();\n    }\n  }, finalTimeout);\n\n  return span;\n}\n\nfunction _startIdleSpan(options) {\n  const span = startInactiveSpan(options);\n\n  _setSpanForScope(getCurrentScope(), span);\n\n  DEBUG_BUILD && debug.log('[Tracing] Started span is an idle span');\n\n  return span;\n}\n\nexport { TRACING_DEFAULTS, startIdleSpan };\n//# sourceMappingURL=idleSpan.js.map\n","import { isThenable } from './is.js';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\n/** SyncPromise internal states */\nconst STATE_PENDING = 0;\nconst STATE_RESOLVED = 1;\nconst STATE_REJECTED = 2;\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nfunction resolvedSyncPromise(value) {\n  return new SyncPromise(resolve => {\n    resolve(value);\n  });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nfunction rejectedSyncPromise(reason) {\n  return new SyncPromise((_, reject) => {\n    reject(reason);\n  });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise {\n\n   constructor(executor) {\n    this._state = STATE_PENDING;\n    this._handlers = [];\n\n    this._runExecutor(executor);\n  }\n\n  /** @inheritdoc */\n   then(\n    onfulfilled,\n    onrejected,\n  ) {\n    return new SyncPromise((resolve, reject) => {\n      this._handlers.push([\n        false,\n        result => {\n          if (!onfulfilled) {\n            // TODO: ¯\\_(ツ)_/¯\n            // TODO: FIXME\n            resolve(result );\n          } else {\n            try {\n              resolve(onfulfilled(result));\n            } catch (e) {\n              reject(e);\n            }\n          }\n        },\n        reason => {\n          if (!onrejected) {\n            reject(reason);\n          } else {\n            try {\n              resolve(onrejected(reason));\n            } catch (e) {\n              reject(e);\n            }\n          }\n        },\n      ]);\n      this._executeHandlers();\n    });\n  }\n\n  /** @inheritdoc */\n   catch(\n    onrejected,\n  ) {\n    return this.then(val => val, onrejected);\n  }\n\n  /** @inheritdoc */\n   finally(onfinally) {\n    return new SyncPromise((resolve, reject) => {\n      let val;\n      let isRejected;\n\n      return this.then(\n        value => {\n          isRejected = false;\n          val = value;\n          if (onfinally) {\n            onfinally();\n          }\n        },\n        reason => {\n          isRejected = true;\n          val = reason;\n          if (onfinally) {\n            onfinally();\n          }\n        },\n      ).then(() => {\n        if (isRejected) {\n          reject(val);\n          return;\n        }\n\n        resolve(val );\n      });\n    });\n  }\n\n  /** Excute the resolve/reject handlers. */\n   _executeHandlers() {\n    if (this._state === STATE_PENDING) {\n      return;\n    }\n\n    const cachedHandlers = this._handlers.slice();\n    this._handlers = [];\n\n    cachedHandlers.forEach(handler => {\n      if (handler[0]) {\n        return;\n      }\n\n      if (this._state === STATE_RESOLVED) {\n        handler[1](this._value );\n      }\n\n      if (this._state === STATE_REJECTED) {\n        handler[2](this._value);\n      }\n\n      handler[0] = true;\n    });\n  }\n\n  /** Run the executor for the SyncPromise. */\n   _runExecutor(executor) {\n    const setResult = (state, value) => {\n      if (this._state !== STATE_PENDING) {\n        return;\n      }\n\n      if (isThenable(value)) {\n        void (value ).then(resolve, reject);\n        return;\n      }\n\n      this._state = state;\n      this._value = value;\n\n      this._executeHandlers();\n    };\n\n    const resolve = (value) => {\n      setResult(STATE_RESOLVED, value);\n    };\n\n    const reject = (reason) => {\n      setResult(STATE_REJECTED, reason);\n    };\n\n    try {\n      executor(resolve, reject);\n    } catch (e) {\n      reject(e);\n    }\n  }\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","import { DEBUG_BUILD } from './debug-build.js';\nimport { debug } from './utils/debug-logger.js';\nimport { isThenable } from './utils/is.js';\nimport { SyncPromise } from './utils/syncpromise.js';\n\n/**\n * Process an array of event processors, returning the processed event (or `null` if the event was dropped).\n */\nfunction notifyEventProcessors(\n  processors,\n  event,\n  hint,\n  index = 0,\n) {\n  return new SyncPromise((resolve, reject) => {\n    const processor = processors[index];\n    if (event === null || typeof processor !== 'function') {\n      resolve(event);\n    } else {\n      const result = processor({ ...event }, hint) ;\n\n      DEBUG_BUILD && processor.id && result === null && debug.log(`Event processor \"${processor.id}\" dropped event`);\n\n      if (isThenable(result)) {\n        void result\n          .then(final => notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n          .then(null, reject);\n      } else {\n        void notifyEventProcessors(processors, result, hint, index + 1)\n          .then(resolve)\n          .then(null, reject);\n      }\n    }\n  });\n}\n\nexport { notifyEventProcessors };\n//# sourceMappingURL=eventProcessors.js.map\n","import { getDynamicSamplingContextFromSpan } from '../tracing/dynamicSamplingContext.js';\nimport { merge } from './merge.js';\nimport { spanToTraceContext, getRootSpan, spanToJSON } from './spanUtils.js';\n\n/**\n * Applies data from the scope to the event and runs all event processors on it.\n */\nfunction applyScopeDataToEvent(event, data) {\n  const { fingerprint, span, breadcrumbs, sdkProcessingMetadata } = data;\n\n  // Apply general data\n  applyDataToEvent(event, data);\n\n  // We want to set the trace context for normal events only if there isn't already\n  // a trace context on the event. There is a product feature in place where we link\n  // errors with transaction and it relies on that.\n  if (span) {\n    applySpanToEvent(event, span);\n  }\n\n  applyFingerprintToEvent(event, fingerprint);\n  applyBreadcrumbsToEvent(event, breadcrumbs);\n  applySdkMetadataToEvent(event, sdkProcessingMetadata);\n}\n\n/** Merge data of two scopes together. */\nfunction mergeScopeData(data, mergeData) {\n  const {\n    extra,\n    tags,\n    user,\n    contexts,\n    level,\n    sdkProcessingMetadata,\n    breadcrumbs,\n    fingerprint,\n    eventProcessors,\n    attachments,\n    propagationContext,\n    transactionName,\n    span,\n  } = mergeData;\n\n  mergeAndOverwriteScopeData(data, 'extra', extra);\n  mergeAndOverwriteScopeData(data, 'tags', tags);\n  mergeAndOverwriteScopeData(data, 'user', user);\n  mergeAndOverwriteScopeData(data, 'contexts', contexts);\n\n  data.sdkProcessingMetadata = merge(data.sdkProcessingMetadata, sdkProcessingMetadata, 2);\n\n  if (level) {\n    data.level = level;\n  }\n\n  if (transactionName) {\n    data.transactionName = transactionName;\n  }\n\n  if (span) {\n    data.span = span;\n  }\n\n  if (breadcrumbs.length) {\n    data.breadcrumbs = [...data.breadcrumbs, ...breadcrumbs];\n  }\n\n  if (fingerprint.length) {\n    data.fingerprint = [...data.fingerprint, ...fingerprint];\n  }\n\n  if (eventProcessors.length) {\n    data.eventProcessors = [...data.eventProcessors, ...eventProcessors];\n  }\n\n  if (attachments.length) {\n    data.attachments = [...data.attachments, ...attachments];\n  }\n\n  data.propagationContext = { ...data.propagationContext, ...propagationContext };\n}\n\n/**\n * Merges certain scope data. Undefined values will overwrite any existing values.\n * Exported only for tests.\n */\nfunction mergeAndOverwriteScopeData\n\n(data, prop, mergeVal) {\n  data[prop] = merge(data[prop], mergeVal, 1);\n}\n\nfunction applyDataToEvent(event, data) {\n  const { extra, tags, user, contexts, level, transactionName } = data;\n\n  if (Object.keys(extra).length) {\n    event.extra = { ...extra, ...event.extra };\n  }\n\n  if (Object.keys(tags).length) {\n    event.tags = { ...tags, ...event.tags };\n  }\n\n  if (Object.keys(user).length) {\n    event.user = { ...user, ...event.user };\n  }\n\n  if (Object.keys(contexts).length) {\n    event.contexts = { ...contexts, ...event.contexts };\n  }\n\n  if (level) {\n    event.level = level;\n  }\n\n  // transaction events get their `transaction` from the root span name\n  if (transactionName && event.type !== 'transaction') {\n    event.transaction = transactionName;\n  }\n}\n\nfunction applyBreadcrumbsToEvent(event, breadcrumbs) {\n  const mergedBreadcrumbs = [...(event.breadcrumbs || []), ...breadcrumbs];\n  event.breadcrumbs = mergedBreadcrumbs.length ? mergedBreadcrumbs : undefined;\n}\n\nfunction applySdkMetadataToEvent(event, sdkProcessingMetadata) {\n  event.sdkProcessingMetadata = {\n    ...event.sdkProcessingMetadata,\n    ...sdkProcessingMetadata,\n  };\n}\n\nfunction applySpanToEvent(event, span) {\n  event.contexts = {\n    trace: spanToTraceContext(span),\n    ...event.contexts,\n  };\n\n  event.sdkProcessingMetadata = {\n    dynamicSamplingContext: getDynamicSamplingContextFromSpan(span),\n    ...event.sdkProcessingMetadata,\n  };\n\n  const rootSpan = getRootSpan(span);\n  const transactionName = spanToJSON(rootSpan).description;\n  if (transactionName && !event.transaction && event.type === 'transaction') {\n    event.transaction = transactionName;\n  }\n}\n\n/**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\nfunction applyFingerprintToEvent(event, fingerprint) {\n  // Make sure it's an array first and we actually have something in place\n  event.fingerprint = event.fingerprint\n    ? Array.isArray(event.fingerprint)\n      ? event.fingerprint\n      : [event.fingerprint]\n    : [];\n\n  // If we have something on the scope, then merge it with event\n  if (fingerprint) {\n    event.fingerprint = event.fingerprint.concat(fingerprint);\n  }\n\n  // If we have no data at all, remove empty array default\n  if (!event.fingerprint.length) {\n    delete event.fingerprint;\n  }\n}\n\nexport { applyScopeDataToEvent, mergeAndOverwriteScopeData, mergeScopeData };\n//# sourceMappingURL=applyScopeDataToEvent.js.map\n","import { GLOBAL_OBJ } from './worldwide.js';\n\nlet parsedStackResults;\nlet lastKeysCount;\nlet cachedFilenameDebugIds;\n\n/**\n * Returns a map of filenames to debug identifiers.\n */\nfunction getFilenameToDebugIdMap(stackParser) {\n  const debugIdMap = GLOBAL_OBJ._sentryDebugIds;\n  if (!debugIdMap) {\n    return {};\n  }\n\n  const debugIdKeys = Object.keys(debugIdMap);\n\n  // If the count of registered globals hasn't changed since the last call, we\n  // can just return the cached result.\n  if (cachedFilenameDebugIds && debugIdKeys.length === lastKeysCount) {\n    return cachedFilenameDebugIds;\n  }\n\n  lastKeysCount = debugIdKeys.length;\n\n  // Build a map of filename -> debug_id.\n  cachedFilenameDebugIds = debugIdKeys.reduce((acc, stackKey) => {\n    if (!parsedStackResults) {\n      parsedStackResults = {};\n    }\n\n    const result = parsedStackResults[stackKey];\n\n    if (result) {\n      acc[result[0]] = result[1];\n    } else {\n      const parsedStack = stackParser(stackKey);\n\n      for (let i = parsedStack.length - 1; i >= 0; i--) {\n        const stackFrame = parsedStack[i];\n        const filename = stackFrame?.filename;\n        const debugId = debugIdMap[stackKey];\n\n        if (filename && debugId) {\n          acc[filename] = debugId;\n          parsedStackResults[stackKey] = [filename, debugId];\n          break;\n        }\n      }\n    }\n\n    return acc;\n  }, {});\n\n  return cachedFilenameDebugIds;\n}\n\n/**\n * Returns a list of debug images for the given resources.\n */\nfunction getDebugImagesForResources(\n  stackParser,\n  resource_paths,\n) {\n  const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n  if (!filenameDebugIdMap) {\n    return [];\n  }\n\n  const images = [];\n  for (const path of resource_paths) {\n    if (path && filenameDebugIdMap[path]) {\n      images.push({\n        type: 'sourcemap',\n        code_file: path,\n        debug_id: filenameDebugIdMap[path] ,\n      });\n    }\n  }\n\n  return images;\n}\n\nexport { getDebugImagesForResources, getFilenameToDebugIdMap };\n//# sourceMappingURL=debug-ids.js.map\n","import { DEFAULT_ENVIRONMENT } from '../constants.js';\nimport { getGlobalScope } from '../currentScopes.js';\nimport { notifyEventProcessors } from '../eventProcessors.js';\nimport { Scope } from '../scope.js';\nimport { mergeScopeData, applyScopeDataToEvent } from './applyScopeDataToEvent.js';\nimport { getFilenameToDebugIdMap } from './debug-ids.js';\nimport { uuid4, addExceptionMechanism } from './misc.js';\nimport { normalize } from './normalize.js';\nimport { truncate } from './string.js';\nimport { dateTimestampInSeconds } from './time.js';\n\n/**\n * This type makes sure that we get either a CaptureContext, OR an EventHint.\n * It does not allow mixing them, which could lead to unexpected outcomes, e.g. this is disallowed:\n * { user: { id: '123' }, mechanism: { handled: false } }\n */\n\n/**\n * Adds common information to events.\n *\n * The information includes release and environment from `options`,\n * breadcrumbs and context (extra, tags and user) from the scope.\n *\n * Information that is already present in the event is never overwritten. For\n * nested objects, such as the context, keys are merged.\n *\n * @param event The original event.\n * @param hint May contain additional information about the original exception.\n * @param scope A scope containing event metadata.\n * @returns A new event with more information.\n * @hidden\n */\nfunction prepareEvent(\n  options,\n  event,\n  hint,\n  scope,\n  client,\n  isolationScope,\n) {\n  const { normalizeDepth = 3, normalizeMaxBreadth = 1000 } = options;\n  const prepared = {\n    ...event,\n    event_id: event.event_id || hint.event_id || uuid4(),\n    timestamp: event.timestamp || dateTimestampInSeconds(),\n  };\n  const integrations = hint.integrations || options.integrations.map(i => i.name);\n\n  applyClientOptions(prepared, options);\n  applyIntegrationsMetadata(prepared, integrations);\n\n  if (client) {\n    client.emit('applyFrameMetadata', event);\n  }\n\n  // Only put debug IDs onto frames for error events.\n  if (event.type === undefined) {\n    applyDebugIds(prepared, options.stackParser);\n  }\n\n  // If we have scope given to us, use it as the base for further modifications.\n  // This allows us to prevent unnecessary copying of data if `captureContext` is not provided.\n  const finalScope = getFinalScope(scope, hint.captureContext);\n\n  if (hint.mechanism) {\n    addExceptionMechanism(prepared, hint.mechanism);\n  }\n\n  const clientEventProcessors = client ? client.getEventProcessors() : [];\n\n  // This should be the last thing called, since we want that\n  // {@link Scope.addEventProcessor} gets the finished prepared event.\n  // Merge scope data together\n  const data = getGlobalScope().getScopeData();\n\n  if (isolationScope) {\n    const isolationData = isolationScope.getScopeData();\n    mergeScopeData(data, isolationData);\n  }\n\n  if (finalScope) {\n    const finalScopeData = finalScope.getScopeData();\n    mergeScopeData(data, finalScopeData);\n  }\n\n  const attachments = [...(hint.attachments || []), ...data.attachments];\n  if (attachments.length) {\n    hint.attachments = attachments;\n  }\n\n  applyScopeDataToEvent(prepared, data);\n\n  const eventProcessors = [\n    ...clientEventProcessors,\n    // Run scope event processors _after_ all other processors\n    ...data.eventProcessors,\n  ];\n\n  const result = notifyEventProcessors(eventProcessors, prepared, hint);\n\n  return result.then(evt => {\n    if (evt) {\n      // We apply the debug_meta field only after all event processors have ran, so that if any event processors modified\n      // file names (e.g.the RewriteFrames integration) the filename -> debug ID relationship isn't destroyed.\n      // This should not cause any PII issues, since we're only moving data that is already on the event and not adding\n      // any new data\n      applyDebugMeta(evt);\n    }\n\n    if (typeof normalizeDepth === 'number' && normalizeDepth > 0) {\n      return normalizeEvent(evt, normalizeDepth, normalizeMaxBreadth);\n    }\n    return evt;\n  });\n}\n\n/**\n * Enhances event using the client configuration.\n * It takes care of all \"static\" values like environment, release and `dist`,\n * as well as truncating overly long values.\n *\n * Only exported for tests.\n *\n * @param event event instance to be enhanced\n */\nfunction applyClientOptions(event, options) {\n  const { environment, release, dist, maxValueLength = 250 } = options;\n\n  // empty strings do not make sense for environment, release, and dist\n  // so we handle them the same as if they were not provided\n  event.environment = event.environment || environment || DEFAULT_ENVIRONMENT;\n\n  if (!event.release && release) {\n    event.release = release;\n  }\n\n  if (!event.dist && dist) {\n    event.dist = dist;\n  }\n\n  const request = event.request;\n  if (request?.url) {\n    request.url = truncate(request.url, maxValueLength);\n  }\n}\n\n/**\n * Puts debug IDs into the stack frames of an error event.\n */\nfunction applyDebugIds(event, stackParser) {\n  // Build a map of filename -> debug_id\n  const filenameDebugIdMap = getFilenameToDebugIdMap(stackParser);\n\n  event.exception?.values?.forEach(exception => {\n    exception.stacktrace?.frames?.forEach(frame => {\n      if (frame.filename) {\n        frame.debug_id = filenameDebugIdMap[frame.filename];\n      }\n    });\n  });\n}\n\n/**\n * Moves debug IDs from the stack frames of an error event into the debug_meta field.\n */\nfunction applyDebugMeta(event) {\n  // Extract debug IDs and filenames from the stack frames on the event.\n  const filenameDebugIdMap = {};\n  event.exception?.values?.forEach(exception => {\n    exception.stacktrace?.frames?.forEach(frame => {\n      if (frame.debug_id) {\n        if (frame.abs_path) {\n          filenameDebugIdMap[frame.abs_path] = frame.debug_id;\n        } else if (frame.filename) {\n          filenameDebugIdMap[frame.filename] = frame.debug_id;\n        }\n        delete frame.debug_id;\n      }\n    });\n  });\n\n  if (Object.keys(filenameDebugIdMap).length === 0) {\n    return;\n  }\n\n  // Fill debug_meta information\n  event.debug_meta = event.debug_meta || {};\n  event.debug_meta.images = event.debug_meta.images || [];\n  const images = event.debug_meta.images;\n  Object.entries(filenameDebugIdMap).forEach(([filename, debug_id]) => {\n    images.push({\n      type: 'sourcemap',\n      code_file: filename,\n      debug_id,\n    });\n  });\n}\n\n/**\n * This function adds all used integrations to the SDK info in the event.\n * @param event The event that will be filled with all integrations.\n */\nfunction applyIntegrationsMetadata(event, integrationNames) {\n  if (integrationNames.length > 0) {\n    event.sdk = event.sdk || {};\n    event.sdk.integrations = [...(event.sdk.integrations || []), ...integrationNames];\n  }\n}\n\n/**\n * Applies `normalize` function on necessary `Event` attributes to make them safe for serialization.\n * Normalized keys:\n * - `breadcrumbs.data`\n * - `user`\n * - `contexts`\n * - `extra`\n * @param event Event\n * @returns Normalized event\n */\nfunction normalizeEvent(event, depth, maxBreadth) {\n  if (!event) {\n    return null;\n  }\n\n  const normalized = {\n    ...event,\n    ...(event.breadcrumbs && {\n      breadcrumbs: event.breadcrumbs.map(b => ({\n        ...b,\n        ...(b.data && {\n          data: normalize(b.data, depth, maxBreadth),\n        }),\n      })),\n    }),\n    ...(event.user && {\n      user: normalize(event.user, depth, maxBreadth),\n    }),\n    ...(event.contexts && {\n      contexts: normalize(event.contexts, depth, maxBreadth),\n    }),\n    ...(event.extra && {\n      extra: normalize(event.extra, depth, maxBreadth),\n    }),\n  };\n\n  // event.contexts.trace stores information about a Transaction. Similarly,\n  // event.spans[] stores information about child Spans. Given that a\n  // Transaction is conceptually a Span, normalization should apply to both\n  // Transactions and Spans consistently.\n  // For now the decision is to skip normalization of Transactions and Spans,\n  // so this block overwrites the normalized event to add back the original\n  // Transaction information prior to normalization.\n  if (event.contexts?.trace && normalized.contexts) {\n    normalized.contexts.trace = event.contexts.trace;\n\n    // event.contexts.trace.data may contain circular/dangerous data so we need to normalize it\n    if (event.contexts.trace.data) {\n      normalized.contexts.trace.data = normalize(event.contexts.trace.data, depth, maxBreadth);\n    }\n  }\n\n  // event.spans[].data may contain circular/dangerous data so we need to normalize it\n  if (event.spans) {\n    normalized.spans = event.spans.map(span => {\n      return {\n        ...span,\n        ...(span.data && {\n          data: normalize(span.data, depth, maxBreadth),\n        }),\n      };\n    });\n  }\n\n  // event.contexts.flags (FeatureFlagContext) stores context for our feature\n  // flag integrations. It has a greater nesting depth than our other typed\n  // Contexts, so we re-normalize with a fixed depth of 3 here. We do not want\n  // to skip this in case of conflicting, user-provided context.\n  if (event.contexts?.flags && normalized.contexts) {\n    normalized.contexts.flags = normalize(event.contexts.flags, 3, maxBreadth);\n  }\n\n  return normalized;\n}\n\nfunction getFinalScope(scope, captureContext) {\n  if (!captureContext) {\n    return scope;\n  }\n\n  const finalScope = scope ? scope.clone() : new Scope();\n  finalScope.update(captureContext);\n  return finalScope;\n}\n\n/**\n * Parse either an `EventHint` directly, or convert a `CaptureContext` to an `EventHint`.\n * This is used to allow to update method signatures that used to accept a `CaptureContext` but should now accept an `EventHint`.\n */\nfunction parseEventHintOrCaptureContext(\n  hint,\n) {\n  if (!hint) {\n    return undefined;\n  }\n\n  // If you pass a Scope or `() => Scope` as CaptureContext, we just return this as captureContext\n  if (hintIsScopeOrFunction(hint)) {\n    return { captureContext: hint };\n  }\n\n  if (hintIsScopeContext(hint)) {\n    return {\n      captureContext: hint,\n    };\n  }\n\n  return hint;\n}\n\nfunction hintIsScopeOrFunction(hint) {\n  return hint instanceof Scope || typeof hint === 'function';\n}\n\nconst captureContextKeys = [\n  'user',\n  'level',\n  'extra',\n  'contexts',\n  'tags',\n  'fingerprint',\n  'propagationContext',\n] ;\n\nfunction hintIsScopeContext(hint) {\n  return Object.keys(hint).some(key => captureContextKeys.includes(key ));\n}\n\nexport { applyClientOptions, applyDebugIds, applyDebugMeta, parseEventHintOrCaptureContext, prepareEvent };\n//# sourceMappingURL=prepareEvent.js.map\n","import { getCurrentScope, getClient, withIsolationScope, getIsolationScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { makeSession, updateSession, closeSession } from './session.js';\nimport { debug } from './utils/debug-logger.js';\nimport { isThenable } from './utils/is.js';\nimport { uuid4 } from './utils/misc.js';\nimport { parseEventHintOrCaptureContext } from './utils/prepareEvent.js';\nimport { timestampInSeconds } from './utils/time.js';\nimport { GLOBAL_OBJ } from './utils/worldwide.js';\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception The exception to capture.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured Sentry event.\n */\nfunction captureException(exception, hint) {\n  return getCurrentScope().captureException(exception, parseEventHintOrCaptureContext(hint));\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param captureContext Define the level of the message or pass in additional data to attach to the message.\n * @returns the id of the captured message.\n */\nfunction captureMessage(message, captureContext) {\n  // This is necessary to provide explicit scopes upgrade, without changing the original\n  // arity of the `captureMessage(message, level)` method.\n  const level = typeof captureContext === 'string' ? captureContext : undefined;\n  const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n  return getCurrentScope().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @param hint Optional additional data to attach to the Sentry event.\n * @returns the id of the captured event.\n */\nfunction captureEvent(event, hint) {\n  return getCurrentScope().captureEvent(event, hint);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\nfunction setContext(name, context) {\n  getIsolationScope().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nfunction setExtras(extras) {\n  getIsolationScope().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nfunction setExtra(key, extra) {\n  getIsolationScope().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nfunction setTags(tags) {\n  getIsolationScope().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nfunction setTag(key, value) {\n  getIsolationScope().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nfunction setUser(user) {\n  getIsolationScope().setUser(user);\n}\n\n/**\n * The last error event id of the isolation scope.\n *\n * Warning: This function really returns the last recorded error event id on the current\n * isolation scope. If you call this function after handling a certain error and another error\n * is captured in between, the last one is returned instead of the one you might expect.\n * Also, ids of events that were never sent to Sentry (for example because\n * they were dropped in `beforeSend`) could be returned.\n *\n * @returns The last event id of the isolation scope.\n */\nfunction lastEventId() {\n  return getIsolationScope().lastEventId();\n}\n\n/**\n * Create a cron monitor check in and send it to Sentry.\n *\n * @param checkIn An object that describes a check in.\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nfunction captureCheckIn(checkIn, upsertMonitorConfig) {\n  const scope = getCurrentScope();\n  const client = getClient();\n  if (!client) {\n    DEBUG_BUILD && debug.warn('Cannot capture check-in. No client defined.');\n  } else if (!client.captureCheckIn) {\n    DEBUG_BUILD && debug.warn('Cannot capture check-in. Client does not support sending check-ins.');\n  } else {\n    return client.captureCheckIn(checkIn, upsertMonitorConfig, scope);\n  }\n\n  return uuid4();\n}\n\n/**\n * Wraps a callback with a cron monitor check in. The check in will be sent to Sentry when the callback finishes.\n *\n * @param monitorSlug The distinct slug of the monitor.\n * @param callback Callback to be monitored\n * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n * to create a monitor automatically when sending a check in.\n */\nfunction withMonitor(\n  monitorSlug,\n  callback,\n  upsertMonitorConfig,\n) {\n  const checkInId = captureCheckIn({ monitorSlug, status: 'in_progress' }, upsertMonitorConfig);\n  const now = timestampInSeconds();\n\n  function finishCheckIn(status) {\n    captureCheckIn({ monitorSlug, status, checkInId, duration: timestampInSeconds() - now });\n  }\n\n  return withIsolationScope(() => {\n    let maybePromiseResult;\n    try {\n      maybePromiseResult = callback();\n    } catch (e) {\n      finishCheckIn('error');\n      throw e;\n    }\n\n    if (isThenable(maybePromiseResult)) {\n      return maybePromiseResult.then(\n        r => {\n          finishCheckIn('ok');\n          return r;\n        },\n        e => {\n          finishCheckIn('error');\n          throw e;\n        },\n      ) ;\n    }\n    finishCheckIn('ok');\n\n    return maybePromiseResult;\n  });\n}\n\n/**\n * Call `flush()` on the current client, if there is one. See {@link Client.flush}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue. Omitting this parameter will cause\n * the client to wait until all events are sent before resolving the promise.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nasync function flush(timeout) {\n  const client = getClient();\n  if (client) {\n    return client.flush(timeout);\n  }\n  DEBUG_BUILD && debug.warn('Cannot flush events. No client defined.');\n  return Promise.resolve(false);\n}\n\n/**\n * Call `close()` on the current client, if there is one. See {@link Client.close}.\n *\n * @param timeout Maximum time in ms the client should wait to flush its event queue before shutting down. Omitting this\n * parameter will cause the client to wait until all events are sent before disabling itself.\n * @returns A promise which resolves to `true` if the queue successfully drains before the timeout, or `false` if it\n * doesn't (or if there's no client defined).\n */\nasync function close(timeout) {\n  const client = getClient();\n  if (client) {\n    return client.close(timeout);\n  }\n  DEBUG_BUILD && debug.warn('Cannot flush events and disable SDK. No client defined.');\n  return Promise.resolve(false);\n}\n\n/**\n * Returns true if Sentry has been properly initialized.\n */\nfunction isInitialized() {\n  return !!getClient();\n}\n\n/** If the SDK is initialized & enabled. */\nfunction isEnabled() {\n  const client = getClient();\n  return client?.getOptions().enabled !== false && !!client?.getTransport();\n}\n\n/**\n * Add an event processor.\n * This will be added to the current isolation scope, ensuring any event that is processed in the current execution\n * context will have the processor applied.\n */\nfunction addEventProcessor(callback) {\n  getIsolationScope().addEventProcessor(callback);\n}\n\n/**\n * Start a session on the current isolation scope.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns the new active session\n */\nfunction startSession(context) {\n  const isolationScope = getIsolationScope();\n  const currentScope = getCurrentScope();\n\n  // Will fetch userAgent if called from browser sdk\n  const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n  const session = makeSession({\n    user: currentScope.getUser() || isolationScope.getUser(),\n    ...(userAgent && { userAgent }),\n    ...context,\n  });\n\n  // End existing session if there's one\n  const currentSession = isolationScope.getSession();\n  if (currentSession?.status === 'ok') {\n    updateSession(currentSession, { status: 'exited' });\n  }\n\n  endSession();\n\n  // Afterwards we set the new session on the scope\n  isolationScope.setSession(session);\n\n  return session;\n}\n\n/**\n * End the session on the current isolation scope.\n */\nfunction endSession() {\n  const isolationScope = getIsolationScope();\n  const currentScope = getCurrentScope();\n\n  const session = currentScope.getSession() || isolationScope.getSession();\n  if (session) {\n    closeSession(session);\n  }\n  _sendSessionUpdate();\n\n  // the session is over; take it off of the scope\n  isolationScope.setSession();\n}\n\n/**\n * Sends the current Session on the scope\n */\nfunction _sendSessionUpdate() {\n  const isolationScope = getIsolationScope();\n  const client = getClient();\n  const session = isolationScope.getSession();\n  if (session && client) {\n    client.captureSession(session);\n  }\n}\n\n/**\n * Sends the current session on the scope to Sentry\n *\n * @param end If set the session will be marked as exited and removed from the scope.\n *            Defaults to `false`.\n */\nfunction captureSession(end = false) {\n  // both send the update and pull the session from the scope\n  if (end) {\n    endSession();\n    return;\n  }\n\n  // only send the update\n  _sendSessionUpdate();\n}\n\nexport { addEventProcessor, captureCheckIn, captureEvent, captureException, captureMessage, captureSession, close, endSession, flush, isEnabled, isInitialized, lastEventId, setContext, setExtra, setExtras, setTag, setTags, setUser, startSession, withMonitor };\n//# sourceMappingURL=exports.js.map\n","import { makeDsn, dsnToString } from './utils/dsn.js';\n\nconst SENTRY_API_VERSION = '7';\n\n/** Returns the prefix to construct Sentry ingestion API endpoints. */\nfunction getBaseApiEndpoint(dsn) {\n  const protocol = dsn.protocol ? `${dsn.protocol}:` : '';\n  const port = dsn.port ? `:${dsn.port}` : '';\n  return `${protocol}//${dsn.host}${port}${dsn.path ? `/${dsn.path}` : ''}/api/`;\n}\n\n/** Returns the ingest API endpoint for target. */\nfunction _getIngestEndpoint(dsn) {\n  return `${getBaseApiEndpoint(dsn)}${dsn.projectId}/envelope/`;\n}\n\n/** Returns a URL-encoded string with auth config suitable for a query string. */\nfunction _encodedAuth(dsn, sdkInfo) {\n  const params = {\n    sentry_version: SENTRY_API_VERSION,\n  };\n\n  if (dsn.publicKey) {\n    // We send only the minimum set of required information. See\n    // https://github.com/getsentry/sentry-javascript/issues/2572.\n    params.sentry_key = dsn.publicKey;\n  }\n\n  if (sdkInfo) {\n    params.sentry_client = `${sdkInfo.name}/${sdkInfo.version}`;\n  }\n\n  return new URLSearchParams(params).toString();\n}\n\n/**\n * Returns the envelope endpoint URL with auth in the query string.\n *\n * Sending auth as part of the query string and not as custom HTTP headers avoids CORS preflight requests.\n */\nfunction getEnvelopeEndpointWithUrlEncodedAuth(dsn, tunnel, sdkInfo) {\n  return tunnel ? tunnel : `${_getIngestEndpoint(dsn)}?${_encodedAuth(dsn, sdkInfo)}`;\n}\n\n/** Returns the url to the report dialog endpoint. */\nfunction getReportDialogEndpoint(dsnLike, dialogOptions) {\n  const dsn = makeDsn(dsnLike);\n  if (!dsn) {\n    return '';\n  }\n\n  const endpoint = `${getBaseApiEndpoint(dsn)}embed/error-page/`;\n\n  let encodedOptions = `dsn=${dsnToString(dsn)}`;\n  for (const key in dialogOptions) {\n    if (key === 'dsn') {\n      continue;\n    }\n\n    if (key === 'onClose') {\n      continue;\n    }\n\n    if (key === 'user') {\n      const user = dialogOptions.user;\n      if (!user) {\n        continue;\n      }\n      if (user.name) {\n        encodedOptions += `&name=${encodeURIComponent(user.name)}`;\n      }\n      if (user.email) {\n        encodedOptions += `&email=${encodeURIComponent(user.email)}`;\n      }\n    } else {\n      encodedOptions += `&${encodeURIComponent(key)}=${encodeURIComponent(dialogOptions[key] )}`;\n    }\n  }\n\n  return `${endpoint}?${encodedOptions}`;\n}\n\nexport { getEnvelopeEndpointWithUrlEncodedAuth, getReportDialogEndpoint };\n//# sourceMappingURL=api.js.map\n","import { getClient } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { debug } from './utils/debug-logger.js';\n\nconst installedIntegrations = [];\n\n/** Map of integrations assigned to a client */\n\n/**\n * Remove duplicates from the given array, preferring the last instance of any duplicate. Not guaranteed to\n * preserve the order of integrations in the array.\n *\n * @private\n */\nfunction filterDuplicates(integrations) {\n  const integrationsByName = {};\n\n  integrations.forEach((currentInstance) => {\n    const { name } = currentInstance;\n\n    const existingInstance = integrationsByName[name];\n\n    // We want integrations later in the array to overwrite earlier ones of the same type, except that we never want a\n    // default instance to overwrite an existing user instance\n    if (existingInstance && !existingInstance.isDefaultInstance && currentInstance.isDefaultInstance) {\n      return;\n    }\n\n    integrationsByName[name] = currentInstance;\n  });\n\n  return Object.values(integrationsByName);\n}\n\n/** Gets integrations to install */\nfunction getIntegrationsToSetup(options) {\n  const defaultIntegrations = options.defaultIntegrations || [];\n  const userIntegrations = options.integrations;\n\n  // We flag default instances, so that later we can tell them apart from any user-created instances of the same class\n  defaultIntegrations.forEach((integration) => {\n    integration.isDefaultInstance = true;\n  });\n\n  let integrations;\n\n  if (Array.isArray(userIntegrations)) {\n    integrations = [...defaultIntegrations, ...userIntegrations];\n  } else if (typeof userIntegrations === 'function') {\n    const resolvedUserIntegrations = userIntegrations(defaultIntegrations);\n    integrations = Array.isArray(resolvedUserIntegrations) ? resolvedUserIntegrations : [resolvedUserIntegrations];\n  } else {\n    integrations = defaultIntegrations;\n  }\n\n  return filterDuplicates(integrations);\n}\n\n/**\n * Given a list of integration instances this installs them all. When `withDefaults` is set to `true` then all default\n * integrations are added unless they were already provided before.\n * @param integrations array of integration instances\n * @param withDefault should enable default integrations\n */\nfunction setupIntegrations(client, integrations) {\n  const integrationIndex = {};\n\n  integrations.forEach((integration) => {\n    // guard against empty provided integrations\n    if (integration) {\n      setupIntegration(client, integration, integrationIndex);\n    }\n  });\n\n  return integrationIndex;\n}\n\n/**\n * Execute the `afterAllSetup` hooks of the given integrations.\n */\nfunction afterSetupIntegrations(client, integrations) {\n  for (const integration of integrations) {\n    // guard against empty provided integrations\n    if (integration?.afterAllSetup) {\n      integration.afterAllSetup(client);\n    }\n  }\n}\n\n/** Setup a single integration.  */\nfunction setupIntegration(client, integration, integrationIndex) {\n  if (integrationIndex[integration.name]) {\n    DEBUG_BUILD && debug.log(`Integration skipped because it was already installed: ${integration.name}`);\n    return;\n  }\n  integrationIndex[integration.name] = integration;\n\n  // `setupOnce` is only called the first time\n  if (installedIntegrations.indexOf(integration.name) === -1 && typeof integration.setupOnce === 'function') {\n    integration.setupOnce();\n    installedIntegrations.push(integration.name);\n  }\n\n  // `setup` is run for each client\n  if (integration.setup && typeof integration.setup === 'function') {\n    integration.setup(client);\n  }\n\n  if (typeof integration.preprocessEvent === 'function') {\n    const callback = integration.preprocessEvent.bind(integration) ;\n    client.on('preprocessEvent', (event, hint) => callback(event, hint, client));\n  }\n\n  if (typeof integration.processEvent === 'function') {\n    const callback = integration.processEvent.bind(integration) ;\n\n    const processor = Object.assign((event, hint) => callback(event, hint, client), {\n      id: integration.name,\n    });\n\n    client.addEventProcessor(processor);\n  }\n\n  DEBUG_BUILD && debug.log(`Integration installed: ${integration.name}`);\n}\n\n/** Add an integration to the current scope's client. */\nfunction addIntegration(integration) {\n  const client = getClient();\n\n  if (!client) {\n    DEBUG_BUILD && debug.warn(`Cannot add integration \"${integration.name}\" because no SDK Client is available.`);\n    return;\n  }\n\n  client.addIntegration(integration);\n}\n\n/**\n * Define an integration function that can be used to create an integration instance.\n * Note that this by design hides the implementation details of the integration, as they are considered internal.\n */\nfunction defineIntegration(fn) {\n  return fn;\n}\n\nexport { addIntegration, afterSetupIntegrations, defineIntegration, getIntegrationsToSetup, installedIntegrations, setupIntegration, setupIntegrations };\n//# sourceMappingURL=integration.js.map\n","import { createEnvelope } from './envelope.js';\nimport { dateTimestampInSeconds } from './time.js';\n\n/**\n * Creates client report envelope\n * @param discarded_events An array of discard events\n * @param dsn A DSN that can be set on the header. Optional.\n */\nfunction createClientReportEnvelope(\n  discarded_events,\n  dsn,\n  timestamp,\n) {\n  const clientReportItem = [\n    { type: 'client_report' },\n    {\n      timestamp: timestamp || dateTimestampInSeconds(),\n      discarded_events,\n    },\n  ];\n  return createEnvelope(dsn ? { dsn } : {}, [clientReportItem]);\n}\n\nexport { createClientReportEnvelope };\n//# sourceMappingURL=clientreport.js.map\n","/**\n * Get a list of possible event messages from a Sentry event.\n */\nfunction getPossibleEventMessages(event) {\n  const possibleMessages = [];\n\n  if (event.message) {\n    possibleMessages.push(event.message);\n  }\n\n  try {\n    // @ts-expect-error Try catching to save bundle size\n    const lastException = event.exception.values[event.exception.values.length - 1];\n    if (lastException?.value) {\n      possibleMessages.push(lastException.value);\n      if (lastException.type) {\n        possibleMessages.push(`${lastException.type}: ${lastException.value}`);\n      }\n    }\n  } catch {\n    // ignore errors here\n  }\n\n  return possibleMessages;\n}\n\nexport { getPossibleEventMessages };\n//# sourceMappingURL=eventUtils.js.map\n","import { SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_PROFILE_ID } from '../semanticAttributes.js';\n\n/**\n * Converts a transaction event to a span JSON object.\n */\nfunction convertTransactionEventToSpanJson(event) {\n  const { trace_id, parent_span_id, span_id, status, origin, data, op } = event.contexts?.trace ?? {};\n\n  return {\n    data: data ?? {},\n    description: event.transaction,\n    op,\n    parent_span_id,\n    span_id: span_id ?? '',\n    start_timestamp: event.start_timestamp ?? 0,\n    status,\n    timestamp: event.timestamp,\n    trace_id: trace_id ?? '',\n    origin,\n    profile_id: data?.[SEMANTIC_ATTRIBUTE_PROFILE_ID] ,\n    exclusive_time: data?.[SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME] ,\n    measurements: event.measurements,\n    is_segment: true,\n  };\n}\n\n/**\n * Converts a span JSON object to a transaction event.\n */\nfunction convertSpanJsonToTransactionEvent(span) {\n  return {\n    type: 'transaction',\n    timestamp: span.timestamp,\n    start_timestamp: span.start_timestamp,\n    transaction: span.description,\n    contexts: {\n      trace: {\n        trace_id: span.trace_id,\n        span_id: span.span_id,\n        parent_span_id: span.parent_span_id,\n        op: span.op,\n        status: span.status,\n        origin: span.origin,\n        data: {\n          ...span.data,\n          ...(span.profile_id && { [SEMANTIC_ATTRIBUTE_PROFILE_ID]: span.profile_id }),\n          ...(span.exclusive_time && { [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: span.exclusive_time }),\n        },\n      },\n    },\n    measurements: span.measurements,\n  };\n}\n\nexport { convertSpanJsonToTransactionEvent, convertTransactionEventToSpanJson };\n//# sourceMappingURL=transactionEvent.js.map\n","import { getEnvelopeEndpointWithUrlEncodedAuth } from './api.js';\nimport { DEFAULT_ENVIRONMENT } from './constants.js';\nimport { getTraceContextFromScope, getCurrentScope, getIsolationScope, withScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { createEventEnvelope, createSessionEnvelope } from './envelope.js';\nimport { setupIntegration, afterSetupIntegrations, setupIntegrations } from './integration.js';\nimport { updateSession } from './session.js';\nimport { getDynamicSamplingContextFromScope, getDynamicSamplingContextFromSpan } from './tracing/dynamicSamplingContext.js';\nimport { createClientReportEnvelope } from './utils/clientreport.js';\nimport { debug } from './utils/debug-logger.js';\nimport { makeDsn, dsnToString } from './utils/dsn.js';\nimport { addItemToEnvelope, createAttachmentEnvelopeItem } from './utils/envelope.js';\nimport { getPossibleEventMessages } from './utils/eventUtils.js';\nimport { isPrimitive, isParameterizedString, isThenable, isPlainObject } from './utils/is.js';\nimport { merge } from './utils/merge.js';\nimport { uuid4, checkOrSetAlreadyCaught } from './utils/misc.js';\nimport { parseSampleRate } from './utils/parseSampleRate.js';\nimport { prepareEvent } from './utils/prepareEvent.js';\nimport { shouldIgnoreSpan, reparentChildSpans } from './utils/should-ignore-span.js';\nimport { showSpanDropWarning, getActiveSpan, spanToTraceContext } from './utils/spanUtils.js';\nimport { resolvedSyncPromise, SyncPromise, rejectedSyncPromise } from './utils/syncpromise.js';\nimport { convertTransactionEventToSpanJson, convertSpanJsonToTransactionEvent } from './utils/transactionEvent.js';\n\n/* eslint-disable max-lines */\n\nconst ALREADY_SEEN_ERROR = \"Not capturing exception because it's already been captured.\";\nconst MISSING_RELEASE_FOR_SESSION_ERROR = 'Discarded session because of missing or non-string release';\n\nconst INTERNAL_ERROR_SYMBOL = Symbol.for('SentryInternalError');\nconst DO_NOT_SEND_EVENT_SYMBOL = Symbol.for('SentryDoNotSendEventError');\n\nfunction _makeInternalError(message) {\n  return {\n    message,\n    [INTERNAL_ERROR_SYMBOL]: true,\n  };\n}\n\nfunction _makeDoNotSendEventError(message) {\n  return {\n    message,\n    [DO_NOT_SEND_EVENT_SYMBOL]: true,\n  };\n}\n\nfunction _isInternalError(error) {\n  return !!error && typeof error === 'object' && INTERNAL_ERROR_SYMBOL in error;\n}\n\nfunction _isDoNotSendEventError(error) {\n  return !!error && typeof error === 'object' && DO_NOT_SEND_EVENT_SYMBOL in error;\n}\n\n/**\n * Base implementation for all JavaScript SDK clients.\n *\n * Call the constructor with the corresponding options\n * specific to the client subclass. To access these options later, use\n * {@link Client.getOptions}.\n *\n * If a Dsn is specified in the options, it will be parsed and stored. Use\n * {@link Client.getDsn} to retrieve the Dsn at any moment. In case the Dsn is\n * invalid, the constructor will throw a {@link SentryException}. Note that\n * without a valid Dsn, the SDK will not send any events to Sentry.\n *\n * Before sending an event, it is passed through\n * {@link Client._prepareEvent} to add SDK information and scope data\n * (breadcrumbs and context). To add more custom information, override this\n * method and extend the resulting prepared event.\n *\n * To issue automatically created events (e.g. via instrumentation), use\n * {@link Client.captureEvent}. It will prepare the event and pass it through\n * the callback lifecycle. To issue auto-breadcrumbs, use\n * {@link Client.addBreadcrumb}.\n *\n * @example\n * class NodeClient extends Client<NodeOptions> {\n *   public constructor(options: NodeOptions) {\n *     super(options);\n *   }\n *\n *   // ...\n * }\n */\nclass Client {\n  /** Options passed to the SDK. */\n\n  /** The client Dsn, if specified in options. Without this Dsn, the SDK will be disabled. */\n\n  /** Array of set up integrations. */\n\n  /** Number of calls being processed */\n\n  /** Holds flushable  */\n\n  // eslint-disable-next-line @typescript-eslint/ban-types\n\n  /**\n   * Initializes this client instance.\n   *\n   * @param options Options for the client.\n   */\n   constructor(options) {\n    this._options = options;\n    this._integrations = {};\n    this._numProcessing = 0;\n    this._outcomes = {};\n    this._hooks = {};\n    this._eventProcessors = [];\n\n    if (options.dsn) {\n      this._dsn = makeDsn(options.dsn);\n    } else {\n      DEBUG_BUILD && debug.warn('No DSN provided, client will not send events.');\n    }\n\n    if (this._dsn) {\n      const url = getEnvelopeEndpointWithUrlEncodedAuth(\n        this._dsn,\n        options.tunnel,\n        options._metadata ? options._metadata.sdk : undefined,\n      );\n      this._transport = options.transport({\n        tunnel: this._options.tunnel,\n        recordDroppedEvent: this.recordDroppedEvent.bind(this),\n        ...options.transportOptions,\n        url,\n      });\n    }\n  }\n\n  /**\n   * Captures an exception event and sends it to Sentry.\n   *\n   * Unlike `captureException` exported from every SDK, this method requires that you pass it the current scope.\n   */\n   captureException(exception, hint, scope) {\n    const eventId = uuid4();\n\n    // ensure we haven't captured this very object before\n    if (checkOrSetAlreadyCaught(exception)) {\n      DEBUG_BUILD && debug.log(ALREADY_SEEN_ERROR);\n      return eventId;\n    }\n\n    const hintWithEventId = {\n      event_id: eventId,\n      ...hint,\n    };\n\n    this._process(\n      this.eventFromException(exception, hintWithEventId).then(event =>\n        this._captureEvent(event, hintWithEventId, scope),\n      ),\n    );\n\n    return hintWithEventId.event_id;\n  }\n\n  /**\n   * Captures a message event and sends it to Sentry.\n   *\n   * Unlike `captureMessage` exported from every SDK, this method requires that you pass it the current scope.\n   */\n   captureMessage(\n    message,\n    level,\n    hint,\n    currentScope,\n  ) {\n    const hintWithEventId = {\n      event_id: uuid4(),\n      ...hint,\n    };\n\n    const eventMessage = isParameterizedString(message) ? message : String(message);\n\n    const promisedEvent = isPrimitive(message)\n      ? this.eventFromMessage(eventMessage, level, hintWithEventId)\n      : this.eventFromException(message, hintWithEventId);\n\n    this._process(promisedEvent.then(event => this._captureEvent(event, hintWithEventId, currentScope)));\n\n    return hintWithEventId.event_id;\n  }\n\n  /**\n   * Captures a manually created event and sends it to Sentry.\n   *\n   * Unlike `captureEvent` exported from every SDK, this method requires that you pass it the current scope.\n   */\n   captureEvent(event, hint, currentScope) {\n    const eventId = uuid4();\n\n    // ensure we haven't captured this very object before\n    if (hint?.originalException && checkOrSetAlreadyCaught(hint.originalException)) {\n      DEBUG_BUILD && debug.log(ALREADY_SEEN_ERROR);\n      return eventId;\n    }\n\n    const hintWithEventId = {\n      event_id: eventId,\n      ...hint,\n    };\n\n    const sdkProcessingMetadata = event.sdkProcessingMetadata || {};\n    const capturedSpanScope = sdkProcessingMetadata.capturedSpanScope;\n    const capturedSpanIsolationScope = sdkProcessingMetadata.capturedSpanIsolationScope;\n\n    this._process(\n      this._captureEvent(event, hintWithEventId, capturedSpanScope || currentScope, capturedSpanIsolationScope),\n    );\n\n    return hintWithEventId.event_id;\n  }\n\n  /**\n   * Captures a session.\n   */\n   captureSession(session) {\n    this.sendSession(session);\n    // After sending, we set init false to indicate it's not the first occurrence\n    updateSession(session, { init: false });\n  }\n\n  /**\n   * Create a cron monitor check in and send it to Sentry. This method is not available on all clients.\n   *\n   * @param checkIn An object that describes a check in.\n   * @param upsertMonitorConfig An optional object that describes a monitor config. Use this if you want\n   * to create a monitor automatically when sending a check in.\n   * @param scope An optional scope containing event metadata.\n   * @returns A string representing the id of the check in.\n   */\n\n  /**\n   * Get the current Dsn.\n   */\n   getDsn() {\n    return this._dsn;\n  }\n\n  /**\n   * Get the current options.\n   */\n   getOptions() {\n    return this._options;\n  }\n\n  /**\n   * Get the SDK metadata.\n   * @see SdkMetadata\n   */\n   getSdkMetadata() {\n    return this._options._metadata;\n  }\n\n  /**\n   * Returns the transport that is used by the client.\n   * Please note that the transport gets lazy initialized so it will only be there once the first event has been sent.\n   */\n   getTransport() {\n    return this._transport;\n  }\n\n  /**\n   * Wait for all events to be sent or the timeout to expire, whichever comes first.\n   *\n   * @param timeout Maximum time in ms the client should wait for events to be flushed. Omitting this parameter will\n   *   cause the client to wait until all events are sent before resolving the promise.\n   * @returns A promise that will resolve with `true` if all events are sent before the timeout, or `false` if there are\n   * still events in the queue when the timeout is reached.\n   */\n   flush(timeout) {\n    const transport = this._transport;\n    if (transport) {\n      this.emit('flush');\n      return this._isClientDoneProcessing(timeout).then(clientFinished => {\n        return transport.flush(timeout).then(transportFlushed => clientFinished && transportFlushed);\n      });\n    } else {\n      return resolvedSyncPromise(true);\n    }\n  }\n\n  /**\n   * Flush the event queue and set the client to `enabled = false`. See {@link Client.flush}.\n   *\n   * @param {number} timeout Maximum time in ms the client should wait before shutting down. Omitting this parameter will cause\n   *   the client to wait until all events are sent before disabling itself.\n   * @returns {Promise<boolean>} A promise which resolves to `true` if the flush completes successfully before the timeout, or `false` if\n   * it doesn't.\n   */\n   close(timeout) {\n    return this.flush(timeout).then(result => {\n      this.getOptions().enabled = false;\n      this.emit('close');\n      return result;\n    });\n  }\n\n  /**\n   * Get all installed event processors.\n   */\n   getEventProcessors() {\n    return this._eventProcessors;\n  }\n\n  /**\n   * Adds an event processor that applies to any event processed by this client.\n   */\n   addEventProcessor(eventProcessor) {\n    this._eventProcessors.push(eventProcessor);\n  }\n\n  /**\n   * Initialize this client.\n   * Call this after the client was set on a scope.\n   */\n   init() {\n    if (\n      this._isEnabled() ||\n      // Force integrations to be setup even if no DSN was set when we have\n      // Spotlight enabled. This is particularly important for browser as we\n      // don't support the `spotlight` option there and rely on the users\n      // adding the `spotlightBrowserIntegration()` to their integrations which\n      // wouldn't get initialized with the check below when there's no DSN set.\n      this._options.integrations.some(({ name }) => name.startsWith('Spotlight'))\n    ) {\n      this._setupIntegrations();\n    }\n  }\n\n  /**\n   * Gets an installed integration by its name.\n   *\n   * @returns {Integration|undefined} The installed integration or `undefined` if no integration with that `name` was installed.\n   */\n   getIntegrationByName(integrationName) {\n    return this._integrations[integrationName] ;\n  }\n\n  /**\n   * Add an integration to the client.\n   * This can be used to e.g. lazy load integrations.\n   * In most cases, this should not be necessary,\n   * and you're better off just passing the integrations via `integrations: []` at initialization time.\n   * However, if you find the need to conditionally load & add an integration, you can use `addIntegration` to do so.\n   */\n   addIntegration(integration) {\n    const isAlreadyInstalled = this._integrations[integration.name];\n\n    // This hook takes care of only installing if not already installed\n    setupIntegration(this, integration, this._integrations);\n    // Here we need to check manually to make sure to not run this multiple times\n    if (!isAlreadyInstalled) {\n      afterSetupIntegrations(this, [integration]);\n    }\n  }\n\n  /**\n   * Send a fully prepared event to Sentry.\n   */\n   sendEvent(event, hint = {}) {\n    this.emit('beforeSendEvent', event, hint);\n\n    let env = createEventEnvelope(event, this._dsn, this._options._metadata, this._options.tunnel);\n\n    for (const attachment of hint.attachments || []) {\n      env = addItemToEnvelope(env, createAttachmentEnvelopeItem(attachment));\n    }\n\n    const promise = this.sendEnvelope(env);\n    if (promise) {\n      promise.then(sendResponse => this.emit('afterSendEvent', event, sendResponse), null);\n    }\n  }\n\n  /**\n   * Send a session or session aggregrates to Sentry.\n   */\n   sendSession(session) {\n    // Backfill release and environment on session\n    const { release: clientReleaseOption, environment: clientEnvironmentOption = DEFAULT_ENVIRONMENT } = this._options;\n    if ('aggregates' in session) {\n      const sessionAttrs = session.attrs || {};\n      if (!sessionAttrs.release && !clientReleaseOption) {\n        DEBUG_BUILD && debug.warn(MISSING_RELEASE_FOR_SESSION_ERROR);\n        return;\n      }\n      sessionAttrs.release = sessionAttrs.release || clientReleaseOption;\n      sessionAttrs.environment = sessionAttrs.environment || clientEnvironmentOption;\n      session.attrs = sessionAttrs;\n    } else {\n      if (!session.release && !clientReleaseOption) {\n        DEBUG_BUILD && debug.warn(MISSING_RELEASE_FOR_SESSION_ERROR);\n        return;\n      }\n      session.release = session.release || clientReleaseOption;\n      session.environment = session.environment || clientEnvironmentOption;\n    }\n\n    this.emit('beforeSendSession', session);\n\n    const env = createSessionEnvelope(session, this._dsn, this._options._metadata, this._options.tunnel);\n\n    // sendEnvelope should not throw\n    // eslint-disable-next-line @typescript-eslint/no-floating-promises\n    this.sendEnvelope(env);\n  }\n\n  /**\n   * Record on the client that an event got dropped (ie, an event that will not be sent to Sentry).\n   */\n   recordDroppedEvent(reason, category, count = 1) {\n    if (this._options.sendClientReports) {\n      // We want to track each category (error, transaction, session, replay_event) separately\n      // but still keep the distinction between different type of outcomes.\n      // We could use nested maps, but it's much easier to read and type this way.\n      // A correct type for map-based implementation if we want to go that route\n      // would be `Partial<Record<SentryRequestType, Partial<Record<Outcome, number>>>>`\n      // With typescript 4.1 we could even use template literal types\n      const key = `${reason}:${category}`;\n      DEBUG_BUILD && debug.log(`Recording outcome: \"${key}\"${count > 1 ? ` (${count} times)` : ''}`);\n      this._outcomes[key] = (this._outcomes[key] || 0) + count;\n    }\n  }\n\n  /* eslint-disable @typescript-eslint/unified-signatures */\n  /**\n   * Register a callback for whenever a span is started.\n   * Receives the span as argument.\n   * @returns {() => void} A function that, when executed, removes the registered callback.\n   */\n\n  /**\n   * Register a hook on this client.\n   */\n   on(hook, callback) {\n    const hooks = (this._hooks[hook] = this._hooks[hook] || []);\n\n    // @ts-expect-error We assume the types are correct\n    hooks.push(callback);\n\n    // This function returns a callback execution handler that, when invoked,\n    // deregisters a callback. This is crucial for managing instances where callbacks\n    // need to be unregistered to prevent self-referencing in callback closures,\n    // ensuring proper garbage collection.\n    return () => {\n      // @ts-expect-error We assume the types are correct\n      const cbIndex = hooks.indexOf(callback);\n      if (cbIndex > -1) {\n        hooks.splice(cbIndex, 1);\n      }\n    };\n  }\n\n  /** Fire a hook whenever a span starts. */\n\n  /**\n   * Emit a hook that was previously registered via `on()`.\n   */\n   emit(hook, ...rest) {\n    const callbacks = this._hooks[hook];\n    if (callbacks) {\n      callbacks.forEach(callback => callback(...rest));\n    }\n  }\n\n  /**\n   * Send an envelope to Sentry.\n   */\n   sendEnvelope(envelope) {\n    this.emit('beforeEnvelope', envelope);\n\n    if (this._isEnabled() && this._transport) {\n      return this._transport.send(envelope).then(null, reason => {\n        DEBUG_BUILD && debug.error('Error while sending envelope:', reason);\n        return reason;\n      });\n    }\n\n    DEBUG_BUILD && debug.error('Transport disabled');\n\n    return resolvedSyncPromise({});\n  }\n\n  /* eslint-enable @typescript-eslint/unified-signatures */\n\n  /** Setup integrations for this client. */\n   _setupIntegrations() {\n    const { integrations } = this._options;\n    this._integrations = setupIntegrations(this, integrations);\n    afterSetupIntegrations(this, integrations);\n  }\n\n  /** Updates existing session based on the provided event */\n   _updateSessionFromEvent(session, event) {\n    let crashed = event.level === 'fatal';\n    let errored = false;\n    const exceptions = event.exception?.values;\n\n    if (exceptions) {\n      errored = true;\n\n      for (const ex of exceptions) {\n        const mechanism = ex.mechanism;\n        if (mechanism?.handled === false) {\n          crashed = true;\n          break;\n        }\n      }\n    }\n\n    // A session is updated and that session update is sent in only one of the two following scenarios:\n    // 1. Session with non terminal status and 0 errors + an error occurred -> Will set error count to 1 and send update\n    // 2. Session with non terminal status and 1 error + a crash occurred -> Will set status crashed and send update\n    const sessionNonTerminal = session.status === 'ok';\n    const shouldUpdateAndSend = (sessionNonTerminal && session.errors === 0) || (sessionNonTerminal && crashed);\n\n    if (shouldUpdateAndSend) {\n      updateSession(session, {\n        ...(crashed && { status: 'crashed' }),\n        errors: session.errors || Number(errored || crashed),\n      });\n      this.captureSession(session);\n    }\n  }\n\n  /**\n   * Determine if the client is finished processing. Returns a promise because it will wait `timeout` ms before saying\n   * \"no\" (resolving to `false`) in order to give the client a chance to potentially finish first.\n   *\n   * @param timeout The time, in ms, after which to resolve to `false` if the client is still busy. Passing `0` (or not\n   * passing anything) will make the promise wait as long as it takes for processing to finish before resolving to\n   * `true`.\n   * @returns A promise which will resolve to `true` if processing is already done or finishes before the timeout, and\n   * `false` otherwise\n   */\n   _isClientDoneProcessing(timeout) {\n    return new SyncPromise(resolve => {\n      let ticked = 0;\n      const tick = 1;\n\n      const interval = setInterval(() => {\n        if (this._numProcessing == 0) {\n          clearInterval(interval);\n          resolve(true);\n        } else {\n          ticked += tick;\n          if (timeout && ticked >= timeout) {\n            clearInterval(interval);\n            resolve(false);\n          }\n        }\n      }, tick);\n    });\n  }\n\n  /** Determines whether this SDK is enabled and a transport is present. */\n   _isEnabled() {\n    return this.getOptions().enabled !== false && this._transport !== undefined;\n  }\n\n  /**\n   * Adds common information to events.\n   *\n   * The information includes release and environment from `options`,\n   * breadcrumbs and context (extra, tags and user) from the scope.\n   *\n   * Information that is already present in the event is never overwritten. For\n   * nested objects, such as the context, keys are merged.\n   *\n   * @param event The original event.\n   * @param hint May contain additional information about the original exception.\n   * @param currentScope A scope containing event metadata.\n   * @returns A new event with more information.\n   */\n   _prepareEvent(\n    event,\n    hint,\n    currentScope,\n    isolationScope,\n  ) {\n    const options = this.getOptions();\n    const integrations = Object.keys(this._integrations);\n    if (!hint.integrations && integrations?.length) {\n      hint.integrations = integrations;\n    }\n\n    this.emit('preprocessEvent', event, hint);\n\n    if (!event.type) {\n      isolationScope.setLastEventId(event.event_id || hint.event_id);\n    }\n\n    return prepareEvent(options, event, hint, currentScope, this, isolationScope).then(evt => {\n      if (evt === null) {\n        return evt;\n      }\n\n      this.emit('postprocessEvent', evt, hint);\n\n      evt.contexts = {\n        trace: getTraceContextFromScope(currentScope),\n        ...evt.contexts,\n      };\n\n      const dynamicSamplingContext = getDynamicSamplingContextFromScope(this, currentScope);\n\n      evt.sdkProcessingMetadata = {\n        dynamicSamplingContext,\n        ...evt.sdkProcessingMetadata,\n      };\n\n      return evt;\n    });\n  }\n\n  /**\n   * Processes the event and logs an error in case of rejection\n   * @param event\n   * @param hint\n   * @param scope\n   */\n   _captureEvent(\n    event,\n    hint = {},\n    currentScope = getCurrentScope(),\n    isolationScope = getIsolationScope(),\n  ) {\n    if (DEBUG_BUILD && isErrorEvent(event)) {\n      debug.log(`Captured error event \\`${getPossibleEventMessages(event)[0] || '<unknown>'}\\``);\n    }\n\n    return this._processEvent(event, hint, currentScope, isolationScope).then(\n      finalEvent => {\n        return finalEvent.event_id;\n      },\n      reason => {\n        if (DEBUG_BUILD) {\n          if (_isDoNotSendEventError(reason)) {\n            debug.log(reason.message);\n          } else if (_isInternalError(reason)) {\n            debug.warn(reason.message);\n          } else {\n            debug.warn(reason);\n          }\n        }\n        return undefined;\n      },\n    );\n  }\n\n  /**\n   * Processes an event (either error or message) and sends it to Sentry.\n   *\n   * This also adds breadcrumbs and context information to the event. However,\n   * platform specific meta data (such as the User's IP address) must be added\n   * by the SDK implementor.\n   *\n   *\n   * @param event The event to send to Sentry.\n   * @param hint May contain additional information about the original exception.\n   * @param currentScope A scope containing event metadata.\n   * @returns A SyncPromise that resolves with the event or rejects in case event was/will not be send.\n   */\n   _processEvent(\n    event,\n    hint,\n    currentScope,\n    isolationScope,\n  ) {\n    const options = this.getOptions();\n    const { sampleRate } = options;\n\n    const isTransaction = isTransactionEvent(event);\n    const isError = isErrorEvent(event);\n    const eventType = event.type || 'error';\n    const beforeSendLabel = `before send for type \\`${eventType}\\``;\n\n    // 1.0 === 100% events are sent\n    // 0.0 === 0% events are sent\n    // Sampling for transaction happens somewhere else\n    const parsedSampleRate = typeof sampleRate === 'undefined' ? undefined : parseSampleRate(sampleRate);\n    if (isError && typeof parsedSampleRate === 'number' && Math.random() > parsedSampleRate) {\n      this.recordDroppedEvent('sample_rate', 'error');\n      return rejectedSyncPromise(\n        _makeDoNotSendEventError(\n          `Discarding event because it's not included in the random sample (sampling rate = ${sampleRate})`,\n        ),\n      );\n    }\n\n    const dataCategory = (eventType === 'replay_event' ? 'replay' : eventType) ;\n\n    return this._prepareEvent(event, hint, currentScope, isolationScope)\n      .then(prepared => {\n        if (prepared === null) {\n          this.recordDroppedEvent('event_processor', dataCategory);\n          throw _makeDoNotSendEventError('An event processor returned `null`, will not send event.');\n        }\n\n        const isInternalException = hint.data && (hint.data ).__sentry__ === true;\n        if (isInternalException) {\n          return prepared;\n        }\n\n        const result = processBeforeSend(this, options, prepared, hint);\n        return _validateBeforeSendResult(result, beforeSendLabel);\n      })\n      .then(processedEvent => {\n        if (processedEvent === null) {\n          this.recordDroppedEvent('before_send', dataCategory);\n          if (isTransaction) {\n            const spans = event.spans || [];\n            // the transaction itself counts as one span, plus all the child spans that are added\n            const spanCount = 1 + spans.length;\n            this.recordDroppedEvent('before_send', 'span', spanCount);\n          }\n          throw _makeDoNotSendEventError(`${beforeSendLabel} returned \\`null\\`, will not send event.`);\n        }\n\n        const session = currentScope.getSession() || isolationScope.getSession();\n        if (isError && session) {\n          this._updateSessionFromEvent(session, processedEvent);\n        }\n\n        if (isTransaction) {\n          const spanCountBefore = processedEvent.sdkProcessingMetadata?.spanCountBeforeProcessing || 0;\n          const spanCountAfter = processedEvent.spans ? processedEvent.spans.length : 0;\n\n          const droppedSpanCount = spanCountBefore - spanCountAfter;\n          if (droppedSpanCount > 0) {\n            this.recordDroppedEvent('before_send', 'span', droppedSpanCount);\n          }\n        }\n\n        // None of the Sentry built event processor will update transaction name,\n        // so if the transaction name has been changed by an event processor, we know\n        // it has to come from custom event processor added by a user\n        const transactionInfo = processedEvent.transaction_info;\n        if (isTransaction && transactionInfo && processedEvent.transaction !== event.transaction) {\n          const source = 'custom';\n          processedEvent.transaction_info = {\n            ...transactionInfo,\n            source,\n          };\n        }\n\n        this.sendEvent(processedEvent, hint);\n        return processedEvent;\n      })\n      .then(null, reason => {\n        if (_isDoNotSendEventError(reason) || _isInternalError(reason)) {\n          throw reason;\n        }\n\n        this.captureException(reason, {\n          mechanism: {\n            handled: false,\n            type: 'internal',\n          },\n          data: {\n            __sentry__: true,\n          },\n          originalException: reason,\n        });\n        throw _makeInternalError(\n          `Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.\\nReason: ${reason}`,\n        );\n      });\n  }\n\n  /**\n   * Occupies the client with processing and event\n   */\n   _process(promise) {\n    this._numProcessing++;\n    void promise.then(\n      value => {\n        this._numProcessing--;\n        return value;\n      },\n      reason => {\n        this._numProcessing--;\n        return reason;\n      },\n    );\n  }\n\n  /**\n   * Clears outcomes on this client and returns them.\n   */\n   _clearOutcomes() {\n    const outcomes = this._outcomes;\n    this._outcomes = {};\n    return Object.entries(outcomes).map(([key, quantity]) => {\n      const [reason, category] = key.split(':') ;\n      return {\n        reason,\n        category,\n        quantity,\n      };\n    });\n  }\n\n  /**\n   * Sends client reports as an envelope.\n   */\n   _flushOutcomes() {\n    DEBUG_BUILD && debug.log('Flushing outcomes...');\n\n    const outcomes = this._clearOutcomes();\n\n    if (outcomes.length === 0) {\n      DEBUG_BUILD && debug.log('No outcomes to send');\n      return;\n    }\n\n    // This is really the only place where we want to check for a DSN and only send outcomes then\n    if (!this._dsn) {\n      DEBUG_BUILD && debug.log('No dsn provided, will not send outcomes');\n      return;\n    }\n\n    DEBUG_BUILD && debug.log('Sending outcomes:', outcomes);\n\n    const envelope = createClientReportEnvelope(outcomes, this._options.tunnel && dsnToString(this._dsn));\n\n    // sendEnvelope should not throw\n    // eslint-disable-next-line @typescript-eslint/no-floating-promises\n    this.sendEnvelope(envelope);\n  }\n\n  /**\n   * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n   */\n\n}\n\n/**\n * Verifies that return value of configured `beforeSend` or `beforeSendTransaction` is of expected type, and returns the value if so.\n */\nfunction _validateBeforeSendResult(\n  beforeSendResult,\n  beforeSendLabel,\n) {\n  const invalidValueError = `${beforeSendLabel} must return \\`null\\` or a valid event.`;\n  if (isThenable(beforeSendResult)) {\n    return beforeSendResult.then(\n      event => {\n        if (!isPlainObject(event) && event !== null) {\n          throw _makeInternalError(invalidValueError);\n        }\n        return event;\n      },\n      e => {\n        throw _makeInternalError(`${beforeSendLabel} rejected with ${e}`);\n      },\n    );\n  } else if (!isPlainObject(beforeSendResult) && beforeSendResult !== null) {\n    throw _makeInternalError(invalidValueError);\n  }\n  return beforeSendResult;\n}\n\n/**\n * Process the matching `beforeSendXXX` callback.\n */\nfunction processBeforeSend(\n  client,\n  options,\n  event,\n  hint,\n) {\n  const { beforeSend, beforeSendTransaction, beforeSendSpan, ignoreSpans } = options;\n  let processedEvent = event;\n\n  if (isErrorEvent(processedEvent) && beforeSend) {\n    return beforeSend(processedEvent, hint);\n  }\n\n  if (isTransactionEvent(processedEvent)) {\n    // Avoid processing if we don't have to\n    if (beforeSendSpan || ignoreSpans) {\n      // 1. Process root span\n      const rootSpanJson = convertTransactionEventToSpanJson(processedEvent);\n\n      // 1.1 If the root span should be ignored, drop the whole transaction\n      if (ignoreSpans?.length && shouldIgnoreSpan(rootSpanJson, ignoreSpans)) {\n        // dropping the whole transaction!\n        return null;\n      }\n\n      // 1.2 If a `beforeSendSpan` callback is defined, process the root span\n      if (beforeSendSpan) {\n        const processedRootSpanJson = beforeSendSpan(rootSpanJson);\n        if (!processedRootSpanJson) {\n          showSpanDropWarning();\n        } else {\n          // update event with processed root span values\n          processedEvent = merge(event, convertSpanJsonToTransactionEvent(processedRootSpanJson));\n        }\n      }\n\n      // 2. Process child spans\n      if (processedEvent.spans) {\n        const processedSpans = [];\n\n        const initialSpans = processedEvent.spans;\n\n        for (const span of initialSpans) {\n          // 2.a If the child span should be ignored, reparent it to the root span\n          if (ignoreSpans?.length && shouldIgnoreSpan(span, ignoreSpans)) {\n            reparentChildSpans(initialSpans, span);\n            continue;\n          }\n\n          // 2.b If a `beforeSendSpan` callback is defined, process the child span\n          if (beforeSendSpan) {\n            const processedSpan = beforeSendSpan(span);\n            if (!processedSpan) {\n              showSpanDropWarning();\n              processedSpans.push(span);\n            } else {\n              processedSpans.push(processedSpan);\n            }\n          } else {\n            processedSpans.push(span);\n          }\n        }\n\n        const droppedSpans = processedEvent.spans.length - processedSpans.length;\n        if (droppedSpans) {\n          client.recordDroppedEvent('before_send', 'span', droppedSpans);\n        }\n        processedEvent.spans = processedSpans;\n      }\n    }\n\n    if (beforeSendTransaction) {\n      if (processedEvent.spans) {\n        // We store the # of spans before processing in SDK metadata,\n        // so we can compare it afterwards to determine how many spans were dropped\n        const spanCountBefore = processedEvent.spans.length;\n        processedEvent.sdkProcessingMetadata = {\n          ...event.sdkProcessingMetadata,\n          spanCountBeforeProcessing: spanCountBefore,\n        };\n      }\n      return beforeSendTransaction(processedEvent , hint);\n    }\n  }\n\n  return processedEvent;\n}\n\nfunction isErrorEvent(event) {\n  return event.type === undefined;\n}\n\nfunction isTransactionEvent(event) {\n  return event.type === 'transaction';\n}\n\n/** Extract trace information from scope */\nfunction _getTraceInfoFromScope(\n  client,\n  scope,\n) {\n  if (!scope) {\n    return [undefined, undefined];\n  }\n\n  return withScope(scope, () => {\n    const span = getActiveSpan();\n    const traceContext = span ? spanToTraceContext(span) : getTraceContextFromScope(scope);\n    const dynamicSamplingContext = span\n      ? getDynamicSamplingContextFromSpan(span)\n      : getDynamicSamplingContextFromScope(client, scope);\n    return [dynamicSamplingContext, traceContext];\n  });\n}\n\nexport { Client, _getTraceInfoFromScope };\n//# sourceMappingURL=client.js.map\n","import { dsnToString } from '../utils/dsn.js';\nimport { createEnvelope } from '../utils/envelope.js';\n\n/**\n * Creates a log container envelope item for a list of logs.\n *\n * @param items - The logs to include in the envelope.\n * @returns The created log container envelope item.\n */\nfunction createLogContainerEnvelopeItem(items) {\n  return [\n    {\n      type: 'log',\n      item_count: items.length,\n      content_type: 'application/vnd.sentry.items.log+json',\n    },\n    {\n      items,\n    },\n  ];\n}\n\n/**\n * Creates an envelope for a list of logs.\n *\n * Logs from multiple traces can be included in the same envelope.\n *\n * @param logs - The logs to include in the envelope.\n * @param metadata - The metadata to include in the envelope.\n * @param tunnel - The tunnel to include in the envelope.\n * @param dsn - The DSN to include in the envelope.\n * @returns The created envelope.\n */\nfunction createLogEnvelope(\n  logs,\n  metadata,\n  tunnel,\n  dsn,\n) {\n  const headers = {};\n\n  if (metadata?.sdk) {\n    headers.sdk = {\n      name: metadata.sdk.name,\n      version: metadata.sdk.version,\n    };\n  }\n\n  if (!!tunnel && !!dsn) {\n    headers.dsn = dsnToString(dsn);\n  }\n\n  return createEnvelope(headers, [createLogContainerEnvelopeItem(logs)]);\n}\n\nexport { createLogContainerEnvelopeItem, createLogEnvelope };\n//# sourceMappingURL=envelope.js.map\n","import { getGlobalSingleton } from '../carrier.js';\nimport { _getTraceInfoFromScope } from '../client.js';\nimport { getClient, getCurrentScope, getGlobalScope, getIsolationScope } from '../currentScopes.js';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { mergeScopeData } from '../utils/applyScopeDataToEvent.js';\nimport { debug, consoleSandbox } from '../utils/debug-logger.js';\nimport { isParameterizedString } from '../utils/is.js';\nimport { _getSpanForScope } from '../utils/spanOnScope.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { SEVERITY_TEXT_TO_SEVERITY_NUMBER } from './constants.js';\nimport { createLogEnvelope } from './envelope.js';\n\nconst MAX_LOG_BUFFER_SIZE = 100;\n\n/**\n * Converts a log attribute to a serialized log attribute.\n *\n * @param key - The key of the log attribute.\n * @param value - The value of the log attribute.\n * @returns The serialized log attribute.\n */\nfunction logAttributeToSerializedLogAttribute(value) {\n  switch (typeof value) {\n    case 'number':\n      if (Number.isInteger(value)) {\n        return {\n          value,\n          type: 'integer',\n        };\n      }\n      return {\n        value,\n        type: 'double',\n      };\n    case 'boolean':\n      return {\n        value,\n        type: 'boolean',\n      };\n    case 'string':\n      return {\n        value,\n        type: 'string',\n      };\n    default: {\n      let stringValue = '';\n      try {\n        stringValue = JSON.stringify(value) ?? '';\n      } catch {\n        // Do nothing\n      }\n      return {\n        value: stringValue,\n        type: 'string',\n      };\n    }\n  }\n}\n\n/**\n * Sets a log attribute if the value exists and the attribute key is not already present.\n *\n * @param logAttributes - The log attributes object to modify.\n * @param key - The attribute key to set.\n * @param value - The value to set (only sets if truthy and key not present).\n * @param setEvenIfPresent - Whether to set the attribute if it is present. Defaults to true.\n */\nfunction setLogAttribute(\n  logAttributes,\n  key,\n  value,\n  setEvenIfPresent = true,\n) {\n  if (value && (!logAttributes[key] || setEvenIfPresent)) {\n    logAttributes[key] = value;\n  }\n}\n\n/**\n * Captures a serialized log event and adds it to the log buffer for the given client.\n *\n * @param client - A client. Uses the current client if not provided.\n * @param serializedLog - The serialized log event to capture.\n *\n * @experimental This method will experience breaking changes. This is not yet part of\n * the stable Sentry SDK API and can be changed or removed without warning.\n */\nfunction _INTERNAL_captureSerializedLog(client, serializedLog) {\n  const bufferMap = _getBufferMap();\n\n  const logBuffer = _INTERNAL_getLogBuffer(client);\n  if (logBuffer === undefined) {\n    bufferMap.set(client, [serializedLog]);\n  } else {\n    bufferMap.set(client, [...logBuffer, serializedLog]);\n    if (logBuffer.length >= MAX_LOG_BUFFER_SIZE) {\n      _INTERNAL_flushLogsBuffer(client, logBuffer);\n    }\n  }\n}\n\n/**\n * Captures a log event and sends it to Sentry.\n *\n * @param log - The log event to capture.\n * @param scope - A scope. Uses the current scope if not provided.\n * @param client - A client. Uses the current client if not provided.\n * @param captureSerializedLog - A function to capture the serialized log.\n *\n * @experimental This method will experience breaking changes. This is not yet part of\n * the stable Sentry SDK API and can be changed or removed without warning.\n */\nfunction _INTERNAL_captureLog(\n  beforeLog,\n  client = getClient(),\n  currentScope = getCurrentScope(),\n  captureSerializedLog = _INTERNAL_captureSerializedLog,\n) {\n  if (!client) {\n    DEBUG_BUILD && debug.warn('No client available to capture log.');\n    return;\n  }\n\n  const { release, environment, enableLogs = false, beforeSendLog } = client.getOptions();\n  if (!enableLogs) {\n    DEBUG_BUILD && debug.warn('logging option not enabled, log will not be captured.');\n    return;\n  }\n\n  const [, traceContext] = _getTraceInfoFromScope(client, currentScope);\n\n  const processedLogAttributes = {\n    ...beforeLog.attributes,\n  };\n\n  const {\n    user: { id, email, username },\n  } = getMergedScopeData(currentScope);\n  setLogAttribute(processedLogAttributes, 'user.id', id, false);\n  setLogAttribute(processedLogAttributes, 'user.email', email, false);\n  setLogAttribute(processedLogAttributes, 'user.name', username, false);\n\n  setLogAttribute(processedLogAttributes, 'sentry.release', release);\n  setLogAttribute(processedLogAttributes, 'sentry.environment', environment);\n\n  const { name, version } = client.getSdkMetadata()?.sdk ?? {};\n  setLogAttribute(processedLogAttributes, 'sentry.sdk.name', name);\n  setLogAttribute(processedLogAttributes, 'sentry.sdk.version', version);\n\n  const beforeLogMessage = beforeLog.message;\n  if (isParameterizedString(beforeLogMessage)) {\n    const { __sentry_template_string__, __sentry_template_values__ = [] } = beforeLogMessage;\n    processedLogAttributes['sentry.message.template'] = __sentry_template_string__;\n    __sentry_template_values__.forEach((param, index) => {\n      processedLogAttributes[`sentry.message.parameter.${index}`] = param;\n    });\n  }\n\n  const span = _getSpanForScope(currentScope);\n  // Add the parent span ID to the log attributes for trace context\n  setLogAttribute(processedLogAttributes, 'sentry.trace.parent_span_id', span?.spanContext().spanId);\n\n  const processedLog = { ...beforeLog, attributes: processedLogAttributes };\n\n  client.emit('beforeCaptureLog', processedLog);\n\n  // We need to wrap this in `consoleSandbox` to avoid recursive calls to `beforeSendLog`\n  const log = beforeSendLog ? consoleSandbox(() => beforeSendLog(processedLog)) : processedLog;\n  if (!log) {\n    client.recordDroppedEvent('before_send', 'log_item', 1);\n    DEBUG_BUILD && debug.warn('beforeSendLog returned null, log will not be captured.');\n    return;\n  }\n\n  const { level, message, attributes = {}, severityNumber } = log;\n\n  const serializedLog = {\n    timestamp: timestampInSeconds(),\n    level,\n    body: message,\n    trace_id: traceContext?.trace_id,\n    severity_number: severityNumber ?? SEVERITY_TEXT_TO_SEVERITY_NUMBER[level],\n    attributes: Object.keys(attributes).reduce(\n      (acc, key) => {\n        acc[key] = logAttributeToSerializedLogAttribute(attributes[key]);\n        return acc;\n      },\n      {} ,\n    ),\n  };\n\n  captureSerializedLog(client, serializedLog);\n\n  client.emit('afterCaptureLog', log);\n}\n\n/**\n * Flushes the logs buffer to Sentry.\n *\n * @param client - A client.\n * @param maybeLogBuffer - A log buffer. Uses the log buffer for the given client if not provided.\n *\n * @experimental This method will experience breaking changes. This is not yet part of\n * the stable Sentry SDK API and can be changed or removed without warning.\n */\nfunction _INTERNAL_flushLogsBuffer(client, maybeLogBuffer) {\n  const logBuffer = maybeLogBuffer ?? _INTERNAL_getLogBuffer(client) ?? [];\n  if (logBuffer.length === 0) {\n    return;\n  }\n\n  const clientOptions = client.getOptions();\n  const envelope = createLogEnvelope(logBuffer, clientOptions._metadata, clientOptions.tunnel, client.getDsn());\n\n  // Clear the log buffer after envelopes have been constructed.\n  _getBufferMap().set(client, []);\n\n  client.emit('flushLogs');\n\n  // sendEnvelope should not throw\n  // eslint-disable-next-line @typescript-eslint/no-floating-promises\n  client.sendEnvelope(envelope);\n}\n\n/**\n * Returns the log buffer for a given client.\n *\n * Exported for testing purposes.\n *\n * @param client - The client to get the log buffer for.\n * @returns The log buffer for the given client.\n */\nfunction _INTERNAL_getLogBuffer(client) {\n  return _getBufferMap().get(client);\n}\n\n/**\n * Get the scope data for the current scope after merging with the\n * global scope and isolation scope.\n *\n * @param currentScope - The current scope.\n * @returns The scope data.\n */\nfunction getMergedScopeData(currentScope) {\n  const scopeData = getGlobalScope().getScopeData();\n  mergeScopeData(scopeData, getIsolationScope().getScopeData());\n  mergeScopeData(scopeData, currentScope.getScopeData());\n  return scopeData;\n}\n\nfunction _getBufferMap() {\n  // The reference to the Client <> LogBuffer map is stored on the carrier to ensure it's always the same\n  return getGlobalSingleton('clientToLogBufferMap', () => new WeakMap());\n}\n\nexport { _INTERNAL_captureLog, _INTERNAL_captureSerializedLog, _INTERNAL_flushLogsBuffer, _INTERNAL_getLogBuffer, logAttributeToSerializedLogAttribute };\n//# sourceMappingURL=exports.js.map\n","import { getCurrentScope } from './currentScopes.js';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { debug, consoleSandbox } from './utils/debug-logger.js';\n\n/** A class object that can instantiate Client objects. */\n\n/**\n * Internal function to create a new SDK client instance. The client is\n * installed and then bound to the current scope.\n *\n * @param clientClass The client class to instantiate.\n * @param options Options to pass to the client.\n */\nfunction initAndBind(\n  clientClass,\n  options,\n) {\n  if (options.debug === true) {\n    if (DEBUG_BUILD) {\n      debug.enable();\n    } else {\n      // use `console.warn` rather than `debug.warn` since by non-debug bundles have all `debug.x` statements stripped\n      consoleSandbox(() => {\n        // eslint-disable-next-line no-console\n        console.warn('[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.');\n      });\n    }\n  }\n  const scope = getCurrentScope();\n  scope.update(options.initialScope);\n\n  const client = new clientClass(options);\n  setCurrentClient(client);\n  client.init();\n  return client;\n}\n\n/**\n * Make the given client the current client.\n */\nfunction setCurrentClient(client) {\n  getCurrentScope().setClient(client);\n}\n\nexport { initAndBind, setCurrentClient };\n//# sourceMappingURL=sdk.js.map\n","import { SyncPromise, resolvedSyncPromise, rejectedSyncPromise } from './syncpromise.js';\n\nconst SENTRY_BUFFER_FULL_ERROR = Symbol.for('SentryBufferFullError');\n\n/**\n * Creates an new PromiseBuffer object with the specified limit\n * @param limit max number of promises that can be stored in the buffer\n */\nfunction makePromiseBuffer(limit) {\n  const buffer = [];\n\n  function isReady() {\n    return limit === undefined || buffer.length < limit;\n  }\n\n  /**\n   * Remove a promise from the queue.\n   *\n   * @param task Can be any PromiseLike<T>\n   * @returns Removed promise.\n   */\n  function remove(task) {\n    return buffer.splice(buffer.indexOf(task), 1)[0] || Promise.resolve(undefined);\n  }\n\n  /**\n   * Add a promise (representing an in-flight action) to the queue, and set it to remove itself on fulfillment.\n   *\n   * @param taskProducer A function producing any PromiseLike<T>; In previous versions this used to be `task:\n   *        PromiseLike<T>`, but under that model, Promises were instantly created on the call-site and their executor\n   *        functions therefore ran immediately. Thus, even if the buffer was full, the action still happened. By\n   *        requiring the promise to be wrapped in a function, we can defer promise creation until after the buffer\n   *        limit check.\n   * @returns The original promise.\n   */\n  function add(taskProducer) {\n    if (!isReady()) {\n      return rejectedSyncPromise(SENTRY_BUFFER_FULL_ERROR);\n    }\n\n    // start the task and add its promise to the queue\n    const task = taskProducer();\n    if (buffer.indexOf(task) === -1) {\n      buffer.push(task);\n    }\n    void task\n      .then(() => remove(task))\n      // Use `then(null, rejectionHandler)` rather than `catch(rejectionHandler)` so that we can use `PromiseLike`\n      // rather than `Promise`. `PromiseLike` doesn't have a `.catch` method, making its polyfill smaller. (ES5 didn't\n      // have promises, so TS has to polyfill when down-compiling.)\n      .then(null, () =>\n        remove(task).then(null, () => {\n          // We have to add another catch here because `remove()` starts a new promise chain.\n        }),\n      );\n    return task;\n  }\n\n  /**\n   * Wait for all promises in the queue to resolve or for timeout to expire, whichever comes first.\n   *\n   * @param timeout The time, in ms, after which to resolve to `false` if the queue is still non-empty. Passing `0` (or\n   * not passing anything) will make the promise wait as long as it takes for the queue to drain before resolving to\n   * `true`.\n   * @returns A promise which will resolve to `true` if the queue is already empty or drains before the timeout, and\n   * `false` otherwise\n   */\n  function drain(timeout) {\n    return new SyncPromise((resolve, reject) => {\n      let counter = buffer.length;\n\n      if (!counter) {\n        return resolve(true);\n      }\n\n      // wait for `timeout` ms and then resolve to `false` (if not cancelled first)\n      const capturedSetTimeout = setTimeout(() => {\n        if (timeout && timeout > 0) {\n          resolve(false);\n        }\n      }, timeout);\n\n      // if all promises resolve in time, cancel the timer and resolve to `true`\n      buffer.forEach(item => {\n        void resolvedSyncPromise(item).then(() => {\n          if (!--counter) {\n            clearTimeout(capturedSetTimeout);\n            resolve(true);\n          }\n        }, reject);\n      });\n    });\n  }\n\n  return {\n    $: buffer,\n    add,\n    drain,\n  };\n}\n\nexport { SENTRY_BUFFER_FULL_ERROR, makePromiseBuffer };\n//# sourceMappingURL=promisebuffer.js.map\n","// Intentionally keeping the key broad, as we don't know for sure what rate limit headers get returned from backend\n\nconst DEFAULT_RETRY_AFTER = 60 * 1000; // 60 seconds\n\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param header string representation of 'Retry-After' header\n * @param now current unix timestamp\n *\n */\nfunction parseRetryAfterHeader(header, now = Date.now()) {\n  const headerDelay = parseInt(`${header}`, 10);\n  if (!isNaN(headerDelay)) {\n    return headerDelay * 1000;\n  }\n\n  const headerDate = Date.parse(`${header}`);\n  if (!isNaN(headerDate)) {\n    return headerDate - now;\n  }\n\n  return DEFAULT_RETRY_AFTER;\n}\n\n/**\n * Gets the time that the given category is disabled until for rate limiting.\n * In case no category-specific limit is set but a general rate limit across all categories is active,\n * that time is returned.\n *\n * @return the time in ms that the category is disabled until or 0 if there's no active rate limit.\n */\nfunction disabledUntil(limits, dataCategory) {\n  return limits[dataCategory] || limits.all || 0;\n}\n\n/**\n * Checks if a category is rate limited\n */\nfunction isRateLimited(limits, dataCategory, now = Date.now()) {\n  return disabledUntil(limits, dataCategory) > now;\n}\n\n/**\n * Update ratelimits from incoming headers.\n *\n * @return the updated RateLimits object.\n */\nfunction updateRateLimits(\n  limits,\n  { statusCode, headers },\n  now = Date.now(),\n) {\n  const updatedRateLimits = {\n    ...limits,\n  };\n\n  // \"The name is case-insensitive.\"\n  // https://developer.mozilla.org/en-US/docs/Web/API/Headers/get\n  const rateLimitHeader = headers?.['x-sentry-rate-limits'];\n  const retryAfterHeader = headers?.['retry-after'];\n\n  if (rateLimitHeader) {\n    /**\n     * rate limit headers are of the form\n     *     <header>,<header>,..\n     * where each <header> is of the form\n     *     <retry_after>: <categories>: <scope>: <reason_code>: <namespaces>\n     * where\n     *     <retry_after> is a delay in seconds\n     *     <categories> is the event type(s) (error, transaction, etc) being rate limited and is of the form\n     *         <category>;<category>;...\n     *     <scope> is what's being limited (org, project, or key) - ignored by SDK\n     *     <reason_code> is an arbitrary string like \"org_quota\" - ignored by SDK\n     *     <namespaces> Semicolon-separated list of metric namespace identifiers. Defines which namespace(s) will be affected.\n     *         Only present if rate limit applies to the metric_bucket data category.\n     */\n    for (const limit of rateLimitHeader.trim().split(',')) {\n      const [retryAfter, categories, , , namespaces] = limit.split(':', 5) ;\n      const headerDelay = parseInt(retryAfter, 10);\n      const delay = (!isNaN(headerDelay) ? headerDelay : 60) * 1000; // 60sec default\n      if (!categories) {\n        updatedRateLimits.all = now + delay;\n      } else {\n        for (const category of categories.split(';')) {\n          if (category === 'metric_bucket') {\n            // namespaces will be present when category === 'metric_bucket'\n            if (!namespaces || namespaces.split(';').includes('custom')) {\n              updatedRateLimits[category] = now + delay;\n            }\n          } else {\n            updatedRateLimits[category] = now + delay;\n          }\n        }\n      }\n    }\n  } else if (retryAfterHeader) {\n    updatedRateLimits.all = now + parseRetryAfterHeader(retryAfterHeader, now);\n  } else if (statusCode === 429) {\n    updatedRateLimits.all = now + 60 * 1000;\n  }\n\n  return updatedRateLimits;\n}\n\nexport { DEFAULT_RETRY_AFTER, disabledUntil, isRateLimited, parseRetryAfterHeader, updateRateLimits };\n//# sourceMappingURL=ratelimit.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { forEachEnvelopeItem, envelopeItemTypeToDataCategory, createEnvelope, serializeEnvelope } from '../utils/envelope.js';\nimport { makePromiseBuffer, SENTRY_BUFFER_FULL_ERROR } from '../utils/promisebuffer.js';\nimport { isRateLimited, updateRateLimits } from '../utils/ratelimit.js';\nimport { resolvedSyncPromise } from '../utils/syncpromise.js';\n\nconst DEFAULT_TRANSPORT_BUFFER_SIZE = 64;\n\n/**\n * Creates an instance of a Sentry `Transport`\n *\n * @param options\n * @param makeRequest\n */\nfunction createTransport(\n  options,\n  makeRequest,\n  buffer = makePromiseBuffer(\n    options.bufferSize || DEFAULT_TRANSPORT_BUFFER_SIZE,\n  ),\n) {\n  let rateLimits = {};\n  const flush = (timeout) => buffer.drain(timeout);\n\n  function send(envelope) {\n    const filteredEnvelopeItems = [];\n\n    // Drop rate limited items from envelope\n    forEachEnvelopeItem(envelope, (item, type) => {\n      const dataCategory = envelopeItemTypeToDataCategory(type);\n      if (isRateLimited(rateLimits, dataCategory)) {\n        options.recordDroppedEvent('ratelimit_backoff', dataCategory);\n      } else {\n        filteredEnvelopeItems.push(item);\n      }\n    });\n\n    // Skip sending if envelope is empty after filtering out rate limited events\n    if (filteredEnvelopeItems.length === 0) {\n      return resolvedSyncPromise({});\n    }\n\n    const filteredEnvelope = createEnvelope(envelope[0], filteredEnvelopeItems );\n\n    // Creates client report for each item in an envelope\n    const recordEnvelopeLoss = (reason) => {\n      forEachEnvelopeItem(filteredEnvelope, (item, type) => {\n        options.recordDroppedEvent(reason, envelopeItemTypeToDataCategory(type));\n      });\n    };\n\n    const requestTask = () =>\n      makeRequest({ body: serializeEnvelope(filteredEnvelope) }).then(\n        response => {\n          // We don't want to throw on NOK responses, but we want to at least log them\n          if (response.statusCode !== undefined && (response.statusCode < 200 || response.statusCode >= 300)) {\n            DEBUG_BUILD && debug.warn(`Sentry responded with status code ${response.statusCode} to sent event.`);\n          }\n\n          rateLimits = updateRateLimits(rateLimits, response);\n          return response;\n        },\n        error => {\n          recordEnvelopeLoss('network_error');\n          DEBUG_BUILD && debug.error('Encountered error running transport request:', error);\n          throw error;\n        },\n      );\n\n    return buffer.add(requestTask).then(\n      result => result,\n      error => {\n        if (error === SENTRY_BUFFER_FULL_ERROR) {\n          DEBUG_BUILD && debug.error('Skipped sending event because buffer is full.');\n          recordEnvelopeLoss('queue_overflow');\n          return resolvedSyncPromise({});\n        } else {\n          throw error;\n        }\n      },\n    );\n  }\n\n  return {\n    send,\n    flush,\n  };\n}\n\nexport { DEFAULT_TRANSPORT_BUFFER_SIZE, createTransport };\n//# sourceMappingURL=base.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { envelopeContainsItemType } from '../utils/envelope.js';\nimport { parseRetryAfterHeader } from '../utils/ratelimit.js';\n\nconst MIN_DELAY = 100; // 100 ms\nconst START_DELAY = 5000; // 5 seconds\nconst MAX_DELAY = 3.6e6; // 1 hour\n\n/**\n * Wraps a transport and stores and retries events when they fail to send.\n *\n * @param createTransport The transport to wrap.\n */\nfunction makeOfflineTransport(\n  createTransport,\n) {\n  function log(...args) {\n    DEBUG_BUILD && debug.log('[Offline]:', ...args);\n  }\n\n  return options => {\n    const transport = createTransport(options);\n\n    if (!options.createStore) {\n      throw new Error('No `createStore` function was provided');\n    }\n\n    const store = options.createStore(options);\n\n    let retryDelay = START_DELAY;\n    let flushTimer;\n\n    function shouldQueue(env, error, retryDelay) {\n      // We want to drop client reports because they can be generated when we retry sending events while offline.\n      if (envelopeContainsItemType(env, ['client_report'])) {\n        return false;\n      }\n\n      if (options.shouldStore) {\n        return options.shouldStore(env, error, retryDelay);\n      }\n\n      return true;\n    }\n\n    function flushIn(delay) {\n      if (flushTimer) {\n        clearTimeout(flushTimer );\n      }\n\n      flushTimer = setTimeout(async () => {\n        flushTimer = undefined;\n\n        const found = await store.shift();\n        if (found) {\n          log('Attempting to send previously queued event');\n\n          // We should to update the sent_at timestamp to the current time.\n          found[0].sent_at = new Date().toISOString();\n\n          void send(found, true).catch(e => {\n            log('Failed to retry sending', e);\n          });\n        }\n      }, delay) ;\n\n      // We need to unref the timer in node.js, otherwise the node process never exit.\n      if (typeof flushTimer !== 'number' && flushTimer.unref) {\n        flushTimer.unref();\n      }\n    }\n\n    function flushWithBackOff() {\n      if (flushTimer) {\n        return;\n      }\n\n      flushIn(retryDelay);\n\n      retryDelay = Math.min(retryDelay * 2, MAX_DELAY);\n    }\n\n    async function send(envelope, isRetry = false) {\n      // We queue all replay envelopes to avoid multiple replay envelopes being sent at the same time. If one fails, we\n      // need to retry them in order.\n      if (!isRetry && envelopeContainsItemType(envelope, ['replay_event', 'replay_recording'])) {\n        await store.push(envelope);\n        flushIn(MIN_DELAY);\n        return {};\n      }\n\n      try {\n        if (options.shouldSend && (await options.shouldSend(envelope)) === false) {\n          throw new Error('Envelope not sent because `shouldSend` callback returned false');\n        }\n\n        const result = await transport.send(envelope);\n\n        let delay = MIN_DELAY;\n\n        if (result) {\n          // If there's a retry-after header, use that as the next delay.\n          if (result.headers?.['retry-after']) {\n            delay = parseRetryAfterHeader(result.headers['retry-after']);\n          } else if (result.headers?.['x-sentry-rate-limits']) {\n            delay = 60000; // 60 seconds\n          } // If we have a server error, return now so we don't flush the queue.\n          else if ((result.statusCode || 0) >= 400) {\n            return result;\n          }\n        }\n\n        flushIn(delay);\n        retryDelay = START_DELAY;\n        return result;\n      } catch (e) {\n        if (await shouldQueue(envelope, e , retryDelay)) {\n          // If this envelope was a retry, we want to add it to the front of the queue so it's retried again first.\n          if (isRetry) {\n            await store.unshift(envelope);\n          } else {\n            await store.push(envelope);\n          }\n          flushWithBackOff();\n          log('Error sending. Event queued.', e );\n          return {};\n        } else {\n          throw e;\n        }\n      }\n    }\n\n    if (options.flushAtStartup) {\n      flushWithBackOff();\n    }\n\n    return {\n      send,\n      flush: timeout => {\n        // If there's no timeout, we should attempt to flush the offline queue.\n        if (timeout === undefined) {\n          retryDelay = START_DELAY;\n          flushIn(MIN_DELAY);\n        }\n\n        return transport.flush(timeout);\n      },\n    };\n  };\n}\n\nexport { MIN_DELAY, START_DELAY, makeOfflineTransport };\n//# sourceMappingURL=offline.js.map\n","/**\n * Checks whether given url points to Sentry server\n *\n * @param url url to verify\n */\nfunction isSentryRequestUrl(url, client) {\n  const dsn = client?.getDsn();\n  const tunnel = client?.getOptions().tunnel;\n  return checkDsn(url, dsn) || checkTunnel(url, tunnel);\n}\n\nfunction checkTunnel(url, tunnel) {\n  if (!tunnel) {\n    return false;\n  }\n\n  return removeTrailingSlash(url) === removeTrailingSlash(tunnel);\n}\n\nfunction checkDsn(url, dsn) {\n  return dsn ? url.includes(dsn.host) : false;\n}\n\nfunction removeTrailingSlash(str) {\n  return str[str.length - 1] === '/' ? str.slice(0, -1) : str;\n}\n\nexport { isSentryRequestUrl };\n//# sourceMappingURL=isSentryRequestUrl.js.map\n","// By default, we want to infer the IP address, unless this is explicitly set to `null`\n// We do this after all other processing is done\n// If `ip_address` is explicitly set to `null` or a value, we leave it as is\n\n/**\n * @internal\n * @deprecated -- set ip inferral via via SDK metadata options on client instead.\n */\nfunction addAutoIpAddressToUser(objWithMaybeUser) {\n  if (objWithMaybeUser.user?.ip_address === undefined) {\n    objWithMaybeUser.user = {\n      ...objWithMaybeUser.user,\n      ip_address: '{{auto}}',\n    };\n  }\n}\n\n/**\n * @internal\n */\nfunction addAutoIpAddressToSession(session) {\n  if ('aggregates' in session) {\n    if (session.attrs?.['ip_address'] === undefined) {\n      session.attrs = {\n        ...session.attrs,\n        ip_address: '{{auto}}',\n      };\n    }\n  } else {\n    if (session.ipAddress === undefined) {\n      session.ipAddress = '{{auto}}';\n    }\n  }\n}\n\nexport { addAutoIpAddressToSession, addAutoIpAddressToUser };\n//# sourceMappingURL=ipAddress.js.map\n","import { SDK_VERSION } from './version.js';\n\n/**\n * A builder for the SDK metadata in the options for the SDK initialization.\n *\n * Note: This function is identical to `buildMetadata` in Remix and NextJS and SvelteKit.\n * We don't extract it for bundle size reasons.\n * @see https://github.com/getsentry/sentry-javascript/pull/7404\n * @see https://github.com/getsentry/sentry-javascript/pull/4196\n *\n * If you make changes to this function consider updating the others as well.\n *\n * @param options SDK options object that gets mutated\n * @param names list of package names\n */\nfunction applySdkMetadata(options, name, names = [name], source = 'npm') {\n  const metadata = options._metadata || {};\n\n  if (!metadata.sdk) {\n    metadata.sdk = {\n      name: `sentry.javascript.${name}`,\n      packages: names.map(name => ({\n        name: `${source}:@sentry/${name}`,\n        version: SDK_VERSION,\n      })),\n      version: SDK_VERSION,\n    };\n  }\n\n  options._metadata = metadata;\n}\n\nexport { applySdkMetadata };\n//# sourceMappingURL=sdkMetadata.js.map\n","import { getAsyncContextStrategy } from '../asyncContext/index.js';\nimport { getMainCarrier } from '../carrier.js';\nimport { getClient, getCurrentScope } from '../currentScopes.js';\nimport { isEnabled } from '../exports.js';\nimport { debug } from './debug-logger.js';\nimport { getActiveSpan, spanToTraceHeader } from './spanUtils.js';\nimport { getDynamicSamplingContextFromSpan, getDynamicSamplingContextFromScope } from '../tracing/dynamicSamplingContext.js';\nimport { dynamicSamplingContextToSentryBaggageHeader } from './baggage.js';\nimport { TRACEPARENT_REGEXP, generateSentryTraceHeader } from './tracing.js';\n\n/**\n * Extracts trace propagation data from the current span or from the client's scope (via transaction or propagation\n * context) and serializes it to `sentry-trace` and `baggage` values to strings. These values can be used to propagate\n * a trace via our tracing Http headers or Html `<meta>` tags.\n *\n * This function also applies some validation to the generated sentry-trace and baggage values to ensure that\n * only valid strings are returned.\n *\n * @returns an object with the tracing data values. The object keys are the name of the tracing key to be used as header\n * or meta tag name.\n */\nfunction getTraceData(options = {}) {\n  const client = options.client || getClient();\n  if (!isEnabled() || !client) {\n    return {};\n  }\n\n  const carrier = getMainCarrier();\n  const acs = getAsyncContextStrategy(carrier);\n  if (acs.getTraceData) {\n    return acs.getTraceData(options);\n  }\n\n  const scope = options.scope || getCurrentScope();\n  const span = options.span || getActiveSpan();\n  const sentryTrace = span ? spanToTraceHeader(span) : scopeToTraceHeader(scope);\n  const dsc = span ? getDynamicSamplingContextFromSpan(span) : getDynamicSamplingContextFromScope(client, scope);\n  const baggage = dynamicSamplingContextToSentryBaggageHeader(dsc);\n\n  const isValidSentryTraceHeader = TRACEPARENT_REGEXP.test(sentryTrace);\n  if (!isValidSentryTraceHeader) {\n    debug.warn('Invalid sentry-trace data. Cannot generate trace data');\n    return {};\n  }\n\n  return {\n    'sentry-trace': sentryTrace,\n    baggage,\n  };\n}\n\n/**\n * Get a sentry-trace header value for the given scope.\n */\nfunction scopeToTraceHeader(scope) {\n  const { traceId, sampled, propagationSpanId } = scope.getPropagationContext();\n  return generateSentryTraceHeader(traceId, propagationSpanId, sampled);\n}\n\nexport { getTraceData };\n//# sourceMappingURL=traceData.js.map\n","/**\n * Heavily simplified debounce function based on lodash.debounce.\n *\n * This function takes a callback function (@param fun) and delays its invocation\n * by @param wait milliseconds. Optionally, a maxWait can be specified in @param options,\n * which ensures that the callback is invoked at least once after the specified max. wait time.\n *\n * @param func the function whose invocation is to be debounced\n * @param wait the minimum time until the function is invoked after it was called once\n * @param options the options object, which can contain the `maxWait` property\n *\n * @returns the debounced version of the function, which needs to be called at least once to start the\n *          debouncing process. Subsequent calls will reset the debouncing timer and, in case @paramfunc\n *          was already invoked in the meantime, return @param func's return value.\n *          The debounced function has two additional properties:\n *          - `flush`: Invokes the debounced function immediately and returns its return value\n *          - `cancel`: Cancels the debouncing process and resets the debouncing timer\n */\nfunction debounce(func, wait, options) {\n  let callbackReturnValue;\n\n  let timerId;\n  let maxTimerId;\n\n  const maxWait = options?.maxWait ? Math.max(options.maxWait, wait) : 0;\n  const setTimeoutImpl = options?.setTimeoutImpl || setTimeout;\n\n  function invokeFunc() {\n    cancelTimers();\n    callbackReturnValue = func();\n    return callbackReturnValue;\n  }\n\n  function cancelTimers() {\n    timerId !== undefined && clearTimeout(timerId);\n    maxTimerId !== undefined && clearTimeout(maxTimerId);\n    timerId = maxTimerId = undefined;\n  }\n\n  function flush() {\n    if (timerId !== undefined || maxTimerId !== undefined) {\n      return invokeFunc();\n    }\n    return callbackReturnValue;\n  }\n\n  function debounced() {\n    if (timerId) {\n      clearTimeout(timerId);\n    }\n    timerId = setTimeoutImpl(invokeFunc, wait);\n\n    if (maxWait && maxTimerId === undefined) {\n      maxTimerId = setTimeoutImpl(invokeFunc, maxWait);\n    }\n\n    return callbackReturnValue;\n  }\n\n  debounced.cancel = cancelTimers;\n  debounced.flush = flush;\n  return debounced;\n}\n\nexport { debounce };\n//# sourceMappingURL=debounce.js.map\n","import { getClient, getIsolationScope } from './currentScopes.js';\nimport { consoleSandbox } from './utils/debug-logger.js';\nimport { dateTimestampInSeconds } from './utils/time.js';\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n */\nfunction addBreadcrumb(breadcrumb, hint) {\n  const client = getClient();\n  const isolationScope = getIsolationScope();\n\n  if (!client) return;\n\n  const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } = client.getOptions();\n\n  if (maxBreadcrumbs <= 0) return;\n\n  const timestamp = dateTimestampInSeconds();\n  const mergedBreadcrumb = { timestamp, ...breadcrumb };\n  const finalBreadcrumb = beforeBreadcrumb\n    ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) )\n    : mergedBreadcrumb;\n\n  if (finalBreadcrumb === null) return;\n\n  if (client.emit) {\n    client.emit('beforeAddBreadcrumb', finalBreadcrumb, hint);\n  }\n\n  isolationScope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n}\n\nexport { addBreadcrumb };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { getClient } from '../currentScopes.js';\nimport { defineIntegration } from '../integration.js';\nimport { getOriginalFunction } from '../utils/object.js';\n\nlet originalFunctionToString;\n\nconst INTEGRATION_NAME = 'FunctionToString';\n\nconst SETUP_CLIENTS = new WeakMap();\n\nconst _functionToStringIntegration = (() => {\n  return {\n    name: INTEGRATION_NAME,\n    setupOnce() {\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      originalFunctionToString = Function.prototype.toString;\n\n      // intrinsics (like Function.prototype) might be immutable in some environments\n      // e.g. Node with --frozen-intrinsics, XS (an embedded JavaScript engine) or SES (a JavaScript proposal)\n      try {\n        Function.prototype.toString = function ( ...args) {\n          const originalFunction = getOriginalFunction(this);\n          const context =\n            SETUP_CLIENTS.has(getClient() ) && originalFunction !== undefined ? originalFunction : this;\n          return originalFunctionToString.apply(context, args);\n        };\n      } catch {\n        // ignore errors here, just don't patch this\n      }\n    },\n    setup(client) {\n      SETUP_CLIENTS.set(client, true);\n    },\n  };\n}) ;\n\n/**\n * Patch toString calls to return proper name for wrapped functions.\n *\n * ```js\n * Sentry.init({\n *   integrations: [\n *     functionToStringIntegration(),\n *   ],\n * });\n * ```\n */\nconst functionToStringIntegration = defineIntegration(_functionToStringIntegration);\n\nexport { functionToStringIntegration };\n//# sourceMappingURL=functiontostring.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { defineIntegration } from '../integration.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getPossibleEventMessages } from '../utils/eventUtils.js';\nimport { getEventDescription } from '../utils/misc.js';\nimport { stringMatchesSomePattern } from '../utils/string.js';\n\n// \"Script error.\" is hard coded into browsers for errors that it can't read.\n// this is the result of a script being pulled in from an external domain and CORS.\nconst DEFAULT_IGNORE_ERRORS = [\n  /^Script error\\.?$/,\n  /^Javascript error: Script error\\.? on line 0$/,\n  /^ResizeObserver loop completed with undelivered notifications.$/, // The browser logs this when a ResizeObserver handler takes a bit longer. Usually this is not an actual issue though. It indicates slowness.\n  /^Cannot redefine property: googletag$/, // This is thrown when google tag manager is used in combination with an ad blocker\n  /^Can't find variable: gmo$/, // Error from Google Search App https://issuetracker.google.com/issues/396043331\n  /^undefined is not an object \\(evaluating 'a\\.[A-Z]'\\)$/, // Random error that happens but not actionable or noticeable to end-users.\n  'can\\'t redefine non-configurable property \"solana\"', // Probably a browser extension or custom browser (Brave) throwing this error\n  \"vv().getRestrictions is not a function. (In 'vv().getRestrictions(1,a)', 'vv().getRestrictions' is undefined)\", // Error thrown by GTM, seemingly not affecting end-users\n  \"Can't find variable: _AutofillCallbackHandler\", // Unactionable error in instagram webview https://developers.facebook.com/community/threads/320013549791141/\n  /^Non-Error promise rejection captured with value: Object Not Found Matching Id:\\d+, MethodName:simulateEvent, ParamCount:\\d+$/, // unactionable error from CEFSharp, a .NET library that embeds chromium in .NET apps\n  /^Java exception was raised during method invocation$/, // error from Facebook Mobile browser (https://github.com/getsentry/sentry-javascript/issues/15065)\n];\n\n/** Options for the EventFilters integration */\n\nconst INTEGRATION_NAME = 'EventFilters';\n\n/**\n * An integration that filters out events (errors and transactions) based on:\n *\n * - (Errors) A curated list of known low-value or irrelevant errors (see {@link DEFAULT_IGNORE_ERRORS})\n * - (Errors) A list of error messages or urls/filenames passed in via\n *   - Top level Sentry.init options (`ignoreErrors`, `denyUrls`, `allowUrls`)\n *   - The same options passed to the integration directly via @param options\n * - (Transactions/Spans) A list of root span (transaction) names passed in via\n *   - Top level Sentry.init option (`ignoreTransactions`)\n *   - The same option passed to the integration directly via @param options\n *\n * Events filtered by this integration will not be sent to Sentry.\n */\nconst eventFiltersIntegration = defineIntegration((options = {}) => {\n  let mergedOptions;\n  return {\n    name: INTEGRATION_NAME,\n    setup(client) {\n      const clientOptions = client.getOptions();\n      mergedOptions = _mergeOptions(options, clientOptions);\n    },\n    processEvent(event, _hint, client) {\n      if (!mergedOptions) {\n        const clientOptions = client.getOptions();\n        mergedOptions = _mergeOptions(options, clientOptions);\n      }\n      return _shouldDropEvent(event, mergedOptions) ? null : event;\n    },\n  };\n});\n\n/**\n * An integration that filters out events (errors and transactions) based on:\n *\n * - (Errors) A curated list of known low-value or irrelevant errors (see {@link DEFAULT_IGNORE_ERRORS})\n * - (Errors) A list of error messages or urls/filenames passed in via\n *   - Top level Sentry.init options (`ignoreErrors`, `denyUrls`, `allowUrls`)\n *   - The same options passed to the integration directly via @param options\n * - (Transactions/Spans) A list of root span (transaction) names passed in via\n *   - Top level Sentry.init option (`ignoreTransactions`)\n *   - The same option passed to the integration directly via @param options\n *\n * Events filtered by this integration will not be sent to Sentry.\n *\n * @deprecated this integration was renamed and will be removed in a future major version.\n * Use `eventFiltersIntegration` instead.\n */\nconst inboundFiltersIntegration = defineIntegration(((options = {}) => {\n  return {\n    ...eventFiltersIntegration(options),\n    name: 'InboundFilters',\n  };\n}) );\n\nfunction _mergeOptions(\n  internalOptions = {},\n  clientOptions = {},\n) {\n  return {\n    allowUrls: [...(internalOptions.allowUrls || []), ...(clientOptions.allowUrls || [])],\n    denyUrls: [...(internalOptions.denyUrls || []), ...(clientOptions.denyUrls || [])],\n    ignoreErrors: [\n      ...(internalOptions.ignoreErrors || []),\n      ...(clientOptions.ignoreErrors || []),\n      ...(internalOptions.disableErrorDefaults ? [] : DEFAULT_IGNORE_ERRORS),\n    ],\n    ignoreTransactions: [...(internalOptions.ignoreTransactions || []), ...(clientOptions.ignoreTransactions || [])],\n  };\n}\n\nfunction _shouldDropEvent(event, options) {\n  if (!event.type) {\n    // Filter errors\n    if (_isIgnoredError(event, options.ignoreErrors)) {\n      DEBUG_BUILD &&\n        debug.warn(\n          `Event dropped due to being matched by \\`ignoreErrors\\` option.\\nEvent: ${getEventDescription(event)}`,\n        );\n      return true;\n    }\n    if (_isUselessError(event)) {\n      DEBUG_BUILD &&\n        debug.warn(\n          `Event dropped due to not having an error message, error type or stacktrace.\\nEvent: ${getEventDescription(\n            event,\n          )}`,\n        );\n      return true;\n    }\n    if (_isDeniedUrl(event, options.denyUrls)) {\n      DEBUG_BUILD &&\n        debug.warn(\n          `Event dropped due to being matched by \\`denyUrls\\` option.\\nEvent: ${getEventDescription(\n            event,\n          )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n        );\n      return true;\n    }\n    if (!_isAllowedUrl(event, options.allowUrls)) {\n      DEBUG_BUILD &&\n        debug.warn(\n          `Event dropped due to not being matched by \\`allowUrls\\` option.\\nEvent: ${getEventDescription(\n            event,\n          )}.\\nUrl: ${_getEventFilterUrl(event)}`,\n        );\n      return true;\n    }\n  } else if (event.type === 'transaction') {\n    // Filter transactions\n\n    if (_isIgnoredTransaction(event, options.ignoreTransactions)) {\n      DEBUG_BUILD &&\n        debug.warn(\n          `Event dropped due to being matched by \\`ignoreTransactions\\` option.\\nEvent: ${getEventDescription(event)}`,\n        );\n      return true;\n    }\n  }\n  return false;\n}\n\nfunction _isIgnoredError(event, ignoreErrors) {\n  if (!ignoreErrors?.length) {\n    return false;\n  }\n\n  return getPossibleEventMessages(event).some(message => stringMatchesSomePattern(message, ignoreErrors));\n}\n\nfunction _isIgnoredTransaction(event, ignoreTransactions) {\n  if (!ignoreTransactions?.length) {\n    return false;\n  }\n\n  const name = event.transaction;\n  return name ? stringMatchesSomePattern(name, ignoreTransactions) : false;\n}\n\nfunction _isDeniedUrl(event, denyUrls) {\n  if (!denyUrls?.length) {\n    return false;\n  }\n  const url = _getEventFilterUrl(event);\n  return !url ? false : stringMatchesSomePattern(url, denyUrls);\n}\n\nfunction _isAllowedUrl(event, allowUrls) {\n  if (!allowUrls?.length) {\n    return true;\n  }\n  const url = _getEventFilterUrl(event);\n  return !url ? true : stringMatchesSomePattern(url, allowUrls);\n}\n\nfunction _getLastValidUrl(frames = []) {\n  for (let i = frames.length - 1; i >= 0; i--) {\n    const frame = frames[i];\n\n    if (frame && frame.filename !== '<anonymous>' && frame.filename !== '[native code]') {\n      return frame.filename || null;\n    }\n  }\n\n  return null;\n}\n\nfunction _getEventFilterUrl(event) {\n  try {\n    // If there are linked exceptions or exception aggregates we only want to match against the top frame of the \"root\" (the main exception)\n    // The root always comes last in linked exceptions\n    const rootException = [...(event.exception?.values ?? [])]\n      .reverse()\n      .find(value => value.mechanism?.parent_id === undefined && value.stacktrace?.frames?.length);\n    const frames = rootException?.stacktrace?.frames;\n    return frames ? _getLastValidUrl(frames) : null;\n  } catch {\n    DEBUG_BUILD && debug.error(`Cannot extract url for event ${getEventDescription(event)}`);\n    return null;\n  }\n}\n\nfunction _isUselessError(event) {\n  // We only want to consider events for dropping that actually have recorded exception values.\n  if (!event.exception?.values?.length) {\n    return false;\n  }\n\n  return (\n    // No top-level message\n    !event.message &&\n    // There are no exception values that have a stacktrace, a non-generic-Error type or value\n    !event.exception.values.some(value => value.stacktrace || (value.type && value.type !== 'Error') || value.value)\n  );\n}\n\nexport { eventFiltersIntegration, inboundFiltersIntegration };\n//# sourceMappingURL=eventFilters.js.map\n","import { isInstanceOf } from './is.js';\n\n/**\n * Creates exceptions inside `event.exception.values` for errors that are nested on properties based on the `key` parameter.\n */\nfunction applyAggregateErrorsToEvent(\n  exceptionFromErrorImplementation,\n  parser,\n  key,\n  limit,\n  event,\n  hint,\n) {\n  if (!event.exception?.values || !hint || !isInstanceOf(hint.originalException, Error)) {\n    return;\n  }\n\n  // Generally speaking the last item in `event.exception.values` is the exception originating from the original Error\n  const originalException =\n    event.exception.values.length > 0 ? event.exception.values[event.exception.values.length - 1] : undefined;\n\n  // We only create exception grouping if there is an exception in the event.\n  if (originalException) {\n    event.exception.values = aggregateExceptionsFromError(\n      exceptionFromErrorImplementation,\n      parser,\n      limit,\n      hint.originalException ,\n      key,\n      event.exception.values,\n      originalException,\n      0,\n    );\n  }\n}\n\nfunction aggregateExceptionsFromError(\n  exceptionFromErrorImplementation,\n  parser,\n  limit,\n  error,\n  key,\n  prevExceptions,\n  exception,\n  exceptionId,\n) {\n  if (prevExceptions.length >= limit + 1) {\n    return prevExceptions;\n  }\n\n  let newExceptions = [...prevExceptions];\n\n  // Recursively call this function in order to walk down a chain of errors\n  if (isInstanceOf(error[key], Error)) {\n    applyExceptionGroupFieldsForParentException(exception, exceptionId);\n    const newException = exceptionFromErrorImplementation(parser, error[key]);\n    const newExceptionId = newExceptions.length;\n    applyExceptionGroupFieldsForChildException(newException, key, newExceptionId, exceptionId);\n    newExceptions = aggregateExceptionsFromError(\n      exceptionFromErrorImplementation,\n      parser,\n      limit,\n      error[key],\n      key,\n      [newException, ...newExceptions],\n      newException,\n      newExceptionId,\n    );\n  }\n\n  // This will create exception grouping for AggregateErrors\n  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/AggregateError\n  if (Array.isArray(error.errors)) {\n    error.errors.forEach((childError, i) => {\n      if (isInstanceOf(childError, Error)) {\n        applyExceptionGroupFieldsForParentException(exception, exceptionId);\n        const newException = exceptionFromErrorImplementation(parser, childError);\n        const newExceptionId = newExceptions.length;\n        applyExceptionGroupFieldsForChildException(newException, `errors[${i}]`, newExceptionId, exceptionId);\n        newExceptions = aggregateExceptionsFromError(\n          exceptionFromErrorImplementation,\n          parser,\n          limit,\n          childError,\n          key,\n          [newException, ...newExceptions],\n          newException,\n          newExceptionId,\n        );\n      }\n    });\n  }\n\n  return newExceptions;\n}\n\nfunction applyExceptionGroupFieldsForParentException(exception, exceptionId) {\n  // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n  exception.mechanism = exception.mechanism || { type: 'generic', handled: true };\n\n  exception.mechanism = {\n    ...exception.mechanism,\n    ...(exception.type === 'AggregateError' && { is_exception_group: true }),\n    exception_id: exceptionId,\n  };\n}\n\nfunction applyExceptionGroupFieldsForChildException(\n  exception,\n  source,\n  exceptionId,\n  parentId,\n) {\n  // Don't know if this default makes sense. The protocol requires us to set these values so we pick *some* default.\n  exception.mechanism = exception.mechanism || { type: 'generic', handled: true };\n\n  exception.mechanism = {\n    ...exception.mechanism,\n    type: 'chained',\n    source,\n    exception_id: exceptionId,\n    parent_id: parentId,\n  };\n}\n\nexport { applyAggregateErrorsToEvent };\n//# sourceMappingURL=aggregate-errors.js.map\n","import { CONSOLE_LEVELS, originalConsoleMethods } from '../utils/debug-logger.js';\nimport { fill } from '../utils/object.js';\nimport { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\n/**\n * Add an instrumentation handler for when a console.xxx method is called.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addConsoleInstrumentationHandler(handler) {\n  const type = 'console';\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentConsole);\n}\n\nfunction instrumentConsole() {\n  if (!('console' in GLOBAL_OBJ)) {\n    return;\n  }\n\n  CONSOLE_LEVELS.forEach(function (level) {\n    if (!(level in GLOBAL_OBJ.console)) {\n      return;\n    }\n\n    fill(GLOBAL_OBJ.console, level, function (originalConsoleMethod) {\n      originalConsoleMethods[level] = originalConsoleMethod;\n\n      return function (...args) {\n        const handlerData = { args, level };\n        triggerHandlers('console', handlerData);\n\n        const log = originalConsoleMethods[level];\n        log?.apply(GLOBAL_OBJ.console, args);\n      };\n    });\n  });\n}\n\nexport { addConsoleInstrumentationHandler };\n//# sourceMappingURL=console.js.map\n","/**\n * Converts a string-based level into a `SeverityLevel`, normalizing it along the way.\n *\n * @param level String representation of desired `SeverityLevel`.\n * @returns The `SeverityLevel` corresponding to the given string, or 'log' if the string isn't a valid level.\n */\nfunction severityLevelFromString(level) {\n  return (\n    level === 'warn' ? 'warning' : ['fatal', 'error', 'warning', 'log', 'info', 'debug'].includes(level) ? level : 'log'\n  ) ;\n}\n\nexport { severityLevelFromString };\n//# sourceMappingURL=severity.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { defineIntegration } from '../integration.js';\nimport { debug } from '../utils/debug-logger.js';\nimport { getFramesFromEvent } from '../utils/stacktrace.js';\n\nconst INTEGRATION_NAME = 'Dedupe';\n\nconst _dedupeIntegration = (() => {\n  let previousEvent;\n\n  return {\n    name: INTEGRATION_NAME,\n    processEvent(currentEvent) {\n      // We want to ignore any non-error type events, e.g. transactions or replays\n      // These should never be deduped, and also not be compared against as _previousEvent.\n      if (currentEvent.type) {\n        return currentEvent;\n      }\n\n      // Juuust in case something goes wrong\n      try {\n        if (_shouldDropEvent(currentEvent, previousEvent)) {\n          DEBUG_BUILD && debug.warn('Event dropped due to being a duplicate of previously captured event.');\n          return null;\n        }\n      } catch {} // eslint-disable-line no-empty\n\n      return (previousEvent = currentEvent);\n    },\n  };\n}) ;\n\n/**\n * Deduplication filter.\n */\nconst dedupeIntegration = defineIntegration(_dedupeIntegration);\n\n/** only exported for tests. */\nfunction _shouldDropEvent(currentEvent, previousEvent) {\n  if (!previousEvent) {\n    return false;\n  }\n\n  if (_isSameMessageEvent(currentEvent, previousEvent)) {\n    return true;\n  }\n\n  if (_isSameExceptionEvent(currentEvent, previousEvent)) {\n    return true;\n  }\n\n  return false;\n}\n\nfunction _isSameMessageEvent(currentEvent, previousEvent) {\n  const currentMessage = currentEvent.message;\n  const previousMessage = previousEvent.message;\n\n  // If neither event has a message property, they were both exceptions, so bail out\n  if (!currentMessage && !previousMessage) {\n    return false;\n  }\n\n  // If only one event has a stacktrace, but not the other one, they are not the same\n  if ((currentMessage && !previousMessage) || (!currentMessage && previousMessage)) {\n    return false;\n  }\n\n  if (currentMessage !== previousMessage) {\n    return false;\n  }\n\n  if (!_isSameFingerprint(currentEvent, previousEvent)) {\n    return false;\n  }\n\n  if (!_isSameStacktrace(currentEvent, previousEvent)) {\n    return false;\n  }\n\n  return true;\n}\n\nfunction _isSameExceptionEvent(currentEvent, previousEvent) {\n  const previousException = _getExceptionFromEvent(previousEvent);\n  const currentException = _getExceptionFromEvent(currentEvent);\n\n  if (!previousException || !currentException) {\n    return false;\n  }\n\n  if (previousException.type !== currentException.type || previousException.value !== currentException.value) {\n    return false;\n  }\n\n  if (!_isSameFingerprint(currentEvent, previousEvent)) {\n    return false;\n  }\n\n  if (!_isSameStacktrace(currentEvent, previousEvent)) {\n    return false;\n  }\n\n  return true;\n}\n\nfunction _isSameStacktrace(currentEvent, previousEvent) {\n  let currentFrames = getFramesFromEvent(currentEvent);\n  let previousFrames = getFramesFromEvent(previousEvent);\n\n  // If neither event has a stacktrace, they are assumed to be the same\n  if (!currentFrames && !previousFrames) {\n    return true;\n  }\n\n  // If only one event has a stacktrace, but not the other one, they are not the same\n  if ((currentFrames && !previousFrames) || (!currentFrames && previousFrames)) {\n    return false;\n  }\n\n  currentFrames = currentFrames ;\n  previousFrames = previousFrames ;\n\n  // If number of frames differ, they are not the same\n  if (previousFrames.length !== currentFrames.length) {\n    return false;\n  }\n\n  // Otherwise, compare the two\n  for (let i = 0; i < previousFrames.length; i++) {\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    const frameA = previousFrames[i];\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    const frameB = currentFrames[i];\n\n    if (\n      frameA.filename !== frameB.filename ||\n      frameA.lineno !== frameB.lineno ||\n      frameA.colno !== frameB.colno ||\n      frameA.function !== frameB.function\n    ) {\n      return false;\n    }\n  }\n\n  return true;\n}\n\nfunction _isSameFingerprint(currentEvent, previousEvent) {\n  let currentFingerprint = currentEvent.fingerprint;\n  let previousFingerprint = previousEvent.fingerprint;\n\n  // If neither event has a fingerprint, they are assumed to be the same\n  if (!currentFingerprint && !previousFingerprint) {\n    return true;\n  }\n\n  // If only one event has a fingerprint, but not the other one, they are not the same\n  if ((currentFingerprint && !previousFingerprint) || (!currentFingerprint && previousFingerprint)) {\n    return false;\n  }\n\n  currentFingerprint = currentFingerprint ;\n  previousFingerprint = previousFingerprint ;\n\n  // Otherwise, compare the two\n  try {\n    return !!(currentFingerprint.join('') === previousFingerprint.join(''));\n  } catch {\n    return false;\n  }\n}\n\nfunction _getExceptionFromEvent(event) {\n  return event.exception?.values?.[0];\n}\n\nexport { _shouldDropEvent, dedupeIntegration };\n//# sourceMappingURL=dedupe.js.map\n","import { SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD, SEMANTIC_ATTRIBUTE_URL_FULL, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '../semanticAttributes.js';\n\n// Curious about `thismessage:/`? See: https://www.rfc-editor.org/rfc/rfc2557.html\n//  > When the methods above do not yield an absolute URI, a base URL\n//  > of \"thismessage:/\" MUST be employed. This base URL has been\n//  > defined for the sole purpose of resolving relative references\n//  > within a multipart/related structure when no other base URI is\n//  > specified.\n//\n// We need to provide a base URL to `parseStringToURLObject` because the fetch API gives us a\n// relative URL sometimes.\n//\n// This is the only case where we need to provide a base URL to `parseStringToURLObject`\n// because the relative URL is not valid on its own.\nconst DEFAULT_BASE_URL = 'thismessage:/';\n\n/**\n * Checks if the URL object is relative\n *\n * @param url - The URL object to check\n * @returns True if the URL object is relative, false otherwise\n */\nfunction isURLObjectRelative(url) {\n  return 'isRelative' in url;\n}\n\n/**\n * Parses string to a URL object\n *\n * @param url - The URL to parse\n * @returns The parsed URL object or undefined if the URL is invalid\n */\nfunction parseStringToURLObject(url, urlBase) {\n  const isRelative = url.indexOf('://') <= 0 && url.indexOf('//') !== 0;\n  const base = urlBase ?? (isRelative ? DEFAULT_BASE_URL : undefined);\n  try {\n    // Use `canParse` to short-circuit the URL constructor if it's not a valid URL\n    // This is faster than trying to construct the URL and catching the error\n    // Node 20+, Chrome 120+, Firefox 115+, Safari 17+\n    if ('canParse' in URL && !(URL ).canParse(url, base)) {\n      return undefined;\n    }\n\n    const fullUrlObject = new URL(url, base);\n    if (isRelative) {\n      // Because we used a fake base URL, we need to return a relative URL object.\n      // We cannot return anything about the origin, host, etc. because it will refer to the fake base URL.\n      return {\n        isRelative,\n        pathname: fullUrlObject.pathname,\n        search: fullUrlObject.search,\n        hash: fullUrlObject.hash,\n      };\n    }\n    return fullUrlObject;\n  } catch {\n    // empty body\n  }\n\n  return undefined;\n}\n\n/**\n * Takes a URL object and returns a sanitized string which is safe to use as span name\n * see: https://develop.sentry.dev/sdk/data-handling/#structuring-data\n */\nfunction getSanitizedUrlStringFromUrlObject(url) {\n  if (isURLObjectRelative(url)) {\n    return url.pathname;\n  }\n\n  const newUrl = new URL(url);\n  newUrl.search = '';\n  newUrl.hash = '';\n  if (['80', '443'].includes(newUrl.port)) {\n    newUrl.port = '';\n  }\n  if (newUrl.password) {\n    newUrl.password = '%filtered%';\n  }\n  if (newUrl.username) {\n    newUrl.username = '%filtered%';\n  }\n\n  return newUrl.toString();\n}\n\nfunction getHttpSpanNameFromUrlObject(\n  urlObject,\n  kind,\n  request,\n  routeName,\n) {\n  const method = request?.method?.toUpperCase() ?? 'GET';\n  const route = routeName\n    ? routeName\n    : urlObject\n      ? kind === 'client'\n        ? getSanitizedUrlStringFromUrlObject(urlObject)\n        : urlObject.pathname\n      : '/';\n\n  return `${method} ${route}`;\n}\n\n/**\n * Takes a parsed URL object and returns a set of attributes for the span\n * that represents the HTTP request for that url. This is used for both server\n * and client http spans.\n *\n * Follows https://opentelemetry.io/docs/specs/semconv/http/.\n *\n * @param urlObject - see {@link parseStringToURLObject}\n * @param kind - The type of HTTP operation (server or client)\n * @param spanOrigin - The origin of the span\n * @param request - The request object, see {@link PartialRequest}\n * @param routeName - The name of the route, must be low cardinality\n * @returns The span name and attributes for the HTTP operation\n */\nfunction getHttpSpanDetailsFromUrlObject(\n  urlObject,\n  kind,\n  spanOrigin,\n  request,\n  routeName,\n) {\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: spanOrigin,\n    [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',\n  };\n\n  if (routeName) {\n    // This is based on https://opentelemetry.io/docs/specs/semconv/http/http-spans/#name\n    attributes[kind === 'server' ? 'http.route' : 'url.template'] = routeName;\n    attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = 'route';\n  }\n\n  if (request?.method) {\n    attributes[SEMANTIC_ATTRIBUTE_HTTP_REQUEST_METHOD] = request.method.toUpperCase();\n  }\n\n  if (urlObject) {\n    if (urlObject.search) {\n      attributes['url.query'] = urlObject.search;\n    }\n    if (urlObject.hash) {\n      attributes['url.fragment'] = urlObject.hash;\n    }\n    if (urlObject.pathname) {\n      attributes['url.path'] = urlObject.pathname;\n      if (urlObject.pathname === '/') {\n        attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = 'route';\n      }\n    }\n\n    if (!isURLObjectRelative(urlObject)) {\n      attributes[SEMANTIC_ATTRIBUTE_URL_FULL] = urlObject.href;\n      if (urlObject.port) {\n        attributes['url.port'] = urlObject.port;\n      }\n      if (urlObject.protocol) {\n        attributes['url.scheme'] = urlObject.protocol;\n      }\n      if (urlObject.hostname) {\n        attributes[kind === 'server' ? 'server.address' : 'url.domain'] = urlObject.hostname;\n      }\n    }\n  }\n\n  return [getHttpSpanNameFromUrlObject(urlObject, kind, request, routeName), attributes];\n}\n\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not <a/> href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nfunction parseUrl(url) {\n  if (!url) {\n    return {};\n  }\n\n  const match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n\n  if (!match) {\n    return {};\n  }\n\n  // coerce to undefined values to empty string so we don't get 'undefined'\n  const query = match[6] || '';\n  const fragment = match[8] || '';\n  return {\n    host: match[4],\n    path: match[5],\n    protocol: match[2],\n    search: query,\n    hash: fragment,\n    relative: match[5] + query + fragment, // everything minus origin\n  };\n}\n\n/**\n * Strip the query string and fragment off of a given URL or path (if present)\n *\n * @param urlPath Full URL or path, including possible query string and/or fragment\n * @returns URL or path without query string or fragment\n */\nfunction stripUrlQueryAndFragment(urlPath) {\n  return (urlPath.split(/[?#]/, 1) )[0];\n}\n\n/**\n * Takes a URL object and returns a sanitized string which is safe to use as span name\n * see: https://develop.sentry.dev/sdk/data-handling/#structuring-data\n */\nfunction getSanitizedUrlString(url) {\n  const { protocol, host, path } = url;\n\n  const filteredHost =\n    host\n      // Always filter out authority\n      ?.replace(/^.*@/, '[filtered]:[filtered]@')\n      // Don't show standard :80 (http) and :443 (https) ports to reduce the noise\n      // TODO: Use new URL global if it exists\n      .replace(/(:80)$/, '')\n      .replace(/(:443)$/, '') || '';\n\n  return `${protocol ? `${protocol}://` : ''}${filteredHost}${path}`;\n}\n\nexport { getHttpSpanDetailsFromUrlObject, getSanitizedUrlString, getSanitizedUrlStringFromUrlObject, isURLObjectRelative, parseStringToURLObject, parseUrl, stripUrlQueryAndFragment };\n//# sourceMappingURL=url.js.map\n","import { getClient } from './currentScopes.js';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from './semanticAttributes.js';\nimport { getActiveSpan } from './utils/spanUtils.js';\nimport { setHttpStatus, SPAN_STATUS_ERROR } from './tracing/spanstatus.js';\nimport { isRequest, isInstanceOf } from './utils/is.js';\nimport { hasSpansEnabled } from './utils/hasSpansEnabled.js';\nimport { SENTRY_BAGGAGE_KEY_PREFIX } from './utils/baggage.js';\nimport { SentryNonRecordingSpan } from './tracing/sentryNonRecordingSpan.js';\nimport { startInactiveSpan } from './tracing/trace.js';\nimport { getTraceData } from './utils/traceData.js';\nimport { parseStringToURLObject, getSanitizedUrlStringFromUrlObject, isURLObjectRelative } from './utils/url.js';\n\n/**\n * Create and track fetch request spans for usage in combination with `addFetchInstrumentationHandler`.\n *\n * @returns Span if a span was created, otherwise void.\n */\nfunction instrumentFetchRequest(\n  handlerData,\n  shouldCreateSpan,\n  shouldAttachHeaders,\n  spans,\n  spanOrigin = 'auto.http.browser',\n) {\n  if (!handlerData.fetchData) {\n    return undefined;\n  }\n\n  const { method, url } = handlerData.fetchData;\n\n  const shouldCreateSpanResult = hasSpansEnabled() && shouldCreateSpan(url);\n\n  if (handlerData.endTimestamp && shouldCreateSpanResult) {\n    const spanId = handlerData.fetchData.__span;\n    if (!spanId) return;\n\n    const span = spans[spanId];\n    if (span) {\n      endSpan(span, handlerData);\n\n      // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n      delete spans[spanId];\n    }\n    return undefined;\n  }\n\n  const hasParent = !!getActiveSpan();\n\n  const span =\n    shouldCreateSpanResult && hasParent\n      ? startInactiveSpan(getSpanStartOptions(url, method, spanOrigin))\n      : new SentryNonRecordingSpan();\n\n  handlerData.fetchData.__span = span.spanContext().spanId;\n  spans[span.spanContext().spanId] = span;\n\n  if (shouldAttachHeaders(handlerData.fetchData.url)) {\n    const request = handlerData.args[0];\n\n    const options = handlerData.args[1] || {};\n\n    const headers = _addTracingHeadersToFetchRequest(\n      request,\n      options,\n      // If performance is disabled (TWP) or there's no active root span (pageload/navigation/interaction),\n      // we do not want to use the span as base for the trace headers,\n      // which means that the headers will be generated from the scope and the sampling decision is deferred\n      hasSpansEnabled() && hasParent ? span : undefined,\n    );\n    if (headers) {\n      // Ensure this is actually set, if no options have been passed previously\n      handlerData.args[1] = options;\n      options.headers = headers;\n    }\n  }\n\n  const client = getClient();\n\n  if (client) {\n    const fetchHint = {\n      input: handlerData.args,\n      response: handlerData.response,\n      startTimestamp: handlerData.startTimestamp,\n      endTimestamp: handlerData.endTimestamp,\n    } ;\n\n    client.emit('beforeOutgoingRequestSpan', span, fetchHint);\n  }\n\n  return span;\n}\n\n/**\n * Adds sentry-trace and baggage headers to the various forms of fetch headers.\n * exported only for testing purposes\n *\n * When we determine if we should add a baggage header, there are 3 cases:\n * 1. No previous baggage header -> add baggage\n * 2. Previous baggage header has no sentry baggage values -> add our baggage\n * 3. Previous baggage header has sentry baggage values -> do nothing (might have been added manually by users)\n */\n// eslint-disable-next-line complexity -- yup it's this complicated :(\nfunction _addTracingHeadersToFetchRequest(\n  request,\n  fetchOptionsObj\n\n,\n  span,\n) {\n  const traceHeaders = getTraceData({ span });\n  const sentryTrace = traceHeaders['sentry-trace'];\n  const baggage = traceHeaders.baggage;\n\n  // Nothing to do, when we return undefined here, the original headers will be used\n  if (!sentryTrace) {\n    return undefined;\n  }\n\n  const originalHeaders = fetchOptionsObj.headers || (isRequest(request) ? request.headers : undefined);\n\n  if (!originalHeaders) {\n    return { ...traceHeaders };\n  } else if (isHeaders(originalHeaders)) {\n    const newHeaders = new Headers(originalHeaders);\n\n    // We don't want to override manually added sentry headers\n    if (!newHeaders.get('sentry-trace')) {\n      newHeaders.set('sentry-trace', sentryTrace);\n    }\n\n    if (baggage) {\n      const prevBaggageHeader = newHeaders.get('baggage');\n\n      if (!prevBaggageHeader) {\n        newHeaders.set('baggage', baggage);\n      } else if (!baggageHeaderHasSentryBaggageValues(prevBaggageHeader)) {\n        newHeaders.set('baggage', `${prevBaggageHeader},${baggage}`);\n      }\n    }\n\n    return newHeaders;\n  } else if (Array.isArray(originalHeaders)) {\n    const newHeaders = [...originalHeaders];\n\n    if (!originalHeaders.find(header => header[0] === 'sentry-trace')) {\n      newHeaders.push(['sentry-trace', sentryTrace]);\n    }\n\n    const prevBaggageHeaderWithSentryValues = originalHeaders.find(\n      header => header[0] === 'baggage' && baggageHeaderHasSentryBaggageValues(header[1]),\n    );\n\n    if (baggage && !prevBaggageHeaderWithSentryValues) {\n      // If there are multiple entries with the same key, the browser will merge the values into a single request header.\n      // Its therefore safe to simply push a \"baggage\" entry, even though there might already be another baggage header.\n      newHeaders.push(['baggage', baggage]);\n    }\n\n    return newHeaders ;\n  } else {\n    const existingSentryTraceHeader = 'sentry-trace' in originalHeaders ? originalHeaders['sentry-trace'] : undefined;\n\n    const existingBaggageHeader = 'baggage' in originalHeaders ? originalHeaders.baggage : undefined;\n    const newBaggageHeaders = existingBaggageHeader\n      ? Array.isArray(existingBaggageHeader)\n        ? [...existingBaggageHeader]\n        : [existingBaggageHeader]\n      : [];\n\n    const prevBaggageHeaderWithSentryValues =\n      existingBaggageHeader &&\n      (Array.isArray(existingBaggageHeader)\n        ? existingBaggageHeader.find(headerItem => baggageHeaderHasSentryBaggageValues(headerItem))\n        : baggageHeaderHasSentryBaggageValues(existingBaggageHeader));\n\n    if (baggage && !prevBaggageHeaderWithSentryValues) {\n      newBaggageHeaders.push(baggage);\n    }\n\n    return {\n      ...(originalHeaders ),\n      'sentry-trace': (existingSentryTraceHeader ) ?? sentryTrace,\n      baggage: newBaggageHeaders.length > 0 ? newBaggageHeaders.join(',') : undefined,\n    };\n  }\n}\n\nfunction endSpan(span, handlerData) {\n  if (handlerData.response) {\n    setHttpStatus(span, handlerData.response.status);\n\n    const contentLength = handlerData.response?.headers?.get('content-length');\n\n    if (contentLength) {\n      const contentLengthNum = parseInt(contentLength);\n      if (contentLengthNum > 0) {\n        span.setAttribute('http.response_content_length', contentLengthNum);\n      }\n    }\n  } else if (handlerData.error) {\n    span.setStatus({ code: SPAN_STATUS_ERROR, message: 'internal_error' });\n  }\n  span.end();\n}\n\nfunction baggageHeaderHasSentryBaggageValues(baggageHeader) {\n  return baggageHeader.split(',').some(baggageEntry => baggageEntry.trim().startsWith(SENTRY_BAGGAGE_KEY_PREFIX));\n}\n\nfunction isHeaders(headers) {\n  return typeof Headers !== 'undefined' && isInstanceOf(headers, Headers);\n}\n\nfunction getSpanStartOptions(\n  url,\n  method,\n  spanOrigin,\n) {\n  const parsedUrl = parseStringToURLObject(url);\n  return {\n    name: parsedUrl ? `${method} ${getSanitizedUrlStringFromUrlObject(parsedUrl)}` : method,\n    attributes: getFetchSpanAttributes(url, parsedUrl, method, spanOrigin),\n  };\n}\n\nfunction getFetchSpanAttributes(\n  url,\n  parsedUrl,\n  method,\n  spanOrigin,\n) {\n  const attributes = {\n    url,\n    type: 'fetch',\n    'http.method': method,\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: spanOrigin,\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'http.client',\n  };\n  if (parsedUrl) {\n    if (!isURLObjectRelative(parsedUrl)) {\n      attributes['http.url'] = parsedUrl.href;\n      attributes['server.address'] = parsedUrl.host;\n    }\n    if (parsedUrl.search) {\n      attributes['http.query'] = parsedUrl.search;\n    }\n    if (parsedUrl.hash) {\n      attributes['http.fragment'] = parsedUrl.hash;\n    }\n  }\n  return attributes;\n}\n\nexport { _addTracingHeadersToFetchRequest, instrumentFetchRequest };\n//# sourceMappingURL=fetch.js.map\n","/**\n * Determine a breadcrumb's log level (only `warning` or `error`) based on an HTTP status code.\n */\nfunction getBreadcrumbLogLevelFromHttpStatusCode(statusCode) {\n  // NOTE: undefined defaults to 'info' in Sentry\n  if (statusCode === undefined) {\n    return undefined;\n  } else if (statusCode >= 400 && statusCode < 500) {\n    return 'warning';\n  } else if (statusCode >= 500) {\n    return 'error';\n  } else {\n    return undefined;\n  }\n}\n\nexport { getBreadcrumbLogLevelFromHttpStatusCode };\n//# sourceMappingURL=breadcrumb-log-level.js.map\n","import { DEBUG_BUILD } from '../debug-build.js';\nimport { debug } from './debug-logger.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\nconst WINDOW = GLOBAL_OBJ ;\n\n/**\n * Tells whether current environment supports ErrorEvent objects\n * {@link supportsErrorEvent}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsErrorEvent() {\n  try {\n    new ErrorEvent('');\n    return true;\n  } catch {\n    return false;\n  }\n}\n\n/**\n * Tells whether current environment supports DOMError objects\n * {@link supportsDOMError}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsDOMError() {\n  try {\n    // Chrome: VM89:1 Uncaught TypeError: Failed to construct 'DOMError':\n    // 1 argument required, but only 0 present.\n    // @ts-expect-error It really needs 1 argument, not 0.\n    new DOMError('');\n    return true;\n  } catch {\n    return false;\n  }\n}\n\n/**\n * Tells whether current environment supports DOMException objects\n * {@link supportsDOMException}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsDOMException() {\n  try {\n    new DOMException('');\n    return true;\n  } catch {\n    return false;\n  }\n}\n\n/**\n * Tells whether current environment supports History API\n * {@link supportsHistory}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsHistory() {\n  return 'history' in WINDOW && !!WINDOW.history;\n}\n\n/**\n * Tells whether current environment supports Fetch API\n * {@link supportsFetch}.\n *\n * @returns Answer to the given question.\n * @deprecated This is no longer used and will be removed in a future major version.\n */\nconst supportsFetch = _isFetchSupported;\n\nfunction _isFetchSupported() {\n  if (!('fetch' in WINDOW)) {\n    return false;\n  }\n\n  try {\n    new Headers();\n    new Request('http://www.example.com');\n    new Response();\n    return true;\n  } catch {\n    return false;\n  }\n}\n\n/**\n * isNative checks if the given function is a native implementation\n */\n// eslint-disable-next-line @typescript-eslint/ban-types\nfunction isNativeFunction(func) {\n  return func && /^function\\s+\\w+\\(\\)\\s+\\{\\s+\\[native code\\]\\s+\\}$/.test(func.toString());\n}\n\n/**\n * Tells whether current environment supports Fetch API natively\n * {@link supportsNativeFetch}.\n *\n * @returns true if `window.fetch` is natively implemented, false otherwise\n */\nfunction supportsNativeFetch() {\n  if (typeof EdgeRuntime === 'string') {\n    return true;\n  }\n\n  if (!_isFetchSupported()) {\n    return false;\n  }\n\n  // Fast path to avoid DOM I/O\n  // eslint-disable-next-line @typescript-eslint/unbound-method\n  if (isNativeFunction(WINDOW.fetch)) {\n    return true;\n  }\n\n  // window.fetch is implemented, but is polyfilled or already wrapped (e.g: by a chrome extension)\n  // so create a \"pure\" iframe to see if that has native fetch\n  let result = false;\n  const doc = WINDOW.document;\n  // eslint-disable-next-line deprecation/deprecation\n  if (doc && typeof (doc.createElement ) === 'function') {\n    try {\n      const sandbox = doc.createElement('iframe');\n      sandbox.hidden = true;\n      doc.head.appendChild(sandbox);\n      if (sandbox.contentWindow?.fetch) {\n        // eslint-disable-next-line @typescript-eslint/unbound-method\n        result = isNativeFunction(sandbox.contentWindow.fetch);\n      }\n      doc.head.removeChild(sandbox);\n    } catch (err) {\n      DEBUG_BUILD && debug.warn('Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ', err);\n    }\n  }\n\n  return result;\n}\n\n/**\n * Tells whether current environment supports ReportingObserver API\n * {@link supportsReportingObserver}.\n *\n * @returns Answer to the given question.\n */\nfunction supportsReportingObserver() {\n  return 'ReportingObserver' in WINDOW;\n}\n\n/**\n * Tells whether current environment supports Referrer Policy API\n * {@link supportsReferrerPolicy}.\n *\n * @returns Answer to the given question.\n * @deprecated This is no longer used and will be removed in a future major version.\n */\nfunction supportsReferrerPolicy() {\n  // Despite all stars in the sky saying that Edge supports old draft syntax, aka 'never', 'always', 'origin' and 'default'\n  // (see https://caniuse.com/#feat=referrer-policy),\n  // it doesn't. And it throws an exception instead of ignoring this parameter...\n  // REF: https://github.com/getsentry/raven-js/issues/1233\n\n  if (!_isFetchSupported()) {\n    return false;\n  }\n\n  try {\n    new Request('_', {\n      referrerPolicy: 'origin' ,\n    });\n    return true;\n  } catch {\n    return false;\n  }\n}\n\nexport { isNativeFunction, supportsDOMError, supportsDOMException, supportsErrorEvent, supportsFetch, supportsHistory, supportsNativeFetch, supportsReferrerPolicy, supportsReportingObserver };\n//# sourceMappingURL=supports.js.map\n","import { isError, isRequest } from '../utils/is.js';\nimport { fill, addNonEnumerableProperty } from '../utils/object.js';\nimport { supportsNativeFetch } from '../utils/supports.js';\nimport { timestampInSeconds } from '../utils/time.js';\nimport { GLOBAL_OBJ } from '../utils/worldwide.js';\nimport { addHandler, maybeInstrument, triggerHandlers } from './handlers.js';\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addFetchInstrumentationHandler(\n  handler,\n  skipNativeFetchCheck,\n) {\n  const type = 'fetch';\n  addHandler(type, handler);\n  maybeInstrument(type, () => instrumentFetch(undefined, skipNativeFetchCheck));\n}\n\n/**\n * Add an instrumentation handler for long-lived fetch requests, like consuming server-sent events (SSE) via fetch.\n * The handler will resolve the request body and emit the actual `endTimestamp`, so that the\n * span can be updated accordingly.\n *\n * Only used internally\n * @hidden\n */\nfunction addFetchEndInstrumentationHandler(handler) {\n  const type = 'fetch-body-resolved';\n  addHandler(type, handler);\n  maybeInstrument(type, () => instrumentFetch(streamHandler));\n}\n\nfunction instrumentFetch(onFetchResolved, skipNativeFetchCheck = false) {\n  if (skipNativeFetchCheck && !supportsNativeFetch()) {\n    return;\n  }\n\n  fill(GLOBAL_OBJ, 'fetch', function (originalFetch) {\n    return function (...args) {\n      // We capture the error right here and not in the Promise error callback because Safari (and probably other\n      // browsers too) will wipe the stack trace up to this point, only leaving us with this file which is useless.\n\n      // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n      //       it means the error, that was caused by your fetch call did not\n      //       have a stack trace, so the SDK backfilled the stack trace so\n      //       you can see which fetch call failed.\n      const virtualError = new Error();\n\n      const { method, url } = parseFetchArgs(args);\n      const handlerData = {\n        args,\n        fetchData: {\n          method,\n          url,\n        },\n        startTimestamp: timestampInSeconds() * 1000,\n        // // Adding the error to be able to fingerprint the failed fetch event in HttpClient instrumentation\n        virtualError,\n        headers: getHeadersFromFetchArgs(args),\n      };\n\n      // if there is no callback, fetch is instrumented directly\n      if (!onFetchResolved) {\n        triggerHandlers('fetch', {\n          ...handlerData,\n        });\n      }\n\n      // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n      return originalFetch.apply(GLOBAL_OBJ, args).then(\n        async (response) => {\n          if (onFetchResolved) {\n            onFetchResolved(response);\n          } else {\n            triggerHandlers('fetch', {\n              ...handlerData,\n              endTimestamp: timestampInSeconds() * 1000,\n              response,\n            });\n          }\n\n          return response;\n        },\n        (error) => {\n          triggerHandlers('fetch', {\n            ...handlerData,\n            endTimestamp: timestampInSeconds() * 1000,\n            error,\n          });\n\n          if (isError(error) && error.stack === undefined) {\n            // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n            //       it means the error, that was caused by your fetch call did not\n            //       have a stack trace, so the SDK backfilled the stack trace so\n            //       you can see which fetch call failed.\n            error.stack = virtualError.stack;\n            addNonEnumerableProperty(error, 'framesToPop', 1);\n          }\n\n          // We enhance the not-so-helpful \"Failed to fetch\" error messages with the host\n          // Possible messages we handle here:\n          // * \"Failed to fetch\" (chromium)\n          // * \"Load failed\" (webkit)\n          // * \"NetworkError when attempting to fetch resource.\" (firefox)\n          if (\n            error instanceof TypeError &&\n            (error.message === 'Failed to fetch' ||\n              error.message === 'Load failed' ||\n              error.message === 'NetworkError when attempting to fetch resource.')\n          ) {\n            try {\n              const url = new URL(handlerData.fetchData.url);\n              error.message = `${error.message} (${url.host})`;\n            } catch {\n              // ignore it if errors happen here\n            }\n          }\n\n          // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n          //       it means the sentry.javascript SDK caught an error invoking your application code.\n          //       This is expected behavior and NOT indicative of a bug with sentry.javascript.\n          throw error;\n        },\n      );\n    };\n  });\n}\n\nasync function resolveResponse(res, onFinishedResolving) {\n  if (res?.body) {\n    const body = res.body;\n    const responseReader = body.getReader();\n\n    // Define a maximum duration after which we just cancel\n    const maxFetchDurationTimeout = setTimeout(\n      () => {\n        body.cancel().then(null, () => {\n          // noop\n        });\n      },\n      90 * 1000, // 90s\n    );\n\n    let readingActive = true;\n    while (readingActive) {\n      let chunkTimeout;\n      try {\n        // abort reading if read op takes more than 5s\n        chunkTimeout = setTimeout(() => {\n          body.cancel().then(null, () => {\n            // noop on error\n          });\n        }, 5000);\n\n        // This .read() call will reject/throw when we abort due to timeouts through `body.cancel()`\n        const { done } = await responseReader.read();\n\n        clearTimeout(chunkTimeout);\n\n        if (done) {\n          onFinishedResolving();\n          readingActive = false;\n        }\n      } catch {\n        readingActive = false;\n      } finally {\n        clearTimeout(chunkTimeout);\n      }\n    }\n\n    clearTimeout(maxFetchDurationTimeout);\n\n    responseReader.releaseLock();\n    body.cancel().then(null, () => {\n      // noop on error\n    });\n  }\n}\n\nfunction streamHandler(response) {\n  // clone response for awaiting stream\n  let clonedResponseForResolving;\n  try {\n    clonedResponseForResolving = response.clone();\n  } catch {\n    return;\n  }\n\n  // eslint-disable-next-line @typescript-eslint/no-floating-promises\n  resolveResponse(clonedResponseForResolving, () => {\n    triggerHandlers('fetch-body-resolved', {\n      endTimestamp: timestampInSeconds() * 1000,\n      response,\n    });\n  });\n}\n\nfunction hasProp(obj, prop) {\n  return !!obj && typeof obj === 'object' && !!(obj )[prop];\n}\n\nfunction getUrlFromResource(resource) {\n  if (typeof resource === 'string') {\n    return resource;\n  }\n\n  if (!resource) {\n    return '';\n  }\n\n  if (hasProp(resource, 'url')) {\n    return resource.url;\n  }\n\n  if (resource.toString) {\n    return resource.toString();\n  }\n\n  return '';\n}\n\n/**\n * Parses the fetch arguments to find the used Http method and the url of the request.\n * Exported for tests only.\n */\nfunction parseFetchArgs(fetchArgs) {\n  if (fetchArgs.length === 0) {\n    return { method: 'GET', url: '' };\n  }\n\n  if (fetchArgs.length === 2) {\n    const [url, options] = fetchArgs ;\n\n    return {\n      url: getUrlFromResource(url),\n      method: hasProp(options, 'method') ? String(options.method).toUpperCase() : 'GET',\n    };\n  }\n\n  const arg = fetchArgs[0];\n  return {\n    url: getUrlFromResource(arg ),\n    method: hasProp(arg, 'method') ? String(arg.method).toUpperCase() : 'GET',\n  };\n}\n\nfunction getHeadersFromFetchArgs(fetchArgs) {\n  const [requestArgument, optionsArgument] = fetchArgs;\n\n  try {\n    if (\n      typeof optionsArgument === 'object' &&\n      optionsArgument !== null &&\n      'headers' in optionsArgument &&\n      optionsArgument.headers\n    ) {\n      return new Headers(optionsArgument.headers );\n    }\n\n    if (isRequest(requestArgument)) {\n      return new Headers(requestArgument.headers);\n    }\n  } catch {\n    // noop\n  }\n\n  return;\n}\n\nexport { addFetchEndInstrumentationHandler, addFetchInstrumentationHandler, parseFetchArgs };\n//# sourceMappingURL=fetch.js.map\n","/*\n * This module exists for optimizations in the build process through rollup and terser.  We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `debug` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These flags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nfunction isBrowserBundle() {\n  return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n\n/**\n * Get source of SDK.\n */\nfunction getSDKSource() {\n  // This comment is used to identify this line in the CDN bundle build step and replace this with \"return 'cdn';\"\n  /* __SENTRY_SDK_SOURCE__ */ return 'npm';\n}\n\nexport { getSDKSource, isBrowserBundle };\n//# sourceMappingURL=env.js.map\n","import { isBrowserBundle } from './env.js';\n\n/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the `debug` singleton, or b) put your function elsewhere.\n */\n\n\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nfunction isNodeEnv() {\n  // explicitly check for browser bundles as those can be optimized statically\n  // by terser/rollup.\n  return (\n    !isBrowserBundle() &&\n    Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]'\n  );\n}\n\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction dynamicRequire(mod, request) {\n  // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n  return mod.require(request);\n}\n\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @param existingModule module to use for requiring\n * @returns possibly required module\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction loadModule(moduleName, existingModule = module) {\n  let mod;\n\n  try {\n    mod = dynamicRequire(existingModule, moduleName);\n  } catch {\n    // no-empty\n  }\n\n  if (!mod) {\n    try {\n      const { cwd } = dynamicRequire(existingModule, 'process');\n      mod = dynamicRequire(existingModule, `${cwd()}/node_modules/${moduleName}`) ;\n    } catch {\n      // no-empty\n    }\n  }\n\n  return mod;\n}\n\nexport { isNodeEnv, loadModule };\n//# sourceMappingURL=node.js.map\n","import { isNodeEnv } from './node.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * Returns true if we are in the browser.\n */\nfunction isBrowser() {\n  // eslint-disable-next-line no-restricted-globals\n  return typeof window !== 'undefined' && (!isNodeEnv() || isElectronNodeRenderer());\n}\n\n// Electron renderers with nodeIntegration enabled are detected as Node.js so we specifically test for them\nfunction isElectronNodeRenderer() {\n  const process = (GLOBAL_OBJ ).process;\n  return process?.type === 'renderer';\n}\n\nexport { isBrowser };\n//# sourceMappingURL=isBrowser.js.map\n","/**\n * Format a Sentry timestamp (in seconds) to ISO string.\n * Sentry timestamps are Unix timestamps in seconds, so we multiply by 1000 to convert to milliseconds.\n * Falls back to epoch (1970-01-01T00:00:00.000Z) if timestamp is missing/invalid.\n */\nexport function formatTimestamp(timestamp) {\n    const date = timestamp ? new Date(timestamp * 1000) : new Date(0);\n    return date.toISOString();\n}\n/**\n * Get the duration in milliseconds between two Sentry timestamps.\n * Accepts timestamps in seconds (as numbers or strings).\n * Returns undefined if either timestamp is missing or invalid.\n */\nexport function getDuration(endTimestamp, startTimestamp) {\n    const end = typeof endTimestamp === \"string\" ? Number.parseFloat(endTimestamp) : endTimestamp;\n    const start = typeof startTimestamp === \"string\" ? Number.parseFloat(startTimestamp) : startTimestamp;\n    if (typeof end === \"number\" && typeof start === \"number\" && !Number.isNaN(end) && !Number.isNaN(start)) {\n        return Math.round((end - start) * 1000);\n    }\n    return undefined;\n}\n/**\n * Map simple fields from source to data object.\n * Only sets fields if the source value is truthy.\n */\nexport function mapFields(source, data, fieldMappings) {\n    for (const [outputKey, sourcePath] of Object.entries(fieldMappings)) {\n        const value = getNestedValue(source, sourcePath);\n        if (value !== undefined && value !== null) {\n            data[outputKey] = value;\n        }\n    }\n}\n/**\n * Map SDK name and version fields\n */\nexport function mapSdkFields(source, data) {\n    if (source.sdk?.name) {\n        data.sdk = source.sdk.name;\n        if (source.sdk.version) {\n            data.sdk_version = source.sdk.version;\n        }\n    }\n}\n/**\n * Map tags directly to data object\n */\nexport function mapTags(source, data) {\n    if (source.tags) {\n        for (const [key, value] of Object.entries(source.tags)) {\n            data[key] = value;\n        }\n    }\n}\n/**\n * Get nested value from object using dot notation path\n */\nfunction getNestedValue(obj, path) {\n    return path.split(\".\").reduce((current, key) => current?.[key], obj);\n}\n","// Language detection mappings\nconst LANGUAGE_EXTENSIONS = {\n    \".java\": \"java\",\n    \".py\": \"python\",\n    \".js\": \"javascript\",\n    \".jsx\": \"javascript\",\n    \".ts\": \"javascript\",\n    \".tsx\": \"javascript\",\n    \".rb\": \"ruby\",\n    \".php\": \"php\",\n};\nconst LANGUAGE_MODULE_PATTERNS = [[/^(java\\.|com\\.|org\\.)/, \"java\"]];\n/**\n * Detects the programming language of a stack frame based on the file extension.\n * Falls back to the platform parameter if no filename is available or extension is unrecognized.\n *\n * @param frame - The stack frame containing file and location information\n * @param platform - Optional platform hint to use as fallback\n * @returns The detected language or platform fallback or \"unknown\"\n */\nfunction detectLanguage(frame, platform) {\n    // Check filename extensions\n    if (frame.filename) {\n        const ext = frame.filename.toLowerCase().match(/\\.[^.]+$/)?.[0];\n        if (ext && LANGUAGE_EXTENSIONS[ext]) {\n            return LANGUAGE_EXTENSIONS[ext];\n        }\n    }\n    // Check module patterns\n    if (frame.module) {\n        for (const [pattern, language] of LANGUAGE_MODULE_PATTERNS) {\n            if (pattern.test(frame.module)) {\n                return language;\n            }\n        }\n    }\n    // Fallback to platform or unknown\n    return platform || \"unknown\";\n}\n/**\n * Formats a stack frame into a language-specific string representation.\n * Different languages have different conventions for displaying stack traces.\n *\n * @param frame - The stack frame to format\n * @param frameIndex - Optional frame index for languages that display frame numbers\n * @param platform - Optional platform hint for language detection fallback\n * @returns Formatted stack frame string\n */\nfunction formatFrameHeader(frame, frameIndex, platform) {\n    const language = detectLanguage(frame, platform);\n    switch (language) {\n        case \"java\": {\n            // at com.example.ClassName.methodName(FileName.java:123)\n            const className = frame.module || \"UnknownClass\";\n            const method = frame.function || \"<unknown>\";\n            const source = frame.filename || \"Unknown Source\";\n            const location = frame.lineNo ? `:${frame.lineNo}` : \"\";\n            return `at ${className}.${method}(${source}${location})`;\n        }\n        case \"python\": {\n            // File \"/path/to/file.py\", line 42, in function_name\n            const file = frame.filename || frame.absPath || frame.module || \"<unknown>\";\n            const func = frame.function || \"<module>\";\n            const line = frame.lineNo ? `, line ${frame.lineNo}` : \"\";\n            return `  File \"${file}\"${line}, in ${func}`;\n        }\n        case \"javascript\": {\n            // Original compact format: filename:line:col (function)\n            // This preserves backward compatibility\n            return `${[frame.filename, frame.lineNo, frame.colNo]\n                .filter(i => !!i)\n                .join(\":\")}${frame.function ? ` (${frame.function})` : \"\"}`;\n        }\n        case \"ruby\": {\n            // from /path/to/file.rb:42:in `method_name'\n            const file = frame.filename || frame.module || \"<unknown>\";\n            const func = frame.function ? ` \\`${frame.function}\\`` : \"\";\n            const line = frame.lineNo ? `:${frame.lineNo}:in` : \"\";\n            return `    from ${file}${line}${func}`;\n        }\n        case \"php\": {\n            // #0 /path/to/file.php(42): functionName()\n            const file = frame.filename || \"<unknown>\";\n            const line = frame.lineNo ? `(${frame.lineNo})` : \"\";\n            const func = frame.function || \"<unknown>\";\n            const prefix = frameIndex !== undefined ? `#${frameIndex} ` : \"\";\n            return `${prefix}${file}${line}: ${func}()`;\n        }\n        default: {\n            // Generic format for unknown languages\n            const func = frame.function || \"<unknown>\";\n            const location = frame.filename || frame.module || \"<unknown>\";\n            const line = frame.lineNo ? `:${frame.lineNo}` : \"\";\n            const col = frame.colNo != null ? `:${frame.colNo}` : \"\";\n            return `    at ${func} (${location}${line}${col})`;\n        }\n    }\n}\n/**\n * Formats a Sentry event into a structured markdown output.\n * Includes error messages, stack traces, request info, and contextual data.\n *\n * @param event - The Sentry event to format\n * @returns Formatted markdown string\n */\nexport function formatEventOutput(event) {\n    let output = \"\";\n    // Look for the primary error information\n    const messageEntry = event.entries.find(e => e.type === \"message\");\n    const exceptionEntry = event.entries.find(e => e.type === \"exception\");\n    const threadsEntry = event.entries.find(e => e.type === \"threads\");\n    const requestEntry = event.entries.find(e => e.type === \"request\");\n    // Error message (if present)\n    if (messageEntry) {\n        output += formatMessageInterfaceOutput(event, messageEntry.data);\n    }\n    // Stack trace (from exception or threads)\n    if (exceptionEntry) {\n        output += formatExceptionInterfaceOutput(event, exceptionEntry.data);\n    }\n    else if (threadsEntry) {\n        output += formatThreadsInterfaceOutput(event, threadsEntry.data);\n    }\n    // Request info (if HTTP error)\n    if (requestEntry) {\n        output += formatRequestInterfaceOutput(event, requestEntry.data);\n    }\n    output += formatTags(event.tags);\n    output += formatContexts(event.contexts);\n    return output;\n}\n/**\n * Extracts the context line matching the frame's line number for inline display.\n * This is used in the full stacktrace view to show the actual line of code\n * that caused the error inline with the stack frame.\n *\n * @param frame - The stack frame containing context lines\n * @returns The line of code at the frame's line number, or empty string if not available\n */\nfunction renderInlineContext(frame) {\n    if (!frame.context?.length || !frame.lineNo) {\n        return \"\";\n    }\n    const contextLine = frame.context.find(([lineNo]) => lineNo === frame.lineNo);\n    return contextLine ? `\\n${contextLine[1]}` : \"\";\n}\n/**\n * Renders an enhanced view of a stack frame with context lines and variables.\n * Used for the \"Most Relevant Frame\" section to provide detailed information\n * about the most relevant application frame where the error occurred.\n *\n * @param frame - The stack frame to render with enhanced information\n * @param event - The Sentry event containing platform information for language detection\n * @returns Formatted string with frame header, context lines, and variables table\n */\nfunction renderEnhancedFrame(frame, event) {\n    const parts = [];\n    parts.push(\"**Most Relevant Frame:**\");\n    parts.push(\"─────────────────────\");\n    parts.push(formatFrameHeader(frame, undefined, event.platform));\n    // Add context lines if available\n    if (frame.context?.length) {\n        const contextLines = renderContextLines(frame);\n        if (contextLines) {\n            parts.push(\"\");\n            parts.push(contextLines);\n        }\n    }\n    // Add variables table if available\n    if (frame.vars && Object.keys(frame.vars).length > 0) {\n        parts.push(\"\");\n        parts.push(renderVariablesTable(frame.vars));\n    }\n    return parts.join(\"\\n\");\n}\nfunction formatExceptionInterfaceOutput(event, data) {\n    const parts = [];\n    // Handle both single exception (value) and chained exceptions (values)\n    const exceptions = data.values || (data.value ? [data.value] : []);\n    if (exceptions.length === 0) {\n        return \"\";\n    }\n    // For chained exceptions, they are typically ordered from innermost to outermost\n    // We'll render them in reverse order (outermost first) to match how they occurred\n    const isChained = exceptions.length > 1;\n    // Create a copy before reversing to avoid mutating the original array\n    [...exceptions].reverse().forEach((exception, index) => {\n        if (!exception)\n            return;\n        // Add language-specific chain indicator for multiple exceptions\n        if (isChained && index > 0) {\n            parts.push(\"\");\n            parts.push(getExceptionChainMessage(event.platform || null, index, exceptions.length));\n            parts.push(\"\");\n        }\n        // Use the actual exception type and value as the heading\n        const exceptionTitle = `${exception.type}${exception.value ? `: ${exception.value}` : \"\"}`;\n        parts.push(index === 0 ? \"### Error\" : `### ${exceptionTitle}`);\n        parts.push(\"\");\n        // Add the error details in a code block for the first exception\n        // to maintain backward compatibility\n        if (index === 0) {\n            parts.push(\"```\");\n            parts.push(exceptionTitle);\n            parts.push(\"```\");\n            parts.push(\"\");\n        }\n        if (!exception.stacktrace || !exception.stacktrace.frames) {\n            parts.push(\"**Stacktrace:**\");\n            parts.push(\"```\");\n            parts.push(\"No stacktrace available\");\n            parts.push(\"```\");\n            return;\n        }\n        const frames = exception.stacktrace.frames;\n        // Only show enhanced frame for the first (outermost) exception to avoid overwhelming output\n        if (index === 0) {\n            const firstInAppFrame = findFirstInAppFrame(frames);\n            if (firstInAppFrame && (firstInAppFrame.context?.length || firstInAppFrame.vars)) {\n                parts.push(renderEnhancedFrame(firstInAppFrame, event));\n                parts.push(\"\");\n                parts.push(\"**Full Stacktrace:**\");\n                parts.push(\"────────────────\");\n            }\n            else {\n                parts.push(\"**Stacktrace:**\");\n            }\n        }\n        else {\n            parts.push(\"**Stacktrace:**\");\n        }\n        parts.push(\"```\");\n        parts.push(frames\n            .map(frame => {\n            const header = formatFrameHeader(frame, undefined, event.platform);\n            const context = renderInlineContext(frame);\n            return `${header}${context}`;\n        })\n            .join(\"\\n\"));\n        parts.push(\"```\");\n    });\n    parts.push(\"\");\n    parts.push(\"\");\n    return parts.join(\"\\n\");\n}\n/**\n * Get the appropriate exception chain message based on the platform\n */\nfunction getExceptionChainMessage(platform, index, _totalExceptions) {\n    // Default message for unknown platforms\n    const defaultMessage = \"**During handling of the above exception, another exception occurred:**\";\n    if (!platform) {\n        return defaultMessage;\n    }\n    switch (platform.toLowerCase()) {\n        case \"python\":\n            // Python has two distinct messages, but without additional metadata\n            // we default to the implicit chaining message\n            return \"**During handling of the above exception, another exception occurred:**\";\n        case \"java\":\n            return \"**Caused by:**\";\n        case \"csharp\":\n        case \"dotnet\":\n            return \"**---> Inner Exception:**\";\n        case \"ruby\":\n            return \"**Caused by:**\";\n        case \"go\":\n            return \"**Wrapped error:**\";\n        case \"rust\":\n            return `**Caused by (${index}):**`;\n        default:\n            return defaultMessage;\n    }\n}\nfunction formatRequestInterfaceOutput(_event, data) {\n    if (!data.method || !data.url) {\n        return \"\";\n    }\n    return `### HTTP Request\\n\\n**Method:** ${data.method}\\n**URL:** ${data.url}\\n\\n`;\n}\nfunction formatMessageInterfaceOutput(_event, data) {\n    if (!data.formatted && !data.message) {\n        return \"\";\n    }\n    const message = data.formatted || data.message || \"\";\n    return `### Error\\n\\n${\"```\"}\\n${message}\\n${\"```\"}\\n\\n`;\n}\nfunction formatThreadsInterfaceOutput(event, data) {\n    if (!data.values || data.values.length === 0) {\n        return \"\";\n    }\n    // Find the crashed thread only\n    const crashedThread = data.values.find(t => t.crashed);\n    if (!crashedThread?.stacktrace?.frames) {\n        return \"\";\n    }\n    const parts = [];\n    // Include thread name if available\n    if (crashedThread.name) {\n        parts.push(`**Thread** (${crashedThread.name})`);\n        parts.push(\"\");\n    }\n    const frames = crashedThread.stacktrace.frames;\n    // Find and format the first in-app frame with enhanced view\n    const firstInAppFrame = findFirstInAppFrame(frames);\n    if (firstInAppFrame && (firstInAppFrame.context?.length || firstInAppFrame.vars)) {\n        parts.push(renderEnhancedFrame(firstInAppFrame, event));\n        parts.push(\"\");\n        parts.push(\"**Full Stacktrace:**\");\n        parts.push(\"────────────────\");\n    }\n    else {\n        parts.push(\"**Stacktrace:**\");\n    }\n    parts.push(\"```\");\n    parts.push(frames\n        .map(frame => {\n        const header = formatFrameHeader(frame, undefined, event.platform);\n        const context = renderInlineContext(frame);\n        return `${header}${context}`;\n    })\n        .join(\"\\n\"));\n    parts.push(\"```\");\n    parts.push(\"\");\n    return parts.join(\"\\n\");\n}\n/**\n * Renders surrounding source code context for a stack frame.\n * Shows a window of code lines around the error line with visual indicators.\n *\n * @param frame - The stack frame containing context lines\n * @param contextSize - Number of lines to show before and after the error line (default: 3)\n * @returns Formatted context lines with line numbers and arrow indicator for the error line\n */\nfunction renderContextLines(frame, contextSize = 3) {\n    if (!frame.context || frame.context.length === 0 || !frame.lineNo) {\n        return \"\";\n    }\n    const lines = [];\n    const errorLine = frame.lineNo;\n    const maxLineNoWidth = Math.max(...frame.context.map(([lineNo]) => lineNo.toString().length));\n    for (const [lineNo, code] of frame.context) {\n        const isErrorLine = lineNo === errorLine;\n        const lineNoStr = lineNo.toString().padStart(maxLineNoWidth, \" \");\n        if (Math.abs(lineNo - errorLine) <= contextSize) {\n            if (isErrorLine) {\n                lines.push(`  → ${lineNoStr} │ ${code}`);\n            }\n            else {\n                lines.push(`    ${lineNoStr} │ ${code}`);\n            }\n        }\n    }\n    return lines.join(\"\\n\");\n}\n/**\n * Formats a variable value for display in the variables table.\n * Handles different types appropriately and safely, converting complex objects\n * to readable representations and handling edge cases like circular references.\n *\n * @param value - The variable value to format (can be any type)\n * @param maxLength - Maximum length for stringified objects/arrays (default: 80)\n * @returns markdown string representation of the value\n */\nfunction formatVariableValue(value, maxLength = 80) {\n    try {\n        if (typeof value === \"string\") {\n            return `\"${value}\"`;\n        }\n        if (value === null) {\n            return \"null\";\n        }\n        if (value === undefined) {\n            return \"undefined\";\n        }\n        if (typeof value === \"object\") {\n            const stringified = JSON.stringify(value);\n            if (stringified.length > maxLength) {\n                // Leave room for \", ...]\" or \", ...}\"\n                const truncateAt = maxLength - 6;\n                let truncated = stringified.substring(0, truncateAt);\n                // Find the last complete element by looking for the last comma\n                const lastComma = truncated.lastIndexOf(\",\");\n                if (lastComma > 0) {\n                    truncated = truncated.substring(0, lastComma);\n                }\n                // Add the appropriate ending\n                if (Array.isArray(value)) {\n                    return `${truncated}, ...]`;\n                }\n                return `${truncated}, ...}`;\n            }\n            return stringified;\n        }\n        return String(value);\n    }\n    catch {\n        // Handle circular references or other stringify errors\n        return `<${typeof value}>`;\n    }\n}\n/**\n * Renders a table of local variables in a tree-like format.\n * Uses box-drawing characters to create a visual hierarchy of variables\n * and their values at the point where the error occurred.\n *\n * @param vars - Object containing variable names as keys and their values\n * @returns Formatted variables table with tree-style prefix characters\n */\nfunction renderVariablesTable(vars) {\n    const entries = Object.entries(vars);\n    if (entries.length === 0) {\n        return \"\";\n    }\n    const lines = [\"Local Variables:\"];\n    const lastIndex = entries.length - 1;\n    entries.forEach(([key, value], index) => {\n        const prefix = index === lastIndex ? \"└─\" : \"├─\";\n        const valueStr = formatVariableValue(value);\n        lines.push(`${prefix} ${key}: ${valueStr}`);\n    });\n    return lines.join(\"\\n\");\n}\n/**\n * Finds the first application frame (in_app) in a stack trace.\n * Searches from the bottom of the stack (oldest frame) to find the first\n * frame that belongs to the user's application code rather than libraries.\n *\n * @param frames - Array of stack frames, typically in reverse chronological order\n * @returns The first in-app frame found, or undefined if none exist\n */\nfunction findFirstInAppFrame(frames) {\n    // Frames are usually in reverse order (most recent first)\n    // We want the first in-app frame from the bottom\n    for (let i = frames.length - 1; i >= 0; i--) {\n        if (frames[i].inApp === true) {\n            return frames[i];\n        }\n    }\n    return undefined;\n}\nfunction formatTags(tags) {\n    if (!tags || tags.length === 0) {\n        return \"\";\n    }\n    return `### Tags\\n\\n${tags.map(tag => `**${tag.key}**: ${tag.value}`).join(\"\\n\")}\\n\\n`;\n}\nfunction formatContexts(contexts) {\n    if (!contexts || Object.keys(contexts).length === 0) {\n        return \"\";\n    }\n    return `### Additional Context\\n\\nThese are additional context provided by the user when they're instrumenting their application.\\n\\n${Object.entries(contexts)\n        .map(([name, data]) => `**${name}**\\n${Object.entries(data)\n        .filter(([key, _]) => key !== \"type\")\n        .map(([key, value]) => {\n        return `${key}: ${JSON.stringify(value, undefined, 2)}`;\n    })\n        .join(\"\\n\")}`)\n        .join(\"\\n\\n\")}\\n\\n`;\n}\n","import { isErrorEvent } from \"../../parser/index.js\";\nimport { formatTimestamp } from \"../utils.js\";\nimport { formatEventOutput } from \"./event.js\";\nexport function formatErrorEnvelope(container) {\n    const processedEnvelope = container.getParsedEnvelope();\n    const { envelope: [envelopeHeader, items], } = processedEnvelope;\n    const formatted = [];\n    for (const item of items) {\n        const [{ type }, payload] = item;\n        if (type === \"event\" && isErrorEvent(payload)) {\n            formatted.push(...formatError(payload, envelopeHeader));\n        }\n    }\n    return formatted;\n}\nexport function processErrorEvent(event) {\n    const entries = [];\n    if (event.exception) {\n        entries.push({\n            type: \"exception\",\n            data: event.exception,\n        });\n    }\n    if (event.request) {\n        entries.push({\n            type: \"request\",\n            data: event.request,\n        });\n    }\n    if (event.breadcrumbs) {\n        entries.push({\n            type: \"breadcrumbs\",\n            data: event.breadcrumbs,\n        });\n    }\n    if (event.spans) {\n        entries.push({\n            type: \"spans\",\n            data: event.spans,\n        });\n    }\n    if (event.threads) {\n        entries.push({\n            type: \"threads\",\n            data: event.threads,\n        });\n    }\n    const message = typeof event.message === \"string\" ? event.message : (event.message?.formatted ?? \"\");\n    return {\n        message,\n        id: event.event_id ?? \"\",\n        type: \"error\",\n        culprit: event.culprit ?? null,\n        tags: Object.entries(event.tags ?? {}).map(([key, value]) => ({\n            key,\n            value: String(value),\n        })),\n        dateCreated: formatTimestamp(event.timestamp),\n        title: message,\n        entries,\n        contexts: event.contexts,\n        platform: event.platform,\n    };\n}\n/**\n * Format an error event to markdown string\n */\nexport function formatError(payload, _envelopeHeader) {\n    const event = payload;\n    return [formatEventOutput(processErrorEvent(event))];\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3cpath%20d='M4%2012.6111L8.92308%2017.5L20%206.5'%20stroke='inherit'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3cg%20id='Edit%20/%20Copy'%3e%3cpath%20id='Vector'%20d='M9%209V6.2002C9%205.08009%209%204.51962%209.21799%204.0918C9.40973%203.71547%209.71547%203.40973%2010.0918%203.21799C10.5196%203%2011.0801%203%2012.2002%203H17.8002C18.9203%203%2019.4801%203%2019.9079%203.21799C20.2842%203.40973%2020.5905%203.71547%2020.7822%204.0918C21.0002%204.51962%2021.0002%205.07967%2021.0002%206.19978V11.7998C21.0002%2012.9199%2021.0002%2013.48%2020.7822%2013.9078C20.5905%2014.2841%2020.2839%2014.5905%2019.9076%2014.7822C19.4802%2015%2018.921%2015%2017.8031%2015H15M9%209H6.2002C5.08009%209%204.51962%209%204.0918%209.21799C3.71547%209.40973%203.40973%209.71547%203.21799%2010.0918C3%2010.5196%203%2011.0801%203%2012.2002V17.8002C3%2018.9203%203%2019.4801%203.21799%2019.9079C3.40973%2020.2842%203.71547%2020.5905%204.0918%2020.7822C4.5192%2021%205.07899%2021%206.19691%2021H11.8036C12.9215%2021%2013.4805%2021%2013.9079%2020.7822C14.2842%2020.5905%2014.5905%2020.2839%2014.7822%2019.9076C15%2019.4802%2015%2018.921%2015%2017.8031V15M9%209H11.8002C12.9203%209%2013.4801%209%2013.9079%209.21799C14.2842%209.40973%2014.5905%209.71547%2014.7822%2010.0918C15%2010.5192%2015%2011.079%2015%2012.1969L15%2015'%20stroke='inherit'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e\"","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n  if (typeof ref === \"function\") {\n    return ref(value);\n  } else if (ref !== null && ref !== void 0) {\n    ref.current = value;\n  }\n}\nfunction composeRefs(...refs) {\n  return (node) => {\n    let hasCleanup = false;\n    const cleanups = refs.map((ref) => {\n      const cleanup = setRef(ref, node);\n      if (!hasCleanup && typeof cleanup == \"function\") {\n        hasCleanup = true;\n      }\n      return cleanup;\n    });\n    if (hasCleanup) {\n      return () => {\n        for (let i = 0; i < cleanups.length; i++) {\n          const cleanup = cleanups[i];\n          if (typeof cleanup == \"function\") {\n            cleanup();\n          } else {\n            setRef(refs[i], null);\n          }\n        }\n      };\n    }\n  };\n}\nfunction useComposedRefs(...refs) {\n  return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n  composeRefs,\n  useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n  const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n  const Slot2 = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    const childrenArray = React.Children.toArray(children);\n    const slottable = childrenArray.find(isSlottable);\n    if (slottable) {\n      const newElement = slottable.props.children;\n      const newChildren = childrenArray.map((child) => {\n        if (child === slottable) {\n          if (React.Children.count(newElement) > 1) return React.Children.only(null);\n          return React.isValidElement(newElement) ? newElement.props.children : null;\n        } else {\n          return child;\n        }\n      });\n      return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n    }\n    return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n  });\n  Slot2.displayName = `${ownerName}.Slot`;\n  return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n  const SlotClone = React.forwardRef((props, forwardedRef) => {\n    const { children, ...slotProps } = props;\n    if (React.isValidElement(children)) {\n      const childrenRef = getElementRef(children);\n      const props2 = mergeProps(slotProps, children.props);\n      if (children.type !== React.Fragment) {\n        props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n      }\n      return React.cloneElement(children, props2);\n    }\n    return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n  });\n  SlotClone.displayName = `${ownerName}.SlotClone`;\n  return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n  const Slottable2 = ({ children }) => {\n    return /* @__PURE__ */ jsx(Fragment2, { children });\n  };\n  Slottable2.displayName = `${ownerName}.Slottable`;\n  Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n  return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n  return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n  const overrideProps = { ...childProps };\n  for (const propName in childProps) {\n    const slotPropValue = slotProps[propName];\n    const childPropValue = childProps[propName];\n    const isHandler = /^on[A-Z]/.test(propName);\n    if (isHandler) {\n      if (slotPropValue && childPropValue) {\n        overrideProps[propName] = (...args) => {\n          const result = childPropValue(...args);\n          slotPropValue(...args);\n          return result;\n        };\n      } else if (slotPropValue) {\n        overrideProps[propName] = slotPropValue;\n      }\n    } else if (propName === \"style\") {\n      overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n    } else if (propName === \"className\") {\n      overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n    }\n  }\n  return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nexport {\n  Slot as Root,\n  Slot,\n  Slottable,\n  createSlot,\n  createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n        var _config_compoundVariants;\n        if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n        const { variants, defaultVariants } = config;\n        const getVariantClassNames = Object.keys(variants).map((variant)=>{\n            const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n            const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n            if (variantProp === null) return null;\n            const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n            return variants[variant][variantKey];\n        });\n        const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n            let [key, value] = param;\n            if (value === undefined) {\n                return acc;\n            }\n            acc[key] = value;\n            return acc;\n        }, {});\n        const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n            let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n            return Object.entries(compoundVariantOptions).every((param)=>{\n                let [key, value] = param;\n                return Array.isArray(value) ? value.includes({\n                    ...defaultVariants,\n                    ...propsWithoutUndefined\n                }[key]) : ({\n                    ...defaultVariants,\n                    ...propsWithoutUndefined\n                })[key] === value;\n            }) ? [\n                ...acc,\n                cvClass,\n                cvClassName\n            ] : acc;\n        }, []);\n        return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n    };\n\n","import { Slot } from \"@radix-ui/react-slot\";\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { cn } from \"~/lib/cn\";\n\nconst buttonVariants = cva(\n  \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-white transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-neutral-950 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n  {\n    variants: {\n      variant: {\n        default: \"bg-neutral-900 text-neutral-50 hover:bg-neutral-900/90\",\n        destructive: \"bg-red-500 text-neutral-50 hover:bg-red-500/90\",\n        outline: \"border border-neutral-200 bg-white hover:bg-neutral-100 hover:text-neutral-900\",\n        secondary: \"bg-neutral-100 text-neutral-900 hover:bg-neutral-100/80\",\n        ghost: \"hover:bg-neutral-100 hover:text-neutral-900\",\n        link: \"text-neutral-900 underline-offset-4 hover:underline\",\n      },\n      size: {\n        default: \"h-10 px-4 py-2\",\n        sm: \"h-9 rounded-md px-3\",\n        lg: \"h-11 rounded-md px-8\",\n        icon: \"h-10 w-10\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n      size: \"default\",\n    },\n  },\n);\n\nexport interface ButtonProps\n  extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n    VariantProps<typeof buttonVariants> {\n  asChild?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n  ({ className, variant, size, asChild = false, ...props }, ref) => {\n    const Comp = asChild ? Slot : \"button\";\n    return <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />;\n  },\n);\nButton.displayName = \"Button\";\n\nexport { Button, buttonVariants };\n","// packages/core/primitive/src/primitive.tsx\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n  return function handleEvent(event) {\n    originalEventHandler?.(event);\n    if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n      return ourEventHandler?.(event);\n    }\n  };\n}\nexport {\n  composeEventHandlers\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n  const Context = React.createContext(defaultContext);\n  const Provider = (props) => {\n    const { children, ...context } = props;\n    const value = React.useMemo(() => context, Object.values(context));\n    return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n  };\n  Provider.displayName = rootComponentName + \"Provider\";\n  function useContext2(consumerName) {\n    const context = React.useContext(Context);\n    if (context) return context;\n    if (defaultContext !== void 0) return defaultContext;\n    throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n  }\n  return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n  let defaultContexts = [];\n  function createContext3(rootComponentName, defaultContext) {\n    const BaseContext = React.createContext(defaultContext);\n    const index = defaultContexts.length;\n    defaultContexts = [...defaultContexts, defaultContext];\n    const Provider = (props) => {\n      const { scope, children, ...context } = props;\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const value = React.useMemo(() => context, Object.values(context));\n      return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n    };\n    Provider.displayName = rootComponentName + \"Provider\";\n    function useContext2(consumerName, scope) {\n      const Context = scope?.[scopeName]?.[index] || BaseContext;\n      const context = React.useContext(Context);\n      if (context) return context;\n      if (defaultContext !== void 0) return defaultContext;\n      throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n    }\n    return [Provider, useContext2];\n  }\n  const createScope = () => {\n    const scopeContexts = defaultContexts.map((defaultContext) => {\n      return React.createContext(defaultContext);\n    });\n    return function useScope(scope) {\n      const contexts = scope?.[scopeName] || scopeContexts;\n      return React.useMemo(\n        () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n        [scope, contexts]\n      );\n    };\n  };\n  createScope.scopeName = scopeName;\n  return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n  const baseScope = scopes[0];\n  if (scopes.length === 1) return baseScope;\n  const createScope = () => {\n    const scopeHooks = scopes.map((createScope2) => ({\n      useScope: createScope2(),\n      scopeName: createScope2.scopeName\n    }));\n    return function useComposedScopes(overrideScopes) {\n      const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n        const scopeProps = useScope(overrideScopes);\n        const currentScope = scopeProps[`__scope${scopeName}`];\n        return { ...nextScopes2, ...currentScope };\n      }, {});\n      return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n    };\n  };\n  createScope.scopeName = baseScope.scopeName;\n  return createScope;\n}\nexport {\n  createContext2 as createContext,\n  createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n  \"a\",\n  \"button\",\n  \"div\",\n  \"form\",\n  \"h2\",\n  \"h3\",\n  \"img\",\n  \"input\",\n  \"label\",\n  \"li\",\n  \"nav\",\n  \"ol\",\n  \"p\",\n  \"select\",\n  \"span\",\n  \"svg\",\n  \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n  const Slot = createSlot(`Primitive.${node}`);\n  const Node = React.forwardRef((props, forwardedRef) => {\n    const { asChild, ...primitiveProps } = props;\n    const Comp = asChild ? Slot : node;\n    if (typeof window !== \"undefined\") {\n      window[Symbol.for(\"radix-ui\")] = true;\n    }\n    return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n  });\n  Node.displayName = `Primitive.${node}`;\n  return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n  if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n  Primitive,\n  Root,\n  dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n  const callbackRef = React.useRef(callback);\n  React.useEffect(() => {\n    callbackRef.current = callback;\n  });\n  return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n  useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n  const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n  React.useEffect(() => {\n    const handleKeyDown = (event) => {\n      if (event.key === \"Escape\") {\n        onEscapeKeyDown(event);\n      }\n    };\n    ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n  }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n  useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n  layers: /* @__PURE__ */ new Set(),\n  layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n  branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      disableOutsidePointerEvents = false,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      ...layerProps\n    } = props;\n    const context = React.useContext(DismissableLayerContext);\n    const [node, setNode] = React.useState(null);\n    const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n    const [, force] = React.useState({});\n    const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n    const layers = Array.from(context.layers);\n    const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n    const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n    const index = node ? layers.indexOf(node) : -1;\n    const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n    const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n    const pointerDownOutside = usePointerDownOutside((event) => {\n      const target = event.target;\n      const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n      if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n      onPointerDownOutside?.(event);\n      onInteractOutside?.(event);\n      if (!event.defaultPrevented) onDismiss?.();\n    }, ownerDocument);\n    const focusOutside = useFocusOutside((event) => {\n      const target = event.target;\n      const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n      if (isFocusInBranch) return;\n      onFocusOutside?.(event);\n      onInteractOutside?.(event);\n      if (!event.defaultPrevented) onDismiss?.();\n    }, ownerDocument);\n    useEscapeKeydown((event) => {\n      const isHighestLayer = index === context.layers.size - 1;\n      if (!isHighestLayer) return;\n      onEscapeKeyDown?.(event);\n      if (!event.defaultPrevented && onDismiss) {\n        event.preventDefault();\n        onDismiss();\n      }\n    }, ownerDocument);\n    React.useEffect(() => {\n      if (!node) return;\n      if (disableOutsidePointerEvents) {\n        if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n          originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n          ownerDocument.body.style.pointerEvents = \"none\";\n        }\n        context.layersWithOutsidePointerEventsDisabled.add(node);\n      }\n      context.layers.add(node);\n      dispatchUpdate();\n      return () => {\n        if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n          ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n        }\n      };\n    }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n    React.useEffect(() => {\n      return () => {\n        if (!node) return;\n        context.layers.delete(node);\n        context.layersWithOutsidePointerEventsDisabled.delete(node);\n        dispatchUpdate();\n      };\n    }, [node, context]);\n    React.useEffect(() => {\n      const handleUpdate = () => force({});\n      document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n      return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        ...layerProps,\n        ref: composedRefs,\n        style: {\n          pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n          ...props.style\n        },\n        onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n        onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n        onPointerDownCapture: composeEventHandlers(\n          props.onPointerDownCapture,\n          pointerDownOutside.onPointerDownCapture\n        )\n      }\n    );\n  }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n  const context = React.useContext(DismissableLayerContext);\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  React.useEffect(() => {\n    const node = ref.current;\n    if (node) {\n      context.branches.add(node);\n      return () => {\n        context.branches.delete(node);\n      };\n    }\n  }, [context.branches]);\n  return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n  const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n  const isPointerInsideReactTreeRef = React.useRef(false);\n  const handleClickRef = React.useRef(() => {\n  });\n  React.useEffect(() => {\n    const handlePointerDown = (event) => {\n      if (event.target && !isPointerInsideReactTreeRef.current) {\n        let handleAndDispatchPointerDownOutsideEvent2 = function() {\n          handleAndDispatchCustomEvent(\n            POINTER_DOWN_OUTSIDE,\n            handlePointerDownOutside,\n            eventDetail,\n            { discrete: true }\n          );\n        };\n        var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n        const eventDetail = { originalEvent: event };\n        if (event.pointerType === \"touch\") {\n          ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n          handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n          ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n        } else {\n          handleAndDispatchPointerDownOutsideEvent2();\n        }\n      } else {\n        ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n      }\n      isPointerInsideReactTreeRef.current = false;\n    };\n    const timerId = window.setTimeout(() => {\n      ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n    }, 0);\n    return () => {\n      window.clearTimeout(timerId);\n      ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n      ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n    };\n  }, [ownerDocument, handlePointerDownOutside]);\n  return {\n    // ensures we check React component tree (not just DOM tree)\n    onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n  };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n  const handleFocusOutside = useCallbackRef(onFocusOutside);\n  const isFocusInsideReactTreeRef = React.useRef(false);\n  React.useEffect(() => {\n    const handleFocus = (event) => {\n      if (event.target && !isFocusInsideReactTreeRef.current) {\n        const eventDetail = { originalEvent: event };\n        handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n          discrete: false\n        });\n      }\n    };\n    ownerDocument.addEventListener(\"focusin\", handleFocus);\n    return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n  }, [ownerDocument, handleFocusOutside]);\n  return {\n    onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n    onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n  };\n}\nfunction dispatchUpdate() {\n  const event = new CustomEvent(CONTEXT_UPDATE);\n  document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n  const target = detail.originalEvent.target;\n  const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n  if (handler) target.addEventListener(name, handler, { once: true });\n  if (discrete) {\n    dispatchDiscreteCustomEvent(target, event);\n  } else {\n    target.dispatchEvent(event);\n  }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n  Branch,\n  DismissableLayer,\n  DismissableLayerBranch,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n  useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n  const [id, setId] = React.useState(useReactId());\n  useLayoutEffect(() => {\n    if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n  }, [deterministicId]);\n  return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n  useId\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n  return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n  const lr = ['left', 'right'];\n  const rl = ['right', 'left'];\n  const tb = ['top', 'bottom'];\n  const bt = ['bottom', 'top'];\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rl : lr;\n      return isStart ? lr : rl;\n    case 'left':\n    case 'right':\n      return isStart ? tb : bt;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          var _overflowsData$;\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          const hasInitialMainAxisOverflow = ((_overflowsData$ = overflowsData[0]) == null ? void 0 : _overflowsData$.overflows[0]) > 0;\n          if (!ignoreCrossAxisOverflow || hasInitialMainAxisOverflow) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = ['top', 'left'].includes(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n  return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isTopLayer(element) {\n  return [':popover-open', ':modal'].some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (e) {\n      return false;\n    }\n  });\n}\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n  return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {\n  if (ignoreScrollbarX === void 0) {\n    ignoreScrollbarX = false;\n  }\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 :\n  // RTL <body> scrollbar.\n  getWindowScrollBarX(documentElement, htmlRect));\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","import { computePosition, arrow as arrow$2, offset as offset$1, shift as shift$1, limitShift as limitShift$1, flip as flip$1, size as size$1, autoPlacement as autoPlacement$1, hide as hide$1, inline as inline$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect, useEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar index = typeof document !== 'undefined' ? useLayoutEffect : useEffect;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n  if (a === b) {\n    return true;\n  }\n  if (typeof a !== typeof b) {\n    return false;\n  }\n  if (typeof a === 'function' && a.toString() === b.toString()) {\n    return true;\n  }\n  let length;\n  let i;\n  let keys;\n  if (a && b && typeof a === 'object') {\n    if (Array.isArray(a)) {\n      length = a.length;\n      if (length !== b.length) return false;\n      for (i = length; i-- !== 0;) {\n        if (!deepEqual(a[i], b[i])) {\n          return false;\n        }\n      }\n      return true;\n    }\n    keys = Object.keys(a);\n    length = keys.length;\n    if (length !== Object.keys(b).length) {\n      return false;\n    }\n    for (i = length; i-- !== 0;) {\n      if (!{}.hasOwnProperty.call(b, keys[i])) {\n        return false;\n      }\n    }\n    for (i = length; i-- !== 0;) {\n      const key = keys[i];\n      if (key === '_owner' && a.$$typeof) {\n        continue;\n      }\n      if (!deepEqual(a[key], b[key])) {\n        return false;\n      }\n    }\n    return true;\n  }\n  return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n  if (typeof window === 'undefined') {\n    return 1;\n  }\n  const win = element.ownerDocument.defaultView || window;\n  return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n  const dpr = getDPR(element);\n  return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n  const ref = React.useRef(value);\n  index(() => {\n    ref.current = value;\n  });\n  return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform,\n    elements: {\n      reference: externalReference,\n      floating: externalFloating\n    } = {},\n    transform = true,\n    whileElementsMounted,\n    open\n  } = options;\n  const [data, setData] = React.useState({\n    x: 0,\n    y: 0,\n    strategy,\n    placement,\n    middlewareData: {},\n    isPositioned: false\n  });\n  const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n  if (!deepEqual(latestMiddleware, middleware)) {\n    setLatestMiddleware(middleware);\n  }\n  const [_reference, _setReference] = React.useState(null);\n  const [_floating, _setFloating] = React.useState(null);\n  const setReference = React.useCallback(node => {\n    if (node !== referenceRef.current) {\n      referenceRef.current = node;\n      _setReference(node);\n    }\n  }, []);\n  const setFloating = React.useCallback(node => {\n    if (node !== floatingRef.current) {\n      floatingRef.current = node;\n      _setFloating(node);\n    }\n  }, []);\n  const referenceEl = externalReference || _reference;\n  const floatingEl = externalFloating || _floating;\n  const referenceRef = React.useRef(null);\n  const floatingRef = React.useRef(null);\n  const dataRef = React.useRef(data);\n  const hasWhileElementsMounted = whileElementsMounted != null;\n  const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n  const platformRef = useLatestRef(platform);\n  const openRef = useLatestRef(open);\n  const update = React.useCallback(() => {\n    if (!referenceRef.current || !floatingRef.current) {\n      return;\n    }\n    const config = {\n      placement,\n      strategy,\n      middleware: latestMiddleware\n    };\n    if (platformRef.current) {\n      config.platform = platformRef.current;\n    }\n    computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n      const fullData = {\n        ...data,\n        // The floating element's position may be recomputed while it's closed\n        // but still mounted (such as when transitioning out). To ensure\n        // `isPositioned` will be `false` initially on the next open, avoid\n        // setting it to `true` when `open === false` (must be specified).\n        isPositioned: openRef.current !== false\n      };\n      if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n        dataRef.current = fullData;\n        ReactDOM.flushSync(() => {\n          setData(fullData);\n        });\n      }\n    });\n  }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n  index(() => {\n    if (open === false && dataRef.current.isPositioned) {\n      dataRef.current.isPositioned = false;\n      setData(data => ({\n        ...data,\n        isPositioned: false\n      }));\n    }\n  }, [open]);\n  const isMountedRef = React.useRef(false);\n  index(() => {\n    isMountedRef.current = true;\n    return () => {\n      isMountedRef.current = false;\n    };\n  }, []);\n  index(() => {\n    if (referenceEl) referenceRef.current = referenceEl;\n    if (floatingEl) floatingRef.current = floatingEl;\n    if (referenceEl && floatingEl) {\n      if (whileElementsMountedRef.current) {\n        return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n      }\n      update();\n    }\n  }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n  const refs = React.useMemo(() => ({\n    reference: referenceRef,\n    floating: floatingRef,\n    setReference,\n    setFloating\n  }), [setReference, setFloating]);\n  const elements = React.useMemo(() => ({\n    reference: referenceEl,\n    floating: floatingEl\n  }), [referenceEl, floatingEl]);\n  const floatingStyles = React.useMemo(() => {\n    const initialStyles = {\n      position: strategy,\n      left: 0,\n      top: 0\n    };\n    if (!elements.floating) {\n      return initialStyles;\n    }\n    const x = roundByDPR(elements.floating, data.x);\n    const y = roundByDPR(elements.floating, data.y);\n    if (transform) {\n      return {\n        ...initialStyles,\n        transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n        ...(getDPR(elements.floating) >= 1.5 && {\n          willChange: 'transform'\n        })\n      };\n    }\n    return {\n      position: strategy,\n      left: x,\n      top: y\n    };\n  }, [strategy, transform, elements.floating, data.x, data.y]);\n  return React.useMemo(() => ({\n    ...data,\n    update,\n    refs,\n    elements,\n    floatingStyles\n  }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n  function isRef(value) {\n    return {}.hasOwnProperty.call(value, 'current');\n  }\n  return {\n    name: 'arrow',\n    options,\n    fn(state) {\n      const {\n        element,\n        padding\n      } = typeof options === 'function' ? options(state) : options;\n      if (element && isRef(element)) {\n        if (element.current != null) {\n          return arrow$2({\n            element: element.current,\n            padding\n          }).fn(state);\n        }\n        return {};\n      }\n      if (element) {\n        return arrow$2({\n          element,\n          padding\n        }).fn(state);\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n  ...offset$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n  ...shift$1(options),\n  options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n  ...limitShift$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n  ...flip$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n  ...size$1(options),\n  options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n  ...autoPlacement$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n  ...hide$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n  ...inline$1(options),\n  options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n  ...arrow$1(options),\n  options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","// src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n  const { children, width = 10, height = 5, ...arrowProps } = props;\n  return /* @__PURE__ */ jsx(\n    Primitive.svg,\n    {\n      ...arrowProps,\n      ref: forwardedRef,\n      width,\n      height,\n      viewBox: \"0 0 30 10\",\n      preserveAspectRatio: \"none\",\n      children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n    }\n  );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n  Arrow,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n  const [size, setSize] = React.useState(void 0);\n  useLayoutEffect(() => {\n    if (element) {\n      setSize({ width: element.offsetWidth, height: element.offsetHeight });\n      const resizeObserver = new ResizeObserver((entries) => {\n        if (!Array.isArray(entries)) {\n          return;\n        }\n        if (!entries.length) {\n          return;\n        }\n        const entry = entries[0];\n        let width;\n        let height;\n        if (\"borderBoxSize\" in entry) {\n          const borderSizeEntry = entry[\"borderBoxSize\"];\n          const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n          width = borderSize[\"inlineSize\"];\n          height = borderSize[\"blockSize\"];\n        } else {\n          width = element.offsetWidth;\n          height = element.offsetHeight;\n        }\n        setSize({ width, height });\n      });\n      resizeObserver.observe(element, { box: \"border-box\" });\n      return () => resizeObserver.unobserve(element);\n    } else {\n      setSize(void 0);\n    }\n  }, [element]);\n  return size;\n}\nexport {\n  useSize\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n  useFloating,\n  autoUpdate,\n  offset,\n  shift,\n  limitShift,\n  hide,\n  arrow as floatingUIarrow,\n  flip,\n  size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n  const { __scopePopper, children } = props;\n  const [anchor, setAnchor] = React.useState(null);\n  return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopePopper, virtualRef, ...anchorProps } = props;\n    const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    React.useEffect(() => {\n      context.onAnchorChange(virtualRef?.current || ref.current);\n    });\n    return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n  }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopePopper,\n      side = \"bottom\",\n      sideOffset = 0,\n      align = \"center\",\n      alignOffset = 0,\n      arrowPadding = 0,\n      avoidCollisions = true,\n      collisionBoundary = [],\n      collisionPadding: collisionPaddingProp = 0,\n      sticky = \"partial\",\n      hideWhenDetached = false,\n      updatePositionStrategy = \"optimized\",\n      onPlaced,\n      ...contentProps\n    } = props;\n    const context = usePopperContext(CONTENT_NAME, __scopePopper);\n    const [content, setContent] = React.useState(null);\n    const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n    const [arrow, setArrow] = React.useState(null);\n    const arrowSize = useSize(arrow);\n    const arrowWidth = arrowSize?.width ?? 0;\n    const arrowHeight = arrowSize?.height ?? 0;\n    const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n    const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n    const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n    const hasExplicitBoundaries = boundary.length > 0;\n    const detectOverflowOptions = {\n      padding: collisionPadding,\n      boundary: boundary.filter(isNotNull),\n      // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n      altBoundary: hasExplicitBoundaries\n    };\n    const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n      // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n      strategy: \"fixed\",\n      placement: desiredPlacement,\n      whileElementsMounted: (...args) => {\n        const cleanup = autoUpdate(...args, {\n          animationFrame: updatePositionStrategy === \"always\"\n        });\n        return cleanup;\n      },\n      elements: {\n        reference: context.anchor\n      },\n      middleware: [\n        offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n        avoidCollisions && shift({\n          mainAxis: true,\n          crossAxis: false,\n          limiter: sticky === \"partial\" ? limitShift() : void 0,\n          ...detectOverflowOptions\n        }),\n        avoidCollisions && flip({ ...detectOverflowOptions }),\n        size({\n          ...detectOverflowOptions,\n          apply: ({ elements, rects, availableWidth, availableHeight }) => {\n            const { width: anchorWidth, height: anchorHeight } = rects.reference;\n            const contentStyle = elements.floating.style;\n            contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n            contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n            contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n            contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n          }\n        }),\n        arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n        transformOrigin({ arrowWidth, arrowHeight }),\n        hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n      ]\n    });\n    const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n    const handlePlaced = useCallbackRef(onPlaced);\n    useLayoutEffect(() => {\n      if (isPositioned) {\n        handlePlaced?.();\n      }\n    }, [isPositioned, handlePlaced]);\n    const arrowX = middlewareData.arrow?.x;\n    const arrowY = middlewareData.arrow?.y;\n    const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n    const [contentZIndex, setContentZIndex] = React.useState();\n    useLayoutEffect(() => {\n      if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n    }, [content]);\n    return /* @__PURE__ */ jsx(\n      \"div\",\n      {\n        ref: refs.setFloating,\n        \"data-radix-popper-content-wrapper\": \"\",\n        style: {\n          ...floatingStyles,\n          transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n          // keep off the page when measuring\n          minWidth: \"max-content\",\n          zIndex: contentZIndex,\n          [\"--radix-popper-transform-origin\"]: [\n            middlewareData.transformOrigin?.x,\n            middlewareData.transformOrigin?.y\n          ].join(\" \"),\n          // hide the content if using the hide middleware and should be hidden\n          // set visibility to hidden and disable pointer events so the UI behaves\n          // as if the PopperContent isn't there at all\n          ...middlewareData.hide?.referenceHidden && {\n            visibility: \"hidden\",\n            pointerEvents: \"none\"\n          }\n        },\n        dir: props.dir,\n        children: /* @__PURE__ */ jsx(\n          PopperContentProvider,\n          {\n            scope: __scopePopper,\n            placedSide,\n            onArrowChange: setArrow,\n            arrowX,\n            arrowY,\n            shouldHideArrow: cannotCenterArrow,\n            children: /* @__PURE__ */ jsx(\n              Primitive.div,\n              {\n                \"data-side\": placedSide,\n                \"data-align\": placedAlign,\n                ...contentProps,\n                ref: composedRefs,\n                style: {\n                  ...contentProps.style,\n                  // if the PopperContent hasn't been placed yet (not all measurements done)\n                  // we prevent animations so that users's animation don't kick in too early referring wrong sides\n                  animation: !isPositioned ? \"none\" : void 0\n                }\n              }\n            )\n          }\n        )\n      }\n    );\n  }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n  top: \"bottom\",\n  right: \"left\",\n  bottom: \"top\",\n  left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n  const { __scopePopper, ...arrowProps } = props;\n  const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n  const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n  return (\n    // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n    // doesn't report size as we'd expect on SVG elements.\n    // it reports their bounding box which is effectively the largest path inside the SVG.\n    /* @__PURE__ */ jsx(\n      \"span\",\n      {\n        ref: contentContext.onArrowChange,\n        style: {\n          position: \"absolute\",\n          left: contentContext.arrowX,\n          top: contentContext.arrowY,\n          [baseSide]: 0,\n          transformOrigin: {\n            top: \"\",\n            right: \"0 0\",\n            bottom: \"center 0\",\n            left: \"100% 0\"\n          }[contentContext.placedSide],\n          transform: {\n            top: \"translateY(100%)\",\n            right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n            bottom: `rotate(180deg)`,\n            left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n          }[contentContext.placedSide],\n          visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n        },\n        children: /* @__PURE__ */ jsx(\n          ArrowPrimitive.Root,\n          {\n            ...arrowProps,\n            ref: forwardedRef,\n            style: {\n              ...arrowProps.style,\n              // ensures the element can be measured correctly (mostly for if SVG)\n              display: \"block\"\n            }\n          }\n        )\n      }\n    )\n  );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n  return value !== null;\n}\nvar transformOrigin = (options) => ({\n  name: \"transformOrigin\",\n  options,\n  fn(data) {\n    const { placement, rects, middlewareData } = data;\n    const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n    const isArrowHidden = cannotCenterArrow;\n    const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n    const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n    const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n    const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n    const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n    const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n    let x = \"\";\n    let y = \"\";\n    if (placedSide === \"bottom\") {\n      x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n      y = `${-arrowHeight}px`;\n    } else if (placedSide === \"top\") {\n      x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n      y = `${rects.floating.height + arrowHeight}px`;\n    } else if (placedSide === \"right\") {\n      x = `${-arrowHeight}px`;\n      y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n    } else if (placedSide === \"left\") {\n      x = `${rects.floating.width + arrowHeight}px`;\n      y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n    }\n    return { data: { x, y } };\n  }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n  const [side, align = \"center\"] = placement.split(\"-\");\n  return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n  ALIGN_OPTIONS,\n  Anchor,\n  Arrow,\n  Content,\n  Popper,\n  PopperAnchor,\n  PopperArrow,\n  PopperContent,\n  Root2 as Root,\n  SIDE_OPTIONS,\n  createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n  const { container: containerProp, ...portalProps } = props;\n  const [mounted, setMounted] = React.useState(false);\n  useLayoutEffect(() => setMounted(true), []);\n  const container = containerProp || mounted && globalThis?.document?.body;\n  return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n  Portal,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n  return React.useReducer((state, event) => {\n    const nextState = machine[state][event];\n    return nextState ?? state;\n  }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n  const { present, children } = props;\n  const presence = usePresence(present);\n  const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n  const ref = useComposedRefs(presence.ref, getElementRef(child));\n  const forceMount = typeof children === \"function\";\n  return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n  const [node, setNode] = React2.useState();\n  const stylesRef = React2.useRef(null);\n  const prevPresentRef = React2.useRef(present);\n  const prevAnimationNameRef = React2.useRef(\"none\");\n  const initialState = present ? \"mounted\" : \"unmounted\";\n  const [state, send] = useStateMachine(initialState, {\n    mounted: {\n      UNMOUNT: \"unmounted\",\n      ANIMATION_OUT: \"unmountSuspended\"\n    },\n    unmountSuspended: {\n      MOUNT: \"mounted\",\n      ANIMATION_END: \"unmounted\"\n    },\n    unmounted: {\n      MOUNT: \"mounted\"\n    }\n  });\n  React2.useEffect(() => {\n    const currentAnimationName = getAnimationName(stylesRef.current);\n    prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n  }, [state]);\n  useLayoutEffect(() => {\n    const styles = stylesRef.current;\n    const wasPresent = prevPresentRef.current;\n    const hasPresentChanged = wasPresent !== present;\n    if (hasPresentChanged) {\n      const prevAnimationName = prevAnimationNameRef.current;\n      const currentAnimationName = getAnimationName(styles);\n      if (present) {\n        send(\"MOUNT\");\n      } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n        send(\"UNMOUNT\");\n      } else {\n        const isAnimating = prevAnimationName !== currentAnimationName;\n        if (wasPresent && isAnimating) {\n          send(\"ANIMATION_OUT\");\n        } else {\n          send(\"UNMOUNT\");\n        }\n      }\n      prevPresentRef.current = present;\n    }\n  }, [present, send]);\n  useLayoutEffect(() => {\n    if (node) {\n      let timeoutId;\n      const ownerWindow = node.ownerDocument.defaultView ?? window;\n      const handleAnimationEnd = (event) => {\n        const currentAnimationName = getAnimationName(stylesRef.current);\n        const isCurrentAnimation = currentAnimationName.includes(event.animationName);\n        if (event.target === node && isCurrentAnimation) {\n          send(\"ANIMATION_END\");\n          if (!prevPresentRef.current) {\n            const currentFillMode = node.style.animationFillMode;\n            node.style.animationFillMode = \"forwards\";\n            timeoutId = ownerWindow.setTimeout(() => {\n              if (node.style.animationFillMode === \"forwards\") {\n                node.style.animationFillMode = currentFillMode;\n              }\n            });\n          }\n        }\n      };\n      const handleAnimationStart = (event) => {\n        if (event.target === node) {\n          prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n        }\n      };\n      node.addEventListener(\"animationstart\", handleAnimationStart);\n      node.addEventListener(\"animationcancel\", handleAnimationEnd);\n      node.addEventListener(\"animationend\", handleAnimationEnd);\n      return () => {\n        ownerWindow.clearTimeout(timeoutId);\n        node.removeEventListener(\"animationstart\", handleAnimationStart);\n        node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n        node.removeEventListener(\"animationend\", handleAnimationEnd);\n      };\n    } else {\n      send(\"ANIMATION_END\");\n    }\n  }, [node, send]);\n  return {\n    isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n    ref: React2.useCallback((node2) => {\n      stylesRef.current = node2 ? getComputedStyle(node2) : null;\n      setNode(node2);\n    }, [])\n  };\n}\nfunction getAnimationName(styles) {\n  return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n  let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n  let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.ref;\n  }\n  getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n  mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n  if (mayWarn) {\n    return element.props.ref;\n  }\n  return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n  Presence,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n  prop,\n  defaultProp,\n  onChange = () => {\n  },\n  caller\n}) {\n  const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n    defaultProp,\n    onChange\n  });\n  const isControlled = prop !== void 0;\n  const value = isControlled ? prop : uncontrolledProp;\n  if (true) {\n    const isControlledRef = React.useRef(prop !== void 0);\n    React.useEffect(() => {\n      const wasControlled = isControlledRef.current;\n      if (wasControlled !== isControlled) {\n        const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n        const to = isControlled ? \"controlled\" : \"uncontrolled\";\n        console.warn(\n          `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n        );\n      }\n      isControlledRef.current = isControlled;\n    }, [isControlled, caller]);\n  }\n  const setValue = React.useCallback(\n    (nextValue) => {\n      if (isControlled) {\n        const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n        if (value2 !== prop) {\n          onChangeRef.current?.(value2);\n        }\n      } else {\n        setUncontrolledProp(nextValue);\n      }\n    },\n    [isControlled, prop, setUncontrolledProp, onChangeRef]\n  );\n  return [value, setValue];\n}\nfunction useUncontrolledState({\n  defaultProp,\n  onChange\n}) {\n  const [value, setValue] = React.useState(defaultProp);\n  const prevValueRef = React.useRef(value);\n  const onChangeRef = React.useRef(onChange);\n  useInsertionEffect(() => {\n    onChangeRef.current = onChange;\n  }, [onChange]);\n  React.useEffect(() => {\n    if (prevValueRef.current !== value) {\n      onChangeRef.current?.(value);\n      prevValueRef.current = value;\n    }\n  }, [value, prevValueRef]);\n  return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n  return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n  const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n  const isControlled = controlledState !== void 0;\n  const onChange = useEffectEvent(onChangeProp);\n  if (true) {\n    const isControlledRef = React2.useRef(controlledState !== void 0);\n    React2.useEffect(() => {\n      const wasControlled = isControlledRef.current;\n      if (wasControlled !== isControlled) {\n        const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n        const to = isControlled ? \"controlled\" : \"uncontrolled\";\n        console.warn(\n          `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n        );\n      }\n      isControlledRef.current = isControlled;\n    }, [isControlled, caller]);\n  }\n  const args = [{ ...initialArg, state: defaultProp }];\n  if (init) {\n    args.push(init);\n  }\n  const [internalState, dispatch] = React2.useReducer(\n    (state2, action) => {\n      if (action.type === SYNC_STATE) {\n        return { ...state2, state: action.state };\n      }\n      const next = reducer(state2, action);\n      if (isControlled && !Object.is(next.state, state2.state)) {\n        onChange(next.state);\n      }\n      return next;\n    },\n    ...args\n  );\n  const uncontrolledState = internalState.state;\n  const prevValueRef = React2.useRef(uncontrolledState);\n  React2.useEffect(() => {\n    if (prevValueRef.current !== uncontrolledState) {\n      prevValueRef.current = uncontrolledState;\n      if (!isControlled) {\n        onChange(uncontrolledState);\n      }\n    }\n  }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n  const state = React2.useMemo(() => {\n    const isControlled2 = controlledState !== void 0;\n    if (isControlled2) {\n      return { ...internalState, state: controlledState };\n    }\n    return internalState;\n  }, [internalState, controlledState]);\n  React2.useEffect(() => {\n    if (isControlled && !Object.is(controlledState, internalState.state)) {\n      dispatch({ type: SYNC_STATE, state: controlledState });\n    }\n  }, [controlledState, internalState.state, isControlled]);\n  return [state, dispatch];\n}\nexport {\n  useControllableState,\n  useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n  // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n  position: \"absolute\",\n  border: 0,\n  width: 1,\n  height: 1,\n  padding: 0,\n  margin: -1,\n  overflow: \"hidden\",\n  clip: \"rect(0, 0, 0, 0)\",\n  whiteSpace: \"nowrap\",\n  wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n  (props, forwardedRef) => {\n    return /* @__PURE__ */ jsx(\n      Primitive.span,\n      {\n        ...props,\n        ref: forwardedRef,\n        style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n      }\n    );\n  }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n  Root,\n  VISUALLY_HIDDEN_STYLES,\n  VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n  createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n  const {\n    __scopeTooltip,\n    delayDuration = DEFAULT_DELAY_DURATION,\n    skipDelayDuration = 300,\n    disableHoverableContent = false,\n    children\n  } = props;\n  const isOpenDelayedRef = React.useRef(true);\n  const isPointerInTransitRef = React.useRef(false);\n  const skipDelayTimerRef = React.useRef(0);\n  React.useEffect(() => {\n    const skipDelayTimer = skipDelayTimerRef.current;\n    return () => window.clearTimeout(skipDelayTimer);\n  }, []);\n  return /* @__PURE__ */ jsx(\n    TooltipProviderContextProvider,\n    {\n      scope: __scopeTooltip,\n      isOpenDelayedRef,\n      delayDuration,\n      onOpen: React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        isOpenDelayedRef.current = false;\n      }, []),\n      onClose: React.useCallback(() => {\n        window.clearTimeout(skipDelayTimerRef.current);\n        skipDelayTimerRef.current = window.setTimeout(\n          () => isOpenDelayedRef.current = true,\n          skipDelayDuration\n        );\n      }, [skipDelayDuration]),\n      isPointerInTransitRef,\n      onPointerInTransitChange: React.useCallback((inTransit) => {\n        isPointerInTransitRef.current = inTransit;\n      }, []),\n      disableHoverableContent,\n      children\n    }\n  );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n  const {\n    __scopeTooltip,\n    children,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    disableHoverableContent: disableHoverableContentProp,\n    delayDuration: delayDurationProp\n  } = props;\n  const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n  const popperScope = usePopperScope(__scopeTooltip);\n  const [trigger, setTrigger] = React.useState(null);\n  const contentId = useId();\n  const openTimerRef = React.useRef(0);\n  const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n  const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n  const wasOpenDelayedRef = React.useRef(false);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: (open2) => {\n      if (open2) {\n        providerContext.onOpen();\n        document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n      } else {\n        providerContext.onClose();\n      }\n      onOpenChange?.(open2);\n    },\n    caller: TOOLTIP_NAME\n  });\n  const stateAttribute = React.useMemo(() => {\n    return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n  }, [open]);\n  const handleOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = 0;\n    wasOpenDelayedRef.current = false;\n    setOpen(true);\n  }, [setOpen]);\n  const handleClose = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = 0;\n    setOpen(false);\n  }, [setOpen]);\n  const handleDelayedOpen = React.useCallback(() => {\n    window.clearTimeout(openTimerRef.current);\n    openTimerRef.current = window.setTimeout(() => {\n      wasOpenDelayedRef.current = true;\n      setOpen(true);\n      openTimerRef.current = 0;\n    }, delayDuration);\n  }, [delayDuration, setOpen]);\n  React.useEffect(() => {\n    return () => {\n      if (openTimerRef.current) {\n        window.clearTimeout(openTimerRef.current);\n        openTimerRef.current = 0;\n      }\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    TooltipContextProvider,\n    {\n      scope: __scopeTooltip,\n      contentId,\n      open,\n      stateAttribute,\n      trigger,\n      onTriggerChange: setTrigger,\n      onTriggerEnter: React.useCallback(() => {\n        if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n        else handleOpen();\n      }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n      onTriggerLeave: React.useCallback(() => {\n        if (disableHoverableContent) {\n          handleClose();\n        } else {\n          window.clearTimeout(openTimerRef.current);\n          openTimerRef.current = 0;\n        }\n      }, [handleClose, disableHoverableContent]),\n      onOpen: handleOpen,\n      onClose: handleClose,\n      disableHoverableContent,\n      children\n    }\n  ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTooltip, ...triggerProps } = props;\n    const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n    const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n    const popperScope = usePopperScope(__scopeTooltip);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n    const isPointerDownRef = React.useRef(false);\n    const hasPointerMoveOpenedRef = React.useRef(false);\n    const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n    React.useEffect(() => {\n      return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n    }, [handlePointerUp]);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        \"aria-describedby\": context.open ? context.contentId : void 0,\n        \"data-state\": context.stateAttribute,\n        ...triggerProps,\n        ref: composedRefs,\n        onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n          if (event.pointerType === \"touch\") return;\n          if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n            context.onTriggerEnter();\n            hasPointerMoveOpenedRef.current = true;\n          }\n        }),\n        onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n          context.onTriggerLeave();\n          hasPointerMoveOpenedRef.current = false;\n        }),\n        onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n          if (context.open) {\n            context.onClose();\n          }\n          isPointerDownRef.current = true;\n          document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n        }),\n        onFocus: composeEventHandlers(props.onFocus, () => {\n          if (!isPointerDownRef.current) context.onOpen();\n        }),\n        onBlur: composeEventHandlers(props.onBlur, context.onClose),\n        onClick: composeEventHandlers(props.onClick, context.onClose)\n      }\n    ) });\n  }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n  const { __scopeTooltip, forceMount, children, container } = props;\n  const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n    const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n    const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n    return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n  }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n  const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n  const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n  const { trigger, onClose } = context;\n  const content = ref.current;\n  const { onPointerInTransitChange } = providerContext;\n  const handleRemoveGraceArea = React.useCallback(() => {\n    setPointerGraceArea(null);\n    onPointerInTransitChange(false);\n  }, [onPointerInTransitChange]);\n  const handleCreateGraceArea = React.useCallback(\n    (event, hoverTarget) => {\n      const currentTarget = event.currentTarget;\n      const exitPoint = { x: event.clientX, y: event.clientY };\n      const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n      const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n      const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n      const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n      setPointerGraceArea(graceArea);\n      onPointerInTransitChange(true);\n    },\n    [onPointerInTransitChange]\n  );\n  React.useEffect(() => {\n    return () => handleRemoveGraceArea();\n  }, [handleRemoveGraceArea]);\n  React.useEffect(() => {\n    if (trigger && content) {\n      const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n      const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n      trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n      content.addEventListener(\"pointerleave\", handleContentLeave);\n      return () => {\n        trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n        content.removeEventListener(\"pointerleave\", handleContentLeave);\n      };\n    }\n  }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n  React.useEffect(() => {\n    if (pointerGraceArea) {\n      const handleTrackPointerGrace = (event) => {\n        const target = event.target;\n        const pointerPosition = { x: event.clientX, y: event.clientY };\n        const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n        const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n        if (hasEnteredTarget) {\n          handleRemoveGraceArea();\n        } else if (isPointerOutsideGraceArea) {\n          handleRemoveGraceArea();\n          onClose();\n        }\n      };\n      document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n      return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n    }\n  }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n  return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeTooltip,\n      children,\n      \"aria-label\": ariaLabel,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      ...contentProps\n    } = props;\n    const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n    const popperScope = usePopperScope(__scopeTooltip);\n    const { onClose } = context;\n    React.useEffect(() => {\n      document.addEventListener(TOOLTIP_OPEN, onClose);\n      return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n    }, [onClose]);\n    React.useEffect(() => {\n      if (context.trigger) {\n        const handleScroll = (event) => {\n          const target = event.target;\n          if (target?.contains(context.trigger)) onClose();\n        };\n        window.addEventListener(\"scroll\", handleScroll, { capture: true });\n        return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n      }\n    }, [context.trigger, onClose]);\n    return /* @__PURE__ */ jsx(\n      DismissableLayer,\n      {\n        asChild: true,\n        disableOutsidePointerEvents: false,\n        onEscapeKeyDown,\n        onPointerDownOutside,\n        onFocusOutside: (event) => event.preventDefault(),\n        onDismiss: onClose,\n        children: /* @__PURE__ */ jsxs(\n          PopperPrimitive.Content,\n          {\n            \"data-state\": context.stateAttribute,\n            ...popperScope,\n            ...contentProps,\n            ref: forwardedRef,\n            style: {\n              ...contentProps.style,\n              // re-namespace exposed content custom properties\n              ...{\n                \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n                \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n                \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n                \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n                \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n              }\n            },\n            children: [\n              /* @__PURE__ */ jsx(Slottable, { children }),\n              /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n            ]\n          }\n        )\n      }\n    );\n  }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeTooltip, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeTooltip);\n    const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n      ARROW_NAME,\n      __scopeTooltip\n    );\n    return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n  const top = Math.abs(rect.top - point.y);\n  const bottom = Math.abs(rect.bottom - point.y);\n  const right = Math.abs(rect.right - point.x);\n  const left = Math.abs(rect.left - point.x);\n  switch (Math.min(top, bottom, right, left)) {\n    case left:\n      return \"left\";\n    case right:\n      return \"right\";\n    case top:\n      return \"top\";\n    case bottom:\n      return \"bottom\";\n    default:\n      throw new Error(\"unreachable\");\n  }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n  const paddedExitPoints = [];\n  switch (exitSide) {\n    case \"top\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y + padding },\n        { x: exitPoint.x + padding, y: exitPoint.y + padding }\n      );\n      break;\n    case \"bottom\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y - padding },\n        { x: exitPoint.x + padding, y: exitPoint.y - padding }\n      );\n      break;\n    case \"left\":\n      paddedExitPoints.push(\n        { x: exitPoint.x + padding, y: exitPoint.y - padding },\n        { x: exitPoint.x + padding, y: exitPoint.y + padding }\n      );\n      break;\n    case \"right\":\n      paddedExitPoints.push(\n        { x: exitPoint.x - padding, y: exitPoint.y - padding },\n        { x: exitPoint.x - padding, y: exitPoint.y + padding }\n      );\n      break;\n  }\n  return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n  const { top, right, bottom, left } = rect;\n  return [\n    { x: left, y: top },\n    { x: right, y: top },\n    { x: right, y: bottom },\n    { x: left, y: bottom }\n  ];\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction getHull(points) {\n  const newPoints = points.slice();\n  newPoints.sort((a, b) => {\n    if (a.x < b.x) return -1;\n    else if (a.x > b.x) return 1;\n    else if (a.y < b.y) return -1;\n    else if (a.y > b.y) return 1;\n    else return 0;\n  });\n  return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n  if (points.length <= 1) return points.slice();\n  const upperHull = [];\n  for (let i = 0; i < points.length; i++) {\n    const p = points[i];\n    while (upperHull.length >= 2) {\n      const q = upperHull[upperHull.length - 1];\n      const r = upperHull[upperHull.length - 2];\n      if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n      else break;\n    }\n    upperHull.push(p);\n  }\n  upperHull.pop();\n  const lowerHull = [];\n  for (let i = points.length - 1; i >= 0; i--) {\n    const p = points[i];\n    while (lowerHull.length >= 2) {\n      const q = lowerHull[lowerHull.length - 1];\n      const r = lowerHull[lowerHull.length - 2];\n      if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n      else break;\n    }\n    lowerHull.push(p);\n  }\n  lowerHull.pop();\n  if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n    return upperHull;\n  } else {\n    return upperHull.concat(lowerHull);\n  }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n  Arrow2 as Arrow,\n  Content2 as Content,\n  Portal,\n  Provider,\n  Root3 as Root,\n  Tooltip,\n  TooltipArrow,\n  TooltipContent,\n  TooltipPortal,\n  TooltipProvider,\n  TooltipTrigger,\n  Trigger,\n  createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as TooltipPrimitive from \"@radix-ui/react-tooltip\";\nimport * as React from \"react\";\n\nimport { cn } from \"~/lib/cn\";\n\nconst TooltipProvider = TooltipPrimitive.Provider;\n\nconst Tooltip = TooltipPrimitive.Root;\n\nconst TooltipTrigger = TooltipPrimitive.Trigger;\n\nconst TooltipContent = React.forwardRef<\n  React.ElementRef<typeof TooltipPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n  <TooltipPrimitive.Content\n    ref={ref}\n    sideOffset={sideOffset}\n    className={cn(\n      \"animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 origin-(--radix-tooltip-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 bg-white px-3 py-1.5 text-sm text-neutral-950 shadow-md\",\n      className,\n    )}\n    {...props}\n  />\n));\nTooltipContent.displayName = TooltipPrimitive.Content.displayName;\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","import { captureException } from \"@sentry/core\";\nimport { processErrorEvent } from \"@spotlightjs/sidecar/formatters/md/errors\";\nimport { formatEventOutput } from \"@spotlightjs/sidecar/formatters/md/event\";\nimport { type MouseEvent, useCallback, useEffect, useState } from \"react\";\nimport { ReactComponent as CheckIcon } from \"~/assets/check.svg\";\nimport { ReactComponent as CopyIcon } from \"~/assets/copy.svg\";\nimport { Button } from \"~/ui/button\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"~/ui/tooltip\";\nimport type { SentryErrorEvent } from \"../../types\";\n\ninterface AICopyButtonProps {\n  event: SentryErrorEvent;\n}\n\nexport default function AICopyButton({ event }: AICopyButtonProps) {\n  const [isCopied, setIsCopied] = useState(false);\n\n  useEffect(() => {\n    let timeout: NodeJS.Timeout;\n    if (isCopied) {\n      timeout = setTimeout(() => {\n        setIsCopied(false);\n      }, 1000);\n    }\n\n    return () => clearTimeout(timeout);\n  }, [isCopied]);\n\n  const handleClick = useCallback(\n    async (evt: MouseEvent) => {\n      evt.stopPropagation();\n\n      setIsCopied(true);\n      try {\n        await navigator.clipboard.writeText(formatEventOutput(processErrorEvent(event as any)));\n      } catch (err) {\n        console.error(err);\n        captureException(err);\n      }\n    },\n    [event],\n  );\n\n  return (\n    <TooltipProvider>\n      <Tooltip>\n        <TooltipTrigger asChild>\n          <Button\n            size=\"sm\"\n            variant=\"outline\"\n            onClick={handleClick}\n            disabled={isCopied || !window.isSecureContext}\n            className=\"border-primary-700 hover:bg-primary-900 bg-primary-950 h-10 mix-blend-screen hover:text-white cursor-pointer flex items-center gap-1 disabled:opacity-50 disabled:cursor-not-allowed\"\n          >\n            {isCopied ? (\n              <CheckIcon width={18} height={18} title=\"Copied!\" className=\"stroke-primary-50 transition-all\" />\n            ) : (\n              <CopyIcon width={18} height={18} title=\"Copy\" className=\"stroke-primary-50 transition-all\" />\n            )}\n            <span className=\"text-xs\">✨ Copy for AI</span>\n          </Button>\n        </TooltipTrigger>\n        <TooltipContent>\n          <p>\n            {!window.isSecureContext\n              ? \"This feature is only available in secure contexts\"\n              : \"Markdown formatted error details for LLMs\"}\n          </p>\n        </TooltipContent>\n      </Tooltip>\n    </TooltipProvider>\n  );\n}\n","export function renderValue(value: unknown): string {\n  if (value === undefined) {\n    return \"undefined\";\n  }\n  return JSON.stringify(\n    value,\n    (_key, val) => {\n      if (typeof val === \"function\") {\n        return val.toString();\n      }\n      if (typeof val === \"symbol\") {\n        return val.toString();\n      }\n      if (typeof val === \"bigint\") {\n        return val.toString();\n      }\n      return val;\n    },\n    2,\n  );\n}\n","import type React from \"react\";\nimport { useCallback, useState } from \"react\";\nimport { ReactComponent as CheckIcon } from \"~/assets/check.svg\";\nimport { ReactComponent as CopyIcon } from \"~/assets/copy.svg\";\n\nexport default function CopyToClipboard({ data }: { data: string }) {\n  const [isCopied, setIsCopied] = useState(false);\n\n  const handleCopy = useCallback(\n    (evt: React.MouseEvent) => {\n      evt.stopPropagation();\n      navigator.clipboard.writeText(data);\n      setTimeout(() => {\n        setIsCopied(false);\n      }, 1000);\n      setIsCopied(true);\n    },\n    [data],\n  );\n\n  if (isCopied) {\n    return <CheckIcon width={18} height={18} title=\"Copy filename\" className=\"stroke-primary-50 transition-all\" />;\n  }\n\n  return (\n    <CopyIcon\n      width={18}\n      height={18}\n      title=\"Copy filename\"\n      className=\"stroke-primary-50 cursor-pointer transition-all\"\n      onClick={handleCopy}\n    />\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='800px'%20height='800px'%20viewBox='0%200%2024%2024'%20fill='none'%3e%3cpath%20d='M12%204H6C4.89543%204%204%204.89543%204%206V18C4%2019.1046%204.89543%2020%206%2020H18C19.1046%2020%2020%2019.1046%2020%2018V12M9%2015V12.5L17.75%203.75C18.4404%203.05964%2019.5596%203.05964%2020.25%203.75V3.75C20.9404%204.44036%2020.9404%205.55964%2020.25%206.25L15.5%2011L11.5%2015H9Z'%20stroke='inherit'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/svg%3e\"","import type React from \"react\";\nimport { type ReactNode, createContext, useContext } from \"react\";\nimport type { SpotlightContext } from \"~/types\";\nimport { DEFAULT_SIDECAR_URL } from \"../constants\";\n\nconst Context = createContext<SpotlightContext>({\n  sidecarUrl: DEFAULT_SIDECAR_URL,\n});\n\nexport const SpotlightContextProvider: React.FC<{\n  children: ReactNode;\n  context: SpotlightContext;\n}> = ({ children, context }) => {\n  return <Context.Provider value={context}>{children}</Context.Provider>;\n};\n\nexport const useSpotlightContext = () => {\n  const context = useContext(Context);\n  const getSidecarUrl = (path = \"\") => {\n    return new URL(path, context.sidecarUrl).href;\n  };\n  return { ...context, getSidecarUrl };\n};\n","import type React from \"react\";\nimport { useCallback } from \"react\";\nimport { ReactComponent as PenIcon } from \"~/assets/pen.svg\";\nimport { useSpotlightContext } from \"~/lib/useSpotlightContext\";\n\nexport default function OpenInEditor({ file }: { file: string }) {\n  const { getSidecarUrl } = useSpotlightContext();\n  const sidecarOpenUrl: string = getSidecarUrl(\"/open\");\n\n  const openInEditor = useCallback(\n    (evt: React.MouseEvent) => {\n      fetch(sidecarOpenUrl, {\n        method: \"POST\",\n        body: file,\n        credentials: \"omit\",\n      });\n      evt.stopPropagation();\n    },\n    [file, sidecarOpenUrl],\n  );\n  return (\n    <PenIcon\n      width={18}\n      height={18}\n      title=\"Open in editor\"\n      className=\"stroke-primary-100 cursor-pointer\"\n      onClick={openInEditor}\n    />\n  );\n}\n","import { type ReactNode, createContext, useContext } from \"react\";\nimport { cn } from \"~/lib/cn\";\n\ntype TableVariant = \"default\" | \"detail\";\n\nconst TableContext = createContext<{ variant: TableVariant }>({ variant: \"default\" });\n\nfunction useTableContext() {\n  return useContext(TableContext);\n}\n\nexport type TableProps = {\n  children?: ReactNode;\n  className?: string;\n  variant?: TableVariant;\n};\n\nexport default function Table({ children, className, variant = \"default\", ...props }: TableProps) {\n  return (\n    <TableContext.Provider value={{ variant }}>\n      <table\n        className={cn(variant === \"detail\" ? \"divide-primary-700 w-full table-fixed divide-y\" : \"\", className)}\n        {...props}\n      >\n        {children}\n      </table>\n    </TableContext.Provider>\n  );\n}\n\nexport type TableHeaderProps = {\n  children?: ReactNode;\n  className?: string;\n  variant?: TableVariant;\n};\n\nfunction TableHeader({ children, className, variant: headerVariant = \"default\", ...props }: TableHeaderProps) {\n  const { variant: tableVariant } = useTableContext();\n  const variant = headerVariant ?? tableVariant;\n\n  return (\n    <thead className={cn(variant === \"detail\" ? \"bg-primary-950 sticky top-0 z-20\" : \"\", className)} {...props}>\n      {children}\n    </thead>\n  );\n}\n\nexport type TableBodyProps = {\n  children?: ReactNode;\n  className?: string;\n};\n\nfunction TableBody({ children, className, ...props }: TableBodyProps) {\n  return (\n    <tbody className={className} {...props}>\n      {children}\n    </tbody>\n  );\n}\n\nTable.Header = TableHeader;\nTable.Body = TableBody;\n","const matchers = [\n  [/^(<!--)(.+)(-->)$/, false],\n  [/^(\\/\\*)(.+)(\\*\\/)$/, false],\n  [/^(\\/\\/|[\"'#]|;{1,2}|%{1,2}|--)(.*)$/, true],\n  /**\n   * for multi-line comments like this\n   */\n  [/^(\\*)(.+)$/, true]\n];\nfunction parseComments(lines, jsx, matchAlgorithm) {\n  const out = [];\n  for (const line of lines) {\n    if (matchAlgorithm === \"v3\") {\n      const splittedElements = line.children.flatMap((element, idx) => {\n        if (element.type !== \"element\")\n          return element;\n        const token = element.children[0];\n        if (token.type !== \"text\")\n          return element;\n        const isLast = idx === line.children.length - 1;\n        const isComment = matchToken(token.value, isLast);\n        if (!isComment)\n          return element;\n        const rawSplits = token.value.split(/(\\s+\\/\\/)/);\n        if (rawSplits.length <= 1)\n          return element;\n        let splits = [rawSplits[0]];\n        for (let i = 1; i < rawSplits.length; i += 2) {\n          splits.push(rawSplits[i] + (rawSplits[i + 1] || \"\"));\n        }\n        splits = splits.filter(Boolean);\n        if (splits.length <= 1)\n          return element;\n        return splits.map((split) => {\n          return {\n            ...element,\n            children: [\n              {\n                type: \"text\",\n                value: split\n              }\n            ]\n          };\n        });\n      });\n      if (splittedElements.length !== line.children.length)\n        line.children = splittedElements;\n    }\n    const elements = line.children;\n    let start = elements.length - 1;\n    if (matchAlgorithm === \"v1\")\n      start = 0;\n    else if (jsx)\n      start = elements.length - 2;\n    for (let i = Math.max(start, 0); i < elements.length; i++) {\n      const token = elements[i];\n      if (token.type !== \"element\")\n        continue;\n      const head = token.children.at(0);\n      if (head?.type !== \"text\")\n        continue;\n      const isLast = i === elements.length - 1;\n      const match = matchToken(head.value, isLast);\n      if (!match)\n        continue;\n      if (jsx && !isLast && i !== 0) {\n        const isJsxStyle = isValue(elements[i - 1], \"{\") && isValue(elements[i + 1], \"}\");\n        out.push({\n          info: match,\n          line,\n          token,\n          isLineCommentOnly: elements.length === 3 && token.children.length === 1,\n          isJsxStyle\n        });\n      } else {\n        out.push({\n          info: match,\n          line,\n          token,\n          isLineCommentOnly: elements.length === 1 && token.children.length === 1,\n          isJsxStyle: false\n        });\n      }\n    }\n  }\n  return out;\n}\nfunction isValue(element, value) {\n  if (element.type !== \"element\")\n    return false;\n  const text = element.children[0];\n  if (text.type !== \"text\")\n    return false;\n  return text.value.trim() === value;\n}\nfunction matchToken(text, isLast) {\n  let trimmed = text.trimStart();\n  const spaceFront = text.length - trimmed.length;\n  trimmed = trimmed.trimEnd();\n  const spaceEnd = text.length - trimmed.length - spaceFront;\n  for (const [matcher, endOfLine] of matchers) {\n    if (endOfLine && !isLast)\n      continue;\n    const result = matcher.exec(trimmed);\n    if (!result)\n      continue;\n    return [\n      \" \".repeat(spaceFront) + result[1],\n      result[2],\n      result[3] ? result[3] + \" \".repeat(spaceEnd) : void 0\n    ];\n  }\n}\nfunction v1ClearEndCommentPrefix(text) {\n  const match = text.match(/(?:\\/\\/|[\"'#]|;{1,2}|%{1,2}|--)(\\s*)$/);\n  if (match && match[1].trim().length === 0) {\n    return text.slice(0, match.index);\n  }\n  return text;\n}\n\nfunction createCommentNotationTransformer(name, regex, onMatch, matchAlgorithm) {\n  if (matchAlgorithm == null) {\n    matchAlgorithm = \"v3\";\n  }\n  return {\n    name,\n    code(code) {\n      const lines = code.children.filter((i) => i.type === \"element\");\n      const linesToRemove = [];\n      code.data ??= {};\n      const data = code.data;\n      data._shiki_notation ??= parseComments(lines, [\"jsx\", \"tsx\"].includes(this.options.lang), matchAlgorithm);\n      const parsed = data._shiki_notation;\n      for (const comment of parsed) {\n        if (comment.info[1].length === 0)\n          continue;\n        let lineIdx = lines.indexOf(comment.line);\n        if (comment.isLineCommentOnly && matchAlgorithm !== \"v1\")\n          lineIdx++;\n        let replaced = false;\n        comment.info[1] = comment.info[1].replace(regex, (...match) => {\n          if (onMatch.call(this, match, comment.line, comment.token, lines, lineIdx)) {\n            replaced = true;\n            return \"\";\n          }\n          return match[0];\n        });\n        if (!replaced)\n          continue;\n        if (matchAlgorithm === \"v1\")\n          comment.info[1] = v1ClearEndCommentPrefix(comment.info[1]);\n        const isEmpty = comment.info[1].trim().length === 0;\n        if (isEmpty)\n          comment.info[1] = \"\";\n        if (isEmpty && comment.isLineCommentOnly) {\n          linesToRemove.push(comment.line);\n        } else if (isEmpty && comment.isJsxStyle) {\n          comment.line.children.splice(comment.line.children.indexOf(comment.token) - 1, 3);\n        } else if (isEmpty) {\n          comment.line.children.splice(comment.line.children.indexOf(comment.token), 1);\n        } else {\n          const head = comment.token.children[0];\n          if (head.type === \"text\") {\n            head.value = comment.info.join(\"\");\n          }\n        }\n      }\n      for (const line of linesToRemove) {\n        const index = code.children.indexOf(line);\n        const nextLine = code.children[index + 1];\n        let removeLength = 1;\n        if (nextLine?.type === \"text\" && nextLine?.value === \"\\n\")\n          removeLength = 2;\n        code.children.splice(index, removeLength);\n      }\n    }\n  };\n}\n\nfunction transformerCompactLineOptions(lineOptions = []) {\n  return {\n    name: \"@shikijs/transformers:compact-line-options\",\n    line(node, line) {\n      const lineOption = lineOptions.find((o) => o.line === line);\n      if (lineOption?.classes)\n        this.addClassToHast(node, lineOption.classes);\n      return node;\n    }\n  };\n}\n\nfunction parseMetaHighlightString(meta) {\n  if (!meta)\n    return null;\n  const match = meta.match(/\\{([\\d,-]+)\\}/);\n  if (!match)\n    return null;\n  const lines = match[1].split(\",\").flatMap((v) => {\n    const num = v.split(\"-\").map((v2) => Number.parseInt(v2, 10));\n    if (num.length === 1)\n      return [num[0]];\n    return Array.from({ length: num[1] - num[0] + 1 }, (_, i) => i + num[0]);\n  });\n  return lines;\n}\nconst symbol = Symbol(\"highlighted-lines\");\nfunction transformerMetaHighlight(options = {}) {\n  const {\n    className = \"highlighted\"\n  } = options;\n  return {\n    name: \"@shikijs/transformers:meta-highlight\",\n    line(node, line) {\n      if (!this.options.meta?.__raw) {\n        return;\n      }\n      const meta = this.meta;\n      meta[symbol] ??= parseMetaHighlightString(this.options.meta.__raw);\n      const lines = meta[symbol] ?? [];\n      if (lines.includes(line))\n        this.addClassToHast(node, className);\n      return node;\n    }\n  };\n}\n\nfunction parseMetaHighlightWords(meta) {\n  if (!meta)\n    return [];\n  const match = Array.from(meta.matchAll(/\\/((?:\\\\.|[^/])+)\\//g));\n  return match.map((v) => v[1].replace(/\\\\(.)/g, \"$1\"));\n}\nfunction transformerMetaWordHighlight(options = {}) {\n  const {\n    className = \"highlighted-word\"\n  } = options;\n  return {\n    name: \"@shikijs/transformers:meta-word-highlight\",\n    preprocess(code, options2) {\n      if (!this.options.meta?.__raw)\n        return;\n      const words = parseMetaHighlightWords(this.options.meta.__raw);\n      options2.decorations ||= [];\n      for (const word of words) {\n        const indexes = findAllSubstringIndexes(code, word);\n        for (const index of indexes) {\n          options2.decorations.push({\n            start: index,\n            end: index + word.length,\n            properties: {\n              class: className\n            }\n          });\n        }\n      }\n    }\n  };\n}\nfunction findAllSubstringIndexes(str, substr) {\n  const indexes = [];\n  let cursor = 0;\n  while (true) {\n    const index = str.indexOf(substr, cursor);\n    if (index === -1 || index >= str.length)\n      break;\n    if (index < cursor)\n      break;\n    indexes.push(index);\n    cursor = index + substr.length;\n  }\n  return indexes;\n}\n\nfunction escapeRegExp(str) {\n  return str.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\");\n}\nfunction transformerNotationMap(options = {}, name = \"@shikijs/transformers:notation-map\") {\n  const {\n    classMap = {},\n    classActivePre = void 0\n  } = options;\n  return createCommentNotationTransformer(\n    name,\n    new RegExp(`\\\\s*\\\\[!code (${Object.keys(classMap).map(escapeRegExp).join(\"|\")})(:\\\\d+)?\\\\]`),\n    function([_, match, range = \":1\"], _line, _comment, lines, index) {\n      const lineNum = Number.parseInt(range.slice(1), 10);\n      for (let i = index; i < Math.min(index + lineNum, lines.length); i++) {\n        this.addClassToHast(lines[i], classMap[match]);\n      }\n      if (classActivePre)\n        this.addClassToHast(this.pre, classActivePre);\n      return true;\n    },\n    options.matchAlgorithm\n  );\n}\n\nfunction transformerNotationDiff(options = {}) {\n  const {\n    classLineAdd = \"diff add\",\n    classLineRemove = \"diff remove\",\n    classActivePre = \"has-diff\"\n  } = options;\n  return transformerNotationMap(\n    {\n      classMap: {\n        \"++\": classLineAdd,\n        \"--\": classLineRemove\n      },\n      classActivePre,\n      matchAlgorithm: options.matchAlgorithm\n    },\n    \"@shikijs/transformers:notation-diff\"\n  );\n}\n\nfunction transformerNotationErrorLevel(options = {}) {\n  const {\n    classMap = {\n      error: [\"highlighted\", \"error\"],\n      warning: [\"highlighted\", \"warning\"]\n    },\n    classActivePre = \"has-highlighted\"\n  } = options;\n  return transformerNotationMap(\n    {\n      classMap,\n      classActivePre,\n      matchAlgorithm: options.matchAlgorithm\n    },\n    \"@shikijs/transformers:notation-error-level\"\n  );\n}\n\nfunction transformerNotationFocus(options = {}) {\n  const {\n    classActiveLine = \"focused\",\n    classActivePre = \"has-focused\"\n  } = options;\n  return transformerNotationMap(\n    {\n      classMap: {\n        focus: classActiveLine\n      },\n      classActivePre,\n      matchAlgorithm: options.matchAlgorithm\n    },\n    \"@shikijs/transformers:notation-focus\"\n  );\n}\n\nfunction transformerNotationHighlight(options = {}) {\n  const {\n    classActiveLine = \"highlighted\",\n    classActivePre = \"has-highlighted\"\n  } = options;\n  return transformerNotationMap(\n    {\n      classMap: {\n        highlight: classActiveLine,\n        hl: classActiveLine\n      },\n      classActivePre,\n      matchAlgorithm: options.matchAlgorithm\n    },\n    \"@shikijs/transformers:notation-highlight\"\n  );\n}\n\nfunction highlightWordInLine(line, ignoredElement, word, className) {\n  const content = getTextContent(line);\n  let index = content.indexOf(word);\n  while (index !== -1) {\n    highlightRange.call(this, line.children, ignoredElement, index, word.length, className);\n    index = content.indexOf(word, index + 1);\n  }\n}\nfunction getTextContent(element) {\n  if (element.type === \"text\")\n    return element.value;\n  if (element.type === \"element\" && element.tagName === \"span\")\n    return element.children.map(getTextContent).join(\"\");\n  return \"\";\n}\nfunction highlightRange(elements, ignoredElement, index, len, className) {\n  let currentIdx = 0;\n  for (let i = 0; i < elements.length; i++) {\n    const element = elements[i];\n    if (element.type !== \"element\" || element.tagName !== \"span\" || element === ignoredElement)\n      continue;\n    const textNode = element.children[0];\n    if (textNode.type !== \"text\")\n      continue;\n    if (hasOverlap([currentIdx, currentIdx + textNode.value.length - 1], [index, index + len])) {\n      const start = Math.max(0, index - currentIdx);\n      const length = len - Math.max(0, currentIdx - index);\n      if (length === 0)\n        continue;\n      const separated = separateToken(element, textNode, start, length);\n      this.addClassToHast(separated[1], className);\n      const output = separated.filter(Boolean);\n      elements.splice(i, 1, ...output);\n      i += output.length - 1;\n    }\n    currentIdx += textNode.value.length;\n  }\n}\nfunction hasOverlap(range1, range2) {\n  return range1[0] <= range2[1] && range1[1] >= range2[0];\n}\nfunction separateToken(span, textNode, index, len) {\n  const text = textNode.value;\n  const createNode = (value) => inheritElement(span, {\n    children: [\n      {\n        type: \"text\",\n        value\n      }\n    ]\n  });\n  return [\n    index > 0 ? createNode(text.slice(0, index)) : void 0,\n    createNode(text.slice(index, index + len)),\n    index + len < text.length ? createNode(text.slice(index + len)) : void 0\n  ];\n}\nfunction inheritElement(original, overrides) {\n  return {\n    ...original,\n    properties: {\n      ...original.properties\n    },\n    ...overrides\n  };\n}\n\nfunction transformerNotationWordHighlight(options = {}) {\n  const {\n    classActiveWord = \"highlighted-word\",\n    classActivePre = void 0\n  } = options;\n  return createCommentNotationTransformer(\n    \"@shikijs/transformers:notation-highlight-word\",\n    /\\s*\\[!code word:((?:\\\\.|[^:\\]])+)(:\\d+)?\\]/,\n    function([_, word, range], _line, comment, lines, index) {\n      const lineNum = range ? Number.parseInt(range.slice(1), 10) : lines.length;\n      word = word.replace(/\\\\(.)/g, \"$1\");\n      for (let i = index; i < Math.min(index + lineNum, lines.length); i++) {\n        highlightWordInLine.call(this, lines[i], comment, word, classActiveWord);\n      }\n      if (classActivePre)\n        this.addClassToHast(this.pre, classActivePre);\n      return true;\n    },\n    options.matchAlgorithm\n  );\n}\n\nfunction transformerRemoveLineBreak() {\n  return {\n    name: \"@shikijs/transformers:remove-line-break\",\n    code(code) {\n      code.children = code.children.filter((line) => !(line.type === \"text\" && line.value === \"\\n\"));\n    }\n  };\n}\n\nfunction transformerRemoveNotationEscape() {\n  return {\n    name: \"@shikijs/transformers:remove-notation-escape\",\n    code(hast) {\n      function replace(node) {\n        if (node.type === \"text\") {\n          node.value = node.value.replace(\"[\\\\!code\", \"[!code\");\n        } else if (\"children\" in node) {\n          for (const child of node.children) {\n            replace(child);\n          }\n        }\n      }\n      replace(hast);\n      return hast;\n    }\n  };\n}\n\nfunction transformerRenderIndentGuides(options = {}) {\n  return {\n    name: \"@shikijs/transformers:render-indent-guides\",\n    code(hast) {\n      let { indent = 2 } = options;\n      const match = this.options.meta?.__raw?.match(/\\{indent:(\\d+|false)\\}/);\n      if (match) {\n        if (match[1] === \"false\") {\n          return hast;\n        }\n        indent = Number(match[1]);\n      }\n      const indentRegex = new RegExp(` {${indent}}| {0,${indent - 1}}\t| {1,}$`, \"g\");\n      const emptyLines = [];\n      let level = 0;\n      for (const line of hast.children) {\n        if (line.type !== \"element\") {\n          continue;\n        }\n        const first = line.children[0];\n        if (first?.type !== \"element\" || first?.children[0]?.type !== \"text\") {\n          emptyLines.push([line, level]);\n          continue;\n        }\n        const text = first.children[0];\n        const blanks = text.value.split(/[^ \\t]/, 1)[0];\n        const ranges = [];\n        for (const match2 of blanks.matchAll(indentRegex)) {\n          const start = match2.index;\n          const end = start + match2[0].length;\n          ranges.push([start, end]);\n        }\n        for (const [line2, level2] of emptyLines) {\n          line2.children.unshift(...Array.from({ length: Math.min(ranges.length, level2 + 1) }, (_, i) => ({\n            type: \"element\",\n            tagName: \"span\",\n            properties: {\n              class: \"indent\",\n              style: `--indent-offset: ${i * indent}ch;`\n            },\n            children: []\n          })));\n        }\n        emptyLines.length = 0;\n        level = ranges.length;\n        if (ranges.length) {\n          line.children.unshift(\n            ...ranges.map(([start, end]) => ({\n              type: \"element\",\n              tagName: \"span\",\n              properties: {\n                class: \"indent\"\n              },\n              children: [{\n                type: \"text\",\n                value: text.value.slice(start, end)\n              }]\n            }))\n          );\n          text.value = text.value.slice(ranges.at(-1)[1]);\n        }\n      }\n      return hast;\n    }\n  };\n}\n\nfunction isTab(part) {\n  return part === \"\t\";\n}\nfunction isSpace(part) {\n  return part === \" \" || part === \"\t\";\n}\nfunction separateContinuousSpaces(inputs) {\n  const result = [];\n  let current = \"\";\n  function bump() {\n    if (current.length)\n      result.push(current);\n    current = \"\";\n  }\n  inputs.forEach((part, idx) => {\n    if (isTab(part)) {\n      bump();\n      result.push(part);\n    } else if (isSpace(part) && (isSpace(inputs[idx - 1]) || isSpace(inputs[idx + 1]))) {\n      bump();\n      result.push(part);\n    } else {\n      current += part;\n    }\n  });\n  bump();\n  return result;\n}\nfunction splitSpaces(parts, type, renderContinuousSpaces = true) {\n  if (type === \"all\")\n    return parts;\n  let leftCount = 0;\n  let rightCount = 0;\n  if (type === \"boundary\") {\n    for (let i = 0; i < parts.length; i++) {\n      if (isSpace(parts[i]))\n        leftCount++;\n      else\n        break;\n    }\n  }\n  if (type === \"boundary\" || type === \"trailing\") {\n    for (let i = parts.length - 1; i >= 0; i--) {\n      if (isSpace(parts[i]))\n        rightCount++;\n      else\n        break;\n    }\n  }\n  const middle = parts.slice(leftCount, parts.length - rightCount);\n  return [\n    ...parts.slice(0, leftCount),\n    ...renderContinuousSpaces ? separateContinuousSpaces(middle) : [middle.join(\"\")],\n    ...parts.slice(parts.length - rightCount)\n  ];\n}\n\nfunction transformerRenderWhitespace(options = {}) {\n  const classMap = {\n    \" \": options.classSpace ?? \"space\",\n    \"\t\": options.classTab ?? \"tab\"\n  };\n  const position = options.position ?? \"all\";\n  const keys = Object.keys(classMap);\n  return {\n    name: \"@shikijs/transformers:render-whitespace\",\n    // We use `root` hook here to ensure it runs after all other transformers\n    root(root) {\n      const pre = root.children[0];\n      const code = pre.tagName === \"pre\" ? pre.children[0] : { children: [root] };\n      code.children.forEach(\n        (line) => {\n          if (line.type !== \"element\" && line.type !== \"root\")\n            return;\n          const elements = line.children.filter((token) => token.type === \"element\");\n          const last = elements.length - 1;\n          line.children = line.children.flatMap((token) => {\n            if (token.type !== \"element\")\n              return token;\n            const index = elements.indexOf(token);\n            if (position === \"boundary\" && index !== 0 && index !== last)\n              return token;\n            if (position === \"trailing\" && index !== last)\n              return token;\n            const node = token.children[0];\n            if (node.type !== \"text\" || !node.value)\n              return token;\n            const parts = splitSpaces(\n              node.value.split(/([ \\t])/).filter((i) => i.length),\n              position === \"boundary\" && index === last && last !== 0 ? \"trailing\" : position,\n              position !== \"trailing\"\n            );\n            if (parts.length <= 1)\n              return token;\n            return parts.map((part) => {\n              const clone = {\n                ...token,\n                properties: { ...token.properties }\n              };\n              clone.children = [{ type: \"text\", value: part }];\n              if (keys.includes(part)) {\n                this.addClassToHast(clone, classMap[part]);\n                delete clone.properties.style;\n              }\n              return clone;\n            });\n          });\n        }\n      );\n    }\n  };\n}\n\nfunction transformerStyleToClass(options = {}) {\n  const {\n    classPrefix = \"__shiki_\",\n    classSuffix = \"\",\n    classReplacer = (className) => className\n  } = options;\n  const classToStyle = /* @__PURE__ */ new Map();\n  function stringifyStyle(style) {\n    return Object.entries(style).map(([key, value]) => `${key}:${value}`).join(\";\");\n  }\n  function registerStyle(style) {\n    const str = typeof style === \"string\" ? style : stringifyStyle(style);\n    let className = classPrefix + cyrb53(str) + classSuffix;\n    className = classReplacer(className);\n    if (!classToStyle.has(className)) {\n      classToStyle.set(\n        className,\n        typeof style === \"string\" ? style : { ...style }\n      );\n    }\n    return className;\n  }\n  return {\n    name: \"@shikijs/transformers:style-to-class\",\n    pre(t) {\n      if (!t.properties.style)\n        return;\n      const className = registerStyle(t.properties.style);\n      delete t.properties.style;\n      this.addClassToHast(t, className);\n    },\n    tokens(lines) {\n      for (const line of lines) {\n        for (const token of line) {\n          if (!token.htmlStyle)\n            continue;\n          const className = registerStyle(token.htmlStyle);\n          token.htmlStyle = {};\n          token.htmlAttrs ||= {};\n          if (!token.htmlAttrs.class)\n            token.htmlAttrs.class = className;\n          else\n            token.htmlAttrs.class += ` ${className}`;\n        }\n      }\n    },\n    getClassRegistry() {\n      return classToStyle;\n    },\n    getCSS() {\n      let css = \"\";\n      for (const [className, style] of classToStyle.entries()) {\n        css += `.${className}{${typeof style === \"string\" ? style : stringifyStyle(style)}}`;\n      }\n      return css;\n    },\n    clearRegistry() {\n      classToStyle.clear();\n    }\n  };\n}\nfunction cyrb53(str, seed = 0) {\n  let h1 = 3735928559 ^ seed;\n  let h2 = 1103547991 ^ seed;\n  for (let i = 0, ch; i < str.length; i++) {\n    ch = str.charCodeAt(i);\n    h1 = Math.imul(h1 ^ ch, 2654435761);\n    h2 = Math.imul(h2 ^ ch, 1597334677);\n  }\n  h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507);\n  h1 ^= Math.imul(h2 ^ h2 >>> 13, 3266489909);\n  h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507);\n  h2 ^= Math.imul(h1 ^ h1 >>> 13, 3266489909);\n  return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(36).slice(0, 6);\n}\n\nexport { createCommentNotationTransformer, findAllSubstringIndexes, parseMetaHighlightString, parseMetaHighlightWords, transformerCompactLineOptions, transformerMetaHighlight, transformerMetaWordHighlight, transformerNotationDiff, transformerNotationErrorLevel, transformerNotationFocus, transformerNotationHighlight, transformerNotationMap, transformerNotationWordHighlight, transformerRemoveLineBreak, transformerRemoveNotationEscape, transformerRenderIndentGuides, transformerRenderWhitespace, transformerStyleToClass };\n","import { transformerNotationHighlight } from \"@shikijs/transformers\";\nimport { bundledLanguages } from \"shiki/bundle-web.mjs\";\nimport { SHIKI_DEFAULT_THEME, useShiki } from \"~/ShikiProvider\";\n\nexport function CodeViewer({ code, lang }: { code: string; lang: string }) {\n  const highlighter = useShiki();\n\n  if (code.length === 0) {\n    return <></>;\n  }\n\n  if (highlighter && lang in bundledLanguages) {\n    return (\n      <div\n        // biome-ignore lint/security/noDangerouslySetInnerHtml: Need this for shiki\n        dangerouslySetInnerHTML={{\n          __html: highlighter.codeToHtml(code, {\n            lang,\n            theme: SHIKI_DEFAULT_THEME,\n            transformers: [transformerNotationHighlight()],\n          }),\n        }}\n      />\n    );\n  }\n\n  return (\n    <pre className=\"text-primary-300 whitespace-pre-wrap break-words font-mono text-sm p-2 bg-primary-950 rounded-sm\">\n      {code}\n    </pre>\n  );\n}\n","import { useState } from \"react\";\nimport { cn } from \"~/lib/cn\";\nimport { renderValue } from \"~/lib/values\";\nimport CopyToClipboard from \"~/telemetry/components/shared/CopyToClipboard\";\nimport OpenInEditor from \"~/telemetry/components/shared/OpenInEditor\";\nimport type { EventFrame, FrameVars } from \"~/telemetry/types\";\nimport Table from \"~/ui/table\";\nimport { CodeViewer } from \"../../insights/envelopes/CodeViewer\";\n\nfunction resolveFilename(filename: string) {\n  try {\n    const url = new URL(filename);\n    return url.pathname.slice(1);\n  } catch {\n    // ignore\n  }\n\n  return filename;\n}\n\nfunction formatFilename(filename: string) {\n  if (filename.startsWith(\"node:\")) return filename;\n  const resolvedFilename = resolveFilename(filename);\n  if (resolvedFilename.indexOf(\"/node_modules/\") === -1) return resolvedFilename;\n  return `npm:${resolvedFilename\n    .replace(/\\/node_modules\\//gi, \"npm:\")\n    .split(\"npm:\")\n    .pop()}`;\n}\n\nfunction ContextLocals({ vars }: { vars: FrameVars }) {\n  return (\n    <Table className=\"table-values w-full\">\n      <Table.Body>\n        {Object.entries(vars).map(([key, value]) => {\n          return (\n            <tr key={key}>\n              <th>\n                <div className=\"w-full truncate\">{key}</div>\n              </th>\n              <td>\n                <pre className=\"whitespace-nowrap font-mono\">{renderValue(value)}</pre>\n              </td>\n            </tr>\n          );\n        })}\n      </Table.Body>\n    </Table>\n  );\n}\n\nfunction FileActions({ frame }: { frame: EventFrame }) {\n  if (!frame.filename) {\n    return null;\n  }\n  const resolvedFilename = resolveFilename(frame.filename);\n  return (\n    <div className=\"flex items-center gap-2\">\n      <OpenInEditor file={`${resolvedFilename}:${frame.lineno}:${frame.colno}`} />\n      <CopyToClipboard data={resolvedFilename} />\n    </div>\n  );\n}\n\nexport default function Frame({\n  frame,\n  defaultExpand = false,\n  platform,\n}: {\n  frame: EventFrame;\n  defaultExpand: boolean;\n  platform?: string;\n}) {\n  const [isOpen, setOpen] = useState(defaultExpand);\n\n  const hasSource = Boolean(frame.context_line);\n  const fileName = platform === \"java\" ? frame.module : frame.filename || frame.module;\n  return (\n    <li\n      className={cn(\n        hasSource ? \"cursor-pointer\" : \"\",\n        !isOpen && hasSource ? \"hover:bg-primary-900\" : \"\",\n        \"bg-primary-950 border-primary-900 my-1 overflow-hidden rounded-md border\",\n      )}\n      role={hasSource ? \"button\" : undefined}\n      tabIndex={0}\n      onClick={hasSource ? () => setOpen(!isOpen) : undefined}\n      onKeyDown={e => e.key === \"Enter\" && hasSource && setOpen(!isOpen)}\n    >\n      <div\n        className={cn(\"text-primary-400 flex items-center justify-between px-2 py-1\", isOpen ? \"bg-primary-900\" : \"\")}\n        onClick={hasSource ? () => setOpen(!isOpen) : undefined}\n      >\n        <div>\n          {fileName ? (\n            <span className=\"text-primary-100\">\n              {formatFilename(fileName)}\n              {\" in \"}\n            </span>\n          ) : null}\n\n          <span className=\"text-primary-100\">{frame.function}</span>\n          {frame.lineno !== undefined && (\n            <>\n              {\" \"}\n              at line{\" \"}\n              <span className=\"text-primary-100\">\n                {frame.lineno}\n                {frame.colno !== undefined && `:${frame.colno}`}\n              </span>\n            </>\n          )}\n        </div>\n        <FileActions frame={frame} />\n      </div>\n      {isOpen && (\n        <div className=\"bg-primary-950\">\n          <CodeViewer code={generateCodeFromFrame(frame)} lang={platform ?? \"text\"} />\n          {frame.vars && <ContextLocals vars={frame.vars} />}\n        </div>\n      )}\n    </li>\n  );\n}\n\nfunction generateCodeFromFrame(frame: EventFrame) {\n  let code = \"\";\n\n  frame.pre_context?.forEach((line, relativeLineNo) => {\n    const lineNo =\n      frame.lineno != null ? frame.lineno - (frame.pre_context as string[]).length + relativeLineNo : relativeLineNo;\n    code += `${lineNo}\\t${line}\\n`;\n  });\n\n  if (frame.context_line) {\n    code += `${frame.lineno}\\t${frame.context_line} // [!code highlight]\\n`;\n  }\n\n  frame.post_context?.forEach((line, relativeLineNo) => {\n    const lineNo = frame.lineno != null ? frame.lineno + 1 + relativeLineNo : relativeLineNo;\n    code += `${lineNo}\\t${line}\\n`;\n  });\n\n  return code;\n}\n","import type { EventException, EventExceptionValue, SentryErrorEvent } from \"../../../types\";\nimport Frame from \"./Frame\";\n\nexport function ErrorTitle({ event }: { event: SentryErrorEvent }) {\n  const values = valuesToArray(event.exception);\n  return (\n    <>\n      <strong className=\"font-bold\">{values[0].type}:</strong> {values[0].value}\n    </>\n  );\n}\n\nexport function ErrorSummary({ event }: { event: SentryErrorEvent }) {\n  const values = valuesToArray(event.exception);\n\n  return (\n    <div className=\"space-y-4 font-mono\">\n      <h3 className=\"flex flex-col\">\n        <strong className=\"text-xl\">{values[0].type}</strong>\n        <span className=\"\">{values[0].value}</span>\n      </h3>\n    </div>\n  );\n}\n\nexport function ErrorItem({ event }: { event: SentryErrorEvent }) {\n  const values = valuesToArray(event.exception);\n\n  return (\n    <div className=\"flex-1 px-6 py-4\">\n      <ol className=\"space-y-4\">\n        {values.map((value, valueIdx) => {\n          const valueKey = `${value.type}-${value.value}`;\n          return (\n            <li key={valueKey} className=\"space-y-4 font-mono\">\n              <h3 className=\"bg-primary-950 flex flex-col\">\n                <strong className=\"text-xl\">{value.type}</strong>\n                <pre>{value.value}</pre>\n              </h3>\n              <ul>\n                {value.stacktrace?.frames.map((frame, frameIdx) => {\n                  const frameKey = `${frame.filename || \"unknown\"}-${frame.function || \"anonymous\"}-${frame.lineno || 0}-${frameIdx}`;\n                  return (\n                    <Frame\n                      key={frameKey}\n                      frame={frame}\n                      defaultExpand={valueIdx === 0 && frameIdx === 0}\n                      platform={event.platform}\n                    />\n                  );\n                })}\n              </ul>\n            </li>\n          );\n        })}\n      </ol>\n    </div>\n  );\n}\n\nfunction valuesToArray(exception: EventException): EventExceptionValue[] {\n  if (exception.value) {\n    return [exception.value];\n  }\n  return exception.values;\n}\n","import type { SentryEvent } from \"../../types\";\nimport { ErrorItem, ErrorSummary, ErrorTitle } from \"./error/Error\";\n\nfunction getEventMessage(event: SentryEvent) {\n  if (typeof event.message === \"string\") {\n    return event.message;\n  }\n\n  if (event.message !== undefined && typeof event.message.formatted === \"string\") {\n    return event.message.formatted;\n  }\n\n  return \"\";\n}\n\nexport function EventTitle({ event }: { event: SentryEvent }) {\n  if (\"exception\" in event) {\n    return <ErrorTitle event={event} />;\n  }\n\n  return <strong className=\"font-bold\">{getEventMessage(event) || <em>Unknown Event</em>}</strong>;\n}\n\nexport function EventSummary({ event }: { event: SentryEvent }) {\n  if (\"exception\" in event) {\n    return <ErrorSummary event={event} />;\n  }\n  return (\n    <div className=\"space-y-4 font-mono\">\n      <h3 className=\"flex flex-col\">\n        <strong className=\"text-xl\">{getEventMessage(event) || <em>Unknown Event</em>}</strong>\n      </h3>\n    </div>\n  );\n}\n\nexport default function Event({ event }: { event: SentryEvent }) {\n  if (\"exception\" in event) {\n    return <ErrorItem event={event} />;\n  }\n\n  return (\n    <div className=\"flex-1 px-6 py-4\">\n      <h3 className=\"bg-primary-950 flex flex-col\">\n        <strong className=\"text-xl\">Message:</strong>\n        <pre>{getEventMessage(event) || <em>No message</em>}</pre>\n      </h3>\n    </div>\n  );\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t(require(\"react\")):\"function\"==typeof define&&define.amd?define([\"react\"],t):\"object\"==typeof exports?exports.reactJsonView=t(require(\"react\")):e.reactJsonView=t(e.React)}(this,(e=>(()=>{var t={9735:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"apathy\",author:\"jannik siebert (https://github.com/janniks)\",base00:\"#031A16\",base01:\"#0B342D\",base02:\"#184E45\",base03:\"#2B685E\",base04:\"#5F9C92\",base05:\"#81B5AC\",base06:\"#A7CEC8\",base07:\"#D2E7E4\",base08:\"#3E9688\",base09:\"#3E7996\",base0A:\"#3E4C96\",base0B:\"#883E96\",base0C:\"#963E4C\",base0D:\"#96883E\",base0E:\"#4C963E\",base0F:\"#3E965B\"},e.exports=t.default},294:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"ashes\",author:\"jannik siebert (https://github.com/janniks)\",base00:\"#1C2023\",base01:\"#393F45\",base02:\"#565E65\",base03:\"#747C84\",base04:\"#ADB3BA\",base05:\"#C7CCD1\",base06:\"#DFE2E5\",base07:\"#F3F4F5\",base08:\"#C7AE95\",base09:\"#C7C795\",base0A:\"#AEC795\",base0B:\"#95C7AE\",base0C:\"#95AEC7\",base0D:\"#AE95C7\",base0E:\"#C795AE\",base0F:\"#C79595\"},e.exports=t.default},1733:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"atelier dune\",author:\"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/dune)\",base00:\"#20201d\",base01:\"#292824\",base02:\"#6e6b5e\",base03:\"#7d7a68\",base04:\"#999580\",base05:\"#a6a28c\",base06:\"#e8e4cf\",base07:\"#fefbec\",base08:\"#d73737\",base09:\"#b65611\",base0A:\"#cfb017\",base0B:\"#60ac39\",base0C:\"#1fad83\",base0D:\"#6684e1\",base0E:\"#b854d4\",base0F:\"#d43552\"},e.exports=t.default},8974:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"atelier forest\",author:\"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/forest)\",base00:\"#1b1918\",base01:\"#2c2421\",base02:\"#68615e\",base03:\"#766e6b\",base04:\"#9c9491\",base05:\"#a8a19f\",base06:\"#e6e2e0\",base07:\"#f1efee\",base08:\"#f22c40\",base09:\"#df5320\",base0A:\"#d5911a\",base0B:\"#5ab738\",base0C:\"#00ad9c\",base0D:\"#407ee7\",base0E:\"#6666ea\",base0F:\"#c33ff3\"},e.exports=t.default},6933:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"atelier heath\",author:\"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/heath)\",base00:\"#1b181b\",base01:\"#292329\",base02:\"#695d69\",base03:\"#776977\",base04:\"#9e8f9e\",base05:\"#ab9bab\",base06:\"#d8cad8\",base07:\"#f7f3f7\",base08:\"#ca402b\",base09:\"#a65926\",base0A:\"#bb8a35\",base0B:\"#379a37\",base0C:\"#159393\",base0D:\"#516aec\",base0E:\"#7b59c0\",base0F:\"#cc33cc\"},e.exports=t.default},523:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"atelier lakeside\",author:\"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/lakeside/)\",base00:\"#161b1d\",base01:\"#1f292e\",base02:\"#516d7b\",base03:\"#5a7b8c\",base04:\"#7195a8\",base05:\"#7ea2b4\",base06:\"#c1e4f6\",base07:\"#ebf8ff\",base08:\"#d22d72\",base09:\"#935c25\",base0A:\"#8a8a0f\",base0B:\"#568c3b\",base0C:\"#2d8f6f\",base0D:\"#257fad\",base0E:\"#5d5db1\",base0F:\"#b72dd2\"},e.exports=t.default},1223:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"atelier seaside\",author:\"bram de haan (http://atelierbram.github.io/syntax-highlighting/atelier-schemes/seaside/)\",base00:\"#131513\",base01:\"#242924\",base02:\"#5e6e5e\",base03:\"#687d68\",base04:\"#809980\",base05:\"#8ca68c\",base06:\"#cfe8cf\",base07:\"#f0fff0\",base08:\"#e6193c\",base09:\"#87711d\",base0A:\"#c3c322\",base0B:\"#29a329\",base0C:\"#1999b3\",base0D:\"#3d62f5\",base0E:\"#ad2bee\",base0F:\"#e619c3\"},e.exports=t.default},1233:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"bespin\",author:\"jan t. sott\",base00:\"#28211c\",base01:\"#36312e\",base02:\"#5e5d5c\",base03:\"#666666\",base04:\"#797977\",base05:\"#8a8986\",base06:\"#9d9b97\",base07:\"#baae9e\",base08:\"#cf6a4c\",base09:\"#cf7d34\",base0A:\"#f9ee98\",base0B:\"#54be0d\",base0C:\"#afc4db\",base0D:\"#5ea6ea\",base0E:\"#9b859d\",base0F:\"#937121\"},e.exports=t.default},2847:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"brewer\",author:\"timothée poisot (http://github.com/tpoisot)\",base00:\"#0c0d0e\",base01:\"#2e2f30\",base02:\"#515253\",base03:\"#737475\",base04:\"#959697\",base05:\"#b7b8b9\",base06:\"#dadbdc\",base07:\"#fcfdfe\",base08:\"#e31a1c\",base09:\"#e6550d\",base0A:\"#dca060\",base0B:\"#31a354\",base0C:\"#80b1d3\",base0D:\"#3182bd\",base0E:\"#756bb1\",base0F:\"#b15928\"},e.exports=t.default},8120:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"bright\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#000000\",base01:\"#303030\",base02:\"#505050\",base03:\"#b0b0b0\",base04:\"#d0d0d0\",base05:\"#e0e0e0\",base06:\"#f5f5f5\",base07:\"#ffffff\",base08:\"#fb0120\",base09:\"#fc6d24\",base0A:\"#fda331\",base0B:\"#a1c659\",base0C:\"#76c7b7\",base0D:\"#6fb3d2\",base0E:\"#d381c3\",base0F:\"#be643c\"},e.exports=t.default},6305:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"chalk\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#151515\",base01:\"#202020\",base02:\"#303030\",base03:\"#505050\",base04:\"#b0b0b0\",base05:\"#d0d0d0\",base06:\"#e0e0e0\",base07:\"#f5f5f5\",base08:\"#fb9fb1\",base09:\"#eda987\",base0A:\"#ddb26f\",base0B:\"#acc267\",base0C:\"#12cfc0\",base0D:\"#6fc2ef\",base0E:\"#e1a3ee\",base0F:\"#deaf8f\"},e.exports=t.default},525:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"codeschool\",author:\"brettof86\",base00:\"#232c31\",base01:\"#1c3657\",base02:\"#2a343a\",base03:\"#3f4944\",base04:\"#84898c\",base05:\"#9ea7a6\",base06:\"#a7cfa3\",base07:\"#b5d8f6\",base08:\"#2a5491\",base09:\"#43820d\",base0A:\"#a03b1e\",base0B:\"#237986\",base0C:\"#b02f30\",base0D:\"#484d79\",base0E:\"#c59820\",base0F:\"#c98344\"},e.exports=t.default},4124:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"colors\",author:\"mrmrs (http://clrs.cc)\",base00:\"#111111\",base01:\"#333333\",base02:\"#555555\",base03:\"#777777\",base04:\"#999999\",base05:\"#bbbbbb\",base06:\"#dddddd\",base07:\"#ffffff\",base08:\"#ff4136\",base09:\"#ff851b\",base0A:\"#ffdc00\",base0B:\"#2ecc40\",base0C:\"#7fdbff\",base0D:\"#0074d9\",base0E:\"#b10dc9\",base0F:\"#85144b\"},e.exports=t.default},7167:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"default\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#181818\",base01:\"#282828\",base02:\"#383838\",base03:\"#585858\",base04:\"#b8b8b8\",base05:\"#d8d8d8\",base06:\"#e8e8e8\",base07:\"#f8f8f8\",base08:\"#ab4642\",base09:\"#dc9656\",base0A:\"#f7ca88\",base0B:\"#a1b56c\",base0C:\"#86c1b9\",base0D:\"#7cafc2\",base0E:\"#ba8baf\",base0F:\"#a16946\"},e.exports=t.default},4582:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"eighties\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#2d2d2d\",base01:\"#393939\",base02:\"#515151\",base03:\"#747369\",base04:\"#a09f93\",base05:\"#d3d0c8\",base06:\"#e8e6df\",base07:\"#f2f0ec\",base08:\"#f2777a\",base09:\"#f99157\",base0A:\"#ffcc66\",base0B:\"#99cc99\",base0C:\"#66cccc\",base0D:\"#6699cc\",base0E:\"#cc99cc\",base0F:\"#d27b53\"},e.exports=t.default},7096:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"embers\",author:\"jannik siebert (https://github.com/janniks)\",base00:\"#16130F\",base01:\"#2C2620\",base02:\"#433B32\",base03:\"#5A5047\",base04:\"#8A8075\",base05:\"#A39A90\",base06:\"#BEB6AE\",base07:\"#DBD6D1\",base08:\"#826D57\",base09:\"#828257\",base0A:\"#6D8257\",base0B:\"#57826D\",base0C:\"#576D82\",base0D:\"#6D5782\",base0E:\"#82576D\",base0F:\"#825757\"},e.exports=t.default},9887:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"flat\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#2C3E50\",base01:\"#34495E\",base02:\"#7F8C8D\",base03:\"#95A5A6\",base04:\"#BDC3C7\",base05:\"#e0e0e0\",base06:\"#f5f5f5\",base07:\"#ECF0F1\",base08:\"#E74C3C\",base09:\"#E67E22\",base0A:\"#F1C40F\",base0B:\"#2ECC71\",base0C:\"#1ABC9C\",base0D:\"#3498DB\",base0E:\"#9B59B6\",base0F:\"#be643c\"},e.exports=t.default},7199:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"google\",author:\"seth wright (http://sethawright.com)\",base00:\"#1d1f21\",base01:\"#282a2e\",base02:\"#373b41\",base03:\"#969896\",base04:\"#b4b7b4\",base05:\"#c5c8c6\",base06:\"#e0e0e0\",base07:\"#ffffff\",base08:\"#CC342B\",base09:\"#F96A38\",base0A:\"#FBA922\",base0B:\"#198844\",base0C:\"#3971ED\",base0D:\"#3971ED\",base0E:\"#A36AC7\",base0F:\"#3971ED\"},e.exports=t.default},1985:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"grayscale\",author:\"alexandre gavioli (https://github.com/alexx2/)\",base00:\"#101010\",base01:\"#252525\",base02:\"#464646\",base03:\"#525252\",base04:\"#ababab\",base05:\"#b9b9b9\",base06:\"#e3e3e3\",base07:\"#f7f7f7\",base08:\"#7c7c7c\",base09:\"#999999\",base0A:\"#a0a0a0\",base0B:\"#8e8e8e\",base0C:\"#868686\",base0D:\"#686868\",base0E:\"#747474\",base0F:\"#5e5e5e\"},e.exports=t.default},8093:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"green screen\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#001100\",base01:\"#003300\",base02:\"#005500\",base03:\"#007700\",base04:\"#009900\",base05:\"#00bb00\",base06:\"#00dd00\",base07:\"#00ff00\",base08:\"#007700\",base09:\"#009900\",base0A:\"#007700\",base0B:\"#00bb00\",base0C:\"#005500\",base0D:\"#009900\",base0E:\"#00bb00\",base0F:\"#005500\"},e.exports=t.default},1615:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"harmonic16\",author:\"jannik siebert (https://github.com/janniks)\",base00:\"#0b1c2c\",base01:\"#223b54\",base02:\"#405c79\",base03:\"#627e99\",base04:\"#aabcce\",base05:\"#cbd6e2\",base06:\"#e5ebf1\",base07:\"#f7f9fb\",base08:\"#bf8b56\",base09:\"#bfbf56\",base0A:\"#8bbf56\",base0B:\"#56bf8b\",base0C:\"#568bbf\",base0D:\"#8b56bf\",base0E:\"#bf568b\",base0F:\"#bf5656\"},e.exports=t.default},9063:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"hopscotch\",author:\"jan t. sott\",base00:\"#322931\",base01:\"#433b42\",base02:\"#5c545b\",base03:\"#797379\",base04:\"#989498\",base05:\"#b9b5b8\",base06:\"#d5d3d5\",base07:\"#ffffff\",base08:\"#dd464c\",base09:\"#fd8b19\",base0A:\"#fdcc59\",base0B:\"#8fc13e\",base0C:\"#149b93\",base0D:\"#1290bf\",base0E:\"#c85e7c\",base0F:\"#b33508\"},e.exports=t.default},9446:(e,t,a)=>{\"use strict\";function r(e){return e&&e.__esModule?e.default:e}t.__esModule=!0;var n=a(1308);t.threezerotwofour=r(n);var o=a(9735);t.apathy=r(o);var s=a(294);t.ashes=r(s);var i=a(1733);t.atelierDune=r(i);var l=a(8974);t.atelierForest=r(l);var c=a(6933);t.atelierHeath=r(c);var u=a(523);t.atelierLakeside=r(u);var d=a(1223);t.atelierSeaside=r(d);var b=a(1233);t.bespin=r(b);var p=a(2847);t.brewer=r(p);var f=a(8120);t.bright=r(f);var h=a(6305);t.chalk=r(h);var m=a(525);t.codeschool=r(m);var v=a(4124);t.colors=r(v);var g=a(7167);t.default=r(g);var y=a(4582);t.eighties=r(y);var k=a(7096);t.embers=r(k);var E=a(9887);t.flat=r(E);var j=a(7199);t.google=r(j);var w=a(1985);t.grayscale=r(w);var x=a(8093);t.greenscreen=r(x);var C=a(1615);t.harmonic=r(C);var O=a(9063);t.hopscotch=r(O);var M=a(9033);t.isotope=r(M);var S=a(4112);t.marrakesh=r(S);var _=a(9600);t.mocha=r(_);var A=a(1240);t.monokai=r(A);var F=a(9768);t.ocean=r(F);var P=a(8293);t.paraiso=r(P);var D=a(3093);t.pop=r(D);var I=a(1951);t.railscasts=r(I);var R=a(6368);t.shapeshifter=r(R);var z=a(2317);t.solarized=r(z);var B=a(1091);t.summerfruit=r(B);var N=a(6943);t.tomorrow=r(N);var L=a(5670);t.tube=r(L);var q=a(2536);t.twilight=r(q)},9033:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"isotope\",author:\"jan t. sott\",base00:\"#000000\",base01:\"#404040\",base02:\"#606060\",base03:\"#808080\",base04:\"#c0c0c0\",base05:\"#d0d0d0\",base06:\"#e0e0e0\",base07:\"#ffffff\",base08:\"#ff0000\",base09:\"#ff9900\",base0A:\"#ff0099\",base0B:\"#33ff00\",base0C:\"#00ffff\",base0D:\"#0066ff\",base0E:\"#cc00ff\",base0F:\"#3300ff\"},e.exports=t.default},4112:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"marrakesh\",author:\"alexandre gavioli (http://github.com/alexx2/)\",base00:\"#201602\",base01:\"#302e00\",base02:\"#5f5b17\",base03:\"#6c6823\",base04:\"#86813b\",base05:\"#948e48\",base06:\"#ccc37a\",base07:\"#faf0a5\",base08:\"#c35359\",base09:\"#b36144\",base0A:\"#a88339\",base0B:\"#18974e\",base0C:\"#75a738\",base0D:\"#477ca1\",base0E:\"#8868b3\",base0F:\"#b3588e\"},e.exports=t.default},9600:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"mocha\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#3B3228\",base01:\"#534636\",base02:\"#645240\",base03:\"#7e705a\",base04:\"#b8afad\",base05:\"#d0c8c6\",base06:\"#e9e1dd\",base07:\"#f5eeeb\",base08:\"#cb6077\",base09:\"#d28b71\",base0A:\"#f4bc87\",base0B:\"#beb55b\",base0C:\"#7bbda4\",base0D:\"#8ab3b5\",base0E:\"#a89bb9\",base0F:\"#bb9584\"},e.exports=t.default},1240:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"monokai\",author:\"wimer hazenberg (http://www.monokai.nl)\",base00:\"#272822\",base01:\"#383830\",base02:\"#49483e\",base03:\"#75715e\",base04:\"#a59f85\",base05:\"#f8f8f2\",base06:\"#f5f4f1\",base07:\"#f9f8f5\",base08:\"#f92672\",base09:\"#fd971f\",base0A:\"#f4bf75\",base0B:\"#a6e22e\",base0C:\"#a1efe4\",base0D:\"#66d9ef\",base0E:\"#ae81ff\",base0F:\"#cc6633\"},e.exports=t.default},9768:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"ocean\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#2b303b\",base01:\"#343d46\",base02:\"#4f5b66\",base03:\"#65737e\",base04:\"#a7adba\",base05:\"#c0c5ce\",base06:\"#dfe1e8\",base07:\"#eff1f5\",base08:\"#bf616a\",base09:\"#d08770\",base0A:\"#ebcb8b\",base0B:\"#a3be8c\",base0C:\"#96b5b4\",base0D:\"#8fa1b3\",base0E:\"#b48ead\",base0F:\"#ab7967\"},e.exports=t.default},8293:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"paraiso\",author:\"jan t. sott\",base00:\"#2f1e2e\",base01:\"#41323f\",base02:\"#4f424c\",base03:\"#776e71\",base04:\"#8d8687\",base05:\"#a39e9b\",base06:\"#b9b6b0\",base07:\"#e7e9db\",base08:\"#ef6155\",base09:\"#f99b15\",base0A:\"#fec418\",base0B:\"#48b685\",base0C:\"#5bc4bf\",base0D:\"#06b6ef\",base0E:\"#815ba4\",base0F:\"#e96ba8\"},e.exports=t.default},3093:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"pop\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#000000\",base01:\"#202020\",base02:\"#303030\",base03:\"#505050\",base04:\"#b0b0b0\",base05:\"#d0d0d0\",base06:\"#e0e0e0\",base07:\"#ffffff\",base08:\"#eb008a\",base09:\"#f29333\",base0A:\"#f8ca12\",base0B:\"#37b349\",base0C:\"#00aabb\",base0D:\"#0e5a94\",base0E:\"#b31e8d\",base0F:\"#7a2d00\"},e.exports=t.default},1951:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"railscasts\",author:\"ryan bates (http://railscasts.com)\",base00:\"#2b2b2b\",base01:\"#272935\",base02:\"#3a4055\",base03:\"#5a647e\",base04:\"#d4cfc9\",base05:\"#e6e1dc\",base06:\"#f4f1ed\",base07:\"#f9f7f3\",base08:\"#da4939\",base09:\"#cc7833\",base0A:\"#ffc66d\",base0B:\"#a5c261\",base0C:\"#519f50\",base0D:\"#6d9cbe\",base0E:\"#b6b3eb\",base0F:\"#bc9458\"},e.exports=t.default},6368:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"shapeshifter\",author:\"tyler benziger (http://tybenz.com)\",base00:\"#000000\",base01:\"#040404\",base02:\"#102015\",base03:\"#343434\",base04:\"#555555\",base05:\"#ababab\",base06:\"#e0e0e0\",base07:\"#f9f9f9\",base08:\"#e92f2f\",base09:\"#e09448\",base0A:\"#dddd13\",base0B:\"#0ed839\",base0C:\"#23edda\",base0D:\"#3b48e3\",base0E:\"#f996e2\",base0F:\"#69542d\"},e.exports=t.default},2317:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"solarized\",author:\"ethan schoonover (http://ethanschoonover.com/solarized)\",base00:\"#002b36\",base01:\"#073642\",base02:\"#586e75\",base03:\"#657b83\",base04:\"#839496\",base05:\"#93a1a1\",base06:\"#eee8d5\",base07:\"#fdf6e3\",base08:\"#dc322f\",base09:\"#cb4b16\",base0A:\"#b58900\",base0B:\"#859900\",base0C:\"#2aa198\",base0D:\"#268bd2\",base0E:\"#6c71c4\",base0F:\"#d33682\"},e.exports=t.default},1091:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"summerfruit\",author:\"christopher corley (http://cscorley.github.io/)\",base00:\"#151515\",base01:\"#202020\",base02:\"#303030\",base03:\"#505050\",base04:\"#B0B0B0\",base05:\"#D0D0D0\",base06:\"#E0E0E0\",base07:\"#FFFFFF\",base08:\"#FF0086\",base09:\"#FD8900\",base0A:\"#ABA800\",base0B:\"#00C918\",base0C:\"#1faaaa\",base0D:\"#3777E6\",base0E:\"#AD00A1\",base0F:\"#cc6633\"},e.exports=t.default},1308:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"threezerotwofour\",author:\"jan t. sott (http://github.com/idleberg)\",base00:\"#090300\",base01:\"#3a3432\",base02:\"#4a4543\",base03:\"#5c5855\",base04:\"#807d7c\",base05:\"#a5a2a2\",base06:\"#d6d5d4\",base07:\"#f7f7f7\",base08:\"#db2d20\",base09:\"#e8bbd0\",base0A:\"#fded02\",base0B:\"#01a252\",base0C:\"#b5e4f4\",base0D:\"#01a0e4\",base0E:\"#a16a94\",base0F:\"#cdab53\"},e.exports=t.default},6943:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"tomorrow\",author:\"chris kempson (http://chriskempson.com)\",base00:\"#1d1f21\",base01:\"#282a2e\",base02:\"#373b41\",base03:\"#969896\",base04:\"#b4b7b4\",base05:\"#c5c8c6\",base06:\"#e0e0e0\",base07:\"#ffffff\",base08:\"#cc6666\",base09:\"#de935f\",base0A:\"#f0c674\",base0B:\"#b5bd68\",base0C:\"#8abeb7\",base0D:\"#81a2be\",base0E:\"#b294bb\",base0F:\"#a3685a\"},e.exports=t.default},5670:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"london tube\",author:\"jan t. sott\",base00:\"#231f20\",base01:\"#1c3f95\",base02:\"#5a5758\",base03:\"#737171\",base04:\"#959ca1\",base05:\"#d9d8d8\",base06:\"#e7e7e8\",base07:\"#ffffff\",base08:\"#ee2e24\",base09:\"#f386a1\",base0A:\"#ffd204\",base0B:\"#00853e\",base0C:\"#85cebc\",base0D:\"#009ddc\",base0E:\"#98005d\",base0F:\"#b06110\"},e.exports=t.default},2536:(e,t)=>{\"use strict\";t.__esModule=!0,t.default={scheme:\"twilight\",author:\"david hart (http://hart-dev.com)\",base00:\"#1e1e1e\",base01:\"#323537\",base02:\"#464b50\",base03:\"#5f5a60\",base04:\"#838184\",base05:\"#a7a7a7\",base06:\"#c3c3c3\",base07:\"#ffffff\",base08:\"#cf6a4c\",base09:\"#cda869\",base0A:\"#f9ee98\",base0B:\"#8f9d6a\",base0C:\"#afc4db\",base0D:\"#7587a6\",base0E:\"#9b859d\",base0F:\"#9b703f\"},e.exports=t.default},6481:(e,t,a)=>{var r=a(4176),n={};for(var o in r)r.hasOwnProperty(o)&&(n[r[o]]=o);var s=e.exports={rgb:{channels:3,labels:\"rgb\"},hsl:{channels:3,labels:\"hsl\"},hsv:{channels:3,labels:\"hsv\"},hwb:{channels:3,labels:\"hwb\"},cmyk:{channels:4,labels:\"cmyk\"},xyz:{channels:3,labels:\"xyz\"},lab:{channels:3,labels:\"lab\"},lch:{channels:3,labels:\"lch\"},hex:{channels:1,labels:[\"hex\"]},keyword:{channels:1,labels:[\"keyword\"]},ansi16:{channels:1,labels:[\"ansi16\"]},ansi256:{channels:1,labels:[\"ansi256\"]},hcg:{channels:3,labels:[\"h\",\"c\",\"g\"]},apple:{channels:3,labels:[\"r16\",\"g16\",\"b16\"]},gray:{channels:1,labels:[\"gray\"]}};for(var i in s)if(s.hasOwnProperty(i)){if(!(\"channels\"in s[i]))throw new Error(\"missing channels property: \"+i);if(!(\"labels\"in s[i]))throw new Error(\"missing channel labels property: \"+i);if(s[i].labels.length!==s[i].channels)throw new Error(\"channel and label counts mismatch: \"+i);var l=s[i].channels,c=s[i].labels;delete s[i].channels,delete s[i].labels,Object.defineProperty(s[i],\"channels\",{value:l}),Object.defineProperty(s[i],\"labels\",{value:c})}s.rgb.hsl=function(e){var t,a,r=e[0]/255,n=e[1]/255,o=e[2]/255,s=Math.min(r,n,o),i=Math.max(r,n,o),l=i-s;return i===s?t=0:r===i?t=(n-o)/l:n===i?t=2+(o-r)/l:o===i&&(t=4+(r-n)/l),(t=Math.min(60*t,360))<0&&(t+=360),a=(s+i)/2,[t,100*(i===s?0:a<=.5?l/(i+s):l/(2-i-s)),100*a]},s.rgb.hsv=function(e){var t,a,r,n,o,s=e[0]/255,i=e[1]/255,l=e[2]/255,c=Math.max(s,i,l),u=c-Math.min(s,i,l),d=function(e){return(c-e)/6/u+.5};return 0===u?n=o=0:(o=u/c,t=d(s),a=d(i),r=d(l),s===c?n=r-a:i===c?n=1/3+t-r:l===c&&(n=2/3+a-t),n<0?n+=1:n>1&&(n-=1)),[360*n,100*o,100*c]},s.rgb.hwb=function(e){var t=e[0],a=e[1],r=e[2];return[s.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(a,r))),100*(r=1-1/255*Math.max(t,Math.max(a,r)))]},s.rgb.cmyk=function(e){var t,a=e[0]/255,r=e[1]/255,n=e[2]/255;return[100*((1-a-(t=Math.min(1-a,1-r,1-n)))/(1-t)||0),100*((1-r-t)/(1-t)||0),100*((1-n-t)/(1-t)||0),100*t]},s.rgb.keyword=function(e){var t=n[e];if(t)return t;var a,o,s,i=1/0;for(var l in r)if(r.hasOwnProperty(l)){var c=r[l],u=(o=e,s=c,Math.pow(o[0]-s[0],2)+Math.pow(o[1]-s[1],2)+Math.pow(o[2]-s[2],2));u<i&&(i=u,a=l)}return a},s.keyword.rgb=function(e){return r[e]},s.rgb.xyz=function(e){var t=e[0]/255,a=e[1]/255,r=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(a=a>.04045?Math.pow((a+.055)/1.055,2.4):a/12.92)+.1805*(r=r>.04045?Math.pow((r+.055)/1.055,2.4):r/12.92)),100*(.2126*t+.7152*a+.0722*r),100*(.0193*t+.1192*a+.9505*r)]},s.rgb.lab=function(e){var t=s.rgb.xyz(e),a=t[0],r=t[1],n=t[2];return r/=100,n/=108.883,a=(a/=95.047)>.008856?Math.pow(a,1/3):7.787*a+16/116,[116*(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116)-16,500*(a-r),200*(r-(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116))]},s.hsl.rgb=function(e){var t,a,r,n,o,s=e[0]/360,i=e[1]/100,l=e[2]/100;if(0===i)return[o=255*l,o,o];t=2*l-(a=l<.5?l*(1+i):l+i-l*i),n=[0,0,0];for(var c=0;c<3;c++)(r=s+1/3*-(c-1))<0&&r++,r>1&&r--,o=6*r<1?t+6*(a-t)*r:2*r<1?a:3*r<2?t+(a-t)*(2/3-r)*6:t,n[c]=255*o;return n},s.hsl.hsv=function(e){var t=e[0],a=e[1]/100,r=e[2]/100,n=a,o=Math.max(r,.01);return a*=(r*=2)<=1?r:2-r,n*=o<=1?o:2-o,[t,100*(0===r?2*n/(o+n):2*a/(r+a)),100*((r+a)/2)]},s.hsv.rgb=function(e){var t=e[0]/60,a=e[1]/100,r=e[2]/100,n=Math.floor(t)%6,o=t-Math.floor(t),s=255*r*(1-a),i=255*r*(1-a*o),l=255*r*(1-a*(1-o));switch(r*=255,n){case 0:return[r,l,s];case 1:return[i,r,s];case 2:return[s,r,l];case 3:return[s,i,r];case 4:return[l,s,r];case 5:return[r,s,i]}},s.hsv.hsl=function(e){var t,a,r,n=e[0],o=e[1]/100,s=e[2]/100,i=Math.max(s,.01);return r=(2-o)*s,a=o*i,[n,100*(a=(a/=(t=(2-o)*i)<=1?t:2-t)||0),100*(r/=2)]},s.hwb.rgb=function(e){var t,a,r,n,o,s,i,l=e[0]/360,c=e[1]/100,u=e[2]/100,d=c+u;switch(d>1&&(c/=d,u/=d),r=6*l-(t=Math.floor(6*l)),1&t&&(r=1-r),n=c+r*((a=1-u)-c),t){default:case 6:case 0:o=a,s=n,i=c;break;case 1:o=n,s=a,i=c;break;case 2:o=c,s=a,i=n;break;case 3:o=c,s=n,i=a;break;case 4:o=n,s=c,i=a;break;case 5:o=a,s=c,i=n}return[255*o,255*s,255*i]},s.cmyk.rgb=function(e){var t=e[0]/100,a=e[1]/100,r=e[2]/100,n=e[3]/100;return[255*(1-Math.min(1,t*(1-n)+n)),255*(1-Math.min(1,a*(1-n)+n)),255*(1-Math.min(1,r*(1-n)+n))]},s.xyz.rgb=function(e){var t,a,r,n=e[0]/100,o=e[1]/100,s=e[2]/100;return a=-.9689*n+1.8758*o+.0415*s,r=.0557*n+-.204*o+1.057*s,t=(t=3.2406*n+-1.5372*o+-.4986*s)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,a=a>.0031308?1.055*Math.pow(a,1/2.4)-.055:12.92*a,r=r>.0031308?1.055*Math.pow(r,1/2.4)-.055:12.92*r,[255*(t=Math.min(Math.max(0,t),1)),255*(a=Math.min(Math.max(0,a),1)),255*(r=Math.min(Math.max(0,r),1))]},s.xyz.lab=function(e){var t=e[0],a=e[1],r=e[2];return a/=100,r/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(a=a>.008856?Math.pow(a,1/3):7.787*a+16/116)-16,500*(t-a),200*(a-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},s.lab.xyz=function(e){var t,a,r,n=e[0];t=e[1]/500+(a=(n+16)/116),r=a-e[2]/200;var o=Math.pow(a,3),s=Math.pow(t,3),i=Math.pow(r,3);return a=o>.008856?o:(a-16/116)/7.787,t=s>.008856?s:(t-16/116)/7.787,r=i>.008856?i:(r-16/116)/7.787,[t*=95.047,a*=100,r*=108.883]},s.lab.lch=function(e){var t,a=e[0],r=e[1],n=e[2];return(t=360*Math.atan2(n,r)/2/Math.PI)<0&&(t+=360),[a,Math.sqrt(r*r+n*n),t]},s.lch.lab=function(e){var t,a=e[0],r=e[1];return t=e[2]/360*2*Math.PI,[a,r*Math.cos(t),r*Math.sin(t)]},s.rgb.ansi16=function(e){var t=e[0],a=e[1],r=e[2],n=1 in arguments?arguments[1]:s.rgb.hsv(e)[2];if(0===(n=Math.round(n/50)))return 30;var o=30+(Math.round(r/255)<<2|Math.round(a/255)<<1|Math.round(t/255));return 2===n&&(o+=60),o},s.hsv.ansi16=function(e){return s.rgb.ansi16(s.hsv.rgb(e),e[2])},s.rgb.ansi256=function(e){var t=e[0],a=e[1],r=e[2];return t===a&&a===r?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(a/255*5)+Math.round(r/255*5)},s.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var a=.5*(1+~~(e>50));return[(1&t)*a*255,(t>>1&1)*a*255,(t>>2&1)*a*255]},s.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var a;return e-=16,[Math.floor(e/36)/5*255,Math.floor((a=e%36)/6)/5*255,a%6/5*255]},s.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return\"000000\".substring(t.length)+t},s.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var a=t[0];3===t[0].length&&(a=a.split(\"\").map((function(e){return e+e})).join(\"\"));var r=parseInt(a,16);return[r>>16&255,r>>8&255,255&r]},s.rgb.hcg=function(e){var t,a=e[0]/255,r=e[1]/255,n=e[2]/255,o=Math.max(Math.max(a,r),n),s=Math.min(Math.min(a,r),n),i=o-s;return t=i<=0?0:o===a?(r-n)/i%6:o===r?2+(n-a)/i:4+(a-r)/i+4,t/=6,[360*(t%=1),100*i,100*(i<1?s/(1-i):0)]},s.hsl.hcg=function(e){var t=e[1]/100,a=e[2]/100,r=1,n=0;return(r=a<.5?2*t*a:2*t*(1-a))<1&&(n=(a-.5*r)/(1-r)),[e[0],100*r,100*n]},s.hsv.hcg=function(e){var t=e[1]/100,a=e[2]/100,r=t*a,n=0;return r<1&&(n=(a-r)/(1-r)),[e[0],100*r,100*n]},s.hcg.rgb=function(e){var t=e[0]/360,a=e[1]/100,r=e[2]/100;if(0===a)return[255*r,255*r,255*r];var n,o=[0,0,0],s=t%1*6,i=s%1,l=1-i;switch(Math.floor(s)){case 0:o[0]=1,o[1]=i,o[2]=0;break;case 1:o[0]=l,o[1]=1,o[2]=0;break;case 2:o[0]=0,o[1]=1,o[2]=i;break;case 3:o[0]=0,o[1]=l,o[2]=1;break;case 4:o[0]=i,o[1]=0,o[2]=1;break;default:o[0]=1,o[1]=0,o[2]=l}return n=(1-a)*r,[255*(a*o[0]+n),255*(a*o[1]+n),255*(a*o[2]+n)]},s.hcg.hsv=function(e){var t=e[1]/100,a=t+e[2]/100*(1-t),r=0;return a>0&&(r=t/a),[e[0],100*r,100*a]},s.hcg.hsl=function(e){var t=e[1]/100,a=e[2]/100*(1-t)+.5*t,r=0;return a>0&&a<.5?r=t/(2*a):a>=.5&&a<1&&(r=t/(2*(1-a))),[e[0],100*r,100*a]},s.hcg.hwb=function(e){var t=e[1]/100,a=t+e[2]/100*(1-t);return[e[0],100*(a-t),100*(1-a)]},s.hwb.hcg=function(e){var t=e[1]/100,a=1-e[2]/100,r=a-t,n=0;return r<1&&(n=(a-r)/(1-r)),[e[0],100*r,100*n]},s.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},s.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},s.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},s.gray.hsl=s.gray.hsv=function(e){return[0,0,e[0]]},s.gray.hwb=function(e){return[0,100,e[0]]},s.gray.cmyk=function(e){return[0,0,0,e[0]]},s.gray.lab=function(e){return[e[0],0,0]},s.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),a=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return\"000000\".substring(a.length)+a},s.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},4732:(e,t,a)=>{var r=a(6481),n=a(1157),o={};Object.keys(r).forEach((function(e){o[e]={},Object.defineProperty(o[e],\"channels\",{value:r[e].channels}),Object.defineProperty(o[e],\"labels\",{value:r[e].labels});var t=n(e);Object.keys(t).forEach((function(a){var r=t[a];o[e][a]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var a=e(t);if(\"object\"==typeof a)for(var r=a.length,n=0;n<r;n++)a[n]=Math.round(a[n]);return a};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r),o[e][a].raw=function(e){var t=function(t){return null==t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return\"conversion\"in e&&(t.conversion=e.conversion),t}(r)}))})),e.exports=o},1157:(e,t,a)=>{var r=a(6481);function n(e){var t=function(){for(var e={},t=Object.keys(r),a=t.length,n=0;n<a;n++)e[t[n]]={distance:-1,parent:null};return e}(),a=[e];for(t[e].distance=0;a.length;)for(var n=a.pop(),o=Object.keys(r[n]),s=o.length,i=0;i<s;i++){var l=o[i],c=t[l];-1===c.distance&&(c.distance=t[n].distance+1,c.parent=n,a.unshift(l))}return t}function o(e,t){return function(a){return t(e(a))}}function s(e,t){for(var a=[t[e].parent,e],n=r[t[e].parent][e],s=t[e].parent;t[s].parent;)a.unshift(t[s].parent),n=o(r[t[s].parent][s],n),s=t[s].parent;return n.conversion=a,n}e.exports=function(e){for(var t=n(e),a={},r=Object.keys(t),o=r.length,i=0;i<o;i++){var l=r[i];null!==t[l].parent&&(a[l]=s(l,t))}return a}},4176:e=>{\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},4877:e=>{\"use strict\";e.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},6138:(e,t,a)=>{var r=a(4877),n=a(301),o=Object.hasOwnProperty,s=Object.create(null);for(var i in r)o.call(r,i)&&(s[r[i]]=i);var l=e.exports={to:{},get:{}};function c(e,t,a){return Math.min(Math.max(t,e),a)}function u(e){var t=Math.round(e).toString(16).toUpperCase();return t.length<2?\"0\"+t:t}l.get=function(e){var t,a;switch(e.substring(0,3).toLowerCase()){case\"hsl\":t=l.get.hsl(e),a=\"hsl\";break;case\"hwb\":t=l.get.hwb(e),a=\"hwb\";break;default:t=l.get.rgb(e),a=\"rgb\"}return t?{model:a,value:t}:null},l.get.rgb=function(e){if(!e)return null;var t,a,n,s=[0,0,0,1];if(t=e.match(/^#([a-f0-9]{6})([a-f0-9]{2})?$/i)){for(n=t[2],t=t[1],a=0;a<3;a++){var i=2*a;s[a]=parseInt(t.slice(i,i+2),16)}n&&(s[3]=parseInt(n,16)/255)}else if(t=e.match(/^#([a-f0-9]{3,4})$/i)){for(n=(t=t[1])[3],a=0;a<3;a++)s[a]=parseInt(t[a]+t[a],16);n&&(s[3]=parseInt(n+n,16)/255)}else if(t=e.match(/^rgba?\\(\\s*([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)(?=[\\s,])\\s*(?:,\\s*)?([+-]?\\d+)\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/)){for(a=0;a<3;a++)s[a]=parseInt(t[a+1],0);t[4]&&(t[5]?s[3]=.01*parseFloat(t[4]):s[3]=parseFloat(t[4]))}else{if(!(t=e.match(/^rgba?\\(\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*,?\\s*([+-]?[\\d\\.]+)\\%\\s*(?:[,|\\/]\\s*([+-]?[\\d\\.]+)(%?)\\s*)?\\)$/)))return(t=e.match(/^(\\w+)$/))?\"transparent\"===t[1]?[0,0,0,0]:o.call(r,t[1])?((s=r[t[1]])[3]=1,s):null:null;for(a=0;a<3;a++)s[a]=Math.round(2.55*parseFloat(t[a+1]));t[4]&&(t[5]?s[3]=.01*parseFloat(t[4]):s[3]=parseFloat(t[4]))}for(a=0;a<3;a++)s[a]=c(s[a],0,255);return s[3]=c(s[3],0,1),s},l.get.hsl=function(e){if(!e)return null;var t=e.match(/^hsla?\\(\\s*([+-]?(?:\\d{0,3}\\.)?\\d+)(?:deg)?\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*,?\\s*([+-]?[\\d\\.]+)%\\s*(?:[,|\\/]\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,c(parseFloat(t[2]),0,100),c(parseFloat(t[3]),0,100),c(isNaN(a)?1:a,0,1)]}return null},l.get.hwb=function(e){if(!e)return null;var t=e.match(/^hwb\\(\\s*([+-]?\\d{0,3}(?:\\.\\d+)?)(?:deg)?\\s*,\\s*([+-]?[\\d\\.]+)%\\s*,\\s*([+-]?[\\d\\.]+)%\\s*(?:,\\s*([+-]?(?=\\.\\d|\\d)(?:0|[1-9]\\d*)?(?:\\.\\d*)?(?:[eE][+-]?\\d+)?)\\s*)?\\)$/);if(t){var a=parseFloat(t[4]);return[(parseFloat(t[1])%360+360)%360,c(parseFloat(t[2]),0,100),c(parseFloat(t[3]),0,100),c(isNaN(a)?1:a,0,1)]}return null},l.to.hex=function(){var e=n(arguments);return\"#\"+u(e[0])+u(e[1])+u(e[2])+(e[3]<1?u(Math.round(255*e[3])):\"\")},l.to.rgb=function(){var e=n(arguments);return e.length<4||1===e[3]?\"rgb(\"+Math.round(e[0])+\", \"+Math.round(e[1])+\", \"+Math.round(e[2])+\")\":\"rgba(\"+Math.round(e[0])+\", \"+Math.round(e[1])+\", \"+Math.round(e[2])+\", \"+e[3]+\")\"},l.to.rgb.percent=function(){var e=n(arguments),t=Math.round(e[0]/255*100),a=Math.round(e[1]/255*100),r=Math.round(e[2]/255*100);return e.length<4||1===e[3]?\"rgb(\"+t+\"%, \"+a+\"%, \"+r+\"%)\":\"rgba(\"+t+\"%, \"+a+\"%, \"+r+\"%, \"+e[3]+\")\"},l.to.hsl=function(){var e=n(arguments);return e.length<4||1===e[3]?\"hsl(\"+e[0]+\", \"+e[1]+\"%, \"+e[2]+\"%)\":\"hsla(\"+e[0]+\", \"+e[1]+\"%, \"+e[2]+\"%, \"+e[3]+\")\"},l.to.hwb=function(){var e=n(arguments),t=\"\";return e.length>=4&&1!==e[3]&&(t=\", \"+e[3]),\"hwb(\"+e[0]+\", \"+e[1]+\"%, \"+e[2]+\"%\"+t+\")\"},l.to.keyword=function(e){return s[e.slice(0,3)]}},3639:(e,t,a)=>{\"use strict\";var r=a(6138),n=a(4732),o=[].slice,s=[\"keyword\",\"gray\",\"hex\"],i={};Object.keys(n).forEach((function(e){i[o.call(n[e].labels).sort().join(\"\")]=e}));var l={};function c(e,t){if(!(this instanceof c))return new c(e,t);if(t&&t in s&&(t=null),t&&!(t in n))throw new Error(\"Unknown model: \"+t);var a,u;if(null==e)this.model=\"rgb\",this.color=[0,0,0],this.valpha=1;else if(e instanceof c)this.model=e.model,this.color=e.color.slice(),this.valpha=e.valpha;else if(\"string\"==typeof e){var d=r.get(e);if(null===d)throw new Error(\"Unable to parse color from string: \"+e);this.model=d.model,u=n[this.model].channels,this.color=d.value.slice(0,u),this.valpha=\"number\"==typeof d.value[u]?d.value[u]:1}else if(e.length){this.model=t||\"rgb\",u=n[this.model].channels;var p=o.call(e,0,u);this.color=b(p,u),this.valpha=\"number\"==typeof e[u]?e[u]:1}else if(\"number\"==typeof e)e&=16777215,this.model=\"rgb\",this.color=[e>>16&255,e>>8&255,255&e],this.valpha=1;else{this.valpha=1;var f=Object.keys(e);\"alpha\"in e&&(f.splice(f.indexOf(\"alpha\"),1),this.valpha=\"number\"==typeof e.alpha?e.alpha:0);var h=f.sort().join(\"\");if(!(h in i))throw new Error(\"Unable to parse color from object: \"+JSON.stringify(e));this.model=i[h];var m=n[this.model].labels,v=[];for(a=0;a<m.length;a++)v.push(e[m[a]]);this.color=b(v)}if(l[this.model])for(u=n[this.model].channels,a=0;a<u;a++){var g=l[this.model][a];g&&(this.color[a]=g(this.color[a]))}this.valpha=Math.max(0,Math.min(1,this.valpha)),Object.freeze&&Object.freeze(this)}function u(e,t,a){return(e=Array.isArray(e)?e:[e]).forEach((function(e){(l[e]||(l[e]=[]))[t]=a})),e=e[0],function(r){var n;return arguments.length?(a&&(r=a(r)),(n=this[e]()).color[t]=r,n):(n=this[e]().color[t],a&&(n=a(n)),n)}}function d(e){return function(t){return Math.max(0,Math.min(e,t))}}function b(e,t){for(var a=0;a<t;a++)\"number\"!=typeof e[a]&&(e[a]=0);return e}c.prototype={toString:function(){return this.string()},toJSON:function(){return this[this.model]()},string:function(e){var t=this.model in r.to?this:this.rgb(),a=1===(t=t.round(\"number\"==typeof e?e:1)).valpha?t.color:t.color.concat(this.valpha);return r.to[t.model](a)},percentString:function(e){var t=this.rgb().round(\"number\"==typeof e?e:1),a=1===t.valpha?t.color:t.color.concat(this.valpha);return r.to.rgb.percent(a)},array:function(){return 1===this.valpha?this.color.slice():this.color.concat(this.valpha)},object:function(){for(var e={},t=n[this.model].channels,a=n[this.model].labels,r=0;r<t;r++)e[a[r]]=this.color[r];return 1!==this.valpha&&(e.alpha=this.valpha),e},unitArray:function(){var e=this.rgb().color;return e[0]/=255,e[1]/=255,e[2]/=255,1!==this.valpha&&e.push(this.valpha),e},unitObject:function(){var e=this.rgb().object();return e.r/=255,e.g/=255,e.b/=255,1!==this.valpha&&(e.alpha=this.valpha),e},round:function(e){return e=Math.max(e||0,0),new c(this.color.map(function(e){return function(t){return function(e,t){return Number(e.toFixed(t))}(t,e)}}(e)).concat(this.valpha),this.model)},alpha:function(e){return arguments.length?new c(this.color.concat(Math.max(0,Math.min(1,e))),this.model):this.valpha},red:u(\"rgb\",0,d(255)),green:u(\"rgb\",1,d(255)),blue:u(\"rgb\",2,d(255)),hue:u([\"hsl\",\"hsv\",\"hsl\",\"hwb\",\"hcg\"],0,(function(e){return(e%360+360)%360})),saturationl:u(\"hsl\",1,d(100)),lightness:u(\"hsl\",2,d(100)),saturationv:u(\"hsv\",1,d(100)),value:u(\"hsv\",2,d(100)),chroma:u(\"hcg\",1,d(100)),gray:u(\"hcg\",2,d(100)),white:u(\"hwb\",1,d(100)),wblack:u(\"hwb\",2,d(100)),cyan:u(\"cmyk\",0,d(100)),magenta:u(\"cmyk\",1,d(100)),yellow:u(\"cmyk\",2,d(100)),black:u(\"cmyk\",3,d(100)),x:u(\"xyz\",0,d(100)),y:u(\"xyz\",1,d(100)),z:u(\"xyz\",2,d(100)),l:u(\"lab\",0,d(100)),a:u(\"lab\",1),b:u(\"lab\",2),keyword:function(e){return arguments.length?new c(e):n[this.model].keyword(this.color)},hex:function(e){return arguments.length?new c(e):r.to.hex(this.rgb().round().color)},rgbNumber:function(){var e=this.rgb().color;return(255&e[0])<<16|(255&e[1])<<8|255&e[2]},luminosity:function(){for(var e=this.rgb().color,t=[],a=0;a<e.length;a++){var r=e[a]/255;t[a]=r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4)}return.2126*t[0]+.7152*t[1]+.0722*t[2]},contrast:function(e){var t=this.luminosity(),a=e.luminosity();return t>a?(t+.05)/(a+.05):(a+.05)/(t+.05)},level:function(e){var t=this.contrast(e);return t>=7.1?\"AAA\":t>=4.5?\"AA\":\"\"},isDark:function(){var e=this.rgb().color;return(299*e[0]+587*e[1]+114*e[2])/1e3<128},isLight:function(){return!this.isDark()},negate:function(){for(var e=this.rgb(),t=0;t<3;t++)e.color[t]=255-e.color[t];return e},lighten:function(e){var t=this.hsl();return t.color[2]+=t.color[2]*e,t},darken:function(e){var t=this.hsl();return t.color[2]-=t.color[2]*e,t},saturate:function(e){var t=this.hsl();return t.color[1]+=t.color[1]*e,t},desaturate:function(e){var t=this.hsl();return t.color[1]-=t.color[1]*e,t},whiten:function(e){var t=this.hwb();return t.color[1]+=t.color[1]*e,t},blacken:function(e){var t=this.hwb();return t.color[2]+=t.color[2]*e,t},grayscale:function(){var e=this.rgb().color,t=.3*e[0]+.59*e[1]+.11*e[2];return c.rgb(t,t,t)},fade:function(e){return this.alpha(this.valpha-this.valpha*e)},opaquer:function(e){return this.alpha(this.valpha+this.valpha*e)},rotate:function(e){var t=this.hsl(),a=t.color[0];return a=(a=(a+e)%360)<0?360+a:a,t.color[0]=a,t},mix:function(e,t){if(!e||!e.rgb)throw new Error('Argument to \"mix\" was not a Color instance, but rather an instance of '+typeof e);var a=e.rgb(),r=this.rgb(),n=void 0===t?.5:t,o=2*n-1,s=a.alpha()-r.alpha(),i=((o*s==-1?o:(o+s)/(1+o*s))+1)/2,l=1-i;return c.rgb(i*a.red()+l*r.red(),i*a.green()+l*r.green(),i*a.blue()+l*r.blue(),a.alpha()*n+r.alpha()*(1-n))}},Object.keys(n).forEach((function(e){if(-1===s.indexOf(e)){var t=n[e].channels;c.prototype[e]=function(){if(this.model===e)return new c(this);if(arguments.length)return new c(arguments,e);var a,r=\"number\"==typeof arguments[t]?t:this.valpha;return new c((a=n[this.model][e].raw(this.color),Array.isArray(a)?a:[a]).concat(r),e)},c[e]=function(a){return\"number\"==typeof a&&(a=b(o.call(arguments),t)),new c(a,e)}}})),e.exports=c},9784:e=>{\"use strict\";var t,a=\"object\"==typeof Reflect?Reflect:null,r=a&&\"function\"==typeof a.apply?a.apply:function(e,t,a){return Function.prototype.apply.call(e,t,a)};t=a&&\"function\"==typeof a.ownKeys?a.ownKeys:Object.getOwnPropertySymbols?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:function(e){return Object.getOwnPropertyNames(e)};var n=Number.isNaN||function(e){return e!=e};function o(){o.init.call(this)}e.exports=o,e.exports.once=function(e,t){return new Promise((function(a,r){function n(a){e.removeListener(t,o),r(a)}function o(){\"function\"==typeof e.removeListener&&e.removeListener(\"error\",n),a([].slice.call(arguments))}h(e,t,o,{once:!0}),\"error\"!==t&&function(e,t,a){\"function\"==typeof e.on&&h(e,\"error\",t,a)}(e,n,{once:!0})}))},o.EventEmitter=o,o.prototype._events=void 0,o.prototype._eventsCount=0,o.prototype._maxListeners=void 0;var s=10;function i(e){if(\"function\"!=typeof e)throw new TypeError('The \"listener\" argument must be of type Function. Received type '+typeof e)}function l(e){return void 0===e._maxListeners?o.defaultMaxListeners:e._maxListeners}function c(e,t,a,r){var n,o,s,c;if(i(a),void 0===(o=e._events)?(o=e._events=Object.create(null),e._eventsCount=0):(void 0!==o.newListener&&(e.emit(\"newListener\",t,a.listener?a.listener:a),o=e._events),s=o[t]),void 0===s)s=o[t]=a,++e._eventsCount;else if(\"function\"==typeof s?s=o[t]=r?[a,s]:[s,a]:r?s.unshift(a):s.push(a),(n=l(e))>0&&s.length>n&&!s.warned){s.warned=!0;var u=new Error(\"Possible EventEmitter memory leak detected. \"+s.length+\" \"+String(t)+\" listeners added. Use emitter.setMaxListeners() to increase limit\");u.name=\"MaxListenersExceededWarning\",u.emitter=e,u.type=t,u.count=s.length,c=u,console&&console.warn&&console.warn(c)}return e}function u(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(e,t,a){var r={fired:!1,wrapFn:void 0,target:e,type:t,listener:a},n=u.bind(r);return n.listener=a,r.wrapFn=n,n}function b(e,t,a){var r=e._events;if(void 0===r)return[];var n=r[t];return void 0===n?[]:\"function\"==typeof n?a?[n.listener||n]:[n]:a?function(e){for(var t=new Array(e.length),a=0;a<t.length;++a)t[a]=e[a].listener||e[a];return t}(n):f(n,n.length)}function p(e){var t=this._events;if(void 0!==t){var a=t[e];if(\"function\"==typeof a)return 1;if(void 0!==a)return a.length}return 0}function f(e,t){for(var a=new Array(t),r=0;r<t;++r)a[r]=e[r];return a}function h(e,t,a,r){if(\"function\"==typeof e.on)r.once?e.once(t,a):e.on(t,a);else{if(\"function\"!=typeof e.addEventListener)throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type '+typeof e);e.addEventListener(t,(function n(o){r.once&&e.removeEventListener(t,n),a(o)}))}}Object.defineProperty(o,\"defaultMaxListeners\",{enumerable:!0,get:function(){return s},set:function(e){if(\"number\"!=typeof e||e<0||n(e))throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received '+e+\".\");s=e}}),o.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},o.prototype.setMaxListeners=function(e){if(\"number\"!=typeof e||e<0||n(e))throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received '+e+\".\");return this._maxListeners=e,this},o.prototype.getMaxListeners=function(){return l(this)},o.prototype.emit=function(e){for(var t=[],a=1;a<arguments.length;a++)t.push(arguments[a]);var n=\"error\"===e,o=this._events;if(void 0!==o)n=n&&void 0===o.error;else if(!n)return!1;if(n){var s;if(t.length>0&&(s=t[0]),s instanceof Error)throw s;var i=new Error(\"Unhandled error.\"+(s?\" (\"+s.message+\")\":\"\"));throw i.context=s,i}var l=o[e];if(void 0===l)return!1;if(\"function\"==typeof l)r(l,this,t);else{var c=l.length,u=f(l,c);for(a=0;a<c;++a)r(u[a],this,t)}return!0},o.prototype.addListener=function(e,t){return c(this,e,t,!1)},o.prototype.on=o.prototype.addListener,o.prototype.prependListener=function(e,t){return c(this,e,t,!0)},o.prototype.once=function(e,t){return i(t),this.on(e,d(this,e,t)),this},o.prototype.prependOnceListener=function(e,t){return i(t),this.prependListener(e,d(this,e,t)),this},o.prototype.removeListener=function(e,t){var a,r,n,o,s;if(i(t),void 0===(r=this._events))return this;if(void 0===(a=r[e]))return this;if(a===t||a.listener===t)0==--this._eventsCount?this._events=Object.create(null):(delete r[e],r.removeListener&&this.emit(\"removeListener\",e,a.listener||t));else if(\"function\"!=typeof a){for(n=-1,o=a.length-1;o>=0;o--)if(a[o]===t||a[o].listener===t){s=a[o].listener,n=o;break}if(n<0)return this;0===n?a.shift():function(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}(a,n),1===a.length&&(r[e]=a[0]),void 0!==r.removeListener&&this.emit(\"removeListener\",e,s||t)}return this},o.prototype.off=o.prototype.removeListener,o.prototype.removeAllListeners=function(e){var t,a,r;if(void 0===(a=this._events))return this;if(void 0===a.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==a[e]&&(0==--this._eventsCount?this._events=Object.create(null):delete a[e]),this;if(0===arguments.length){var n,o=Object.keys(a);for(r=0;r<o.length;++r)\"removeListener\"!==(n=o[r])&&this.removeAllListeners(n);return this.removeAllListeners(\"removeListener\"),this._events=Object.create(null),this._eventsCount=0,this}if(\"function\"==typeof(t=a[e]))this.removeListener(e,t);else if(void 0!==t)for(r=t.length-1;r>=0;r--)this.removeListener(e,t[r]);return this},o.prototype.listeners=function(e){return b(this,e,!0)},o.prototype.rawListeners=function(e){return b(this,e,!1)},o.listenerCount=function(e,t){return\"function\"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},o.prototype.listenerCount=p,o.prototype.eventNames=function(){return this._eventsCount>0?t(this._events):[]}},8336:e=>{e.exports=function(e){return!(!e||\"string\"==typeof e)&&(e instanceof Array||Array.isArray(e)||e.length>=0&&(e.splice instanceof Function||Object.getOwnPropertyDescriptor(e,e.length-1)&&\"String\"!==e.constructor.name))}},3989:(e,t,a)=>{var r=\"__lodash_placeholder__\",n=32,o=1/0,s=NaN,i=[[\"ary\",128],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",16],[\"flip\",512],[\"partial\",n],[\"partialRight\",64],[\"rearg\",256]],l=\"[object Function]\",c=\"[object GeneratorFunction]\",u=/^\\s+|\\s+$/g,d=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,b=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,p=/,? & /,f=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,m=/^\\[object .+?Constructor\\]$/,v=/^0o[0-7]+$/i,g=/^(?:0|[1-9]\\d*)$/,y=parseInt,k=\"object\"==typeof a.g&&a.g&&a.g.Object===Object&&a.g,E=\"object\"==typeof self&&self&&self.Object===Object&&self,j=k||E||Function(\"return this\")();function w(e,t,a){switch(a.length){case 0:return e.call(t);case 1:return e.call(t,a[0]);case 2:return e.call(t,a[0],a[1]);case 3:return e.call(t,a[0],a[1],a[2])}return e.apply(t,a)}function x(e,t){return!!(e?e.length:0)&&function(e,t,a){if(t!=t)return function(e,t,a,r){var n=e.length,o=a+(r?1:-1);for(;r?o--:++o<n;)if(t(e[o],o,e))return o;return-1}(e,C,a);var r=a-1,n=e.length;for(;++r<n;)if(e[r]===t)return r;return-1}(e,t,0)>-1}function C(e){return e!=e}function O(e,t){for(var a=-1,n=e.length,o=0,s=[];++a<n;){var i=e[a];i!==t&&i!==r||(e[a]=r,s[o++]=a)}return s}var M,S,_,A=Function.prototype,F=Object.prototype,P=j[\"__core-js_shared__\"],D=(M=/[^.]+$/.exec(P&&P.keys&&P.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+M:\"\",I=A.toString,R=F.hasOwnProperty,z=F.toString,B=RegExp(\"^\"+I.call(R).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),N=Object.create,L=Math.max,q=Math.min,V=(S=Y(Object,\"defineProperty\"),(_=Y.name)&&_.length>2?S:void 0);function T(e){if(!te(e)||function(e){return!!D&&D in e}(e))return!1;var t=function(e){var t=te(e)?z.call(e):\"\";return t==l||t==c}(e)||function(e){var t=!1;if(null!=e&&\"function\"!=typeof e.toString)try{t=!!(e+\"\")}catch(e){}return t}(e)?B:m;return t.test(function(e){if(null!=e){try{return I.call(e)}catch(e){}try{return e+\"\"}catch(e){}}return\"\"}(e))}function K(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var a,r=te(a=e.prototype)?N(a):{},n=e.apply(r,t);return te(n)?n:r}}function W(e,t,a,r,n,o,s,i,l,c){var u=128&t,d=1&t,b=2&t,p=24&t,f=512&t,h=b?void 0:K(e);return function m(){for(var v=arguments.length,g=Array(v),y=v;y--;)g[y]=arguments[y];if(p)var k=$(m),E=function(e,t){for(var a=e.length,r=0;a--;)e[a]===t&&r++;return r}(g,k);if(r&&(g=function(e,t,a,r){for(var n=-1,o=e.length,s=a.length,i=-1,l=t.length,c=L(o-s,0),u=Array(l+c),d=!r;++i<l;)u[i]=t[i];for(;++n<s;)(d||n<o)&&(u[a[n]]=e[n]);for(;c--;)u[i++]=e[n++];return u}(g,r,n,p)),o&&(g=function(e,t,a,r){for(var n=-1,o=e.length,s=-1,i=a.length,l=-1,c=t.length,u=L(o-i,0),d=Array(u+c),b=!r;++n<u;)d[n]=e[n];for(var p=n;++l<c;)d[p+l]=t[l];for(;++s<i;)(b||n<o)&&(d[p+a[s]]=e[n++]);return d}(g,o,s,p)),v-=E,p&&v<c){var w=O(g,k);return U(e,t,W,m.placeholder,a,g,w,i,l,c-v)}var x=d?a:this,C=b?x[e]:e;return v=g.length,i?g=function(e,t){var a=e.length,r=q(t.length,a),n=function(e,t){var a=-1,r=e.length;for(t||(t=Array(r));++a<r;)t[a]=e[a];return t}(e);for(;r--;){var o=t[r];e[r]=Q(o,a)?n[o]:void 0}return e}(g,i):f&&v>1&&g.reverse(),u&&l<v&&(g.length=l),this&&this!==j&&this instanceof m&&(C=h||K(C)),C.apply(x,g)}}function U(e,t,a,r,o,s,i,l,c,u){var d=8&t;t|=d?n:64,4&(t&=~(d?64:n))||(t&=-4);var b=a(e,t,o,d?s:void 0,d?i:void 0,d?void 0:s,d?void 0:i,l,c,u);return b.placeholder=r,Z(b,e,t)}function H(e,t,a,r,o,s,i,l){var c=2&t;if(!c&&\"function\"!=typeof e)throw new TypeError(\"Expected a function\");var u=r?r.length:0;if(u||(t&=-97,r=o=void 0),i=void 0===i?i:L(re(i),0),l=void 0===l?l:re(l),u-=o?o.length:0,64&t){var d=r,b=o;r=o=void 0}var p=[e,t,a,r,o,d,b,s,i,l];if(e=p[0],t=p[1],a=p[2],r=p[3],o=p[4],!(l=p[9]=null==p[9]?c?0:e.length:L(p[9]-u,0))&&24&t&&(t&=-25),t&&1!=t)f=8==t||16==t?function(e,t,a){var r=K(e);return function n(){for(var o=arguments.length,s=Array(o),i=o,l=$(n);i--;)s[i]=arguments[i];var c=o<3&&s[0]!==l&&s[o-1]!==l?[]:O(s,l);return(o-=c.length)<a?U(e,t,W,n.placeholder,void 0,s,c,void 0,void 0,a-o):w(this&&this!==j&&this instanceof n?r:e,this,s)}}(e,t,l):t!=n&&33!=t||o.length?W.apply(void 0,p):function(e,t,a,r){var n=1&t,o=K(e);return function t(){for(var s=-1,i=arguments.length,l=-1,c=r.length,u=Array(c+i),d=this&&this!==j&&this instanceof t?o:e;++l<c;)u[l]=r[l];for(;i--;)u[l++]=arguments[++s];return w(d,n?a:this,u)}}(e,t,a,r);else var f=function(e,t,a){var r=1&t,n=K(e);return function t(){return(this&&this!==j&&this instanceof t?n:e).apply(r?a:this,arguments)}}(e,t,a);return Z(f,e,t)}function $(e){return e.placeholder}function Y(e,t){var a=function(e,t){return null==e?void 0:e[t]}(e,t);return T(a)?a:void 0}function J(e){var t=e.match(b);return t?t[1].split(p):[]}function G(e,t){var a=t.length,r=a-1;return t[r]=(a>1?\"& \":\"\")+t[r],t=t.join(a>2?\", \":\" \"),e.replace(d,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Q(e,t){return!!(t=null==t?9007199254740991:t)&&(\"number\"==typeof e||g.test(e))&&e>-1&&e%1==0&&e<t}var Z=V?function(e,t,a){var r,n=t+\"\";return V(e,\"toString\",{configurable:!0,enumerable:!1,value:(r=G(n,X(J(n),a)),function(){return r})})}:function(e){return e};function X(e,t){return function(e,t){for(var a=-1,r=e?e.length:0;++a<r&&!1!==t(e[a],a,e););}(i,(function(a){var r=\"_.\"+a[0];t&a[1]&&!x(e,r)&&e.push(r)})),e.sort()}function ee(e,t,a){var r=H(e,8,void 0,void 0,void 0,void 0,void 0,t=a?void 0:t);return r.placeholder=ee.placeholder,r}function te(e){var t=typeof e;return!!e&&(\"object\"==t||\"function\"==t)}function ae(e){return e?(e=function(e){if(\"number\"==typeof e)return e;if(function(e){return\"symbol\"==typeof e||function(e){return!!e&&\"object\"==typeof e}(e)&&\"[object Symbol]\"==z.call(e)}(e))return s;if(te(e)){var t=\"function\"==typeof e.valueOf?e.valueOf():e;e=te(t)?t+\"\":t}if(\"string\"!=typeof e)return 0===e?e:+e;e=e.replace(u,\"\");var a=h.test(e);return a||v.test(e)?y(e.slice(2),a?2:8):f.test(e)?s:+e}(e))===o||e===-1/0?17976931348623157e292*(e<0?-1:1):e==e?e:0:0===e?e:0}function re(e){var t=ae(e),a=t%1;return t==t?a?t-a:t:0}ee.placeholder={},e.exports=ee},301:(e,t,a)=>{\"use strict\";var r=a(8336),n=Array.prototype.concat,o=Array.prototype.slice,s=e.exports=function(e){for(var t=[],a=0,s=e.length;a<s;a++){var i=e[a];r(i)?t=n.call(t,o.call(i)):t.push(i)}return t};s.wrap=function(e){return function(){return e(s(arguments))}}},4119:t=>{\"use strict\";t.exports=e}},a={};function r(e){var n=a[e];if(void 0!==n)return n.exports;var o=a[e]={exports:{}};return t[e](o,o.exports,r),o.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var a in t)r.o(t,a)&&!r.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},r.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(e){if(\"object\"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})};var n={};return(()=>{\"use strict\";function e(t){return e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},e(t)}function t(t){var a=function(t,a){if(\"object\"!=e(t)||!t)return t;var r=t[Symbol.toPrimitive];if(void 0!==r){var n=r.call(t,a||\"default\");if(\"object\"!=e(n))return n;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return(\"string\"===a?String:Number)(t)}(t,\"string\");return\"symbol\"==e(a)?a:a+\"\"}function a(e,a,r){return(a=t(a))in e?Object.defineProperty(e,a,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[a]=r,e}function o(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function s(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function i(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function l(e,a){for(var r=0;r<a.length;r++){var n=a[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,t(n.key),n)}}function c(e,t,a){return t&&l(e.prototype,t),a&&l(e,a),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function u(e){return u=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},u(e)}function d(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(d=function(){return!!e})()}function b(t,a){if(a&&(\"object\"==e(a)||\"function\"==typeof a))return a;if(void 0!==a)throw new TypeError(\"Derived constructors may only return object or undefined\");return function(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}(t)}function p(e,t,a){return t=u(t),b(e,d()?Reflect.construct(t,a||[],u(e).constructor):t.apply(e,a))}function f(e,t){return f=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},f(e,t)}function h(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&f(e,t)}r.r(n),r.d(n,{default:()=>gt});var m=r(4119),v=r.n(m);function g(){var e=this.constructor.getDerivedStateFromProps(this.props,this.state);null!=e&&this.setState(e)}function y(e){this.setState(function(t){var a=this.constructor.getDerivedStateFromProps(e,t);return null!=a?a:null}.bind(this))}function k(e,t){try{var a=this.props,r=this.state;this.props=e,this.state=t,this.__reactInternalSnapshotFlag=!0,this.__reactInternalSnapshot=this.getSnapshotBeforeUpdate(a,r)}finally{this.props=a,this.state=r}}function E(e){var t=e.prototype;if(!t||!t.isReactComponent)throw new Error(\"Can only polyfill class components\");if(\"function\"!=typeof e.getDerivedStateFromProps&&\"function\"!=typeof t.getSnapshotBeforeUpdate)return e;var a=null,r=null,n=null;if(\"function\"==typeof t.componentWillMount?a=\"componentWillMount\":\"function\"==typeof t.UNSAFE_componentWillMount&&(a=\"UNSAFE_componentWillMount\"),\"function\"==typeof t.componentWillReceiveProps?r=\"componentWillReceiveProps\":\"function\"==typeof t.UNSAFE_componentWillReceiveProps&&(r=\"UNSAFE_componentWillReceiveProps\"),\"function\"==typeof t.componentWillUpdate?n=\"componentWillUpdate\":\"function\"==typeof t.UNSAFE_componentWillUpdate&&(n=\"UNSAFE_componentWillUpdate\"),null!==a||null!==r||null!==n){var o=e.displayName||e.name,s=\"function\"==typeof e.getDerivedStateFromProps?\"getDerivedStateFromProps()\":\"getSnapshotBeforeUpdate()\";throw Error(\"Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n\"+o+\" uses \"+s+\" but also contains the following legacy lifecycles:\"+(null!==a?\"\\n  \"+a:\"\")+(null!==r?\"\\n  \"+r:\"\")+(null!==n?\"\\n  \"+n:\"\")+\"\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\nhttps://fb.me/react-async-component-lifecycle-hooks\")}if(\"function\"==typeof e.getDerivedStateFromProps&&(t.componentWillMount=g,t.componentWillReceiveProps=y),\"function\"==typeof t.getSnapshotBeforeUpdate){if(\"function\"!=typeof t.componentDidUpdate)throw new Error(\"Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype\");t.componentWillUpdate=k;var i=t.componentDidUpdate;t.componentDidUpdate=function(e,t,a){var r=this.__reactInternalSnapshotFlag?this.__reactInternalSnapshot:a;i.call(this,e,t,r)}}return e}function j(e,t){if(null==e)return{};var a={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.includes(r))continue;a[r]=e[r]}return a}function w(e,t){if(null==e)return{};var a,r,n=j(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r<o.length;r++)a=o[r],t.includes(a)||{}.propertyIsEnumerable.call(e,a)&&(n[a]=e[a])}return n}function x(e,t){var a;if(t&&(null==e||null===(a=e.constructor)||void 0===a?void 0:a.name)===(null==t?void 0:t.name))return\"bigNumber\";var r=function(e){return{}.toString.call(e).match(/\\s([a-zA-Z]+)/)[1].toLowerCase()}(e);return\"number\"===r&&(r=isNaN(e)?\"nan\":(0|e)!=e?\"float\":\"integer\"),r}function C(e){return e.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\n/g,\"\\\\n\").replace(/\\t/g,\"\\\\t\").replace(/\\r/g,\"\\\\r\").replace(/\\f/g,\"\\\\f\")}g.__suppressDeprecationWarning=!0,y.__suppressDeprecationWarning=!0,k.__suppressDeprecationWarning=!0;var O={scheme:\"rjv-default\",author:\"mac gainor\",base00:\"rgba(0, 0, 0, 0)\",base01:\"rgb(245, 245, 245)\",base02:\"rgb(235, 235, 235)\",base03:\"#93a1a1\",base04:\"rgba(0, 0, 0, 0.3)\",base05:\"#586e75\",base06:\"#073642\",base07:\"#002b36\",base08:\"#d33682\",base09:\"#cb4b16\",base0A:\"#dc322f\",base0B:\"#859900\",base0C:\"#6c71c4\",base0D:\"#586e75\",base0E:\"#2aa198\",base0F:\"#268bd2\"},M={scheme:\"rjv-grey\",author:\"mac gainor\",base00:\"rgba(1, 1, 1, 0)\",base01:\"rgba(1, 1, 1, 0.1)\",base02:\"rgba(0, 0, 0, 0.2)\",base03:\"rgba(1, 1, 1, 0.3)\",base04:\"rgba(0, 0, 0, 0.4)\",base05:\"rgba(1, 1, 1, 0.5)\",base06:\"rgba(1, 1, 1, 0.6)\",base07:\"rgba(1, 1, 1, 0.7)\",base08:\"rgba(1, 1, 1, 0.8)\",base09:\"rgba(1, 1, 1, 0.8)\",base0A:\"rgba(1, 1, 1, 0.8)\",base0B:\"rgba(1, 1, 1, 0.8)\",base0C:\"rgba(1, 1, 1, 0.8)\",base0D:\"rgba(1, 1, 1, 0.8)\",base0E:\"rgba(1, 1, 1, 0.8)\",base0F:\"rgba(1, 1, 1, 0.8)\"};const S={white:\"#fff\",black:\"#000\",transparent:\"rgba(1, 1, 1, 0)\",globalFontFamily:\"monospace\",globalCursor:\"default\",indentBlockWidth:\"5px\",braceFontWeight:\"bold\",braceCursor:\"pointer\",ellipsisFontSize:\"18px\",ellipsisLineHeight:\"10px\",ellipsisCursor:\"pointer\",keyMargin:\"0px 5px\",keyLetterSpacing:\"0.5px\",keyFontStyle:\"none\",keyBorderRadius:\"3px\",keyColonWeight:\"bold\",keyVerticalAlign:\"top\",keyOpacity:\"0.85\",keyOpacityHover:\"1\",keyValPaddingTop:\"3px\",keyValPaddingBottom:\"3px\",keyValPaddingRight:\"5px\",keyValBorderLeft:\"1px solid\",keyValBorderHover:\"2px solid\",keyValPaddingHover:\"3px 5px 3px 4px\",pushedContentMarginLeft:\"6px\",variableValuePaddingRight:\"6px\",nullFontSize:\"11px\",nullFontWeight:\"bold\",nullPadding:\"1px 2px\",nullBorderRadius:\"3px\",nanFontSize:\"11px\",nanFontWeight:\"bold\",nanPadding:\"1px 2px\",nanBorderRadius:\"3px\",undefinedFontSize:\"11px\",undefinedFontWeight:\"bold\",undefinedPadding:\"1px 2px\",undefinedBorderRadius:\"3px\",dataTypeFontSize:\"11px\",dataTypeMarginRight:\"4px\",datatypeOpacity:\"0.8\",objectSizeBorderRadius:\"3px\",objectSizeFontStyle:\"italic\",objectSizeMargin:\"0px 6px 0px 0px\",clipboardCursor:\"pointer\",clipboardCheckMarginLeft:\"-12px\",metaDataPadding:\"0px 0px 0px 10px\",arrayGroupMetaPadding:\"0px 0px 0px 4px\",iconContainerWidth:\"17px\",tooltipPadding:\"4px\",editInputMinWidth:\"130px\",editInputBorderRadius:\"2px\",editInputPadding:\"5px\",editInputMarginRight:\"4px\",editInputFontFamily:\"monospace\",iconCursor:\"pointer\",iconFontSize:\"15px\",iconPaddingRight:\"1px\",dateValueMarginLeft:\"2px\",iconMarginRight:\"3px\",detectedRowPaddingTop:\"3px\",addKeyCoverBackground:\"rgba(255, 255, 255, 0.3)\",addKeyCoverPosition:\"absolute\",addKeyCoverPositionPx:\"0px\",addKeyModalWidth:\"200px\",addKeyModalMargin:\"auto\",addKeyModalPadding:\"10px\",addKeyModalRadius:\"3px\"};function _(e,t){(null==t||t>e.length)&&(t=e.length);for(var a=0,r=Array(t);a<t;a++)r[a]=e[a];return r}function A(e,t){if(e){if(\"string\"==typeof e)return _(e,t);var a={}.toString.call(e).slice(8,-1);return\"Object\"===a&&e.constructor&&(a=e.constructor.name),\"Map\"===a||\"Set\"===a?Array.from(e):\"Arguments\"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?_(e,t):void 0}}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var a=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=a){var r,n,o,s,i=[],l=!0,c=!1;try{if(o=(a=a.call(e)).next,0===t){if(Object(a)!==a)return;l=!1}else for(;!(l=(r=o.call(a)).done)&&(i.push(r.value),i.length!==t);l=!0);}catch(e){c=!0,n=e}finally{try{if(!l&&null!=a.return&&(s=a.return(),Object(s)!==s))return}finally{if(c)throw n}}return i}}(e,t)||A(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}var P=r(9446),D=r(3639),I=r.n(D),R=r(3989),z=r.n(R);function B(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,r)}return a}function N(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?B(Object(r),!0).forEach((function(t){a(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):B(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var L=P.default,q=Object.keys(L),V=function(e){var t,a=function(e){var t=e[0]/255,a=e[1]/255,r=e[2]/255;return[.299*t+.587*a+.114*r,-.14713*t+-.28886*a+.436*r,.615*t+-.51499*a+-.10001*r]}(I()(e).array()),r=F(a,3),n=r[0],o=r[1],s=r[2],i=function(e){var t,a,r,n=e[0],o=e[1],s=e[2];return t=1*n+0*o+1.13983*s,a=1*n+-.39465*o+-.5806*s,r=1*n+2.02311*o+0*s,[255*(t=Math.min(Math.max(0,t),1)),255*(a=Math.min(Math.max(0,a),1)),255*(r=Math.min(Math.max(0,r),1))]}([(t=n,t<.25?1:t<.5?.9-t:1.1-t),o,s]);return I().rgb(i).hex()},T=function(e){return function(t){return{className:[t.className,e.className].filter(Boolean).join(\" \"),style:N(N({},t.style||{}),e.style||{})}}},K=function(t,a){var r=Object.keys(a);for(var n in t)-1===r.indexOf(n)&&r.push(n);return r.reduce((function(r,n){return r[n]=function(t,a){if(void 0===t)return a;if(void 0===a)return t;var r=e(t),n=e(a);switch(r){case\"string\":switch(n){case\"string\":return[a,t].filter(Boolean).join(\" \");case\"object\":return T({className:t,style:a});case\"function\":return function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return T({className:t})(a.apply(void 0,[e].concat(n)))}}break;case\"object\":switch(n){case\"string\":return T({className:a,style:t});case\"object\":return N(N({},a),t);case\"function\":return function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return T({style:t})(a.apply(void 0,[e].concat(n)))}}break;case\"function\":switch(n){case\"string\":return function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return t.apply(void 0,[T(e)({className:a})].concat(n))};case\"object\":return function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return t.apply(void 0,[T(e)({style:a})].concat(n))};case\"function\":return function(e){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return t.apply(void 0,[a.apply(void 0,[e].concat(n))].concat(n))}}}}(t[n],a[n]),r}),{})},W=function(t,a){for(var r=arguments.length,n=new Array(r>2?r-2:0),o=2;o<r;o++)n[o-2]=arguments[o];if(null===a)return t;Array.isArray(a)||(a=[a]);var s=a.map((function(e){return t[e]})).filter(Boolean).reduce((function(t,a){return\"string\"==typeof a?t.className=[t.className,a].filter(Boolean).join(\" \"):\"object\"===e(a)?t.style=N(N({},t.style),a):\"function\"==typeof a&&(t=N(N({},t),a.apply(void 0,[t].concat(n)))),t}),{className:\"\",style:{}});return s.className||delete s.className,0===Object.keys(s.style).length&&delete s.style,s},U=function(e){return Object.keys(e).reduce((function(t,a){return t[a]=/^base/.test(a)?V(e[a]):\"scheme\"===a?e[a]+\":inverted\":e[a],t}),{})},H=z()((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=t.defaultBase16,n=void 0===r?L:r,o=t.base16Themes,s=Y(a,void 0===o?null:o);s&&(a=N(N({},s),a));for(var i=q.reduce((function(e,t){return e[t]=a[t]||n[t],e}),{}),l=Object.keys(a).reduce((function(e,t){return-1===q.indexOf(t)?(e[t]=a[t],e):e}),{}),c=e(i),u=K(l,c),d=arguments.length,b=new Array(d>3?d-3:0),p=3;p<d;p++)b[p-3]=arguments[p];return z()(W,2).apply(void 0,[u].concat(b))}),3),$=function(e){return!!e.extend},Y=function(e,t){if(e&&$(e)&&e.extend&&(e=e.extend),\"string\"==typeof e){var a=F(e.split(\":\"),2),r=a[0],n=a[1];e=t?t[r]:P[r],\"inverted\"===n&&(e=U(e))}return e&&Object.prototype.hasOwnProperty.call(e,\"base00\")?e:void 0},J=function(e){var t=function(e){return{backgroundColor:e.base00,ellipsisColor:e.base09,braceColor:e.base07,expandedIcon:e.base0D,collapsedIcon:e.base0E,keyColor:e.base07,arrayKeyColor:e.base0C,objectSize:e.base04,copyToClipboard:e.base0F,copyToClipboardCheck:e.base0D,objectBorder:e.base02,dataTypes:{boolean:e.base0E,date:e.base0D,float:e.base0B,function:e.base0D,integer:e.base0F,string:e.base09,nan:e.base08,null:e.base0A,undefined:e.base05,regexp:e.base0A,background:e.base02,bigNumber:e.base09},editVariable:{editIcon:e.base0E,cancelIcon:e.base09,removeIcon:e.base09,addIcon:e.base0E,checkIcon:e.base0E,background:e.base01,color:e.base0A,border:e.base07},addKeyModal:{background:e.base05,border:e.base04,color:e.base0A,labelColor:e.base01},validationFailure:{background:e.base09,iconColor:e.base01,fontColor:e.base01}}}(e);return{\"app-container\":{fontFamily:S.globalFontFamily,cursor:S.globalCursor,backgroundColor:t.backgroundColor,position:\"relative\"},ellipsis:{display:\"inline-block\",color:t.ellipsisColor,fontSize:S.ellipsisFontSize,lineHeight:S.ellipsisLineHeight,cursor:S.ellipsisCursor},\"brace-row\":{display:\"inline-block\",cursor:\"pointer\"},brace:{display:\"inline-block\",cursor:S.braceCursor,fontWeight:S.braceFontWeight,color:t.braceColor},\"expanded-icon\":{color:t.expandedIcon},\"collapsed-icon\":{color:t.collapsedIcon},colon:{display:\"inline-block\",margin:S.keyMargin,color:t.keyColor,verticalAlign:\"top\"},objectKeyVal:function(e,a){return{style:s({paddingTop:S.keyValPaddingTop,paddingRight:S.keyValPaddingRight,paddingBottom:S.keyValPaddingBottom,borderLeft:S.keyValBorderLeft+\" \"+t.objectBorder,\":hover\":{paddingLeft:a.paddingLeft-1+\"px\",borderLeft:S.keyValBorderHover+\" \"+t.objectBorder}},a)}},\"object-key-val-no-border\":{padding:S.keyValPadding},\"pushed-content\":{marginLeft:S.pushedContentMarginLeft},variableValue:function(e,t){return{style:s({display:\"inline-block\",paddingRight:S.variableValuePaddingRight,position:\"relative\"},t)}},\"object-name\":{display:\"inline-block\",color:t.keyColor,letterSpacing:S.keyLetterSpacing,fontStyle:S.keyFontStyle,verticalAlign:S.keyVerticalAlign,opacity:S.keyOpacity,\":hover\":{opacity:S.keyOpacityHover}},\"array-key\":{display:\"inline-block\",color:t.arrayKeyColor,letterSpacing:S.keyLetterSpacing,fontStyle:S.keyFontStyle,verticalAlign:S.keyVerticalAlign,opacity:S.keyOpacity,\":hover\":{opacity:S.keyOpacityHover}},\"object-size\":{color:t.objectSize,borderRadius:S.objectSizeBorderRadius,fontStyle:S.objectSizeFontStyle,margin:S.objectSizeMargin,cursor:\"default\"},\"data-type-label\":{fontSize:S.dataTypeFontSize,marginRight:S.dataTypeMarginRight,opacity:S.datatypeOpacity},boolean:{display:\"inline-block\",color:t.dataTypes.boolean},date:{display:\"inline-block\",color:t.dataTypes.date},\"date-value\":{marginLeft:S.dateValueMarginLeft},float:{display:\"inline-block\",color:t.dataTypes.float},function:{display:\"inline-block\",color:t.dataTypes.function,cursor:\"pointer\",whiteSpace:\"pre-line\"},\"function-value\":{fontStyle:\"italic\"},integer:{display:\"inline-block\",color:t.dataTypes.integer},bigNumber:{display:\"inline-block\",color:t.dataTypes.bigNumber},string:{display:\"inline-block\",color:t.dataTypes.string},nan:{display:\"inline-block\",color:t.dataTypes.nan,fontSize:S.nanFontSize,fontWeight:S.nanFontWeight,backgroundColor:t.dataTypes.background,padding:S.nanPadding,borderRadius:S.nanBorderRadius},null:{display:\"inline-block\",color:t.dataTypes.null,fontSize:S.nullFontSize,fontWeight:S.nullFontWeight,backgroundColor:t.dataTypes.background,padding:S.nullPadding,borderRadius:S.nullBorderRadius},undefined:{display:\"inline-block\",color:t.dataTypes.undefined,fontSize:S.undefinedFontSize,padding:S.undefinedPadding,borderRadius:S.undefinedBorderRadius,backgroundColor:t.dataTypes.background},regexp:{display:\"inline-block\",color:t.dataTypes.regexp},\"copy-to-clipboard\":{cursor:S.clipboardCursor},\"copy-icon\":{color:t.copyToClipboard,fontSize:S.iconFontSize,marginRight:S.iconMarginRight,verticalAlign:\"top\"},\"copy-icon-copied\":{color:t.copyToClipboardCheck,marginLeft:S.clipboardCheckMarginLeft},\"array-group-meta-data\":{display:\"inline-block\",padding:S.arrayGroupMetaPadding},\"object-meta-data\":{display:\"inline-block\",padding:S.metaDataPadding},\"icon-container\":{display:\"inline-block\",width:S.iconContainerWidth},tooltip:{padding:S.tooltipPadding},removeVarIcon:{verticalAlign:\"top\",display:\"inline-block\",color:t.editVariable.removeIcon,cursor:S.iconCursor,fontSize:S.iconFontSize,marginRight:S.iconMarginRight},addVarIcon:{verticalAlign:\"top\",display:\"inline-block\",color:t.editVariable.addIcon,cursor:S.iconCursor,fontSize:S.iconFontSize,marginRight:S.iconMarginRight},editVarIcon:{verticalAlign:\"top\",display:\"inline-block\",color:t.editVariable.editIcon,cursor:S.iconCursor,fontSize:S.iconFontSize,marginRight:S.iconMarginRight},\"edit-icon-container\":{display:\"inline-block\",verticalAlign:\"top\"},\"check-icon\":{display:\"inline-block\",cursor:S.iconCursor,color:t.editVariable.checkIcon,fontSize:S.iconFontSize,paddingRight:S.iconPaddingRight},\"cancel-icon\":{display:\"inline-block\",cursor:S.iconCursor,color:t.editVariable.cancelIcon,fontSize:S.iconFontSize,paddingRight:S.iconPaddingRight},\"edit-input\":{display:\"inline-block\",minWidth:S.editInputMinWidth,borderRadius:S.editInputBorderRadius,backgroundColor:t.editVariable.background,color:t.editVariable.color,padding:S.editInputPadding,marginRight:S.editInputMarginRight,fontFamily:S.editInputFontFamily},\"detected-row\":{paddingTop:S.detectedRowPaddingTop},\"key-modal-request\":{position:S.addKeyCoverPosition,top:S.addKeyCoverPositionPx,left:S.addKeyCoverPositionPx,right:S.addKeyCoverPositionPx,bottom:S.addKeyCoverPositionPx,backgroundColor:S.addKeyCoverBackground},\"key-modal\":{width:S.addKeyModalWidth,backgroundColor:t.addKeyModal.background,marginLeft:S.addKeyModalMargin,marginRight:S.addKeyModalMargin,padding:S.addKeyModalPadding,borderRadius:S.addKeyModalRadius,marginTop:\"15px\",position:\"relative\"},\"key-modal-label\":{color:t.addKeyModal.labelColor,marginLeft:\"2px\",marginBottom:\"5px\",fontSize:\"11px\"},\"key-modal-input-container\":{overflow:\"hidden\"},\"key-modal-input\":{width:\"100%\",padding:\"3px 6px\",fontFamily:\"monospace\",color:t.addKeyModal.color,border:\"none\",boxSizing:\"border-box\",borderRadius:\"2px\"},\"key-modal-cancel\":{backgroundColor:t.editVariable.removeIcon,position:\"absolute\",top:\"0px\",right:\"0px\",borderRadius:\"0px 3px 0px 3px\",cursor:\"pointer\"},\"key-modal-cancel-icon\":{color:t.addKeyModal.labelColor,fontSize:S.iconFontSize,transform:\"rotate(45deg)\"},\"key-modal-submit\":{color:t.editVariable.addIcon,fontSize:S.iconFontSize,position:\"absolute\",right:\"2px\",top:\"3px\",cursor:\"pointer\"},\"function-ellipsis\":{display:\"inline-block\",color:t.ellipsisColor,fontSize:S.ellipsisFontSize,lineHeight:S.ellipsisLineHeight,cursor:S.ellipsisCursor},\"validation-failure\":{float:\"right\",padding:\"3px 6px\",borderRadius:\"2px\",cursor:\"pointer\",color:t.validationFailure.fontColor,backgroundColor:t.validationFailure.background},\"validation-failure-label\":{marginRight:\"6px\"},\"validation-failure-clear\":{position:\"relative\",verticalAlign:\"top\",cursor:\"pointer\",color:t.validationFailure.iconColor,fontSize:S.iconFontSize,transform:\"rotate(45deg)\"}}};function G(e,t,a){return e||console.error(\"theme has not been set\"),function(e){var t=O;return!1!==e&&\"none\"!==e||(t=M),H(J,{defaultBase16:t})(e)}(e)(t,a)}var Q=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=(e.rjvId,e.type_name),a=e.displayDataTypes,r=e.theme;return a?v().createElement(\"span\",Object.assign({className:\"data-type-label\"},G(r,\"data-type-label\")),t):null}}])}(v().PureComponent),Z=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props;return v().createElement(\"div\",G(e.theme,\"boolean\"),v().createElement(Q,Object.assign({type_name:\"bool\"},e)),e.value?\"true\":\"false\")}}])}(v().PureComponent),X=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props;return v().createElement(\"div\",G(e.theme,\"date\"),v().createElement(Q,Object.assign({type_name:\"date\"},e)),v().createElement(\"span\",Object.assign({className:\"date-value\"},G(e.theme,\"date-value\")),e.value.toLocaleTimeString(\"en-us\",{weekday:\"short\",year:\"numeric\",month:\"short\",day:\"numeric\",hour:\"2-digit\",minute:\"2-digit\"})))}}])}(v().PureComponent),ee=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props;return v().createElement(\"div\",G(e.theme,\"float\"),v().createElement(Q,Object.assign({type_name:\"float\"},e)),this.props.value)}}])}(v().PureComponent);function te(e){return function(e){if(Array.isArray(e))return _(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||A(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}var ae=r(9784),re=function(){return c((function e(){i(this,e),this.handler=function(){}}),[{key:\"register\",value:function(e){this.handler=e}},{key:\"dispatch\",value:function(e){var t;null===(t=this.handler)||void 0===t||t.call(this,e)}}])}();globalThis.__globalDispatcherInstance||(globalThis.__globalDispatcherInstance=new re);const ne=globalThis.__globalDispatcherInstance;var oe=new(function(e){function t(){var e;i(this,t);for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return(e=p(this,t,[].concat(r))).objects={},e.set=function(t,a,r,n){void 0===e.objects[t]&&(e.objects[t]={}),void 0===e.objects[t][a]&&(e.objects[t][a]={}),e.objects[t][a][r]=n},e.get=function(t,a,r,n){return void 0===e.objects[t]||void 0===e.objects[t][a]||null==e.objects[t][a][r]?n:e.objects[t][a][r]},e.handleAction=function(t){var a=t.rjvId,r=t.data;switch(t.name){case\"RESET\":e.emit(\"reset-\"+a);break;case\"VARIABLE_UPDATED\":t.data.updated_src=e.updateSrc(a,r),e.set(a,\"action\",\"variable-update\",s(s({},r),{},{type:\"variable-edited\"})),e.emit(\"variable-update-\"+a);break;case\"VARIABLE_REMOVED\":t.data.updated_src=e.updateSrc(a,r),e.set(a,\"action\",\"variable-update\",s(s({},r),{},{type:\"variable-removed\"})),e.emit(\"variable-update-\"+a);break;case\"VARIABLE_ADDED\":t.data.updated_src=e.updateSrc(a,r),e.set(a,\"action\",\"variable-update\",s(s({},r),{},{type:\"variable-added\"})),e.emit(\"variable-update-\"+a);break;case\"ADD_VARIABLE_KEY_REQUEST\":e.set(a,\"action\",\"new-key-request\",r),e.emit(\"add-key-request-\"+a)}},e.updateSrc=function(t,a){var r=a.name,n=a.namespace,o=a.new_value,s=(a.existing_value,a.variable_removed);n.shift();var i,l=e.get(t,\"global\",\"src\"),c=e.deepCopy(l,te(n)),u=c,d=function(e,t){var a=\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(!a){if(Array.isArray(e)||(a=A(e))||t&&e&&\"number\"==typeof e.length){a&&(e=a);var r=0,n=function(){};return{s:n,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:n}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var o,s=!0,i=!1;return{s:function(){a=a.call(e)},n:function(){var e=a.next();return s=e.done,e},e:function(e){i=!0,o=e},f:function(){try{s||null==a.return||a.return()}finally{if(i)throw o}}}}(n);try{for(d.s();!(i=d.n()).done;){u=u[i.value]}}catch(e){d.e(e)}finally{d.f()}return s?\"array\"==x(u)?u.splice(r,1):delete u[r]:null!==r?u[r]=o:c=o,e.set(t,\"global\",\"src\",c),c},e.deepCopy=function(t,a){var r,n=x(t),o=a.shift();return\"array\"==n?r=te(t):\"object\"==n&&(r=s({},t)),void 0!==o&&(r[o]=e.deepCopy(t[o],a)),r},e}return h(t,e),c(t)}(ae.EventEmitter));ne.register(oe.handleAction.bind(oe));const se=oe;var ie=function(e){function t(e){var a;return i(this,t),(a=p(this,t,[e])).toggleCollapsed=function(){a.setState({collapsed:!a.state.collapsed},(function(){se.set(a.props.rjvId,a.props.namespace,\"collapsed\",a.state.collapsed)}))},a.getFunctionDisplay=function(e){var t=a.props;return e?v().createElement(\"span\",null,a.props.value.toString().slice(9,-1).replace(/\\{[\\s\\S]+/,\"\"),v().createElement(\"span\",{className:\"function-collapsed\",style:{fontWeight:\"bold\"}},v().createElement(\"span\",null,\"{\"),v().createElement(\"span\",G(t.theme,\"ellipsis\"),\"...\"),v().createElement(\"span\",null,\"}\"))):a.props.value.toString().slice(9,-1)},a.state={collapsed:se.get(e.rjvId,e.namespace,\"collapsed\",!0)},a}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=this.state.collapsed;return v().createElement(\"div\",G(e.theme,\"function\"),v().createElement(Q,Object.assign({type_name:\"function\"},e)),v().createElement(\"span\",Object.assign({},G(e.theme,\"function-value\"),{className:\"rjv-function-container\",onClick:this.toggleCollapsed}),this.getFunctionDisplay(t)))}}])}(v().PureComponent),le=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){return v().createElement(\"div\",G(this.props.theme,\"nan\"),\"NaN\")}}])}(v().PureComponent),ce=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){return v().createElement(\"div\",G(this.props.theme,\"null\"),\"NULL\")}}])}(v().PureComponent),ue=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props;return v().createElement(\"div\",G(e.theme,\"integer\"),v().createElement(Q,Object.assign({type_name:\"int\"},e)),this.props.value)}}])}(v().PureComponent),de=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props;return v().createElement(\"div\",G(e.theme,\"regexp\"),v().createElement(Q,Object.assign({type_name:\"regexp\"},e)),this.props.value.toString())}}])}(v().PureComponent),be=function(e){function t(e){var a;return i(this,t),(a=p(this,t,[e])).toggleCollapsed=function(){a.setState({collapsed:!a.state.collapsed},(function(){se.set(a.props.rjvId,a.props.namespace,\"collapsed\",a.state.collapsed)}))},a.state={collapsed:se.get(e.rjvId,e.namespace,\"collapsed\",!0)},a}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.state.collapsed,t=this.props,a=t.collapseStringsAfterLength,r=t.theme,n=t.escapeStrings,o=t.value,s=\"integer\"===x(a),i={style:{cursor:\"default\"}};return n&&(o=C(o)),s&&o.length>a&&(i.style.cursor=\"pointer\",e&&(o=v().createElement(\"span\",null,o.substring(0,a),v().createElement(\"span\",G(r,\"ellipsis\"),\" ...\")))),v().createElement(\"div\",G(r,\"string\"),v().createElement(Q,Object.assign({type_name:\"string\"},t)),v().createElement(\"span\",Object.assign({className:\"string-value\"},i,{onClick:this.toggleCollapsed}),'\"',o,'\"'))}}])}(v().PureComponent),pe=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){return v().createElement(\"div\",G(this.props.theme,\"undefined\"),\"undefined\")}}])}(v().PureComponent),fe=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props;return v().createElement(\"div\",G(e.theme,\"bigNumber\"),v().createElement(Q,Object.assign({type_name:\"bigNumber\"},e)),this.props.value.toString())}}])}(v().PureComponent);function he(){return he=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},he.apply(null,arguments)}const me=m.useLayoutEffect;var ve=function(e,t){\"function\"!=typeof e?e.current=t:e(t)};const ge=function(e,t){var a=(0,m.useRef)();return(0,m.useCallback)((function(r){e.current=r,a.current&&ve(a.current,null),a.current=t,t&&ve(t,r)}),[t])};var ye={\"min-height\":\"0\",\"max-height\":\"none\",height:\"0\",visibility:\"hidden\",overflow:\"hidden\",position:\"absolute\",\"z-index\":\"-1000\",top:\"0\",right:\"0\"},ke=function(e){Object.keys(ye).forEach((function(t){e.style.setProperty(t,ye[t],\"important\")}))},Ee=null;var je=function(){},we=[\"borderBottomWidth\",\"borderLeftWidth\",\"borderRightWidth\",\"borderTopWidth\",\"boxSizing\",\"fontFamily\",\"fontSize\",\"fontStyle\",\"fontWeight\",\"letterSpacing\",\"lineHeight\",\"paddingBottom\",\"paddingLeft\",\"paddingRight\",\"paddingTop\",\"tabSize\",\"textIndent\",\"textRendering\",\"textTransform\",\"width\",\"wordBreak\"],xe=!!document.documentElement.currentStyle,Ce=function(e){var t,a,r=(t=e,a=m.useRef(t),me((function(){a.current=t})),a);(0,m.useLayoutEffect)((function(){var e=function(e){r.current(e)};return window.addEventListener(\"resize\",e),function(){window.removeEventListener(\"resize\",e)}}),[])},Oe=function(e,t){var a=e.cacheMeasurements,r=e.maxRows,n=e.minRows,o=e.onChange,s=void 0===o?je:o,i=e.onHeightChange,l=void 0===i?je:i,c=j(e,[\"cacheMeasurements\",\"maxRows\",\"minRows\",\"onChange\",\"onHeightChange\"]);var u=void 0!==c.value,d=(0,m.useRef)(null),b=ge(d,t),p=(0,m.useRef)(0),f=(0,m.useRef)(),h=function(){var e=d.current,t=a&&f.current?f.current:function(e){var t=window.getComputedStyle(e);if(null===t)return null;var a,r=(a=t,we.reduce((function(e,t){return e[t]=a[t],e}),{})),n=r.boxSizing;return\"\"===n?null:(xe&&\"border-box\"===n&&(r.width=parseFloat(r.width)+parseFloat(r.borderRightWidth)+parseFloat(r.borderLeftWidth)+parseFloat(r.paddingRight)+parseFloat(r.paddingLeft)+\"px\"),{sizingStyle:r,paddingSize:parseFloat(r.paddingBottom)+parseFloat(r.paddingTop),borderSize:parseFloat(r.borderBottomWidth)+parseFloat(r.borderTopWidth)})}(e);if(t){f.current=t;var o=function(e,t,a,r){void 0===a&&(a=1),void 0===r&&(r=1/0),Ee||((Ee=document.createElement(\"textarea\")).setAttribute(\"tabindex\",\"-1\"),Ee.setAttribute(\"aria-hidden\",\"true\"),ke(Ee)),null===Ee.parentNode&&document.body.appendChild(Ee);var n=e.paddingSize,o=e.borderSize,s=e.sizingStyle,i=s.boxSizing;Object.keys(s).forEach((function(e){var t=e;Ee.style[t]=s[t]})),ke(Ee),Ee.value=t;var l=function(e,t){var a=e.scrollHeight;return\"border-box\"===t.sizingStyle.boxSizing?a+t.borderSize:a-t.paddingSize}(Ee,e);Ee.value=\"x\";var c=Ee.scrollHeight-n,u=c*a;\"border-box\"===i&&(u=u+n+o),l=Math.max(u,l);var d=c*r;return\"border-box\"===i&&(d=d+n+o),[l=Math.min(d,l),c]}(t,e.value||e.placeholder||\"x\",n,r),s=o[0],i=o[1];p.current!==s&&(p.current=s,e.style.setProperty(\"height\",s+\"px\",\"important\"),l(s,{rowHeight:i}))}};return(0,m.useLayoutEffect)(h),Ce(h),(0,m.createElement)(\"textarea\",he({},c,{onChange:function(e){u||h(),s(e)},ref:b}))};const Me=(0,m.forwardRef)(Oe);function Se(e,t){e=e.trim();try{if(\"[\"===(e=structuredClone(e))[0])return _e(\"array\",JSON.parse(e));if(\"{\"===e[0])return _e(\"object\",JSON.parse(e));if(e.match(/\\-?\\d+\\.\\d+/)&&e.match(/\\-?\\d+\\.\\d+/)[0]===e)return t&&parseFloat(e).toString()!==e?_e(\"bigNumber\",e):_e(\"float\",parseFloat(e));if(e.match(/\\-?\\d+e-\\d+/)&&e.match(/\\-?\\d+e-\\d+/)[0]===e)return _e(\"float\",Number(e));if(e.match(/\\-?\\d+/)&&e.match(/\\-?\\d+/)[0]===e)return t&&parseInt(e).toString()!==e?_e(\"bigNumber\",e):_e(\"integer\",parseInt(e));if(e.match(/\\-?\\d+e\\+\\d+/)&&e.match(/\\-?\\d+e\\+\\d+/)[0]===e)return _e(\"integer\",Number(e))}catch(e){}switch(e=e.toLowerCase()){case\"undefined\":return _e(\"undefined\",void 0);case\"nan\":return _e(\"nan\",NaN);case\"null\":return _e(\"null\",null);case\"true\":return _e(\"boolean\",!0);case\"false\":return _e(\"boolean\",!1);default:if(e=Date.parse(e))return _e(\"date\",new Date(e))}return _e(!1,null)}function _e(e,t){return{type:e,value:t}}var Ae=[\"style\"],Fe=[\"style\"],Pe=[\"style\"],De=[\"style\"],Ie=[\"style\"],Re=[\"style\"],ze=[\"style\"],Be=[\"style\"],Ne=[\"style\"],Le=[\"style\"],qe=[\"style\"],Ve=[\"style\"],Te=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Ae);return v().createElement(\"span\",a,v().createElement(\"svg\",Object.assign({},et(t),{viewBox:\"0 0 24 24\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid meet\"}),v().createElement(\"path\",{d:\"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M7,13H17V11H7\"})))}}])}(v().PureComponent),Ke=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Fe);return v().createElement(\"span\",a,v().createElement(\"svg\",Object.assign({},et(t),{viewBox:\"0 0 24 24\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid meet\"}),v().createElement(\"path\",{d:\"M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20,12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M13,7H11V11H7V13H11V17H13V13H17V11H13V7Z\"})))}}])}(v().PureComponent),We=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Pe),r=et(t).style;return v().createElement(\"span\",a,v().createElement(\"svg\",{fill:r.color,width:r.height,height:r.width,style:r,viewBox:\"0 0 1792 1792\"},v().createElement(\"path\",{d:\"M1344 800v64q0 14-9 23t-23 9h-832q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h832q14 0 23 9t9 23zm128 448v-832q0-66-47-113t-113-47h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113zm128-832v832q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z\"})))}}])}(v().PureComponent),Ue=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,De),r=et(t).style;return v().createElement(\"span\",a,v().createElement(\"svg\",{fill:r.color,width:r.height,height:r.width,style:r,viewBox:\"0 0 1792 1792\"},v().createElement(\"path\",{d:\"M1344 800v64q0 14-9 23t-23 9h-352v352q0 14-9 23t-23 9h-64q-14 0-23-9t-9-23v-352h-352q-14 0-23-9t-9-23v-64q0-14 9-23t23-9h352v-352q0-14 9-23t23-9h64q14 0 23 9t9 23v352h352q14 0 23 9t9 23zm128 448v-832q0-66-47-113t-113-47h-832q-66 0-113 47t-47 113v832q0 66 47 113t113 47h832q66 0 113-47t47-113zm128-832v832q0 119-84.5 203.5t-203.5 84.5h-832q-119 0-203.5-84.5t-84.5-203.5v-832q0-119 84.5-203.5t203.5-84.5h832q119 0 203.5 84.5t84.5 203.5z\"})))}}])}(v().PureComponent),He=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Ie);return v().createElement(\"span\",a,v().createElement(\"svg\",{style:s(s({},et(t).style),{},{paddingLeft:\"2px\",verticalAlign:\"top\"}),viewBox:\"0 0 15 15\",fill:\"currentColor\"},v().createElement(\"path\",{d:\"M0 14l6-6-6-6z\"})))}}])}(v().PureComponent),$e=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Re);return v().createElement(\"span\",a,v().createElement(\"svg\",{style:s(s({},et(t).style),{},{paddingLeft:\"2px\",verticalAlign:\"top\"}),viewBox:\"0 0 15 15\",fill:\"currentColor\"},v().createElement(\"path\",{d:\"M0 5l6 6 6-6z\"})))}}])}(v().PureComponent),Ye=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,ze);return v().createElement(\"span\",a,v().createElement(\"svg\",Object.assign({},et(t),{viewBox:\"0 0 40 40\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid meet\"}),v().createElement(\"g\",null,v().createElement(\"path\",{d:\"m30 35h-25v-22.5h25v7.5h2.5v-12.5c0-1.4-1.1-2.5-2.5-2.5h-7.5c0-2.8-2.2-5-5-5s-5 2.2-5 5h-7.5c-1.4 0-2.5 1.1-2.5 2.5v27.5c0 1.4 1.1 2.5 2.5 2.5h25c1.4 0 2.5-1.1 2.5-2.5v-5h-2.5v5z m-20-27.5h2.5s2.5-1.1 2.5-2.5 1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5 1.3 2.5 2.5 2.5h2.5s2.5 1.1 2.5 2.5h-20c0-1.5 1.1-2.5 2.5-2.5z m-2.5 20h5v-2.5h-5v2.5z m17.5-5v-5l-10 7.5 10 7.5v-5h12.5v-5h-12.5z m-17.5 10h7.5v-2.5h-7.5v2.5z m12.5-17.5h-12.5v2.5h12.5v-2.5z m-7.5 5h-5v2.5h5v-2.5z\"}))))}}])}(v().PureComponent),Je=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Be);return v().createElement(\"span\",a,v().createElement(\"svg\",Object.assign({},et(t),{viewBox:\"0 0 40 40\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid meet\"}),v().createElement(\"g\",null,v().createElement(\"path\",{d:\"m28.6 25q0-0.5-0.4-1l-4-4 4-4q0.4-0.5 0.4-1 0-0.6-0.4-1.1l-2-2q-0.4-0.4-1-0.4-0.6 0-1 0.4l-4.1 4.1-4-4.1q-0.4-0.4-1-0.4-0.6 0-1 0.4l-2 2q-0.5 0.5-0.5 1.1 0 0.5 0.5 1l4 4-4 4q-0.5 0.5-0.5 1 0 0.7 0.5 1.1l2 2q0.4 0.4 1 0.4 0.6 0 1-0.4l4-4.1 4.1 4.1q0.4 0.4 1 0.4 0.6 0 1-0.4l2-2q0.4-0.4 0.4-1z m8.7-5q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z\"}))))}}])}(v().PureComponent),Ge=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Ne);return v().createElement(\"span\",a,v().createElement(\"svg\",Object.assign({},et(t),{viewBox:\"0 0 40 40\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid meet\"}),v().createElement(\"g\",null,v().createElement(\"path\",{d:\"m30.1 21.4v-2.8q0-0.6-0.4-1t-1-0.5h-5.7v-5.7q0-0.6-0.4-1t-1-0.4h-2.9q-0.6 0-1 0.4t-0.4 1v5.7h-5.7q-0.6 0-1 0.5t-0.5 1v2.8q0 0.6 0.5 1t1 0.5h5.7v5.7q0 0.5 0.4 1t1 0.4h2.9q0.6 0 1-0.4t0.4-1v-5.7h5.7q0.6 0 1-0.5t0.4-1z m7.2-1.4q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z\"}))))}}])}(v().PureComponent),Qe=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Le);return v().createElement(\"span\",a,v().createElement(\"svg\",Object.assign({},et(t),{viewBox:\"0 0 40 40\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid meet\"}),v().createElement(\"g\",null,v().createElement(\"path\",{d:\"m31.6 21.6h-10v10h-3.2v-10h-10v-3.2h10v-10h3.2v10h10v3.2z\"}))))}}])}(v().PureComponent),Ze=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,qe);return v().createElement(\"span\",a,v().createElement(\"svg\",Object.assign({},et(t),{viewBox:\"0 0 40 40\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid meet\"}),v().createElement(\"g\",null,v().createElement(\"path\",{d:\"m19.8 26.4l2.6-2.6-3.4-3.4-2.6 2.6v1.3h2.2v2.1h1.2z m9.8-16q-0.3-0.4-0.7 0l-7.8 7.8q-0.4 0.4 0 0.7t0.7 0l7.8-7.8q0.4-0.4 0-0.7z m1.8 13.2v4.3q0 2.6-1.9 4.5t-4.5 1.9h-18.6q-2.6 0-4.5-1.9t-1.9-4.5v-18.6q0-2.7 1.9-4.6t4.5-1.8h18.6q1.4 0 2.6 0.5 0.3 0.2 0.4 0.5 0.1 0.4-0.2 0.7l-1.1 1.1q-0.3 0.3-0.7 0.1-0.5-0.1-1-0.1h-18.6q-1.4 0-2.5 1.1t-1 2.5v18.6q0 1.4 1 2.5t2.5 1h18.6q1.5 0 2.5-1t1.1-2.5v-2.9q0-0.2 0.2-0.4l1.4-1.5q0.3-0.3 0.8-0.1t0.4 0.6z m-2.1-16.5l6.4 6.5-15 15h-6.4v-6.5z m9.9 3l-2.1 2-6.4-6.4 2.1-2q0.6-0.7 1.5-0.7t1.5 0.7l3.4 3.4q0.6 0.6 0.6 1.5t-0.6 1.5z\"}))))}}])}(v().PureComponent),Xe=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.style,a=w(e,Ve);return v().createElement(\"span\",a,v().createElement(\"svg\",Object.assign({},et(t),{viewBox:\"0 0 40 40\",fill:\"currentColor\",preserveAspectRatio:\"xMidYMid meet\"}),v().createElement(\"g\",null,v().createElement(\"path\",{d:\"m31.7 16.4q0-0.6-0.4-1l-2.1-2.1q-0.4-0.4-1-0.4t-1 0.4l-9.1 9.1-5-5q-0.5-0.4-1-0.4t-1 0.4l-2.1 2q-0.4 0.4-0.4 1 0 0.6 0.4 1l8.1 8.1q0.4 0.4 1 0.4 0.6 0 1-0.4l12.2-12.1q0.4-0.4 0.4-1z m5.6 3.6q0 4.7-2.3 8.6t-6.3 6.2-8.6 2.3-8.6-2.3-6.2-6.2-2.3-8.6 2.3-8.6 6.2-6.2 8.6-2.3 8.6 2.3 6.3 6.2 2.3 8.6z\"}))))}}])}(v().PureComponent);function et(e){return e||(e={}),{style:s(s({verticalAlign:\"middle\"},e),{},{color:e.color?e.color:\"#000000\",height:\"1em\",width:\"1em\"})}}var tt=function(e){function t(e){var a;return i(this,t),(a=p(this,t,[e])).copiedTimer=null,a.copyToClipboardFallback=function(e){var t=document.createElement(\"textarea\");t.value=e,document.body.appendChild(t),t.select(),document.execCommand(\"copy\"),document.body.removeChild(t)},a.handleCopy=function(){var e=a.props,t=e.clickCallback,r=e.src,n=e.namespace,o=JSON.stringify(a.clipboardValue(r),null,\"  \");navigator.clipboard?navigator.clipboard.writeText(o).catch((function(){a.copyToClipboardFallback(o)})):a.copyToClipboardFallback(o),a.copiedTimer=setTimeout((function(){a.setState({copied:!1})}),5500),a.setState({copied:!0},(function(){\"function\"==typeof t&&t({src:r,namespace:n,name:n[n.length-1]})}))},a.getClippyIcon=function(){var e=a.props.theme;return a.state.copied?v().createElement(\"span\",null,v().createElement(Ye,Object.assign({className:\"copy-icon\"},G(e,\"copy-icon\"))),v().createElement(\"span\",G(e,\"copy-icon-copied\"),\"✔\")):v().createElement(Ye,Object.assign({className:\"copy-icon\"},G(e,\"copy-icon\")))},a.clipboardValue=function(e){switch(x(e)){case\"function\":case\"regexp\":return e.toString();default:return e}},a.state={copied:!1},a}return h(t,e),c(t,[{key:\"componentWillUnmount\",value:function(){this.copiedTimer&&(clearTimeout(this.copiedTimer),this.copiedTimer=null)}},{key:\"render\",value:function(){var e=this.props,t=(e.src,e.theme),a=e.hidden,r=e.rowHovered,n=G(t,\"copy-to-clipboard\").style,o=\"inline\";return a&&(o=\"none\"),v().createElement(\"span\",{className:\"copy-to-clipboard-container\",title:\"Copy to clipboard\",style:{verticalAlign:\"top\",display:r?\"inline-block\":\"none\"}},v().createElement(\"span\",{style:s(s({},n),{},{display:o}),onClick:this.handleCopy},this.getClippyIcon()))}}])}(v().PureComponent);const at=function(e){function t(e){var a;return i(this,t),(a=p(this,t,[e])).getEditIcon=function(){var e=a.props,t=e.variable,r=e.theme;return v().createElement(\"div\",{className:\"click-to-edit\",style:{verticalAlign:\"top\",display:a.state.hovered?\"inline-block\":\"none\"}},v().createElement(Ze,Object.assign({className:\"click-to-edit-icon\"},G(r,\"editVarIcon\"),{onClick:function(){a.prepopInput(t)}})))},a.prepopInput=function(e){if(!1!==a.props.onEdit){var t=function(e,t){var a;switch(x(e,t)){case\"undefined\":a=\"undefined\";break;case\"nan\":a=\"NaN\";break;case\"string\":a=e;break;case\"bigNumber\":case\"date\":case\"function\":case\"regexp\":a=e.toString();break;default:try{a=JSON.stringify(e,null,\"  \")}catch(e){a=\"\"}}return a}(e.value,a.props.bigNumber),r=Se(t,a.props.bigNumber);a.setState({editMode:!0,editValue:t,parsedInput:{type:r.type,value:r.value}})}},a.getRemoveIcon=function(){var e=a.props,t=e.variable,r=e.namespace,n=e.theme,o=e.rjvId;return v().createElement(\"div\",{className:\"click-to-remove\",style:{verticalAlign:\"top\",display:a.state.hovered?\"inline-block\":\"none\"}},v().createElement(Je,Object.assign({className:\"click-to-remove-icon\"},G(n,\"removeVarIcon\"),{onClick:function(){ne.dispatch({name:\"VARIABLE_REMOVED\",rjvId:o,data:{name:t.name,namespace:r,existing_value:t.value,variable_removed:!0}})}})))},a.getValue=function(e,t){var r=!t&&e.type,n=a.props;switch(r){case!1:return a.getEditInput();case\"string\":return v().createElement(be,Object.assign({value:e.value},n));case\"integer\":return v().createElement(ue,Object.assign({value:e.value},n));case\"float\":return v().createElement(ee,Object.assign({value:e.value},n));case\"boolean\":return v().createElement(Z,Object.assign({value:e.value},n));case\"function\":return v().createElement(ie,Object.assign({value:e.value},n));case\"null\":return v().createElement(ce,n);case\"nan\":return v().createElement(le,n);case\"undefined\":return v().createElement(pe,n);case\"date\":return v().createElement(X,Object.assign({value:e.value},n));case\"regexp\":return v().createElement(de,Object.assign({value:e.value},n));case\"bigNumber\":return v().createElement(fe,Object.assign({value:e.value},n));default:return v().createElement(\"div\",{className:\"object-value\"},JSON.stringify(e.value))}},a.getEditInput=function(){var e=a.props,t=e.keyModifier,r=e.selectOnFocus,n=e.theme,o=a.state.editValue;return v().createElement(\"div\",null,v().createElement(Me,Object.assign({type:\"text\",ref:function(e){e&&e[r?\"select\":\"focus\"]()},value:o,className:\"variable-editor\",onChange:function(e){var t=e.target.value,r=Se(t,a.props.bigNumber);a.setState({editValue:t,parsedInput:{type:r.type,value:r.value}})},onKeyDown:function(e){switch(e.key){case\"Escape\":a.setState({editMode:!1,editValue:\"\"});break;case\"Enter\":t(e,\"submit\")&&a.submitEdit(!0)}e.stopPropagation()},placeholder:\"update this value\",minRows:2},G(n,\"edit-input\"))),v().createElement(\"div\",G(n,\"edit-icon-container\"),v().createElement(Je,Object.assign({className:\"edit-cancel\"},G(n,\"cancel-icon\"),{onClick:function(e){e&&e.stopPropagation(),a.setState({editMode:!1,editValue:\"\"})}})),v().createElement(Xe,Object.assign({className:\"edit-check string-value\"},G(n,\"check-icon\"),{onClick:function(e){e&&e.stopPropagation(),a.submitEdit()}})),v().createElement(\"div\",null,a.showDetected())))},a.submitEdit=function(e){var t=a.props,r=t.variable,n=t.namespace,o=t.rjvId,s=t.bigNumber,i=a.state,l=i.editValue,c=i.parsedInput,u=l;e&&c.type&&(u=c.value,s&&\"bigNumber\"===c.type&&(u=new s(u))),a.setState({editMode:!1}),ne.dispatch({name:\"VARIABLE_UPDATED\",rjvId:o,data:{name:r.name,namespace:n,existing_value:r.value,new_value:u,variable_removed:!1}})},a.showDetected=function(){var e=a.props,t=e.theme,r=(e.variable,e.namespace,e.rjvId,a.state.parsedInput),n=(r.type,r.value,a.getDetectedInput());if(n)return v().createElement(\"div\",null,v().createElement(\"div\",G(t,\"detected-row\"),n,v().createElement(Xe,{className:\"edit-check detected\",style:s({verticalAlign:\"top\",paddingLeft:\"3px\"},G(t,\"check-icon\").style),onClick:function(e){e&&e.stopPropagation(),a.submitEdit(!0)}})))},a.getDetectedInput=function(){var e=a.state.parsedInput,t=e.type,r=e.value,n=a.props,o=n.theme;if(!1!==t)switch(t.toLowerCase()){case\"object\":return v().createElement(\"span\",null,v().createElement(\"span\",{style:s(s({},G(o,\"brace\").style),{},{cursor:\"default\"})},\"{\"),v().createElement(\"span\",{style:s(s({},G(o,\"ellipsis\").style),{},{cursor:\"default\"})},\"...\"),v().createElement(\"span\",{style:s(s({},G(o,\"brace\").style),{},{cursor:\"default\"})},\"}\"));case\"array\":return v().createElement(\"span\",null,v().createElement(\"span\",{style:s(s({},G(o,\"brace\").style),{},{cursor:\"default\"})},\"[\"),v().createElement(\"span\",{style:s(s({},G(o,\"ellipsis\").style),{},{cursor:\"default\"})},\"...\"),v().createElement(\"span\",{style:s(s({},G(o,\"brace\").style),{},{cursor:\"default\"})},\"]\"));case\"string\":return v().createElement(be,Object.assign({value:r},n));case\"integer\":return v().createElement(ue,Object.assign({value:r},n));case\"float\":return v().createElement(ee,Object.assign({value:r},n));case\"boolean\":return v().createElement(Z,Object.assign({value:r},n));case\"function\":return v().createElement(ie,Object.assign({value:r},n));case\"null\":return v().createElement(ce,n);case\"nan\":return v().createElement(le,n);case\"undefined\":return v().createElement(pe,n);case\"date\":return v().createElement(X,Object.assign({value:new Date(r)},n));case\"bignumber\":return v().createElement(fe,Object.assign({value:r},n))}},a.state={editMode:!1,editValue:\"\",hovered:!1,renameKey:!1,parsedInput:{type:!1,value:null}},a}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this,t=this.props,a=t.variable,r=t.singleIndent,n=t.type,o=t.theme,i=t.namespace,l=t.indentWidth,c=t.enableClipboard,u=t.onEdit,d=t.onDelete,b=t.onSelect,p=t.displayArrayKey,f=t.quotesOnKeys,h=t.keyModifier,m=this.state.editMode;return v().createElement(\"div\",Object.assign({},G(o,\"objectKeyVal\",{paddingLeft:l*r}),{onMouseEnter:function(){return e.setState(s(s({},e.state),{},{hovered:!0}))},onMouseLeave:function(){return e.setState(s(s({},e.state),{},{hovered:!1}))},className:\"variable-row\",key:a.name}),\"array\"==n?p?v().createElement(\"span\",Object.assign({},G(o,\"array-key\"),{key:a.name+\"_\"+i}),a.name,v().createElement(\"div\",G(o,\"colon\"),\":\")):null:v().createElement(\"span\",null,v().createElement(\"span\",Object.assign({},G(o,\"object-name\"),{className:\"object-key\",key:a.name+\"_\"+i}),!!f&&v().createElement(\"span\",{style:{verticalAlign:\"top\"}},'\"'),v().createElement(\"span\",{style:{display:\"inline-block\"}},C(a.name)),!!f&&v().createElement(\"span\",{style:{verticalAlign:\"top\"}},'\"')),v().createElement(\"span\",G(o,\"colon\"),\":\")),v().createElement(\"div\",Object.assign({className:\"variable-value\",onClick:!1===b&&!1===u?null:function(t){var r=te(i);h(t,\"edit\")&&!1!==u?e.prepopInput(a):!1!==b&&(r.shift(),b(s(s({},a),{},{namespace:r})))}},G(o,\"variableValue\",{cursor:!1===b?\"default\":\"pointer\"})),this.getValue(a,m)),c?v().createElement(tt,{rowHovered:this.state.hovered,hidden:m,src:a.value,clickCallback:c,theme:o,namespace:[].concat(te(i),[a.name])}):null,!1!==u&&0==m?this.getEditIcon():null,!1!==d&&0==m?this.getRemoveIcon():null)}}])}(v().PureComponent);var rt=function(e){function t(){var e;i(this,t);for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return(e=p(this,t,[].concat(r))).getObjectSize=function(){var t=e.props,a=t.size,r=t.theme;if(t.displayObjectSize)return v().createElement(\"span\",Object.assign({className:\"object-size\"},G(r,\"object-size\")),a,\" item\",1===a?\"\":\"s\")},e.getAddAttribute=function(t){var a=e.props,r=a.theme,n=a.namespace,o=a.name,i=a.src,l=a.rjvId,c=a.depth;return v().createElement(\"span\",{className:\"click-to-add\",style:{verticalAlign:\"top\",display:t?\"inline-block\":\"none\"}},v().createElement(Ge,Object.assign({className:\"click-to-add-icon\"},G(r,\"addVarIcon\"),{onClick:function(){var e={name:c>0?o:null,namespace:n.splice(0,n.length-1),existing_value:i,variable_removed:!1,key_name:null};\"object\"===x(i)?ne.dispatch({name:\"ADD_VARIABLE_KEY_REQUEST\",rjvId:l,data:e}):ne.dispatch({name:\"VARIABLE_ADDED\",rjvId:l,data:s(s({},e),{},{new_value:[].concat(te(i),[null])})})}})))},e.getRemoveObject=function(t){var a=e.props,r=a.theme,n=(a.hover,a.namespace),o=a.name,s=a.src,i=a.rjvId;if(1!==n.length)return v().createElement(\"span\",{className:\"click-to-remove\",style:{display:t?\"inline-block\":\"none\"}},v().createElement(Je,Object.assign({className:\"click-to-remove-icon\"},G(r,\"removeVarIcon\"),{onClick:function(){ne.dispatch({name:\"VARIABLE_REMOVED\",rjvId:i,data:{name:o,namespace:n.splice(0,n.length-1),existing_value:s,variable_removed:!0}})}})))},e.render=function(){var t=e.props,a=t.theme,r=t.onDelete,n=t.onAdd,o=t.enableClipboard,s=t.src,i=t.namespace,l=t.rowHovered;return v().createElement(\"div\",Object.assign({},G(a,\"object-meta-data\"),{className:\"object-meta-data\",onClick:function(e){e.stopPropagation()}}),e.getObjectSize(),o?v().createElement(tt,{rowHovered:l,clickCallback:o,src:s,theme:a,namespace:i}):null,!1!==n?e.getAddAttribute(l):null,!1!==r?e.getRemoveObject(l):null)},e}return h(t,e),c(t)}(v().PureComponent);function nt(e){var t=e.parent_type,a=e.namespace,r=e.quotesOnKeys,n=e.theme,o=e.jsvRoot,s=e.name,i=e.displayArrayKey,l=e.name?e.name:\"\";return!o||!1!==s&&null!==s?\"array\"==t?i?v().createElement(\"span\",Object.assign({},G(n,\"array-key\"),{key:a}),v().createElement(\"span\",{className:\"array-key\"},l),v().createElement(\"span\",G(n,\"colon\"),\":\")):v().createElement(\"span\",null):v().createElement(\"span\",Object.assign({},G(n,\"object-name\"),{key:a}),v().createElement(\"span\",{className:\"object-key\"},r&&v().createElement(\"span\",{style:{verticalAlign:\"top\"}},'\"'),v().createElement(\"span\",null,l),r&&v().createElement(\"span\",{style:{verticalAlign:\"top\"}},'\"')),v().createElement(\"span\",G(n,\"colon\"),\":\")):v().createElement(\"span\",null)}function ot(e){var t=e.theme;switch(e.iconStyle){case\"triangle\":return v().createElement($e,Object.assign({},G(t,\"expanded-icon\"),{className:\"expanded-icon\"}));case\"square\":return v().createElement(We,Object.assign({},G(t,\"expanded-icon\"),{className:\"expanded-icon\"}));default:return v().createElement(Te,Object.assign({},G(t,\"expanded-icon\"),{className:\"expanded-icon\"}))}}function st(e){var t=e.theme;switch(e.iconStyle){case\"triangle\":return v().createElement(He,Object.assign({},G(t,\"collapsed-icon\"),{className:\"collapsed-icon\"}));case\"square\":return v().createElement(Ue,Object.assign({},G(t,\"collapsed-icon\"),{className:\"collapsed-icon\"}));default:return v().createElement(Ke,Object.assign({},G(t,\"collapsed-icon\"),{className:\"collapsed-icon\"}))}}var it=[\"src\",\"groupArraysAfterLength\",\"depth\",\"name\",\"theme\",\"jsvRoot\",\"namespace\",\"parent_type\"],lt=function(e){function t(e){var a;return i(this,t),(a=p(this,t,[e])).toggleCollapsed=function(e){var t=[];for(var r in a.state.expanded)t.push(a.state.expanded[r]);t[e]=!t[e],a.setState({expanded:t})},a.state={expanded:[]},a}return h(t,e),c(t,[{key:\"getExpandedIcon\",value:function(e){var t=this.props,a=t.theme,r=t.iconStyle;return this.state.expanded[e]?v().createElement(ot,{theme:a,iconStyle:r}):v().createElement(st,{theme:a,iconStyle:r})}},{key:\"render\",value:function(){var e=this,t=this.props,a=t.src,r=t.groupArraysAfterLength,n=(t.depth,t.name),o=t.theme,s=t.jsvRoot,i=t.namespace,l=(t.parent_type,w(t,it)),c=0,u=5*this.props.indentWidth;s||(c=5*this.props.indentWidth);var d=r,b=Math.ceil(a.length/d);return v().createElement(\"div\",Object.assign({className:\"object-key-val\"},G(o,s?\"jsv-root\":\"objectKeyVal\",{paddingLeft:c})),v().createElement(nt,this.props),v().createElement(\"span\",null,v().createElement(rt,Object.assign({size:a.length},this.props))),te(Array(b)).map((function(t,r){return v().createElement(\"div\",Object.assign({key:r,className:\"object-key-val array-group\"},G(o,\"objectKeyVal\",{marginLeft:6,paddingLeft:u})),v().createElement(\"span\",G(o,\"brace-row\"),v().createElement(\"div\",Object.assign({className:\"icon-container\"},G(o,\"icon-container\"),{onClick:function(t){e.toggleCollapsed(r)}}),e.getExpandedIcon(r)),e.state.expanded[r]?v().createElement(bt,Object.assign({key:n+r,depth:0,name:!1,collapsed:!1,groupArraysAfterLength:d,index_offset:r*d,src:a.slice(r*d,r*d+d),namespace:i,type:\"array\",parent_type:\"array_group\",theme:o},l)):v().createElement(\"span\",Object.assign({},G(o,\"brace\"),{onClick:function(t){e.toggleCollapsed(r)},className:\"array-group-brace\"}),\"[\",v().createElement(\"div\",Object.assign({},G(o,\"array-group-meta-data\"),{className:\"array-group-meta-data\"}),v().createElement(\"span\",Object.assign({className:\"object-size\"},G(o,\"object-size\")),r*d,\" - \",r*d+d>a.length?a.length:r*d+d)),\"]\")))})))}}])}(v().PureComponent),ct=[\"depth\",\"src\",\"namespace\",\"name\",\"type\",\"parent_type\",\"theme\",\"jsvRoot\",\"iconStyle\"],ut=function(e){function t(e){var a;i(this,t),(a=p(this,t,[e])).toggleCollapsed=function(){a.setState({expanded:!a.state.expanded},(function(){se.set(a.props.rjvId,a.props.namespace,\"expanded\",a.state.expanded)}))},a.getObjectContent=function(e,t,r){return v().createElement(\"div\",{className:\"pushed-content object-container\"},v().createElement(\"div\",Object.assign({className:\"object-content\"},G(a.props.theme,\"pushed-content\")),a.renderObjectContents(t,r)))},a.getEllipsis=function(){return 0===a.state.size?null:v().createElement(\"div\",Object.assign({},G(a.props.theme,\"ellipsis\"),{className:\"node-ellipsis\",onClick:a.toggleCollapsed}),\"...\")},a.getObjectMetaData=function(e){var t=a.props,r=(t.rjvId,t.theme,a.state),n=r.size,o=r.hovered;return v().createElement(rt,Object.assign({rowHovered:o,size:n},a.props))},a.renderObjectContents=function(e,t){var r,n=a.props,o=n.depth,s=n.parent_type,i=n.index_offset,l=n.groupArraysAfterLength,c=n.namespace,u=a.state.object_type,d=[],b=Object.keys(e||{});return a.props.sortKeys&&\"array\"!==u&&(b=b.sort()),b.forEach((function(n){if(r=new dt(n,e[n],t.bigNumber),\"array_group\"===s&&i&&(r.name=parseInt(r.name)+i),Object.prototype.hasOwnProperty.call(e,n))if(\"object\"===r.type)d.push(v().createElement(bt,Object.assign({key:r.name,depth:o+1,name:r.name,src:r.value,namespace:c.concat(r.name),parent_type:u},t)));else if(\"array\"===r.type){var b=bt;l&&r.value.length>l&&(b=lt),d.push(v().createElement(b,Object.assign({key:r.name,depth:o+1,name:r.name,src:r.value,namespace:c.concat(r.name),type:\"array\",parent_type:u},t)))}else d.push(v().createElement(at,Object.assign({key:r.name+\"_\"+c,variable:r,singleIndent:5,namespace:c,type:a.props.type},t)));else;})),d};var r=t.getState(e);return a.state=s(s({},r),{},{prevProps:{}}),a}return h(t,e),c(t,[{key:\"getBraceStart\",value:function(e,t){var a=this,r=this.props,n=r.src,o=r.theme,s=r.iconStyle;if(\"array_group\"===r.parent_type)return v().createElement(\"span\",null,v().createElement(\"span\",G(o,\"brace\"),\"array\"===e?\"[\":\"{\"),t?this.getObjectMetaData(n):null);var i=t?ot:st;return v().createElement(\"span\",null,v().createElement(\"span\",Object.assign({onClick:function(e){a.toggleCollapsed()}},G(o,\"brace-row\")),v().createElement(\"div\",Object.assign({className:\"icon-container\"},G(o,\"icon-container\")),v().createElement(i,{theme:o,iconStyle:s})),v().createElement(nt,this.props),v().createElement(\"span\",G(o,\"brace\"),\"array\"===e?\"[\":\"{\")),t?this.getObjectMetaData(n):null)}},{key:\"render\",value:function(){var e=this,t=this.props,a=t.depth,r=t.src,n=(t.namespace,t.name,t.type,t.parent_type),o=t.theme,i=t.jsvRoot,l=t.iconStyle,c=w(t,ct),u=this.state,d=u.object_type,b=u.expanded,p={};return i||\"array_group\"===n?\"array_group\"===n&&(p.borderLeft=0,p.display=\"inline\"):p.paddingLeft=5*this.props.indentWidth,v().createElement(\"div\",Object.assign({className:\"object-key-val\",onMouseEnter:function(){return e.setState(s(s({},e.state),{},{hovered:!0}))},onMouseLeave:function(){return e.setState(s(s({},e.state),{},{hovered:!1}))}},G(o,i?\"jsv-root\":\"objectKeyVal\",p)),this.getBraceStart(d,b),b?this.getObjectContent(a,r,s({theme:o,iconStyle:l},c)):this.getEllipsis(),v().createElement(\"span\",{className:\"brace-row\"},v().createElement(\"span\",{style:s(s({},G(o,\"brace\").style),{},{paddingLeft:b?\"3px\":\"0px\"})},\"array\"===d?\"]\":\"}\"),b?null:this.getObjectMetaData(r)))}}],[{key:\"getDerivedStateFromProps\",value:function(e,a){var r=a.prevProps;return e.src!==r.src||e.collapsed!==r.collapsed||e.name!==r.name||e.namespace!==r.namespace||e.rjvId!==r.rjvId?s(s({},t.getState(e)),{},{prevProps:e}):null}}])}(v().PureComponent);ut.getState=function(e){var t=Object.keys(e.src).length,a=(!1===e.collapsed||!0!==e.collapsed&&e.collapsed>e.depth)&&(!e.shouldCollapse||!1===e.shouldCollapse({name:e.name,src:e.src,type:x(e.src),namespace:e.namespace}))&&0!==t;return{expanded:se.get(e.rjvId,e.namespace,\"expanded\",a),object_type:\"array\"===e.type?\"array\":\"object\",parent_type:\"array\"===e.type?\"array\":\"object\",size:t,hovered:!1}};var dt=c((function e(t,a,r){i(this,e),this.name=t,this.value=a,this.type=x(a,r)}));E(ut);const bt=ut;var pt=function(e){function t(){var e;i(this,t);for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return(e=p(this,t,[].concat(r))).render=function(){var t,a,r,n,o=e.props,s=[o.name],i=bt;\"object\"!=typeof o.name||Array.isArray(o.name)||(s=[(null===(t=o.name)||void 0===t?void 0:t.displayName)||(null===(a=o.name)||void 0===a?void 0:a.name)||(null===(r=o.name)||void 0===r||null===(n=r.type)||void 0===n?void 0:n.name)||\"Anonymous\"]);return Array.isArray(o.src)&&o.groupArraysAfterLength&&o.src.length>o.groupArraysAfterLength&&(i=lt),v().createElement(\"div\",{className:\"pretty-json-container object-container\"},v().createElement(\"div\",{className:\"object-content\"},v().createElement(i,Object.assign({namespace:s,depth:0,jsvRoot:!0},o))))},e}return h(t,e),c(t)}(v().PureComponent),ft=function(e){function t(e){var a;return i(this,t),(a=p(this,t,[e])).closeModal=function(){ne.dispatch({rjvId:a.props.rjvId,name:\"RESET\"})},a.submit=function(){a.props.submit(a.state.input)},a.state={input:e.input?e.input:\"\"},a}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this,t=this.props,a=t.theme,r=t.rjvId,n=t.isValid,o=this.state.input,s=n(o);return v().createElement(\"div\",Object.assign({className:\"key-modal-request\"},G(a,\"key-modal-request\"),{onClick:this.closeModal}),v().createElement(\"div\",Object.assign({},G(a,\"key-modal\"),{onClick:function(e){e.stopPropagation()}}),v().createElement(\"div\",G(a,\"key-modal-label\"),\"Key Name:\"),v().createElement(\"div\",{style:{position:\"relative\"}},v().createElement(\"input\",Object.assign({},G(a,\"key-modal-input\"),{className:\"key-modal-input\",ref:function(e){return e&&e.focus()},spellCheck:!1,value:o,placeholder:\"...\",onChange:function(t){e.setState({input:t.target.value})},onKeyPress:function(t){s&&\"Enter\"===t.key?e.submit():\"Escape\"===t.key&&e.closeModal()}})),s?v().createElement(Xe,Object.assign({},G(a,\"key-modal-submit\"),{className:\"key-modal-submit\",onClick:function(t){return e.submit()}})):null),v().createElement(\"span\",G(a,\"key-modal-cancel\"),v().createElement(Qe,Object.assign({},G(a,\"key-modal-cancel-icon\"),{className:\"key-modal-cancel\",onClick:function(){ne.dispatch({rjvId:r,name:\"RESET\"})}})))))}}])}(v().PureComponent),ht=function(e){function t(){var e;i(this,t);for(var a=arguments.length,r=new Array(a),n=0;n<a;n++)r[n]=arguments[n];return(e=p(this,t,[].concat(r))).isValid=function(t){var a=e.props.rjvId,r=se.get(a,\"action\",\"new-key-request\");return\"\"!=t&&-1===Object.keys(r.existing_value).indexOf(t)},e.submit=function(t){var a=e.props.rjvId,r=se.get(a,\"action\",\"new-key-request\");r.new_value=s({},r.existing_value),r.new_value[t]=e.props.defaultValue,ne.dispatch({name:\"VARIABLE_ADDED\",rjvId:a,data:r})},e}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.active,a=e.theme,r=e.rjvId;return t?v().createElement(ft,{rjvId:r,theme:a,isValid:this.isValid,submit:this.submit}):null}}])}(v().PureComponent),mt=function(e){function t(){return i(this,t),p(this,t,arguments)}return h(t,e),c(t,[{key:\"render\",value:function(){var e=this.props,t=e.message,a=e.active,r=e.theme,n=e.rjvId;return a?v().createElement(\"div\",Object.assign({className:\"validation-failure\"},G(r,\"validation-failure\"),{onClick:function(){ne.dispatch({rjvId:n,name:\"RESET\"})}}),v().createElement(\"span\",G(r,\"validation-failure-label\"),t),v().createElement(Qe,G(r,\"validation-failure-clear\"))):null}}])}(v().PureComponent),vt=function(e){function t(e){var a;return i(this,t),(a=p(this,t,[e])).rjvId=Date.now().toString()+Math.random().toString(36).slice(2),a.getListeners=function(){return{reset:a.resetState,\"variable-update\":a.updateSrc,\"add-key-request\":a.addKeyRequest}},a.updateSrc=function(){var e,t=se.get(a.rjvId,\"action\",\"variable-update\"),r=t.name,n=t.namespace,o=t.new_value,s=t.existing_value,i=t.updated_src,l=t.type,c=a.props,u=c.onEdit,d=c.onDelete,b=c.onAdd,p={existing_src:a.state.src,new_value:o,updated_src:i,name:r,namespace:n,existing_value:s};switch(l){case\"variable-added\":e=b(p);break;case\"variable-edited\":e=u(p);break;case\"variable-removed\":e=d(p)}!1!==e?(se.set(a.rjvId,\"global\",\"src\",i),a.setState({src:i})):a.setState({validationFailure:!0})},a.addKeyRequest=function(){a.setState({addKeyRequest:!0})},a.resetState=function(){a.setState({validationFailure:!1,addKeyRequest:!1})},a.state={addKeyRequest:!1,editKeyRequest:!1,validationFailure:!1,src:t.defaultProps.src,name:t.defaultProps.name,theme:t.defaultProps.theme,validationMessage:t.defaultProps.validationMessage,prevSrc:t.defaultProps.src,prevName:t.defaultProps.name,prevTheme:t.defaultProps.theme},a}return h(t,e),c(t,[{key:\"componentDidMount\",value:function(){se.set(this.rjvId,\"global\",\"src\",this.state.src);var e=this.getListeners();for(var t in e)se.on(t+\"-\"+this.rjvId,e[t]);this.setState({addKeyRequest:!1,editKeyRequest:!1})}},{key:\"componentDidUpdate\",value:function(e,t){!1!==t.addKeyRequest&&this.setState({addKeyRequest:!1}),!1!==t.editKeyRequest&&this.setState({editKeyRequest:!1}),e.src!==this.state.src&&se.set(this.rjvId,\"global\",\"src\",this.state.src)}},{key:\"componentWillUnmount\",value:function(){var e=this.getListeners();for(var t in e)se.removeListener(t+\"-\"+this.rjvId,e[t])}},{key:\"render\",value:function(){var e=this.state,t=e.validationFailure,a=e.validationMessage,r=e.addKeyRequest,n=e.theme,o=e.src,i=e.name,l=this.props,c=l.style,u=l.defaultValue;return v().createElement(\"div\",{className:\"react-json-view\",style:s(s({},G(n,\"app-container\").style),c)},v().createElement(mt,{message:a,active:t,theme:n,rjvId:this.rjvId}),v().createElement(pt,Object.assign({},this.props,{src:o,name:i,theme:n,type:x(o),rjvId:this.rjvId})),v().createElement(ht,{active:r,theme:n,rjvId:this.rjvId,defaultValue:u}))}}],[{key:\"getDerivedStateFromProps\",value:function(e,a){if(e.src!==a.prevSrc||e.name!==a.prevName||e.theme!==a.prevTheme){var r={src:e.src,name:e.name,theme:e.theme,validationMessage:e.validationMessage,prevSrc:e.src,prevName:e.name,prevTheme:e.theme};return t.validateState(r)}return null}}])}(v().PureComponent);vt.defaultProps={src:{},name:\"root\",theme:\"rjv-default\",collapsed:!1,collapseStringsAfterLength:!1,shouldCollapse:!1,sortKeys:!1,quotesOnKeys:!0,groupArraysAfterLength:100,indentWidth:4,enableClipboard:!0,escapeStrings:!0,displayObjectSize:!0,displayDataTypes:!0,onEdit:!1,onDelete:!1,onAdd:!1,onSelect:!1,iconStyle:\"triangle\",style:{},validationMessage:\"Validation Error\",defaultValue:null,displayArrayKey:!0,selectOnFocus:!1,keyModifier:function(e){return e.metaKey||e.ctrlKey},bigNumber:null},vt.validateState=function(e){var t={};return\"object\"!==x(e.theme)||function(e){var t=[\"base00\",\"base01\",\"base02\",\"base03\",\"base04\",\"base05\",\"base06\",\"base07\",\"base08\",\"base09\",\"base0A\",\"base0B\",\"base0C\",\"base0D\",\"base0E\",\"base0F\"];if(\"object\"===x(e)){for(var a=0;a<t.length;a++)if(!(t[a]in e))return!1;return!0}return!1}(e.theme)||(console.error(\"react-json-view error:\",\"theme prop must be a theme name or valid base-16 theme object.\",'defaulting to \"rjv-default\" theme'),t.theme=\"rjv-default\"),\"object\"!==x(e.src)&&\"array\"!==x(e.src)&&(console.error(\"react-json-view error:\",\"src property must be a valid json object\"),t.name=\"ERROR\",t.src={message:\"src property must be a valid json object\"}),s(s({},e),t)},E(vt);const gt=vt})(),n})()));","import ReactJson from \"@microlink/react-json-view\";\n\n// Need this separately to fix Storybook 8 bundling\n// See #419 and #420 for more context\nconst noop = () => {};\n\nfunction shouldCollapse({ src, type }: { src: Array<unknown> | object; type: string }) {\n  if (type === \"object\") return Object.keys(src).length > 10;\n  if (type === \"array\") return (src as Array<unknown>).length > 10;\n  return false;\n}\n\nexport default function JsonViewer({\n  data,\n  onUpdateData = noop,\n  editingEnabled = false,\n  clipboardEnabled = true,\n  displayDataTypes = false,\n  quotesOnKeys = false,\n  name = null,\n  collapseStringsAfterLength = 80,\n  collapsedDepth = false,\n}: {\n  data: object;\n  onUpdateData?: (value: unknown) => void;\n  editingEnabled?: boolean;\n  clipboardEnabled?: boolean;\n  displayDataTypes?: boolean;\n  quotesOnKeys?: boolean;\n  name?: string | null | false;\n  collapseStringsAfterLength?: number;\n  collapsedDepth?: number | boolean;\n}) {\n  return (\n    <ReactJson\n      theme=\"bright\"\n      displayDataTypes={displayDataTypes}\n      quotesOnKeys={quotesOnKeys}\n      shouldCollapse={shouldCollapse}\n      collapseStringsAfterLength={collapseStringsAfterLength}\n      name={name}\n      src={data}\n      enableClipboard={clipboardEnabled}\n      collapsed={collapsedDepth}\n      onEdit={\n        editingEnabled &&\n        (e => {\n          if (e.new_value === \"error\") {\n            return false;\n          }\n          onUpdateData(e.updated_src);\n        })\n      }\n      onDelete={\n        editingEnabled &&\n        (e => {\n          if (e.new_value === \"error\") {\n            return false;\n          }\n          onUpdateData(e.updated_src);\n        })\n      }\n      onAdd={\n        editingEnabled &&\n        (e => {\n          if (e.new_value === \"error\") {\n            return false;\n          }\n          onUpdateData(e.updated_src);\n        })\n      }\n    />\n  );\n}\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","import dayjs from \"dayjs\";\nimport DayJsLocalizedFormat from \"dayjs/plugin/localizedFormat\";\n\ndayjs.extend(DayJsLocalizedFormat);\n\nexport default function Time({\n  date,\n  ...props\n}: { date: string | number | Date; format?: string } & React.ComponentProps<\"time\">) {\n  if (!date) return null;\n\n  return (\n    <time dateTime={date instanceof Date ? date.toISOString() : `${date}`} {...props}>\n      {dayjs(date).format(props.format ? props.format : \"LTS\")}\n    </time>\n  );\n}\n","import { Fragment } from \"react\";\nimport { cn } from \"~/lib/cn\";\nimport JsonViewer from \"~/telemetry/components/shared/JsonViewer\";\nimport Time from \"~/telemetry/components/shared/Time\";\nimport type { Breadcrumb, SentryEvent } from \"../../types\";\nimport { CodeViewer } from \"../insights/envelopes/CodeViewer\";\n\nconst EXAMPLE_BREADCRUMB = `Sentry.addBreadcrumb({\n  category: \"auth\",\n  message: \"Authenticated user \" + user.email,\n  level: \"info\",\n});`;\n\nfunction extractBreadcrumbs(event: SentryEvent): Breadcrumb[] {\n  if (Array.isArray(event.breadcrumbs)) {\n    return event.breadcrumbs;\n  }\n\n  if (Array.isArray(event.breadcrumbs?.values)) {\n    return event.breadcrumbs.values;\n  }\n  return [];\n}\n\nexport default function EventBreadcrumbs({ event }: { event: SentryEvent }) {\n  const breadcrumbs = extractBreadcrumbs(event).filter(crumb => crumb.message || crumb.data);\n  if (!breadcrumbs.length) {\n    return (\n      <div className=\"flex-1 space-y-4 px-6 py-4\">\n        <div className=\"text-primary-300\">\n          No breadcrumbs available for this event. Try adding some to make debugging easier.\n        </div>\n        <CodeViewer code={EXAMPLE_BREADCRUMB} lang=\"js\" />\n      </div>\n    );\n  }\n  return (\n    <div className=\"flex-1 px-6 py-4\">\n      <div className=\"divide-primary-800 grid-cols-2-auto -mx-2 grid space-y-2 divide-y\">\n        {breadcrumbs.map((crumb, crumbIdx) => (\n          <Fragment key={`${crumb.timestamp}-${crumb.category}-${crumb.type}`}>\n            <div className=\"flex flex-none flex-col p-2\">\n              <div className=\"text-lg font-semibold\">{crumb.category || \" \"}</div>\n              <div className=\"text-primary-300 text-xs\">\n                <Time date={crumb.timestamp} format=\"HH:mm:ss\" />\n              </div>\n            </div>\n            {crumb.data ? (\n              <JsonViewer data={crumb.data} />\n            ) : (\n              <pre\n                className={cn(\n                  \"flex grow items-center whitespace-pre-line p-2 font-mono!\",\n                  crumbIdx === 0 ? \"border-t-0!\" : \"\",\n                )}\n              >\n                {crumb.message}\n              </pre>\n            )}\n          </Fragment>\n        ))}\n      </div>\n    </div>\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20width='16'%20height='16'%20viewBox='0%200%2016%2016'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8%202v8m0%200l3-3m-3%203L5%207'%20stroke='currentColor'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3crect%20x='3'%20y='13'%20width='10'%20height='1'%20rx='0.5'%20fill='currentColor'/%3e%3c/svg%3e\"","export function base64Decode(data: string): Uint8Array {\n  // TODO: Use Uint8Array.fromBase64 when it becomes available\n  // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array/fromBase64\n  return Uint8Array.from(atob(data), c => c.charCodeAt(0));\n}\n","import { RAW_TYPES } from \"@spotlightjs/sidecar/constants\";\n\nconst CONTENT_TYPES_TO_EXTENSION: Record<string, string> = {\n  \"text/plain\": \"txt\",\n  \"text/csv\": \"csv\",\n  \"text/css\": \"css\",\n  \"text/html\": \"html\",\n  \"text/javascript\": \"js\",\n  \"text/json\": \"json\",\n  \"text/x-json\": \"json\",\n  \"application/json\": \"json\",\n  \"application/ld+json\": \"json\",\n  \"image/png\": \"png\",\n  \"image/jpeg\": \"jpg\",\n  \"image/gif\": \"gif\",\n  \"image/webp\": \"webp\",\n  \"image/avif\": \"avif\",\n  \"video/mp4\": \"mp4\",\n  \"video/webm\": \"webm\",\n};\n\nexport function inferExtension(contentType?: string | null, itemType?: string | null): string {\n  if (contentType) {\n    const normalized = contentType.toLowerCase();\n    const known = CONTENT_TYPES_TO_EXTENSION[normalized];\n    if (known) {\n      return known;\n    }\n    if (normalized.includes(\"json\")) {\n      return \"json\";\n    }\n    if (normalized.includes(\"text\")) {\n      return \"txt\";\n    }\n    if (normalized.includes(\"csv\")) {\n      return \"csv\";\n    }\n  }\n\n  if (itemType && !RAW_TYPES.has(itemType)) {\n    return \"json\";\n  }\n\n  return \"bin\";\n}\n\n","import type { EnvelopeItem } from \"@sentry/core\";\nimport { type ReactNode, useCallback, useEffect, useState } from \"react\";\nimport { ReactComponent as Download } from \"~/assets/download.svg\";\nimport { base64Decode } from \"~/lib/base64\";\nimport JsonViewer from \"../../shared/JsonViewer\";\nimport { CodeViewer } from \"./CodeViewer\";\nimport { inferExtension } from \"./contentType\";\n\nconst JSON_CONTENT_TYPES = new Set([\"application/json\", \"text/json\", \"text/x-json\", \"application/ld+json\"]);\nconst CODE_CONTENT_TYPES = new Set([\"text/css\", \"text/html\", \"text/javascript\"]);\nconst IMAGE_CONTENT_TYPES = new Set([\"image/png\", \"image/jpeg\", \"image/gif\", \"image/webp\", \"image/avif\"]);\nconst VIDEO_CONTENT_TYPES = new Set([\"video/mp4\", \"video/webm\"]);\n\nexport default function Attachment({\n  header,\n  attachment,\n  expanded = false,\n}: {\n  header: EnvelopeItem[0];\n  attachment: string;\n  expanded?: boolean;\n}) {\n  const [downloadUrl, setDownloadUrl] = useState<string | null>(null);\n  const extension = inferExtension(header.content_type as string | null, header.type as string | null);\n  const name = (header.filename as string) || `untitled.${extension}`;\n\n  const createDownloadUrl = useCallback(() => {\n    const blob = new Blob(\n      [\n        IMAGE_CONTENT_TYPES.has(header.content_type as string) || VIDEO_CONTENT_TYPES.has(header.content_type as string)\n          ? (base64Decode(attachment).buffer as BlobPart)\n          : extension === \"bin\"\n            ? atob(attachment)\n            : attachment,\n      ],\n      { type: (header.content_type as string) || \"application/octet-stream\" },\n    );\n    const url = URL.createObjectURL(blob);\n    setDownloadUrl(current => {\n      if (current) {\n        URL.revokeObjectURL(current);\n      }\n      return url;\n    });\n    return url;\n  }, [attachment, extension, header.content_type]);\n\n  useEffect(() => {\n    if (!expanded) {\n      return;\n    }\n    if (!downloadUrl) {\n      createDownloadUrl();\n    }\n  }, [expanded, downloadUrl, createDownloadUrl]);\n\n  useEffect(\n    () => () => {\n      if (downloadUrl) {\n        URL.revokeObjectURL(downloadUrl);\n      }\n    },\n    [downloadUrl],\n  );\n\n  let content: ReactNode = null;\n\n  if (expanded) {\n    if (header.content_type === \"text/plain\" || header.content_type === \"text/csv\") {\n      content = (\n        <pre className=\"text-primary-300 whitespace-pre-wrap break-words font-mono text-sm rounded-sm bg-primary-900 p-2\">\n          {attachment}\n        </pre>\n      );\n    } else if (JSON_CONTENT_TYPES.has(header.content_type as string)) {\n      try {\n        content = <JsonViewer data={JSON.parse(attachment)} collapsedDepth={2} />;\n      } catch {\n        content = (\n          <pre className=\"text-destructive-400 whitespace-pre-wrap break-words font-mono text-sm rounded-sm bg-primary-900 p-2\">\n            Failed to parse JSON attachment.\n          </pre>\n        );\n      }\n    } else if (CODE_CONTENT_TYPES.has(header.content_type as string)) {\n      content = <CodeViewer code={attachment} lang={extension} />;\n    } else if (IMAGE_CONTENT_TYPES.has(header.content_type as string)) {\n      content = downloadUrl ? <img className=\"size-full object-contain\" src={downloadUrl} alt=\"Attachment\" /> : null;\n    } else if (VIDEO_CONTENT_TYPES.has(header.content_type as string)) {\n      content = downloadUrl ? (\n        <video className=\"size-full object-contain\" controls>\n          <source src={downloadUrl} type={header.content_type as string} />\n        </video>\n      ) : null;\n    }\n  }\n\n  return (\n    <>\n      <h3>\n        📎{\" \"}\n        <a\n          href={downloadUrl ?? undefined}\n          download={name}\n          className=\"group inline-flex items-center gap-1\"\n        >\n          {name}\n          <Download className=\"inline h-4 w-4 opacity-60 transition-opacity group-hover:opacity-100\" />\n        </a>\n      </h3>\n      {expanded ? content : <p className=\"text-primary-400 text-xs italic\">Expand to preview attachment.</p>}\n    </>\n  );\n}\n","import { cn } from \"~/lib/cn\";\n\nexport type TagProps = {\n  tagKey?: string;\n  value: string;\n  flowing?: boolean;\n  maxWidth?: string;\n};\n\nexport default function Tag({ tagKey, value, flowing = false, maxWidth = \"400px\" }: TagProps) {\n  if (!value) return null;\n\n  return (\n    <div\n      className={cn(\n        \"border-primary-300 bg-primary-900 divide-x-primary-300 inline-flex divide-x overflow-hidden whitespace-nowrap rounded-full border font-mono text-sm\",\n        flowing && \"max-w-full\",\n      )}\n    >\n      {tagKey && <div className=\"px-2 py-1 font-semibold\">{tagKey}</div>}\n      <div\n        title={value}\n        className={cn(\"bg-primary-800 truncate px-2 py-1\", flowing ? \"max-w-full\" : \"max-w-none\")}\n        style={{ maxWidth: flowing ? \"100%\" : maxWidth }}\n      >\n        {value}\n      </div>\n    </div>\n  );\n}\n","import Tag from \"~/ui/tag\";\n\nexport default function Tags({ tags }: { tags: { [key: string]: string } }) {\n  return (\n    <div className=\"flex flex-row flex-wrap gap-2 pt-2\">\n      {Object.keys(tags).map(tagKey => (\n        <Tag key={tagKey} tagKey={tagKey} value={tags[tagKey]} />\n      ))}\n    </div>\n  );\n}\n","import JsonViewer from \"~/telemetry/components/shared/JsonViewer\";\nimport type { Tags as TagsType } from \"~/telemetry/types\";\nimport Tags from \"./Tags\";\n\nexport function ContextView({\n  context,\n  tags,\n}: { context: [string, Record<string, unknown>][]; tags?: TagsType | null }) {\n  return (\n    <div className=\"space-y-4 px-6 py-4\">\n      {tags && (\n        <div className=\"pb-4\">\n          <h2 className=\"font-bold uppercase\">Tags</h2>\n          <Tags tags={tags} />\n        </div>\n      )}\n      <div className=\"space-y-6\">\n        {context.map(([ctxKey, ctxValues]) => (\n          <div key={ctxKey}>\n            <h2 className=\"font-bold uppercase\">{ctxKey}</h2>\n            <JsonViewer data={ctxValues} />\n          </div>\n        ))}\n      </div>\n    </div>\n  );\n}\n","import type { Nullable } from \"vitest\";\nimport type { SentryEvent } from \"../../types\";\nimport Attachment from \"../insights/envelopes/Attachment\";\nimport { CodeViewer } from \"../insights/envelopes/CodeViewer\";\nimport { ContextView } from \"../shared/ContextView\";\n\nconst EXAMPLE_CONTEXT = `Sentry.setContext(\"character\", {\n  name: \"Mighty Fighter\",\n  age: 19,\n  attack_type: \"melee\",\n});`;\n\nconst exampleContext = (\n  <div className=\"space-y-4 px-6 py-4\">\n    <div className=\"text-primary-300\">\n      No context available for this event. Try adding some to make debugging easier.\n    </div>\n    <CodeViewer code={EXAMPLE_CONTEXT} lang=\"js\" />\n  </div>\n);\n\nexport default function EventContexts({ event }: { event: SentryEvent }) {\n  if (!event) {\n    return exampleContext;\n  }\n\n  const contexts: Record<string, Nullable<Record<string, unknown>>> = {\n    request: event.request,\n    ...event.contexts,\n  };\n\n  if (event.extra) {\n    contexts.extra = event.extra;\n  }\n\n  if (event.modules) {\n    contexts.extra = Object.assign(contexts.extra || {}, { modules: event.modules });\n  }\n\n  const contextEntries = Object.entries(contexts).filter(entry => entry[1]) as [string, Record<string, unknown>][];\n  if (contextEntries.length === 0 && !event.tags && !event.attachments?.length) {\n    return exampleContext;\n  }\n\n  return (\n    <>\n      <ContextView context={contextEntries} tags={event.tags} />\n      {event.attachments && event.attachments.length > 0 && (\n        <div className=\"flex flex-col gap-2 px-6 py-4\">\n          <h2 className=\"mb-2 text-xl font-semibold\">Attachments</h2>\n          {event.attachments.map((attachment, index) => (\n            <Attachment\n              key={`${index}-${attachment.header.type}`}\n              header={attachment.header}\n              attachment={attachment.data}\n            />\n          ))}\n        </div>\n      )}\n    </>\n  );\n}\n","import { isErrorEvent } from \"@spotlightjs/sidecar/parser\";\nimport { Link, Outlet, Route, Routes, useParams } from \"react-router-dom\";\nimport useSentryStore from \"../../store\";\nimport type { SentryErrorEvent, SentryEvent } from \"../../types\";\nimport { createTab } from \"../../utils/tabs\";\nimport TelemetryTabs from \"../TelemetryTabs\";\nimport PlatformIcon from \"../shared/PlatformIcon\";\nimport AICopyButton from \"./AICopyButton\";\nimport Event, { EventTitle } from \"./Event\";\nimport EventBreadcrumbs from \"./EventBreadcrumbs\";\nimport EventContexts from \"./EventContexts\";\n\nfunction renderEventTitle(event: SentryEvent) {\n  return <EventTitle event={event} />;\n}\n\nexport default function EventDetails() {\n  const { eventId } = useParams();\n  const getEventById = useSentryStore(state => state.getEventById);\n\n  if (!eventId) {\n    return <p className=\"text-primary-300 p-6\">Unknown event id</p>;\n  }\n\n  const event = getEventById(eventId);\n\n  if (!event) {\n    return <p className=\"text-primary-300 p-6\">Event not found.</p>;\n  }\n\n  const tabs = [\n    createTab(\"details\", \"Details\"),\n    createTab(\"breadcrumbs\", \"Breadcrumbs\"),\n    createTab(\"contexts\", \"Context\"),\n  ];\n\n  const traceCtx = event.contexts?.trace;\n  const isError = isErrorEvent(event);\n\n  return (\n    <div className=\"w-full flex flex-1 flex-col overflow-y-auto overflow-x-hidden\">\n      <div className=\"bg-primary-950 flex items-center gap-x-2 px-6 py-4\">\n        <PlatformIcon event={event} className=\"rounded-md\" />\n        <h1 className=\"max-w-full flex-1 truncate text-2xl\">{renderEventTitle(event)}</h1>\n        {isError && <AICopyButton event={event as SentryErrorEvent} />}\n        {traceCtx && (\n          <div className=\"text-primary-300 font-mono\">\n            <div>\n              T:{\" \"}\n              <Link className=\"cursor-pointer underline\" to={`/telemetry/traces/${traceCtx.trace_id}`}>\n                {traceCtx.trace_id}\n              </Link>\n            </div>\n            <div>\n              S:{\" \"}\n              <Link\n                className=\"cursor-pointer underline\"\n                to={`/telemetry/traces/${traceCtx.trace_id}/spans/${traceCtx.span_id}`}\n              >\n                {traceCtx.span_id}\n              </Link>\n            </div>\n          </div>\n        )}\n      </div>\n      <TelemetryTabs tabs={tabs} nested />\n      <div className=\"flex min-h-0 flex-1 flex-col overflow-y-auto overflow-x-hidden\">\n        <Routes>\n          <Route path=\"breadcrumbs\" element={<EventBreadcrumbs event={event} />} />\n          <Route path=\"contexts\" element={<EventContexts event={event} />} />\n          {/* Default tab */}\n          <Route path=\"*\" element={<Event event={event} />} />\n        </Routes>\n        <Outlet />\n      </div>\n    </div>\n  );\n}\n","import type { ComponentPropsWithoutRef } from \"react\";\n\nexport default function CardList(props: Omit<ComponentPropsWithoutRef<\"div\">, \"className\">) {\n  return (\n    <div\n      className=\"divide-primary-900 border-primary-900 flex min-h-0 flex-1 flex-col divide-y overflow-y-auto border-y\"\n      {...props}\n    />\n  );\n}\n","!function(r,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(r=\"undefined\"!=typeof globalThis?globalThis:r||self).dayjs_plugin_relativeTime=e()}(this,(function(){\"use strict\";return function(r,e,t){r=r||{};var n=e.prototype,o={future:\"in %s\",past:\"%s ago\",s:\"a few seconds\",m:\"a minute\",mm:\"%d minutes\",h:\"an hour\",hh:\"%d hours\",d:\"a day\",dd:\"%d days\",M:\"a month\",MM:\"%d months\",y:\"a year\",yy:\"%d years\"};function i(r,e,t,o){return n.fromToBase(r,e,t,o)}t.en.relativeTime=o,n.fromToBase=function(e,n,i,d,u){for(var f,a,s,l=i.$locale().relativeTime||o,h=r.thresholds||[{l:\"s\",r:44,d:\"second\"},{l:\"m\",r:89},{l:\"mm\",r:44,d:\"minute\"},{l:\"h\",r:89},{l:\"hh\",r:21,d:\"hour\"},{l:\"d\",r:35},{l:\"dd\",r:25,d:\"day\"},{l:\"M\",r:45},{l:\"MM\",r:10,d:\"month\"},{l:\"y\",r:17},{l:\"yy\",d:\"year\"}],m=h.length,c=0;c<m;c+=1){var y=h[c];y.d&&(f=d?t(e).diff(i,y.d,!0):i.diff(e,y.d,!0));var p=(r.rounding||Math.round)(Math.abs(f));if(s=f>0,p<=y.r||!y.r){p<=1&&c>0&&(y=h[c-1]);var v=l[y.l];u&&(p=u(\"\"+p)),a=\"string\"==typeof v?v.replace(\"%d\",p):v(p,n,y.l,s);break}}if(n)return a;var M=s?l.future:l.past;return\"function\"==typeof M?M(a):M.replace(\"%s\",a)},n.to=function(r,e){return i(r,e,this,!0)},n.from=function(r,e){return i(r,e,this)};var d=function(r){return r.$u?t.utc():t()};n.toNow=function(r){return this.to(d(this),r)},n.fromNow=function(r){return this.from(d(this),r)}}}));","import { useState, useCallback, useLayoutEffect, useEffect, useRef, useMemo, useReducer } from 'react';\nimport debounce from 'lodash.debounce';\n\n// src/useBoolean/useBoolean.ts\nfunction useBoolean(defaultValue) {\n  const [value, setValue] = useState(!!defaultValue);\n  const setTrue = useCallback(() => {\n    setValue(true);\n  }, []);\n  const setFalse = useCallback(() => {\n    setValue(false);\n  }, []);\n  const toggle = useCallback(() => {\n    setValue((x) => !x);\n  }, []);\n  return { value, setValue, setTrue, setFalse, toggle };\n}\nvar useIsomorphicLayoutEffect = typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\n// src/useEventListener/useEventListener.ts\nfunction useEventListener(eventName, handler, element, options) {\n  const savedHandler = useRef(handler);\n  useIsomorphicLayoutEffect(() => {\n    savedHandler.current = handler;\n  }, [handler]);\n  useEffect(() => {\n    const targetElement = (element == null ? void 0 : element.current) ?? window;\n    if (!(targetElement && targetElement.addEventListener))\n      return;\n    const listener = (event) => {\n      savedHandler.current(event);\n    };\n    targetElement.addEventListener(eventName, listener, options);\n    return () => {\n      targetElement.removeEventListener(eventName, listener, options);\n    };\n  }, [eventName, element, options]);\n}\n\n// src/useClickAnyWhere/useClickAnyWhere.ts\nfunction useClickAnyWhere(handler) {\n  useEventListener(\"click\", (event) => {\n    handler(event);\n  });\n}\nfunction useCopyToClipboard() {\n  const [copiedText, setCopiedText] = useState(null);\n  const copy = useCallback(async (text) => {\n    if (!(navigator == null ? void 0 : navigator.clipboard)) {\n      console.warn(\"Clipboard not supported\");\n      return false;\n    }\n    try {\n      await navigator.clipboard.writeText(text);\n      setCopiedText(text);\n      return true;\n    } catch (error) {\n      console.warn(\"Copy failed\", error);\n      setCopiedText(null);\n      return false;\n    }\n  }, []);\n  return [copiedText, copy];\n}\nfunction useCounter(initialValue) {\n  const [count, setCount] = useState(initialValue ?? 0);\n  const increment = () => {\n    setCount((x) => x + 1);\n  };\n  const decrement = () => {\n    setCount((x) => x - 1);\n  };\n  const reset = () => {\n    setCount(initialValue ?? 0);\n  };\n  return {\n    count,\n    increment,\n    decrement,\n    reset,\n    setCount\n  };\n}\nfunction useInterval(callback, delay) {\n  const savedCallback = useRef(callback);\n  useIsomorphicLayoutEffect(() => {\n    savedCallback.current = callback;\n  }, [callback]);\n  useEffect(() => {\n    if (delay === null) {\n      return;\n    }\n    const id = setInterval(() => {\n      savedCallback.current();\n    }, delay);\n    return () => {\n      clearInterval(id);\n    };\n  }, [delay]);\n}\n\n// src/useCountdown/useCountdown.ts\nfunction useCountdown(countdownOptions) {\n  let isDeprecated = false;\n  let countStart, intervalMs, isIncrement, countStop;\n  if (\"seconds\" in countdownOptions) {\n    console.warn(\n      \"[useCountdown:DEPRECATED] new interface is already available (see https://usehooks-ts.com/react-hook/use-countdown), the old version will retire on usehooks-ts@3.\"\n    );\n    isDeprecated = true;\n    countStart = countdownOptions.seconds;\n    intervalMs = countdownOptions.interval;\n    isIncrement = countdownOptions.isIncrement;\n  } else {\n    ({ countStart, intervalMs, isIncrement, countStop } = countdownOptions);\n  }\n  intervalMs = intervalMs ?? 1e3;\n  isIncrement = isIncrement ?? false;\n  countStop = countStop ?? 0;\n  const {\n    count,\n    increment,\n    decrement,\n    reset: resetCounter\n  } = useCounter(countStart);\n  const {\n    value: isCountdownRunning,\n    setTrue: startCountdown,\n    setFalse: stopCountdown\n  } = useBoolean(false);\n  const resetCountdown = () => {\n    stopCountdown();\n    resetCounter();\n  };\n  const countdownCallback = useCallback(() => {\n    if (count === countStop) {\n      stopCountdown();\n      return;\n    }\n    if (isIncrement) {\n      increment();\n    } else {\n      decrement();\n    }\n  }, [count, countStop, decrement, increment, isIncrement, stopCountdown]);\n  useInterval(countdownCallback, isCountdownRunning ? intervalMs : null);\n  return isDeprecated ? [\n    count,\n    {\n      start: startCountdown,\n      stop: stopCountdown,\n      reset: resetCountdown\n    }\n  ] : [\n    count,\n    {\n      startCountdown,\n      stopCountdown,\n      resetCountdown\n    }\n  ];\n}\nfunction useEventCallback(fn) {\n  const ref = useRef(() => {\n    throw new Error(\"Cannot call an event handler while rendering.\");\n  });\n  useIsomorphicLayoutEffect(() => {\n    ref.current = fn;\n  }, [fn]);\n  return useCallback((...args) => ref.current(...args), [ref]);\n}\n\n// src/useLocalStorage/useLocalStorage.ts\nvar IS_SERVER = typeof window === \"undefined\";\nfunction useLocalStorage(key, initialValue, options = {}) {\n  const { initializeWithValue = true } = options;\n  const serializer = useCallback(\n    (value) => {\n      if (options.serializer) {\n        return options.serializer(value);\n      }\n      return JSON.stringify(value);\n    },\n    [options]\n  );\n  const deserializer = useCallback(\n    (value) => {\n      if (options.deserializer) {\n        return options.deserializer(value);\n      }\n      if (value === \"undefined\") {\n        return void 0;\n      }\n      const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n      let parsed;\n      try {\n        parsed = JSON.parse(value);\n      } catch (error) {\n        console.error(\"Error parsing JSON:\", error);\n        return defaultValue;\n      }\n      return parsed;\n    },\n    [options, initialValue]\n  );\n  const readValue = useCallback(() => {\n    const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n    if (IS_SERVER) {\n      return initialValueToUse;\n    }\n    try {\n      const raw = window.localStorage.getItem(key);\n      return raw ? deserializer(raw) : initialValueToUse;\n    } catch (error) {\n      console.warn(`Error reading localStorage key \\u201C${key}\\u201D:`, error);\n      return initialValueToUse;\n    }\n  }, [initialValue, key, deserializer]);\n  const [storedValue, setStoredValue] = useState(() => {\n    if (initializeWithValue) {\n      return readValue();\n    }\n    return initialValue instanceof Function ? initialValue() : initialValue;\n  });\n  const setValue = useEventCallback((value) => {\n    if (IS_SERVER) {\n      console.warn(\n        `Tried setting localStorage key \\u201C${key}\\u201D even though environment is not a client`\n      );\n    }\n    try {\n      const newValue = value instanceof Function ? value(readValue()) : value;\n      window.localStorage.setItem(key, serializer(newValue));\n      setStoredValue(newValue);\n      window.dispatchEvent(new StorageEvent(\"local-storage\", { key }));\n    } catch (error) {\n      console.warn(`Error setting localStorage key \\u201C${key}\\u201D:`, error);\n    }\n  });\n  useEffect(() => {\n    setStoredValue(readValue());\n  }, [key]);\n  const handleStorageChange = useCallback(\n    (event) => {\n      if ((event == null ? void 0 : event.key) && event.key !== key) {\n        return;\n      }\n      setStoredValue(readValue());\n    },\n    [key, readValue]\n  );\n  useEventListener(\"storage\", handleStorageChange);\n  useEventListener(\"local-storage\", handleStorageChange);\n  return [storedValue, setValue];\n}\nvar IS_SERVER2 = typeof window === \"undefined\";\nfunction useMediaQuery(query, options) {\n  const defaultValue = typeof options === \"boolean\" ? options : (options == null ? void 0 : options.defaultValue) ?? false;\n  const initializeWithValue = typeof options === \"boolean\" ? void 0 : (options == null ? void 0 : options.initializeWithValue) ?? void 0;\n  const getMatches = (query2) => {\n    if (IS_SERVER2) {\n      return defaultValue;\n    }\n    return window.matchMedia(query2).matches;\n  };\n  const [matches, setMatches] = useState(() => {\n    if (initializeWithValue) {\n      return getMatches(query);\n    }\n    return defaultValue;\n  });\n  function handleChange() {\n    setMatches(getMatches(query));\n  }\n  useIsomorphicLayoutEffect(() => {\n    const matchMedia = window.matchMedia(query);\n    handleChange();\n    if (matchMedia.addListener) {\n      matchMedia.addListener(handleChange);\n    } else {\n      matchMedia.addEventListener(\"change\", handleChange);\n    }\n    return () => {\n      if (matchMedia.removeListener) {\n        matchMedia.removeListener(handleChange);\n      } else {\n        matchMedia.removeEventListener(\"change\", handleChange);\n      }\n    };\n  }, [query]);\n  return matches;\n}\n\n// src/useDarkMode/useDarkMode.ts\nvar COLOR_SCHEME_QUERY = \"(prefers-color-scheme: dark)\";\nvar LOCAL_STORAGE_KEY = \"usehooks-ts-dark-mode\";\nfunction useDarkMode(options, localStorageKeyProps = LOCAL_STORAGE_KEY) {\n  const counter = useRef(0);\n  counter.current++;\n  const defaultValue = typeof options === \"boolean\" ? options : options == null ? void 0 : options.defaultValue;\n  const localStorageKey = typeof options === \"boolean\" ? localStorageKeyProps ?? LOCAL_STORAGE_KEY : (options == null ? void 0 : options.localStorageKey) ?? LOCAL_STORAGE_KEY;\n  const initializeWithValue = typeof options === \"boolean\" ? void 0 : (options == null ? void 0 : options.initializeWithValue) ?? void 0;\n  const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY, {\n    initializeWithValue,\n    defaultValue\n  });\n  const [isDarkMode, setDarkMode] = useLocalStorage(\n    localStorageKey,\n    defaultValue ?? isDarkOS ?? false,\n    { initializeWithValue }\n  );\n  useIsomorphicLayoutEffect(() => {\n    if (isDarkOS !== isDarkMode) {\n      setDarkMode(isDarkOS);\n    }\n  }, [isDarkOS]);\n  return {\n    isDarkMode,\n    toggle: () => {\n      setDarkMode((prev) => !prev);\n    },\n    enable: () => {\n      setDarkMode(true);\n    },\n    disable: () => {\n      setDarkMode(false);\n    },\n    set: (value) => {\n      setDarkMode(value);\n    }\n  };\n}\nfunction useDebounce(value, delay) {\n  const [debouncedValue, setDebouncedValue] = useState(value);\n  useEffect(() => {\n    const timer = setTimeout(() => {\n      setDebouncedValue(value);\n    }, delay ?? 500);\n    return () => {\n      clearTimeout(timer);\n    };\n  }, [value, delay]);\n  return debouncedValue;\n}\nfunction useUnmount(func) {\n  const funcRef = useRef(func);\n  funcRef.current = func;\n  useEffect(\n    () => () => {\n      funcRef.current();\n    },\n    []\n  );\n}\n\n// src/useDebounceCallback/useDebounceCallback.ts\nfunction useDebounceCallback(func, delay = 500, options) {\n  const debouncedFunc = useRef();\n  useUnmount(() => {\n    if (debouncedFunc.current) {\n      debouncedFunc.current.cancel();\n    }\n  });\n  const debounced = useMemo(() => {\n    const debouncedFuncInstance = debounce(func, delay, options);\n    const wrappedFunc = (...args) => {\n      return debouncedFuncInstance(...args);\n    };\n    wrappedFunc.cancel = () => {\n      debouncedFuncInstance.cancel();\n    };\n    wrappedFunc.isPending = () => {\n      return !!debouncedFunc.current;\n    };\n    wrappedFunc.flush = () => {\n      return debouncedFuncInstance.flush();\n    };\n    return wrappedFunc;\n  }, [func, delay, options]);\n  useEffect(() => {\n    debouncedFunc.current = debounce(func, delay, options);\n  }, [func, delay, options]);\n  return debounced;\n}\nfunction useDebounceValue(initialValue, delay, options) {\n  const eq = (options == null ? void 0 : options.equalityFn) ?? ((left, right) => left === right);\n  const unwrappedInitialValue = initialValue instanceof Function ? initialValue() : initialValue;\n  const [debouncedValue, setDebouncedValue] = useState(unwrappedInitialValue);\n  const previousValueRef = useRef(unwrappedInitialValue);\n  const updateDebouncedValue = useDebounceCallback(\n    setDebouncedValue,\n    delay,\n    options\n  );\n  if (!eq(previousValueRef.current, unwrappedInitialValue)) {\n    updateDebouncedValue(unwrappedInitialValue);\n    previousValueRef.current = unwrappedInitialValue;\n  }\n  return [debouncedValue, updateDebouncedValue];\n}\nfunction useDocumentTitle(title, options = {}) {\n  const { preserveTitleOnUnmount = true } = options;\n  const defaultTitle = useRef(null);\n  useIsomorphicLayoutEffect(() => {\n    defaultTitle.current = window.document.title;\n  }, []);\n  useIsomorphicLayoutEffect(() => {\n    window.document.title = title;\n  }, [title]);\n  useUnmount(() => {\n    if (!preserveTitleOnUnmount && defaultTitle.current) {\n      window.document.title = defaultTitle.current;\n    }\n  });\n}\nfunction useEffectOnce(effect) {\n  useEffect(effect, []);\n}\nfunction useElementSize(options = {}) {\n  const { initializeWithValue = true } = options;\n  const [ref, setRef] = useState(null);\n  const readValue = useCallback(() => {\n    return {\n      width: (ref == null ? void 0 : ref.offsetWidth) ?? void 0,\n      height: (ref == null ? void 0 : ref.offsetHeight) ?? void 0\n    };\n  }, [ref == null ? void 0 : ref.offsetHeight, ref == null ? void 0 : ref.offsetWidth]);\n  const [size, setSize] = useState(() => {\n    if (initializeWithValue) {\n      return readValue();\n    }\n    return { width: void 0, height: void 0 };\n  });\n  const handleSize = useCallback(() => {\n    setSize(readValue());\n  }, [ref == null ? void 0 : ref.offsetHeight, ref == null ? void 0 : ref.offsetWidth]);\n  useEventListener(\"resize\", handleSize);\n  useIsomorphicLayoutEffect(() => {\n    handleSize();\n  }, [ref == null ? void 0 : ref.offsetHeight, ref == null ? void 0 : ref.offsetWidth]);\n  const result = [setRef, size];\n  result.ref = result[0];\n  result.width = size.width;\n  result.height = size.height;\n  return result;\n}\nfunction useFetch(url, options) {\n  const cache = useRef({});\n  const cancelRequest = useRef(false);\n  const initialState = {\n    error: void 0,\n    data: void 0\n  };\n  const fetchReducer = (state2, action) => {\n    switch (action.type) {\n      case \"loading\":\n        return { ...initialState };\n      case \"fetched\":\n        return { ...initialState, data: action.payload };\n      case \"error\":\n        return { ...initialState, error: action.payload };\n      default:\n        return state2;\n    }\n  };\n  const [state, dispatch] = useReducer(fetchReducer, initialState);\n  useEffect(() => {\n    if (!url)\n      return;\n    cancelRequest.current = false;\n    const fetchData = async () => {\n      dispatch({ type: \"loading\" });\n      const currentCache = cache.current[url];\n      if (currentCache) {\n        dispatch({ type: \"fetched\", payload: currentCache });\n        return;\n      }\n      try {\n        const response = await fetch(url, options);\n        if (!response.ok) {\n          throw new Error(response.statusText);\n        }\n        const data = await response.json();\n        cache.current[url] = data;\n        if (cancelRequest.current)\n          return;\n        dispatch({ type: \"fetched\", payload: data });\n      } catch (error) {\n        if (cancelRequest.current)\n          return;\n        dispatch({ type: \"error\", payload: error });\n      }\n    };\n    void fetchData();\n    return () => {\n      cancelRequest.current = true;\n    };\n  }, [url]);\n  return state;\n}\nfunction useHover(elementRef) {\n  const [value, setValue] = useState(false);\n  const handleMouseEnter = () => {\n    setValue(true);\n  };\n  const handleMouseLeave = () => {\n    setValue(false);\n  };\n  useEventListener(\"mouseenter\", handleMouseEnter, elementRef);\n  useEventListener(\"mouseleave\", handleMouseLeave, elementRef);\n  return value;\n}\nfunction useImageOnLoad() {\n  const [isLoaded, setIsLoaded] = useState(false);\n  const handleImageOnLoad = () => {\n    setIsLoaded(true);\n  };\n  const css = {\n    // Thumbnail style.\n    thumbnail: {\n      visibility: isLoaded ? \"hidden\" : \"visible\",\n      filter: \"blur(8px)\",\n      transition: \"visibility 0ms ease-out 500ms\"\n    },\n    // Full image style.\n    fullSize: {\n      opacity: isLoaded ? 1 : 0,\n      transition: \"opacity 500ms ease-in 0ms\"\n    }\n  };\n  return { handleImageOnLoad, css };\n}\nfunction useIntersectionObserver(optionsOrLegacyRef, legacyOptions) {\n  var _a;\n  const isLegacySignature = \"current\" in optionsOrLegacyRef;\n  const options = isLegacySignature ? legacyOptions : optionsOrLegacyRef;\n  const {\n    threshold = 0,\n    root = null,\n    rootMargin = \"0%\",\n    freezeOnceVisible = false,\n    initialIsIntersecting = false\n  } = options ?? {};\n  const [newRef, setNewRef] = useState(null);\n  const ref = isLegacySignature ? optionsOrLegacyRef.current : newRef;\n  const [state, setState] = useState(() => ({\n    isIntersecting: initialIsIntersecting,\n    entry: void 0\n  }));\n  const callbackRef = useRef();\n  callbackRef.current = options == null ? void 0 : options.onChange;\n  const frozen = ((_a = state.entry) == null ? void 0 : _a.isIntersecting) && freezeOnceVisible;\n  useEffect(() => {\n    if (!ref)\n      return;\n    if (!(\"IntersectionObserver\" in window))\n      return;\n    if (frozen)\n      return;\n    let unobserve;\n    const observer = new IntersectionObserver(\n      (entries) => {\n        const thresholds = Array.isArray(observer.thresholds) ? observer.thresholds : [observer.thresholds];\n        entries.forEach((entry) => {\n          const isIntersecting = entry.isIntersecting && thresholds.some((threshold2) => entry.intersectionRatio >= threshold2);\n          setState({ isIntersecting, entry });\n          if (callbackRef.current) {\n            callbackRef.current(isIntersecting, entry);\n          }\n          if (isIntersecting && freezeOnceVisible && unobserve) {\n            unobserve();\n            unobserve = void 0;\n          }\n        });\n      },\n      { threshold, root, rootMargin }\n    );\n    observer.observe(ref);\n    return () => {\n      observer.disconnect();\n    };\n  }, [\n    ref,\n    // eslint-disable-next-line react-hooks/exhaustive-deps\n    JSON.stringify(threshold),\n    root,\n    rootMargin,\n    frozen,\n    freezeOnceVisible\n  ]);\n  const prevRef = useRef(null);\n  useEffect(() => {\n    var _a2;\n    if (!ref && ((_a2 = state.entry) == null ? void 0 : _a2.target) && !freezeOnceVisible && !frozen && prevRef.current !== state.entry.target) {\n      prevRef.current = state.entry.target;\n      setState({ isIntersecting: initialIsIntersecting, entry: void 0 });\n    }\n  }, [ref, state.entry, freezeOnceVisible, frozen, initialIsIntersecting]);\n  if (isLegacySignature) {\n    return state.entry;\n  }\n  const result = [\n    setNewRef,\n    !!state.isIntersecting,\n    state.entry\n  ];\n  result.ref = result[0];\n  result.isIntersecting = result[1];\n  result.entry = result[2];\n  return result;\n}\nfunction useIsClient() {\n  const [isClient, setClient] = useState(false);\n  useEffect(() => {\n    setClient(true);\n  }, []);\n  return isClient;\n}\nfunction useIsFirstRender() {\n  const isFirst = useRef(true);\n  if (isFirst.current) {\n    isFirst.current = false;\n    return true;\n  }\n  return isFirst.current;\n}\nfunction useIsMounted() {\n  const isMounted = useRef(false);\n  useEffect(() => {\n    isMounted.current = true;\n    return () => {\n      isMounted.current = false;\n    };\n  }, []);\n  return useCallback(() => isMounted.current, []);\n}\nfunction useLockedBody(initialLocked = false, rootId = \"___gatsby\") {\n  const [locked, setLocked] = useState(initialLocked);\n  useIsomorphicLayoutEffect(() => {\n    if (!locked) {\n      return;\n    }\n    const originalOverflow = document.body.style.overflow;\n    const originalPaddingRight = document.body.style.paddingRight;\n    document.body.style.overflow = \"hidden\";\n    const root = document.getElementById(rootId);\n    const scrollBarWidth = root ? root.offsetWidth - root.scrollWidth : 0;\n    if (scrollBarWidth) {\n      document.body.style.paddingRight = `${scrollBarWidth}px`;\n    }\n    return () => {\n      document.body.style.overflow = originalOverflow;\n      if (scrollBarWidth) {\n        document.body.style.paddingRight = originalPaddingRight;\n      }\n    };\n  }, [locked]);\n  useEffect(() => {\n    if (locked !== initialLocked) {\n      setLocked(initialLocked);\n    }\n  }, [initialLocked]);\n  return [locked, setLocked];\n}\nfunction useMap(initialState = /* @__PURE__ */ new Map()) {\n  const [map, setMap] = useState(new Map(initialState));\n  const actions = {\n    set: useCallback((key, value) => {\n      setMap((prev) => {\n        const copy = new Map(prev);\n        copy.set(key, value);\n        return copy;\n      });\n    }, []),\n    setAll: useCallback((entries) => {\n      setMap(() => new Map(entries));\n    }, []),\n    remove: useCallback((key) => {\n      setMap((prev) => {\n        const copy = new Map(prev);\n        copy.delete(key);\n        return copy;\n      });\n    }, []),\n    reset: useCallback(() => {\n      setMap(() => /* @__PURE__ */ new Map());\n    }, [])\n  };\n  return [map, actions];\n}\n\n// src/useOnClickOutside/useOnClickOutside.ts\nfunction useOnClickOutside(ref, handler, eventType = \"mousedown\") {\n  useEventListener(eventType, (event) => {\n    const target = event.target;\n    if (!target || !target.isConnected) {\n      return;\n    }\n    const isOutside = Array.isArray(ref) ? ref.every((r) => r.current && !r.current.contains(target)) : ref.current && !ref.current.contains(target);\n    if (isOutside) {\n      handler(event);\n    }\n  });\n}\nvar IS_SERVER3 = typeof window === \"undefined\";\nfunction useReadLocalStorage(key, options = {}) {\n  let { initializeWithValue = true } = options;\n  if (IS_SERVER3) {\n    initializeWithValue = false;\n  }\n  const deserializer = useCallback(\n    (value) => {\n      if (options.deserializer) {\n        return options.deserializer(value);\n      }\n      if (value === \"undefined\") {\n        return void 0;\n      }\n      let parsed;\n      try {\n        parsed = JSON.parse(value);\n      } catch (error) {\n        console.error(\"Error parsing JSON:\", error);\n        return null;\n      }\n      return parsed;\n    },\n    [options]\n  );\n  const readValue = useCallback(() => {\n    if (IS_SERVER3) {\n      return null;\n    }\n    try {\n      const raw = window.localStorage.getItem(key);\n      return raw ? deserializer(raw) : null;\n    } catch (error) {\n      console.warn(`Error reading localStorage key \\u201C${key}\\u201D:`, error);\n      return null;\n    }\n  }, [key, deserializer]);\n  const [storedValue, setStoredValue] = useState(() => {\n    if (initializeWithValue) {\n      return readValue();\n    }\n    return void 0;\n  });\n  useEffect(() => {\n    setStoredValue(readValue());\n  }, [key]);\n  const handleStorageChange = useCallback(\n    (event) => {\n      if ((event == null ? void 0 : event.key) && event.key !== key) {\n        return;\n      }\n      setStoredValue(readValue());\n    },\n    [key, readValue]\n  );\n  useEventListener(\"storage\", handleStorageChange);\n  useEventListener(\"local-storage\", handleStorageChange);\n  return storedValue;\n}\nvar initialSize = {\n  width: void 0,\n  height: void 0\n};\nfunction useResizeObserver(options) {\n  const { ref, box = \"content-box\" } = options;\n  const [{ width, height }, setSize] = useState(initialSize);\n  const isMounted = useIsMounted();\n  const previousSize = useRef({ ...initialSize });\n  const onResize = useRef(void 0);\n  onResize.current = options == null ? void 0 : options.onResize;\n  useEffect(() => {\n    if (!(ref == null ? void 0 : ref.current))\n      return;\n    if (typeof window === \"undefined\" || !(\"ResizeObserver\" in window))\n      return;\n    const observer = new ResizeObserver(([entry]) => {\n      const boxProp = box === \"border-box\" ? \"borderBoxSize\" : box === \"device-pixel-content-box\" ? \"devicePixelContentBoxSize\" : \"contentBoxSize\";\n      const newWidth = extractSize(entry, boxProp, \"inlineSize\");\n      const newHeight = extractSize(entry, boxProp, \"blockSize\");\n      const hasChanged = previousSize.current.width !== newWidth || previousSize.current.height !== newHeight;\n      if (hasChanged) {\n        const newSize = { width: newWidth, height: newHeight };\n        previousSize.current.width = newWidth;\n        previousSize.current.height = newHeight;\n        if (onResize == null ? void 0 : onResize.current) {\n          onResize.current(newSize);\n        } else {\n          if (isMounted()) {\n            setSize(newSize);\n          }\n        }\n      }\n    });\n    observer.observe(ref.current, { box });\n    return () => {\n      observer.disconnect();\n    };\n  }, [box, ref, isMounted]);\n  return { width, height };\n}\nfunction extractSize(entry, box, sizeType) {\n  if (!entry[box]) {\n    if (box === \"contentBoxSize\") {\n      return entry.contentRect[sizeType === \"inlineSize\" ? \"width\" : \"height\"];\n    }\n    return void 0;\n  }\n  return Array.isArray(entry[box]) ? entry[box][0][sizeType] : (\n    // @ts-ignore Support Firefox's non-standard behavior\n    entry[box][sizeType]\n  );\n}\nvar IS_SERVER4 = typeof window === \"undefined\";\nfunction useScreen(options = {}) {\n  let { initializeWithValue = true } = options;\n  if (IS_SERVER4) {\n    initializeWithValue = false;\n  }\n  const readScreen = () => {\n    if (IS_SERVER4) {\n      return void 0;\n    }\n    return window.screen;\n  };\n  const [screen, setScreen] = useState(() => {\n    if (initializeWithValue) {\n      return readScreen();\n    }\n    return void 0;\n  });\n  const debouncedSetScreen = useDebounceCallback(\n    setScreen,\n    options == null ? void 0 : options.debounceDelay\n  );\n  function handleSize() {\n    const newScreen = readScreen();\n    const setSize = (options == null ? void 0 : options.debounceDelay) ? debouncedSetScreen : setScreen;\n    if (newScreen) {\n      const {\n        width,\n        height,\n        availHeight,\n        availWidth,\n        colorDepth,\n        orientation,\n        pixelDepth\n      } = newScreen;\n      setSize({\n        width,\n        height,\n        availHeight,\n        availWidth,\n        colorDepth,\n        orientation,\n        pixelDepth\n      });\n    }\n  }\n  useEventListener(\"resize\", handleSize);\n  useIsomorphicLayoutEffect(() => {\n    handleSize();\n  }, []);\n  return screen;\n}\nvar cachedScriptStatuses = /* @__PURE__ */ new Map();\nfunction getScriptNode(src) {\n  const node = document.querySelector(\n    `script[src=\"${src}\"]`\n  );\n  const status = node == null ? void 0 : node.getAttribute(\"data-status\");\n  return {\n    node,\n    status\n  };\n}\nfunction useScript(src, options) {\n  const [status, setStatus] = useState(() => {\n    if (!src || (options == null ? void 0 : options.shouldPreventLoad)) {\n      return \"idle\";\n    }\n    if (typeof window === \"undefined\") {\n      return \"loading\";\n    }\n    return cachedScriptStatuses.get(src) ?? \"loading\";\n  });\n  useEffect(() => {\n    if (!src || (options == null ? void 0 : options.shouldPreventLoad)) {\n      return;\n    }\n    const cachedScriptStatus = cachedScriptStatuses.get(src);\n    if (cachedScriptStatus === \"ready\" || cachedScriptStatus === \"error\") {\n      setStatus(cachedScriptStatus);\n      return;\n    }\n    const script = getScriptNode(src);\n    let scriptNode = script.node;\n    if (!scriptNode) {\n      scriptNode = document.createElement(\"script\");\n      scriptNode.src = src;\n      scriptNode.async = true;\n      if (options == null ? void 0 : options.id) {\n        scriptNode.id = options.id;\n      }\n      scriptNode.setAttribute(\"data-status\", \"loading\");\n      document.body.appendChild(scriptNode);\n      const setAttributeFromEvent = (event) => {\n        const scriptStatus = event.type === \"load\" ? \"ready\" : \"error\";\n        scriptNode == null ? void 0 : scriptNode.setAttribute(\"data-status\", scriptStatus);\n      };\n      scriptNode.addEventListener(\"load\", setAttributeFromEvent);\n      scriptNode.addEventListener(\"error\", setAttributeFromEvent);\n    } else {\n      setStatus(script.status ?? cachedScriptStatus ?? \"loading\");\n    }\n    const setStateFromEvent = (event) => {\n      const newStatus = event.type === \"load\" ? \"ready\" : \"error\";\n      setStatus(newStatus);\n      cachedScriptStatuses.set(src, newStatus);\n    };\n    scriptNode.addEventListener(\"load\", setStateFromEvent);\n    scriptNode.addEventListener(\"error\", setStateFromEvent);\n    return () => {\n      if (scriptNode) {\n        scriptNode.removeEventListener(\"load\", setStateFromEvent);\n        scriptNode.removeEventListener(\"error\", setStateFromEvent);\n      }\n      if (scriptNode && (options == null ? void 0 : options.removeOnUnmount)) {\n        scriptNode.remove();\n        cachedScriptStatuses.delete(src);\n      }\n    };\n  }, [src, options == null ? void 0 : options.shouldPreventLoad, options == null ? void 0 : options.removeOnUnmount, options == null ? void 0 : options.id]);\n  return status;\n}\nvar IS_SERVER5 = typeof window === \"undefined\";\nfunction useScrollLock(options = {}) {\n  const { autoLock = true, lockTarget, widthReflow = true } = options;\n  const [isLocked, setIsLocked] = useState(false);\n  const target = useRef(null);\n  const originalStyle = useRef(null);\n  const lock = () => {\n    if (target.current) {\n      const { overflow, paddingRight } = target.current.style;\n      originalStyle.current = { overflow, paddingRight };\n      if (widthReflow) {\n        const offsetWidth = target.current === document.body ? window.innerWidth : target.current.offsetWidth;\n        const currentPaddingRight = parseInt(window.getComputedStyle(target.current).paddingRight, 10) || 0;\n        const scrollbarWidth = offsetWidth - target.current.scrollWidth;\n        target.current.style.paddingRight = `${scrollbarWidth + currentPaddingRight}px`;\n      }\n      target.current.style.overflow = \"hidden\";\n      setIsLocked(true);\n    }\n  };\n  const unlock = () => {\n    if (target.current && originalStyle.current) {\n      target.current.style.overflow = originalStyle.current.overflow;\n      if (widthReflow) {\n        target.current.style.paddingRight = originalStyle.current.paddingRight;\n      }\n    }\n    setIsLocked(false);\n  };\n  useIsomorphicLayoutEffect(() => {\n    if (IS_SERVER5)\n      return;\n    if (lockTarget) {\n      target.current = typeof lockTarget === \"string\" ? document.querySelector(lockTarget) : lockTarget;\n    }\n    if (!target.current) {\n      target.current = document.body;\n    }\n    if (autoLock) {\n      lock();\n    }\n    return () => {\n      unlock();\n    };\n  }, [autoLock, lockTarget, widthReflow]);\n  return { isLocked, lock, unlock };\n}\nvar IS_SERVER6 = typeof window === \"undefined\";\nfunction useSessionStorage(key, initialValue, options = {}) {\n  const { initializeWithValue = true } = options;\n  const serializer = useCallback(\n    (value) => {\n      if (options.serializer) {\n        return options.serializer(value);\n      }\n      return JSON.stringify(value);\n    },\n    [options]\n  );\n  const deserializer = useCallback(\n    (value) => {\n      if (options.deserializer) {\n        return options.deserializer(value);\n      }\n      if (value === \"undefined\") {\n        return void 0;\n      }\n      const defaultValue = initialValue instanceof Function ? initialValue() : initialValue;\n      let parsed;\n      try {\n        parsed = JSON.parse(value);\n      } catch (error) {\n        console.error(\"Error parsing JSON:\", error);\n        return defaultValue;\n      }\n      return parsed;\n    },\n    [options, initialValue]\n  );\n  const readValue = useCallback(() => {\n    const initialValueToUse = initialValue instanceof Function ? initialValue() : initialValue;\n    if (IS_SERVER6) {\n      return initialValueToUse;\n    }\n    try {\n      const raw = window.sessionStorage.getItem(key);\n      return raw ? deserializer(raw) : initialValueToUse;\n    } catch (error) {\n      console.warn(`Error reading sessionStorage key \\u201C${key}\\u201D:`, error);\n      return initialValueToUse;\n    }\n  }, [initialValue, key, deserializer]);\n  const [storedValue, setStoredValue] = useState(() => {\n    if (initializeWithValue) {\n      return readValue();\n    }\n    return initialValue instanceof Function ? initialValue() : initialValue;\n  });\n  const setValue = useEventCallback((value) => {\n    if (IS_SERVER6) {\n      console.warn(\n        `Tried setting sessionStorage key \\u201C${key}\\u201D even though environment is not a client`\n      );\n    }\n    try {\n      const newValue = value instanceof Function ? value(readValue()) : value;\n      window.sessionStorage.setItem(key, serializer(newValue));\n      setStoredValue(newValue);\n      window.dispatchEvent(new StorageEvent(\"session-storage\", { key }));\n    } catch (error) {\n      console.warn(`Error setting sessionStorage key \\u201C${key}\\u201D:`, error);\n    }\n  });\n  useEffect(() => {\n    setStoredValue(readValue());\n  }, [key]);\n  const handleStorageChange = useCallback(\n    (event) => {\n      if ((event == null ? void 0 : event.key) && event.key !== key) {\n        return;\n      }\n      setStoredValue(readValue());\n    },\n    [key, readValue]\n  );\n  useEventListener(\"storage\", handleStorageChange);\n  useEventListener(\"session-storage\", handleStorageChange);\n  return [storedValue, setValue];\n}\n\n// src/useSsr/useSsr.ts\nfunction useSsr() {\n  var _a;\n  const isDOM = (\n    // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n    typeof window !== \"undefined\" && !!((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement)\n  );\n  return {\n    isBrowser: isDOM,\n    isServer: !isDOM\n  };\n}\nfunction useStep(maxStep) {\n  const [currentStep, setCurrentStep] = useState(1);\n  const canGoToNextStep = currentStep + 1 <= maxStep;\n  const canGoToPrevStep = currentStep - 1 > 0;\n  const setStep = useCallback(\n    (step) => {\n      const newStep = step instanceof Function ? step(currentStep) : step;\n      if (newStep >= 1 && newStep <= maxStep) {\n        setCurrentStep(newStep);\n        return;\n      }\n      throw new Error(\"Step not valid\");\n    },\n    [maxStep, currentStep]\n  );\n  const goToNextStep = useCallback(() => {\n    if (canGoToNextStep) {\n      setCurrentStep((step) => step + 1);\n    }\n  }, [canGoToNextStep]);\n  const goToPrevStep = useCallback(() => {\n    if (canGoToPrevStep) {\n      setCurrentStep((step) => step - 1);\n    }\n  }, [canGoToPrevStep]);\n  const reset = useCallback(() => {\n    setCurrentStep(1);\n  }, []);\n  return [\n    currentStep,\n    {\n      goToNextStep,\n      goToPrevStep,\n      canGoToNextStep,\n      canGoToPrevStep,\n      setStep,\n      reset\n    }\n  ];\n}\n\n// src/useTernaryDarkMode/useTernaryDarkMode.ts\nvar COLOR_SCHEME_QUERY2 = \"(prefers-color-scheme: dark)\";\nvar LOCAL_STORAGE_KEY2 = \"usehooks-ts-ternary-dark-mode\";\nfunction useTernaryDarkMode(options) {\n  const defaultValue = typeof options === \"string\" ? \"system\" : (options == null ? void 0 : options.defaultValue) ?? \"system\";\n  const localStorageKey = typeof options === \"string\" ? options : (options == null ? void 0 : options.localStorageKey) ?? LOCAL_STORAGE_KEY2;\n  const initializeWithValue = typeof options === \"string\" ? void 0 : (options == null ? void 0 : options.initializeWithValue) ?? void 0;\n  const isDarkOS = useMediaQuery(COLOR_SCHEME_QUERY2, { initializeWithValue });\n  const [mode, setMode] = useLocalStorage(localStorageKey, defaultValue, {\n    initializeWithValue\n  });\n  const isDarkMode = mode === \"dark\" || mode === \"system\" && isDarkOS;\n  const toggleTernaryDarkMode = () => {\n    const modes = [\"light\", \"system\", \"dark\"];\n    setMode((prevMode) => {\n      const nextIndex = (modes.indexOf(prevMode) + 1) % modes.length;\n      return modes[nextIndex];\n    });\n  };\n  return {\n    isDarkMode,\n    ternaryDarkMode: mode,\n    setTernaryDarkMode: setMode,\n    toggleTernaryDarkMode\n  };\n}\nfunction useTimeout(callback, delay) {\n  const savedCallback = useRef(callback);\n  useIsomorphicLayoutEffect(() => {\n    savedCallback.current = callback;\n  }, [callback]);\n  useEffect(() => {\n    if (!delay && delay !== 0) {\n      return;\n    }\n    const id = setTimeout(() => {\n      savedCallback.current();\n    }, delay);\n    return () => {\n      clearTimeout(id);\n    };\n  }, [delay]);\n}\nfunction useToggle(defaultValue) {\n  const [value, setValue] = useState(!!defaultValue);\n  const toggle = useCallback(() => {\n    setValue((x) => !x);\n  }, []);\n  return [value, toggle, setValue];\n}\nfunction useUpdateEffect(effect, deps) {\n  const isFirst = useIsFirstRender();\n  useEffect(() => {\n    if (!isFirst) {\n      return effect();\n    }\n  }, deps);\n}\nvar IS_SERVER7 = typeof window === \"undefined\";\nfunction useWindowSize(options = {}) {\n  let { initializeWithValue = true } = options;\n  if (IS_SERVER7) {\n    initializeWithValue = false;\n  }\n  const [windowSize, setWindowSize] = useState(() => {\n    if (initializeWithValue) {\n      return {\n        width: window.innerWidth,\n        height: window.innerHeight\n      };\n    }\n    return {\n      width: void 0,\n      height: void 0\n    };\n  });\n  const debouncedSetWindowSize = useDebounceCallback(\n    setWindowSize,\n    options == null ? void 0 : options.debounceDelay\n  );\n  function handleSize() {\n    const setSize = (options == null ? void 0 : options.debounceDelay) ? debouncedSetWindowSize : setWindowSize;\n    setSize({\n      width: window.innerWidth,\n      height: window.innerHeight\n    });\n  }\n  useEventListener(\"resize\", handleSize);\n  useIsomorphicLayoutEffect(() => {\n    handleSize();\n  }, []);\n  return windowSize;\n}\n\nexport { useBoolean, useClickAnyWhere, useCopyToClipboard, useCountdown, useCounter, useDarkMode, useDebounce, useDebounceCallback, useDebounceValue, useDocumentTitle, useEffectOnce, useElementSize, useEventCallback, useEventListener, useFetch, useHover, useImageOnLoad, useIntersectionObserver, useInterval, useIsClient, useIsFirstRender, useIsMounted, useIsomorphicLayoutEffect, useLocalStorage, useLockedBody, useMap, useMediaQuery, useOnClickOutside, useReadLocalStorage, useResizeObserver, useScreen, useScript, useScrollLock, useSessionStorage, useSsr, useStep, useTernaryDarkMode, useTimeout, useToggle, useUnmount, useUpdateEffect, useWindowSize };\n","import dayjs from \"dayjs\";\nimport DayJsRelativeTime from \"dayjs/plugin/relativeTime\";\nimport { useState } from \"react\";\nimport { useTimeout } from \"usehooks-ts\";\n\ndayjs.extend(DayJsRelativeTime);\n\nexport default function TimeSince({ date, ...props }: { date: string | number | Date } & React.ComponentProps<\"time\">) {\n  const [value, setValue] = useState(date ? dayjs(date).fromNow() : null);\n\n  useTimeout(() => {\n    if (!date) setValue(null);\n    setValue(dayjs(date).fromNow());\n  }, 5000);\n\n  if (!date) return null;\n\n  return (\n    <time dateTime={date instanceof Date ? date.toISOString() : `${date}`} {...props}>\n      {value}\n    </time>\n  );\n}\n","import type { ReactNode } from \"react\";\nimport React, { useEffect, useReducer } from \"react\";\nimport useSentryStore from \"../store\";\nimport type { SentryEvent } from \"../types\";\n\ninterface SetEventsAction {\n  e: SentryEvent | SentryEvent[];\n  action: string;\n}\n\ninterface SentryEventsContextProps {\n  events: SentryEvent[];\n  setEvents: React.Dispatch<SetEventsAction>;\n}\n\nexport const SentryEventsContext = React.createContext<SentryEventsContextProps>({\n  events: [],\n  setEvents: () => {},\n});\n\nfunction eventReducer(state: SentryEvent[], message: SetEventsAction): SentryEvent[] {\n  if (Array.isArray(message.e)) {\n    if (message.action === \"RESET\") {\n      return message.e;\n    }\n  } else {\n    if (message.action === \"APPEND\") {\n      return [message.e, ...state];\n    }\n  }\n\n  return state;\n}\n\nexport const SentryEventsContextProvider: React.FC<{\n  children: ReactNode;\n}> = ({ children }) => {\n  const getEvents = useSentryStore(state => state.getEvents);\n  const subscribe = useSentryStore(state => state.subscribe);\n  const [events, setEvents] = useReducer(eventReducer, getEvents());\n\n  useEffect(\n    () =>\n      subscribe(\"event\", (e: SentryEvent) => {\n        setEvents({ action: \"APPEND\", e });\n      }) as () => undefined,\n    [subscribe],\n  );\n\n  const contextValue: SentryEventsContextProps = {\n    events,\n    setEvents,\n  };\n\n  return <SentryEventsContext.Provider value={contextValue}>{children}</SentryEventsContext.Provider>;\n};\n","import { useContext } from \"react\";\nimport useSentryStore from \"../store\";\nimport { SentryEventsContext } from \"./sentryEventsContext\";\n\nexport const useSentryEvents = (traceId?: string) => {\n  useContext(SentryEventsContext);\n  const events = traceId\n    ? useSentryStore(state => state.getEventsByTrace)(traceId)\n    : useSentryStore(state => state.getEvents)();\n  \n  return events.sort((a, b) => b.timestamp - a.timestamp);\n};\n","export const truncateId = (eventId = \"\") => eventId.substring(0, 8);\n","import { Link } from \"react-router-dom\";\nimport CardList from \"~/telemetry/components/shared/CardList\";\nimport TimeSince from \"~/telemetry/components/shared/TimeSince\";\nimport { useSentryEvents } from \"../../data/useSentryEvents\";\nimport { isErrorEvent } from \"../../utils/sentry\";\nimport { truncateId } from \"../../utils/text\";\nimport PlatformIcon from \"../shared/PlatformIcon\";\nimport { EventSummary } from \"./Event\";\n\nexport default function EventList({ traceId }: { traceId?: string }) {\n  const events = useSentryEvents(traceId);\n\n  const matchingEvents = events.filter(isErrorEvent);\n\n  return matchingEvents.length !== 0 ? (\n    <CardList>\n      {matchingEvents.map(e => {\n        return (\n          <Link\n            className=\"hover:bg-primary-900 flex cursor-pointer items-center gap-x-4 px-6 py-2\"\n            key={e.event_id}\n            to={`/telemetry/errors/${e.event_id}/details`}\n          >\n            <PlatformIcon event={e} className=\"text-primary-300 rounded-md\" />\n            <div className=\"text-primary-300 flex w-48 flex-col truncate font-mono text-sm\">\n              <div className=\"flex items-center gap-x-2\">\n                <div>{truncateId(e.event_id)}</div>\n              </div>\n              <span />\n              <TimeSince date={e.timestamp} />\n            </div>\n            <div className=\"flex-1 overflow-hidden\">\n              <EventSummary event={e} />\n            </div>\n          </Link>\n        );\n      })}\n    </CardList>\n  ) : (\n    <div className=\"text-primary-300 p-6\">Looks like there's no events recorded matching this query. 🤔</div>\n  );\n}\n","import EventDetails from \"../components/events/EventDetails\";\nimport EventList from \"../components/events/EventList\";\n\nimport { SentryEventsContextProvider } from \"../data/sentryEventsContext\";\n\nimport { Route, Routes } from \"react-router-dom\";\n\nexport default function ErrorsTab() {\n  return (\n    <SentryEventsContextProvider>\n      <Routes>\n        <Route path=\"/\" element={<EventList />} />\n        <Route path=\"/:eventId/*\" element={<EventDetails />} />\n      </Routes>\n    </SentryEventsContextProvider>\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cpath%20d='M17,14%20C17.8092996,14%2018.2680938,14.9010044%2017.836059,15.5493995%20L17.7682213,15.6401844%20L12.7682213,21.6401844%20C12.3950792,22.0879549%2011.7283228,22.1178063%2011.3160321,21.7297385%20L11.2317787,21.6401844%20L6.23177872,15.6401844%20C5.71367776,15.0184632%206.11213562,14.0891988%206.88682851,14.0060047%20L7,14%20L17,14%20Z%20M11.2317787,2.3598156%20C11.6049208,1.91204508%2012.2716772,1.88219371%2012.6839679,2.2702615%20L12.7682213,2.3598156%20L17.7682213,8.3598156%20C18.2863222,8.98153675%2017.8878644,9.91080124%2017.1131715,9.99399528%20L17,10%20L7,10%20C6.19070043,10%205.73190618,9.09899556%206.16394105,8.45060047%20L6.23177872,8.3598156%20L11.2317787,2.3598156%20Z'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20fill='currentColor'%20width='24'%20height='24'%20viewBox='-96%200%20512%20512'%3e%3cpath%20xmlns='http://www.w3.org/2000/svg'%20d='M41%20288h238c21.4%200%2032.1%2025.9%2017%2041L177%20448c-9.4%209.4-24.6%209.4-33.9%200L24%20329c-15.1-15.1-4.4-41%2017-41z'/%3e%3c/svg%3e\"","import type { NanovisTreeNode } from \"./types\";\n\nexport const DB_SPAN_REGEX = /^db(?:\\.[A-Za-z]+)*$/;\n\nexport const AGGREGATE_CALL_PROFILES_SORT_KEYS = {\n  functionName: \"FUNCTION_NAME\",\n  totalTime: \"TOTAL_TIME\",\n  samples: \"SAMPLES\",\n  traces: \"TRACES\",\n};\n\nexport const AGGREGATE_PROFILES_HEADERS = [\n  {\n    id: \"name\",\n    title: \"Function Name\",\n    sortKey: AGGREGATE_CALL_PROFILES_SORT_KEYS.functionName,\n    primary: true,\n  },\n  {\n    id: \"totalTime\",\n    title: \"Total Time\",\n    sortKey: AGGREGATE_CALL_PROFILES_SORT_KEYS.totalTime,\n  },\n  {\n    id: \"samples\",\n    title: \"Samples\",\n    sortKey: AGGREGATE_CALL_PROFILES_SORT_KEYS.samples,\n  },\n  {\n    id: \"traces\",\n    title: \"Traces\",\n    sortKey: AGGREGATE_CALL_PROFILES_SORT_KEYS.traces,\n  },\n];\n\nexport const AI_TRACES_SORT_KEYS = {\n  traceId: \"TRACE_ID\",\n  name: \"NAME\",\n  operation: \"OPERATION\",\n  timestamp: \"TIMESTAMP\",\n  duration: \"DURATION\",\n  tokens: \"TOKENS\",\n};\n\nexport const AI_TRACES_HEADERS = [\n  {\n    id: \"traceId\",\n    title: \"Trace ID\",\n    sortKey: AI_TRACES_SORT_KEYS.traceId,\n    primary: true,\n  },\n  {\n    id: \"name\",\n    title: \"Name\",\n    sortKey: AI_TRACES_SORT_KEYS.name,\n  },\n  {\n    id: \"operation\",\n    title: \"Operation\",\n    sortKey: AI_TRACES_SORT_KEYS.operation,\n  },\n  {\n    id: \"timestamp\",\n    title: \"Timestamp\",\n    sortKey: AI_TRACES_SORT_KEYS.timestamp,\n  },\n  {\n    id: \"duration\",\n    title: \"Duration\",\n    sortKey: AI_TRACES_SORT_KEYS.duration,\n  },\n  {\n    id: \"tokens\",\n    title: \"Tokens (Prompt/Completion)\",\n    sortKey: AI_TRACES_SORT_KEYS.tokens,\n  },\n];\n\nexport const RESOURCES_SORT_KEYS = {\n  avgDuration: \"AVG_DURATION\",\n  totalTime: \"TOTAL_TIME\",\n  description: \"DESC\",\n  avgEncodedSize: \"AVG_ENCODED_SIZE\",\n};\n\nexport const RESOURCE_HEADERS = [\n  {\n    id: \"description\",\n    title: \"Resource Description\",\n    sortKey: RESOURCES_SORT_KEYS.description,\n    primary: true,\n  },\n  {\n    id: \"avgDuration\",\n    title: \"Avg Duration\",\n    sortKey: RESOURCES_SORT_KEYS.avgDuration,\n  },\n  {\n    id: \"totalTime\",\n    title: \"Total Time\",\n    sortKey: RESOURCES_SORT_KEYS.totalTime,\n  },\n  {\n    id: \"avgEncodedSize\",\n    title: \"Avg Encoded Size\",\n    sortKey: RESOURCES_SORT_KEYS.avgEncodedSize,\n  },\n];\n\nexport const QUERIES_SORT_KEYS = {\n  queryDesc: \"QUERY_DESCRIPTION\",\n  totalTime: \"TOTAL_TIME\",\n  avgDuration: \"AVG_DURATION\",\n};\n\nexport const QUERIES_HEADERS = [\n  {\n    id: \"queryDesc\",\n    title: \"Query Description\",\n    sortKey: QUERIES_SORT_KEYS.queryDesc,\n    primary: true,\n  },\n  {\n    id: \"totalTime\",\n    title: \"Total Time\",\n    sortKey: QUERIES_SORT_KEYS.totalTime,\n  },\n  {\n    id: \"avgDuration\",\n    title: \"Avg Duration\",\n    sortKey: QUERIES_SORT_KEYS.avgDuration,\n  },\n];\n\nexport const TRANSACTIONS_SORT_KEYS = {\n  count: \"count\",\n  lastSeen: \"lastSeen\",\n};\n\nexport const TRANSACTIONS_TABLE_HEADERS = [\n  {\n    id: \"transaction\",\n    title: \"Transaction\",\n    primary: true,\n  },\n  {\n    id: \"lastSeen\",\n    title: \"Last Seen\",\n    sortKey: TRANSACTIONS_SORT_KEYS.lastSeen,\n  },\n  {\n    id: \"count\",\n    title: \"Count\",\n    sortKey: TRANSACTIONS_SORT_KEYS.count,\n  },\n];\n\nexport const TRANSACTION_SUMMARY_SORT_KEYS = {\n  timestamp: \"timestamp\",\n  duration: \"duration\",\n};\n\nexport const TRANSACTION_SUMMARY_TABLE_HEADERS = [\n  {\n    id: \"eventId\",\n    title: \"Event Id\",\n    primary: true,\n  },\n  {\n    id: \"toalDuration\",\n    title: \"Total Duration\",\n    sortKey: TRANSACTION_SUMMARY_SORT_KEYS.duration,\n  },\n  {\n    id: \"timestamp\",\n    title: \"Timestamp\",\n    sortKey: TRANSACTION_SUMMARY_SORT_KEYS.timestamp,\n  },\n  {\n    id: \"traceId\",\n    title: \"Trace Id\",\n  },\n];\nexport const QUERY_SUMMARY_SORT_KEYS = {\n  foundIn: \"FOUND_IN\",\n  spanId: \"SPAN_ID\",\n  totalTime: \"TOTAL_TIME\",\n};\n\nexport const QUERY_SUMMARY_HEADERS = [\n  {\n    id: \"foundIn\",\n    title: \"Found In\",\n    sortKey: QUERY_SUMMARY_SORT_KEYS.foundIn,\n    primary: true,\n  },\n  {\n    id: \"totalTime\",\n    title: \"Total Time\",\n    sortKey: QUERY_SUMMARY_SORT_KEYS.totalTime,\n  },\n  {\n    id: \"spanId\",\n    title: \"Span Id\",\n    sortKey: QUERY_SUMMARY_SORT_KEYS.spanId,\n  },\n];\n\nexport const WEB_VITALS_SORT_KEYS = {\n  pages: \"Pages\",\n  lcp: \"LCP\",\n  fcp: \"FCP\",\n  fid: \"FID\",\n  cls: \"CLS\",\n  ttfb: \"TTFB\",\n  score: \"PERFORMANCE_TOTAL_SCORE\",\n};\n\nexport const WEB_VITALS_HEADERS = [\n  {\n    id: \"pages\",\n    title: \"Pages\",\n    sortKey: WEB_VITALS_SORT_KEYS.pages,\n    primary: true,\n  },\n  {\n    id: \"lcp\",\n    title: \"LCP\",\n    sortKey: WEB_VITALS_SORT_KEYS.lcp,\n  },\n  {\n    id: \"fcp\",\n    title: \"FCP\",\n    sortKey: WEB_VITALS_SORT_KEYS.fcp,\n  },\n  {\n    id: \"fid\",\n    title: \"FID\",\n    sortKey: WEB_VITALS_SORT_KEYS.fid,\n  },\n  {\n    id: \"cls\",\n    title: \"CLS\",\n    sortKey: WEB_VITALS_SORT_KEYS.cls,\n  },\n  {\n    id: \"ttfb\",\n    title: \"TTFB\",\n    sortKey: WEB_VITALS_SORT_KEYS.ttfb,\n  },\n  {\n    id: \"score\",\n    title: \"Perf Score\",\n    sortKey: WEB_VITALS_SORT_KEYS.score,\n  },\n];\n\nexport type WebVitals = \"lcp\" | \"fcp\" | \"cls\" | \"ttfb\" | \"fid\";\n\nexport const PERFORMANCE_SCORE_PROFILES = {\n  profiles: [\n    {\n      name: \"Chrome\",\n      scoreComponents: [\n        { measurement: \"fcp\", weight: 0.15, p10: 900.0, p50: 1600.0, optional: false },\n        { measurement: \"lcp\", weight: 0.3, p10: 1200.0, p50: 2400.0, optional: false },\n        { measurement: \"fid\", weight: 0.3, p10: 100.0, p50: 300.0, optional: true },\n        { measurement: \"cls\", weight: 0.15, p10: 0.1, p50: 0.25, optional: false },\n        { measurement: \"ttfb\", weight: 0.1, p10: 200.0, p50: 400.0, optional: false },\n      ],\n      condition: { op: \"eq\", name: \"event.contexts.browser.name\", value: \"Chrome\" },\n    },\n    // TODO: Currently not getting browser data in events, so made these comments and sticked to chrome always.\n    // {\n    //   \"name\": \"Firefox\",\n    //   \"scoreComponents\": [\n    //     {\"measurement\": \"fcp\", \"weight\": 0.15, \"p10\": 900.0, \"p50\": 1600.0, \"optional\": false},\n    //     {\"measurement\": \"lcp\", \"weight\": 0.0, \"p10\": 1200.0, \"p50\": 2400.0, \"optional\": false},\n    //     {\"measurement\": \"fid\", \"weight\": 0.30, \"p10\": 100.0, \"p50\": 300.0, \"optional\": true},\n    //     {\"measurement\": \"cls\", \"weight\": 0.0, \"p10\": 0.1, \"p50\": 0.25, \"optional\": false},\n    //     {\"measurement\": \"ttfb\", \"weight\": 0.10, \"p10\": 200.0, \"p50\": 400.0, \"optional\": false}\n    //   ],\n    //   \"condition\": {\"op\": \"eq\", \"name\": \"event.contexts.browser.name\", \"value\": \"Firefox\"}\n    // },\n    // {\n    //   \"name\": \"Safari\",\n    //   \"scoreComponents\": [\n    //     {\"measurement\": \"fcp\", \"weight\": 0.15, \"p10\": 900.0, \"p50\": 1600.0, \"optional\": false},\n    //     {\"measurement\": \"lcp\", \"weight\": 0.0, \"p10\": 1200.0, \"p50\": 2400.0, \"optional\": false},\n    //     {\"measurement\": \"fid\", \"weight\": 0.0, \"p10\": 100.0, \"p50\": 300.0, \"optional\": true},\n    //     {\"measurement\": \"cls\", \"weight\": 0.0, \"p10\": 0.1, \"p50\": 0.25, \"optional\": false},\n    //     {\"measurement\": \"ttfb\", \"weight\": 0.10, \"p10\": 200.0, \"p50\": 400.0, \"optional\": false}\n    //   ],\n    //   \"condition\": {\"op\": \"eq\", \"name\": \"event.contexts.browser.name\", \"value\": \"Safari\"}\n    // },\n    // {\n    //   \"name\": \"Edge\",\n    //   \"scoreComponents\": [\n    //     {\"measurement\": \"fcp\", \"weight\": 0.15, \"p10\": 900.0, \"p50\": 1600.0, \"optional\": false},\n    //     {\"measurement\": \"lcp\", \"weight\": 0.30, \"p10\": 1200.0, \"p50\": 2400.0, \"optional\": false},\n    //     {\"measurement\": \"fid\", \"weight\": 0.30, \"p10\": 100.0, \"p50\": 300.0, \"optional\": true},\n    //     {\"measurement\": \"cls\", \"weight\": 0.15, \"p10\": 0.1, \"p50\": 0.25, \"optional\": false},\n    //     {\"measurement\": \"ttfb\", \"weight\": 0.10, \"p10\": 200.0, \"p50\": 400.0, \"optional\": false}\n    //   ],\n    //   \"condition\": {\"op\": \"eq\", \"name\": \"event.contexts.browser.name\", \"value\": \"Edge\"}\n    // },\n    // {\n    //   \"name\": \"Opera\",\n    //   \"scoreComponents\": [\n    //     {\"measurement\": \"fcp\", \"weight\": 0.15, \"p10\": 900.0, \"p50\": 1600.0, \"optional\": false},\n    //     {\"measurement\": \"lcp\", \"weight\": 0.30, \"p10\": 1200.0, \"p50\": 2400.0, \"optional\": false},\n    //     {\"measurement\": \"fid\", \"weight\": 0.30, \"p10\": 100.0, \"p50\": 300.0, \"optional\": true},\n    //     {\"measurement\": \"cls\", \"weight\": 0.15, \"p10\": 0.1, \"p50\": 0.25, \"optional\": false},\n    //     {\"measurement\": \"ttfb\", \"weight\": 0.10, \"p10\": 200.0, \"p50\": 400.0, \"optional\": false}\n    //   ],\n    //   \"condition\": {\"op\": \"eq\", \"name\": \"event.contexts.browser.name\", \"value\": \"Opera\"}\n    // }\n  ],\n};\n\nexport const LOG_LEVEL_COLORS: Record<string, string> = {\n  trace: \"text-gray-500\",\n  debug: \"text-blue-500\",\n  info: \"text-green-500\",\n  warn: \"text-yellow-500\",\n  error: \"text-red-500\",\n  fatal: \"text-purple-500\",\n};\n\nexport const LOGS_SORT_KEYS = {\n  timestamp: \"TIMESTAMP\",\n  level: \"LEVEL\",\n  sdk: \"SDK\",\n  trace_id: \"TRACE_ID\",\n};\n\nexport const LOGS_HEADERS = [\n  {\n    id: \"level\",\n    title: \"Level\",\n    sortKey: LOGS_SORT_KEYS.level,\n    align: \"left\",\n  },\n  {\n    id: \"message\",\n    title: \"Message\",\n    primary: true,\n  },\n  {\n    id: \"trace_id\",\n    title: \"Trace ID\",\n    sortKey: LOGS_SORT_KEYS.trace_id,\n    align: \"left\",\n  },\n  {\n    id: \"timestamp\",\n    title: \"Timestamp\",\n    sortKey: LOGS_SORT_KEYS.timestamp,\n    align: \"right\",\n  },\n  {\n    id: \"sdk\",\n    title: \"SDK Name\",\n    sortKey: LOGS_SORT_KEYS.sdk,\n    align: \"right\",\n  },\n];\n\nexport const SAMPLE_EMPTY_PROFILE_FRAME: NanovisTreeNode = Object.freeze({\n  id: \"empty\",\n  text: \"No profile data\",\n  subtext: \"\",\n  sizeSelf: 0,\n  size: 0,\n  children: [],\n  color: \"#6b7280\",\n  frameId: -1,\n  sampleCount: 0,\n});\n","import { useState } from \"react\";\n\ntype useSortProps = {\n  defaultSortType?: string;\n  defaultAsc?: boolean;\n};\n\nexport default function useSort({ defaultSortType = \"\", defaultAsc = false }: useSortProps) {\n  const [sort, setSort] = useState({\n    active: defaultSortType,\n    asc: defaultAsc,\n  });\n\n  const toggleSortOrder = (type: string) =>\n    setSort(prev =>\n      prev.active === type\n        ? {\n            active: type,\n            asc: !prev.asc,\n          }\n        : {\n            active: type,\n            asc: false,\n          },\n    );\n\n  return {\n    toggleSortOrder,\n    sort,\n    setSort,\n  };\n}\n","import dayjs from \"dayjs\";\n\nexport const DURATION_LABELS = {\n  31557600000: \"yr\",\n  2629800000: \"mo\",\n  604800000: \"wk\",\n  86400000: \"d\",\n  3600000: \"hr\",\n  60000: \"min\",\n  1000: \"s\",\n};\n\nconst DURATIONS = Object.keys(DURATION_LABELS)\n  .map(Number)\n  .sort((a, b) => b - a);\n\nexport function getSpanDurationClassName(duration: number) {\n  if (duration > 1000) return \"text-red-400\";\n  if (duration > 500) return \"text-orange-400\";\n  if (duration > 100) return \"text-yellow-400\";\n}\n\nexport function getFormattedNumber(num: number, decimalPlaces = 2): string {\n  return num.toFixed(decimalPlaces).replace(/\\.00$/, \"\");\n}\n\nexport function getFormattedDuration(duration: number): string {\n  for (const limit of DURATIONS) {\n    if (duration >= limit) {\n      const num = getFormattedNumber(duration / limit);\n      return `${num}${DURATION_LABELS[limit as keyof typeof DURATION_LABELS]}`;\n    }\n  }\n  return `${getFormattedNumber(duration)}ms`;\n}\n\nexport function getFormattedSpanDuration(span: { timestamp: number; start_timestamp: number }): string {\n  return getFormattedDuration(span.timestamp - span.start_timestamp);\n}\n\nexport function formatTimestamp(timestamp: number) {\n  const date = new Date(timestamp);\n  return dayjs(date).format(\"LL LTS\");\n}\n","import { cn } from \"~/lib/cn\";\n\ntype TimeBarProps = {\n  value: number;\n  maxValue: number;\n  title?: string;\n  children?: React.ReactNode;\n  className?: string;\n};\n\nexport function TimeBar({ value, maxValue, title, children, className }: TimeBarProps) {\n  const percentage = maxValue !== 0 ? Math.round((value / maxValue) * 100) : 100;\n\n  return (\n    <div title={title} className={cn(\"relative truncate text-left text-sm font-medium\", className)}>\n      {children}\n      <div className={cn(\"bg-primary-800 h-1 w-full overflow-hidden rounded-full\", children ? \"mt-1\" : \"\")}>\n        <div className=\"h-full bg-lime-500\" style={{ width: `${percentage}%` }} />\n      </div>\n    </div>\n  );\n}\n","import { useMemo } from \"react\";\nimport { ReactComponent as Sort } from \"~/assets/sort.svg\";\nimport { ReactComponent as SortDown } from \"~/assets/sortDown.svg\";\nimport { cn } from \"~/lib/cn\";\nimport Table from \"~/ui/table\";\nimport { AGGREGATE_CALL_PROFILES_SORT_KEYS, AGGREGATE_PROFILES_HEADERS } from \"../../constants\";\nimport useSort from \"../../hooks/useSort\";\nimport useSentryStore from \"../../store\";\nimport type { AggregateCallData } from \"../../types\";\nimport { getFormattedDuration, getSpanDurationClassName } from \"../../utils/duration\";\nimport { TimeBar } from \"../shared/TimeBar\";\n\ntype AggregateCallProfileComparator = (a: AggregateCallData, b: AggregateCallData) => number;\ntype AggregateCallProfileSortTypes =\n  (typeof AGGREGATE_CALL_PROFILES_SORT_KEYS)[keyof typeof AGGREGATE_CALL_PROFILES_SORT_KEYS];\n\nconst COMPARATORS: Record<AggregateCallProfileSortTypes, AggregateCallProfileComparator> = {\n  [AGGREGATE_CALL_PROFILES_SORT_KEYS.functionName]: (a, b) => {\n    if (a.name < b.name) return -1;\n    if (a.name > b.name) return 1;\n    return 0;\n  },\n  [AGGREGATE_CALL_PROFILES_SORT_KEYS.totalTime]: (a, b) => a.totalTime - b.totalTime,\n  [AGGREGATE_CALL_PROFILES_SORT_KEYS.samples]: (a, b) => a.samples - b.samples,\n  [AGGREGATE_CALL_PROFILES_SORT_KEYS.traces]: (a, b) => a.traceIds.size - b.traceIds.size,\n};\n\nfunction Profiles() {\n  const { sort, toggleSortOrder } = useSort({ defaultSortType: AGGREGATE_CALL_PROFILES_SORT_KEYS.totalTime });\n\n  const aggregateCallData = useMemo(() => {\n    const profiles = useSentryStore.getState().getAggregateCallData();\n    const compareProfileInfo = COMPARATORS[sort.active] || COMPARATORS[AGGREGATE_CALL_PROFILES_SORT_KEYS.totalTime];\n\n    return profiles.sort((a, b) => {\n      return sort.asc ? compareProfileInfo(a, b) : compareProfileInfo(b, a);\n    });\n  }, [sort]);\n\n  if (!aggregateCallData.length) {\n    return <p className=\"text-primary-300 px-6 py-4\">No profiles found.</p>;\n  }\n\n  // Calculate max time for bar visualization (100%, scaling form here)\n  const maxTime = Math.max(...aggregateCallData.map(profile => profile.totalTime));\n\n  return (\n    <Table variant=\"detail\">\n      <Table.Header>\n        <tr>\n          {AGGREGATE_PROFILES_HEADERS.map(header => (\n            <th\n              key={header.id}\n              scope=\"col\"\n              className={cn(\"text-primary-100 px-6 py-3.5 text-sm font-semibold\", header.primary ? \"w-2/5\" : \"w-[15%]\")}\n            >\n              <div\n                className={cn(\n                  \"flex cursor-pointer select-none items-center gap-1\",\n                  header.primary ? \"justify-start\" : \"justify-end\",\n                )}\n                onClick={() => toggleSortOrder(header.sortKey)}\n              >\n                {header.title}\n                {sort.active === header.sortKey ? (\n                  <SortDown\n                    width={12}\n                    height={12}\n                    className={cn(\n                      \"fill-primary-300\",\n                      sort.asc ? \"-translate-y-0.5 rotate-0\" : \"translate-y-0.5 rotate-180\",\n                    )}\n                  />\n                ) : (\n                  <Sort width={12} height={12} className=\"stroke-primary-300\" />\n                )}\n              </div>\n            </th>\n          ))}\n        </tr>\n      </Table.Header>\n      <Table.Body>\n        {aggregateCallData.map(callData => (\n          <tr key={`${callData.name}`} className=\"hover:bg-primary-900\">\n            <td className=\"text-primary-200 w-2/5 whitespace-nowrap px-6 py-4\">\n              <TimeBar value={callData.totalTime} maxValue={maxTime} title={callData.name} className=\"text-lime-500\">\n                {callData.name.split(\"@\")[1].split(\":\", 1)[0]}\n              </TimeBar>\n            </td>\n            <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n              <span className={getSpanDurationClassName(callData.totalTime)}>\n                {getFormattedDuration(callData.totalTime)}\n              </span>\n            </td>\n            <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n              {callData.samples}\n            </td>\n            <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n              {callData.traceIds.size}\n            </td>\n          </tr>\n        ))}\n      </Table.Body>\n    </Table>\n  );\n}\n\nexport default Profiles;\n","import { useContext } from \"react\";\nimport useSentryStore from \"../store\";\nimport type { Span, Trace } from \"../types\";\nimport { SentryEventsContext } from \"./sentryEventsContext\";\n\nexport function useSentryTraces() {\n  useContext(SentryEventsContext);\n  const { getTraces } = useSentryStore();\n  return getTraces().sort((a, b) => b.start_timestamp - a.start_timestamp);\n}\n\nfunction spanReducer(acc: Span[], trace: Trace) {\n  for (const span of trace.spans.values()) {\n    acc.push(span);\n  }\n  return acc;\n}\n\nfunction spanCountReducer(sum: number, trace: Trace) {\n  return sum + trace.spans.size;\n}\n\nexport const useSentrySpans = () => {\n  const allTraces = useSentryTraces();\n  const allSpans: Span[] = allTraces.reduce(spanReducer, []);\n  return allSpans;\n};\n\nexport const useSentrySpanCounts = () => {\n  const allTraces = useSentryTraces();\n\n  return {\n    allSpans: allTraces.reduce(spanCountReducer, 0),\n  };\n};\n","import { useMemo } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { ReactComponent as Sort } from \"~/assets/sort.svg\";\nimport { ReactComponent as SortDown } from \"~/assets/sortDown.svg\";\nimport { cn } from \"~/lib/cn\";\nimport { TimeBar } from \"~/telemetry/components/shared/TimeBar\";\nimport { DB_SPAN_REGEX, QUERIES_HEADERS, QUERIES_SORT_KEYS } from \"~/telemetry/constants\";\nimport { useSentrySpans } from \"~/telemetry/data/useSentrySpans\";\nimport useSort from \"~/telemetry/hooks/useSort\";\nimport type { Span } from \"~/telemetry/types\";\nimport { getFormattedDuration, getSpanDurationClassName } from \"~/telemetry/utils/duration\";\nimport Table from \"~/ui/table\";\n\ntype QueryInfo = {\n  avgDuration: number;\n  totalTime: number;\n  description: string;\n};\ntype QueryInfoComparator = (a: QueryInfo, b: QueryInfo) => number;\ntype QuerySortTypes = (typeof QUERIES_SORT_KEYS)[keyof typeof QUERIES_SORT_KEYS];\n\nconst COMPARATORS: Record<QuerySortTypes, QueryInfoComparator> = {\n  [QUERIES_SORT_KEYS.queryDesc]: (a, b) => {\n    if (a.description < b.description) return -1;\n    if (a.description > b.description) return 1;\n    return 0;\n  },\n  [QUERIES_SORT_KEYS.avgDuration]: (a, b) => a.avgDuration - b.avgDuration,\n  [QUERIES_SORT_KEYS.totalTime]: (a, b) => a.totalTime - b.totalTime,\n};\n\nconst calculateQueryInfo = ({ query, spanData }: { query: string; spanData: Span[] }): QueryInfo => {\n  const queryTypeData = spanData.filter((span: Span) => span.description === query);\n  const times = queryTypeData.map((span: Span) => span.timestamp - span.start_timestamp);\n  const totalTimeInMs = times.reduce((acc: number, time: number) => acc + time, 0);\n  const avgDuration = totalTimeInMs / times.length;\n\n  return {\n    avgDuration,\n    totalTime: totalTimeInMs,\n    description: query,\n  };\n};\n\nconst Queries = () => {\n  const navigate = useNavigate();\n  const allSpans = useSentrySpans();\n  const { sort, toggleSortOrder } = useSort({ defaultSortType: QUERIES_SORT_KEYS.totalTime });\n\n  const queriesData: QueryInfo[] = useMemo(() => {\n    const compareQueryInfo = COMPARATORS[sort.active] || COMPARATORS[QUERIES_SORT_KEYS.totalTime];\n    const spans = allSpans;\n    const onlyDBSpans = spans.filter((span: Span) => DB_SPAN_REGEX.test(span.op || \"\"));\n    const uniqueSpansSet = new Set(onlyDBSpans.map(span => String(span?.description).trim()));\n    // Clear out empty ones (they collapse as a single empty string since this is a set)\n    uniqueSpansSet.delete(\"\");\n    return [...uniqueSpansSet]\n      .map(query => calculateQueryInfo({ query, spanData: onlyDBSpans }))\n      .sort((a, b) => (sort.asc ? compareQueryInfo(a, b) : compareQueryInfo(b, a)));\n  }, [allSpans, sort]);\n\n  const maxTime = Math.max(...queriesData.map(query => query.totalTime));\n\n  const handleRowClick = (query: QueryInfo) => {\n    navigate(`/telemetry/insights/queries/${btoa(query.description)}`);\n  };\n\n  if (!queriesData?.length) {\n    return (\n      <p className=\"text-primary-300 px-6 py-4\">\n        No Database queries found. Add integration in Sentry initialization to track Database queries.\n      </p>\n    );\n  }\n\n  return (\n    <Table variant=\"detail\">\n      <Table.Header>\n        <tr>\n          {QUERIES_HEADERS.map(header => (\n            <th\n              key={header.id}\n              scope=\"col\"\n              className={cn(\n                \"text-primary-100 select-none px-6 py-3.5 text-sm font-semibold\",\n                header.primary ? \"w-2/5\" : \"w-[15%]\",\n              )}\n            >\n              <button\n                type=\"button\"\n                className={cn(\n                  \"flex cursor-pointer items-center gap-1\",\n                  header.primary ? \"justify-start\" : \"justify-end\",\n                )}\n                onClick={() => toggleSortOrder(header.sortKey)}\n                tabIndex={0}\n              >\n                {header.title}\n                {sort.active === header.sortKey ? (\n                  <SortDown\n                    width={12}\n                    height={12}\n                    className={cn(\n                      \"fill-primary-300\",\n                      sort.asc ? \"-translate-y-0.5 rotate-0\" : \"translate-y-0.5 rotate-180\",\n                    )}\n                  />\n                ) : (\n                  <Sort width={12} height={12} className=\"stroke-primary-300\" />\n                )}\n              </button>\n            </th>\n          ))}\n        </tr>\n      </Table.Header>\n      <Table.Body>\n        {queriesData.map(query => (\n          <tr\n            key={query.description}\n            onClick={() => handleRowClick(query)}\n            tabIndex={0}\n            role=\"link\"\n            className=\"hover:bg-primary-900 cursor-pointer\"\n          >\n            <td className=\"text-primary-200 w-2/5 truncate whitespace-nowrap px-6 py-4 text-left text-sm font-medium\">\n              <TimeBar value={query.totalTime} maxValue={maxTime} title={query.description} className=\"text-lime-500\">\n                {query.description}\n              </TimeBar>\n            </td>\n            <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n              <span className={getSpanDurationClassName(query.totalTime)}>{getFormattedDuration(query.totalTime)}</span>\n            </td>\n            <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n              <span className={getSpanDurationClassName(query.avgDuration)}>\n                {getFormattedDuration(query.avgDuration)}\n              </span>\n            </td>\n          </tr>\n        ))}\n      </Table.Body>\n    </Table>\n  );\n};\n\nexport default Queries;\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='16'%20height='16'%20fill='currentColor'%20class='bi%20bi-chevron-down'%20viewBox='0%200%2016%2016'%3e%3cpath%20fill-rule='evenodd'%20d='M1.646%204.646a.5.5%200%200%201%20.708%200L8%2010.293l5.646-5.647a.5.5%200%200%201%20.708.708l-6%206a.5.5%200%200%201-.708%200l-6-6a.5.5%200%200%201%200-.708z'/%3e%3c/svg%3e\"","import { Link } from \"react-router-dom\";\nimport { ReactComponent as ChevronIcon } from \"~/assets/chevronDown.svg\";\nimport { cn } from \"~/lib/cn\";\n\nexport type CrumbProps = {\n  id: string;\n  label: string;\n  link?: boolean;\n  to?: string;\n};\n\nexport type BreadcrumbProps = {\n  crumbs: CrumbProps[];\n};\n\nexport default function Breadcrumbs({ crumbs }: BreadcrumbProps) {\n  return (\n    <div className=\"flex items-center gap-1 px-6 py-4\">\n      {crumbs.map((crumb, index) => {\n        const isActiveTab = index === crumbs.length - 1;\n        return (\n          <div key={crumb.id} className=\"flex items-center gap-1\">\n            {index > 0 && <ChevronIcon width={12} height={12} className=\"stroke-primary-300 -rotate-90\" />}\n            {crumb.link && crumb.to ? (\n              <Link\n                className={cn(\n                  isActiveTab ? \"text-primary-200\" : \"text-primary-300\",\n                  \"hover:text-primary-100 truncate text-sm hover:underline\",\n                )}\n                to={crumb.to}\n              >\n                {crumb.label}\n              </Link>\n            ) : (\n              <span className={cn(isActiveTab ? \"text-primary-200\" : \"text-primary-300\", \"truncate text-sm\")}>\n                {crumb.label}\n              </span>\n            )}\n          </div>\n        );\n      })}\n    </div>\n  );\n}\n","import { useMemo } from \"react\";\nimport { Link, useParams } from \"react-router-dom\";\nimport { ReactComponent as Sort } from \"~/assets/sort.svg\";\nimport { ReactComponent as SortDown } from \"~/assets/sortDown.svg\";\nimport { cn } from \"~/lib/cn\";\nimport Breadcrumbs from \"~/ui/breadcrumbs\";\nimport Table from \"~/ui/table\";\nimport { QUERY_SUMMARY_HEADERS, QUERY_SUMMARY_SORT_KEYS } from \"../../constants\";\nimport { useSentrySpans } from \"../../data/useSentrySpans\";\nimport useSort from \"../../hooks/useSort\";\nimport type { Span } from \"../../types\";\nimport { getFormattedDuration, getSpanDurationClassName } from \"../../utils/duration\";\nimport { truncateId } from \"../../utils/text\";\nimport { TimeBar } from \"../shared/TimeBar\";\n\ntype SpanInfoComparator = (a: Span, b: Span) => number;\ntype QuerySummarySortTypes = (typeof QUERY_SUMMARY_SORT_KEYS)[keyof typeof QUERY_SUMMARY_SORT_KEYS];\nconst COMPARATORS: Record<QuerySummarySortTypes, SpanInfoComparator> = {\n  [QUERY_SUMMARY_SORT_KEYS.foundIn]: (a, b) => {\n    const aTrace = a.trace_id || \"\";\n    const bTrace = b.trace_id || \"\";\n    if (aTrace < bTrace) return -1;\n    if (aTrace > bTrace) return 1;\n    return 0;\n  },\n  [QUERY_SUMMARY_SORT_KEYS.spanId]: (a, b) => {\n    if (a.span_id < b.span_id) return -1;\n    if (a.span_id > b.span_id) return 1;\n    return 0;\n  },\n  [QUERY_SUMMARY_SORT_KEYS.totalTime]: (a, b) => a.timestamp - a.start_timestamp - (b.timestamp - b.start_timestamp),\n};\n\nconst QuerySummary = () => {\n  const allSpans = useSentrySpans();\n  const { type } = useParams();\n  const { sort, toggleSortOrder } = useSort({ defaultSortType: QUERY_SUMMARY_SORT_KEYS.totalTime });\n\n  // Ref: https://developer.mozilla.org/en-US/docs/Web/API/Window/atob\n  const decodedType = type && atob(type);\n\n  const filteredDBSpans: Span[] = useMemo(() => {\n    if (!decodedType) {\n      return [];\n    }\n    const spans = allSpans;\n    const compareSpanInfo = COMPARATORS[sort.active] || COMPARATORS[QUERY_SUMMARY_SORT_KEYS.totalTime];\n\n    return spans\n      .filter(span => span.description === decodedType)\n      .sort((a, b) => (sort.asc ? compareSpanInfo(a, b) : compareSpanInfo(b, a)));\n  }, [allSpans, sort, decodedType]);\n\n  if (!filteredDBSpans || !filteredDBSpans.length) {\n    return <p className=\"text-primary-300 px-6 py-4\">Query not found.</p>;\n  }\n\n  const maxTime = Math.max(...filteredDBSpans.map(dbSpan => dbSpan.timestamp - dbSpan.start_timestamp));\n\n  return (\n    <>\n      <Breadcrumbs\n        crumbs={[\n          {\n            id: \"queries\",\n            label: \"Queries\",\n            link: true,\n            to: \"/insights/queries\",\n          },\n          {\n            id: \"querySummary\",\n            label: \"Query Summary\",\n            link: false,\n          },\n        ]}\n      />\n      <div className=\"border-b-primary-700 bg-primary-950 flex items-center gap-x-2 border-b px-6 py-4\">\n        <h1 className=\"flex w-full flex-1 items-center text-xl\">{decodedType}</h1>\n      </div>\n      <Table variant=\"detail\">\n        <Table.Header>\n          <tr>\n            {QUERY_SUMMARY_HEADERS.map(header => (\n              <th\n                key={header.id}\n                scope=\"col\"\n                className={cn(\n                  \"text-primary-100 px-6 py-3.5 text-sm font-semibold\",\n                  header.primary ? \"w-2/5\" : \"w-[15%]\",\n                )}\n              >\n                <div\n                  className={cn(\n                    \"flex cursor-pointer select-none items-center gap-1\",\n                    header.primary ? \"justify-start\" : \"justify-end\",\n                  )}\n                  onClick={() => toggleSortOrder(header.sortKey)}\n                >\n                  {header.title}\n                  {sort.active === header.sortKey ? (\n                    <SortDown\n                      width={12}\n                      height={12}\n                      className={cn(\n                        \"fill-primary-300\",\n                        sort.asc ? \"-translate-y-0.5 rotate-0\" : \"translate-y-0.5 rotate-180\",\n                      )}\n                    />\n                  ) : (\n                    <Sort width={12} height={12} className=\"stroke-primary-300\" />\n                  )}\n                </div>\n              </th>\n            ))}\n          </tr>\n        </Table.Header>\n        <Table.Body>\n          {filteredDBSpans.map(span => (\n            <tr key={span.span_id} className=\"hover:bg-primary-900\">\n              <td className=\"text-primary-200 w-2/5 truncate whitespace-nowrap px-6 py-4 text-left text-sm font-medium\">\n                <TimeBar\n                  value={span.timestamp - span.start_timestamp}\n                  maxValue={maxTime}\n                  title={span.trace_id}\n                  className=\"text-lime-500\"\n                >\n                  <Link className=\"truncate hover:underline\" to={`/telemetry/traces/${span.trace_id}`}>\n                    {truncateId(span.trace_id)}\n                  </Link>\n                </TimeBar>\n              </td>\n              <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n                <span className={getSpanDurationClassName(span.timestamp - span.start_timestamp)}>\n                  {getFormattedDuration(span.timestamp - span.start_timestamp)}\n                </span>\n              </td>\n              <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n                <Link\n                  className=\"truncate hover:underline\"\n                  to={`/telemetry/traces/${span.trace_id}/spans/${span.span_id}`}\n                >\n                  {truncateId(span.span_id)}\n                </Link>\n              </td>\n            </tr>\n          ))}\n        </Table.Body>\n      </Table>\n    </>\n  );\n};\n\nexport default QuerySummary;\n","export function formatBytes(bytes: number, decimals = 2) {\n  if (bytes === 0) return \"0 B\";\n  const k = 1024;\n  const dm = decimals;\n  const sizes = [\"B\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\n  const i = Math.floor(Math.log(bytes) / Math.log(k));\n  return `${Number.parseFloat((bytes / k ** i).toFixed(dm))} ${sizes[i]}`;\n}\n","import { useMemo } from \"react\";\nimport { ReactComponent as Sort } from \"~/assets/sort.svg\";\nimport { ReactComponent as SortDown } from \"~/assets/sortDown.svg\";\nimport { cn } from \"~/lib/cn\";\nimport Table from \"~/ui/table\";\nimport { RESOURCES_SORT_KEYS, RESOURCE_HEADERS } from \"../../constants\";\nimport { useSentrySpans } from \"../../data/useSentrySpans\";\nimport useSort from \"../../hooks/useSort\";\nimport type { Span } from \"../../types\";\nimport { formatBytes } from \"../../utils/bytes\";\nimport { getFormattedDuration, getSpanDurationClassName } from \"../../utils/duration\";\n\ntype ResourceInfo = {\n  avgDuration: number;\n  totalTime: number;\n  description: string;\n  avgEncodedSize: number;\n  similarResources: Span[];\n};\n\nconst calculateResourceInfo = ({ resource, spanData }: { resource: string; spanData: Span[] }): ResourceInfo => {\n  const specificResources = spanData.filter((span: Span) => span.description === resource);\n  const totalTimeInMs = specificResources.reduce(\n    (acc: number, span: Span) => acc + (span.timestamp - span.start_timestamp),\n    0,\n  );\n  const avgDuration = totalTimeInMs / specificResources.length;\n  const avgEncodedSize =\n    specificResources.reduce((acc: number, span: Span) => {\n      const contentLength = span.data?.[\"http.response_content_length\"];\n      if (typeof contentLength === \"number\") {\n        return acc + contentLength;\n      }\n      return acc;\n    }, 0) / specificResources.length;\n\n  return {\n    avgDuration,\n    totalTime: totalTimeInMs,\n    description: resource,\n    avgEncodedSize,\n    similarResources: specificResources,\n  };\n};\n\nconst getResourceSpans = (spans: Span[], options: { type?: string; regex?: RegExp }) => {\n  if (options.type) {\n    return spans.filter((span: Span) => span.description === options.type);\n  }\n  if (options.regex) {\n    const regex = new RegExp(options.regex);\n    return spans.filter((span: Span) => regex.test(span.op || \"\"));\n  }\n  return [];\n};\n\ntype ResourceInfoComparator = (a: ResourceInfo, b: ResourceInfo) => number;\ntype ResourceSortTypes = (typeof RESOURCES_SORT_KEYS)[keyof typeof RESOURCES_SORT_KEYS];\nconst COMPARATORS: Record<ResourceSortTypes, ResourceInfoComparator> = {\n  [RESOURCES_SORT_KEYS.description]: (a, b) => {\n    if (a.description < b.description) return -1;\n    if (a.description > b.description) return 1;\n    return 0;\n  },\n  [RESOURCES_SORT_KEYS.avgEncodedSize]: (a, b) => a.avgEncodedSize - b.avgEncodedSize,\n  [RESOURCES_SORT_KEYS.avgDuration]: (a, b) => a.avgDuration - b.avgDuration,\n  [RESOURCES_SORT_KEYS.totalTime]: (a, b) => a.totalTime - b.totalTime,\n};\n\nconst Resources = () => {\n  const allSpans = useSentrySpans();\n  const { sort, toggleSortOrder } = useSort({ defaultSortType: RESOURCES_SORT_KEYS.totalTime });\n\n  const resources = useMemo(() => {\n    const filteredResourceSpans = getResourceSpans(allSpans, { regex: /resource\\.[A-Za-z]+/ });\n    const uniqueResourceDescriptionsSet = new Set(filteredResourceSpans.map(span => String(span?.description).trim()));\n    // Clear out empty ones (they collapse as a single empty string since this is a set)\n    uniqueResourceDescriptionsSet.delete(\"\");\n    const uniqueResourceDescriptions: string[] = [...uniqueResourceDescriptionsSet];\n    const compareResourceInfo = COMPARATORS[sort.active] || COMPARATORS[RESOURCES_SORT_KEYS.totalTime];\n\n    return uniqueResourceDescriptions\n      .map(resource => calculateResourceInfo({ resource, spanData: filteredResourceSpans }))\n      .sort((a, b) => {\n        return sort.asc ? compareResourceInfo(a, b) : compareResourceInfo(b, a);\n      });\n  }, [sort, allSpans]);\n\n  if (!resources?.length) {\n    return <p className=\"text-primary-300 px-6 py-4\">No Resource found.</p>;\n  }\n  return (\n    <Table variant=\"detail\">\n      <Table.Header>\n        <tr>\n          {RESOURCE_HEADERS.map(header => (\n            <th\n              key={header.id}\n              scope=\"col\"\n              className={cn(\"text-primary-100 px-6 py-3.5 text-sm font-semibold\", header.primary ? \"w-2/5\" : \"w-[15%]\")}\n            >\n              <div\n                className={cn(\n                  \"flex cursor-pointer select-none items-center gap-1\",\n                  header.primary ? \"justify-start\" : \"justify-end\",\n                )}\n                onClick={() => toggleSortOrder(header.sortKey)}\n              >\n                {header.title}\n                {sort.active === header.sortKey ? (\n                  <SortDown\n                    width={12}\n                    height={12}\n                    className={cn(\n                      \"fill-primary-300\",\n                      sort.asc ? \"-translate-y-0.5 rotate-0\" : \"translate-y-0.5 rotate-180\",\n                    )}\n                  />\n                ) : (\n                  <Sort width={12} height={12} className=\"stroke-primary-300\" />\n                )}\n              </div>\n            </th>\n          ))}\n        </tr>\n      </Table.Header>\n      <Table.Body>\n        {resources.map((resource: ResourceInfo) => (\n          <tr key={resource.description} className=\"hover:bg-primary-900\">\n            <td\n              title={resource.description}\n              className=\"text-primary-200 relative w-2/5 whitespace-nowrap px-6 py-4 text-left text-sm font-medium overflow-x-hidden\"\n            >\n              <span className=\"cursor-default truncate block\">{resource.description}</span>\n            </td>\n            <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n              <span className={getSpanDurationClassName(resource.avgDuration)}>\n                {getFormattedDuration(resource.avgDuration)}\n              </span>\n            </td>\n            <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n              <span className={getSpanDurationClassName(resource.totalTime)}>\n                {getFormattedDuration(resource.totalTime)}\n              </span>\n            </td>\n            <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n              {formatBytes(resource.avgEncodedSize)}\n            </td>\n          </tr>\n        ))}\n      </Table.Body>\n    </Table>\n  );\n};\n\nexport default Resources;\n","import { type ReactNode, createContext, useCallback, useContext, useState } from \"react\";\nimport type { Span } from \"../types\";\ntype SearchContextType = {\n  query: string;\n  setQuery: (query: string) => void;\n  showOnlyMatched: boolean;\n  setShowOnlyMatched: (showOnlyMatched: boolean) => void;\n};\n\nconst SearchContext = createContext<SearchContextType | undefined>(undefined);\n\nexport function SearchProvider({ children }: { children: ReactNode }) {\n  const [query, setQuery] = useState(\"\");\n  const [showOnlyMatched, setShowOnlyMatched] = useState(false);\n\n  return (\n    <SearchContext.Provider value={{ query, setQuery, showOnlyMatched, setShowOnlyMatched }}>\n      {children}\n    </SearchContext.Provider>\n  );\n}\n\nexport function useSearch() {\n  const context = useContext(SearchContext);\n  if (context === undefined) {\n    throw new Error(\"useSearch must be used within a SearchProvider\");\n  }\n\n  const matchesQuery = useCallback(\n    (span: Span): boolean => {\n      const q = context.query.toLowerCase();\n      return (\n        (span.span_id.toLowerCase().includes(q) ||\n          span.op?.toLowerCase().includes(q) ||\n          span.description?.toLowerCase().includes(q)) ??\n        false\n      );\n    },\n    [context.query],\n  );\n\n  return { ...context, matchesQuery };\n}\n","import type { Span } from \"../types\";\n\nexport function getAllSpansInTree(root: Span): Span[] {\n  const spans = [root];\n  return root.children ? spans.concat(root.children.flatMap(getAllSpansInTree)) : spans;\n}\n","import { getAllSpansInTree } from \"~/telemetry/store/helpers\";\nimport type { AILibraryHandler, AIToolCall, Span, SpotlightAITrace } from \"~/telemetry/types\";\n\n// https://ai-sdk.dev/docs/ai-sdk-core/telemetry\nconst AI_SPAN_OP_PREFIX = \"gen_ai.\";\nconst AI_OPERATION_ID_FIELD = \"vercel.ai.operationId\";\nconst AI_OPERATION_NAME_FIELD = \"operation.name\";\n\n// Tool call related constants (OpenTelemetry semantic conventions)\nconst AI_TOOL_CALL_OPERATION = \"ai.toolCall\";\nconst AI_EXECUTE_TOOL_OPERATION = \"gen_ai.execute_tool\";\nconst GEN_AI_TOOL_NAME_FIELD = \"gen_ai.tool.name\";\nconst GEN_AI_TOOL_CALL_ID_FIELD = \"gen_ai.tool.call.id\";\nconst GEN_AI_TOOL_INPUT_FIELD = \"gen_ai.tool.input\";\nconst GEN_AI_TOOL_OUTPUT_FIELD = \"gen_ai.tool.output\";\n\nconst AI_MODEL_ID_FIELD = \"vercel.ai.model.id\";\nconst AI_MODEL_PROVIDER_FIELD = \"vercel.ai.model.provider\";\nconst AI_SETTINGS_MAX_RETRIES_FIELD = \"vercel.ai.settings.maxRetries\";\nconst AI_SETTINGS_MAX_STEPS_FIELD = \"vercel.ai.settings.maxSteps\";\nconst AI_TELEMETRY_FUNCTION_ID_FIELD = \"vercel.ai.telemetry.functionId\";\nconst AI_TELEMETRY_METADATA_PREFIX = \"vercel.ai.telemetry.metadata.\";\nconst AI_PROMPT_FIELD = \"vercel.ai.prompt\";\nconst AI_PROMPT_MESSAGES_FIELD = \"gen_ai.request.messages\";\nconst AI_RESPONSE_FINISH_REASON_FIELD = \"vercel.ai.response.finishReason\";\nconst GEN_AI_RESPONSE_FINISH_REASONS_FIELD = \"gen_ai.response.finish_reasons\";\nconst AI_RESPONSE_TEXT_FIELD = \"gen_ai.response.text\";\nconst AI_RESPONSE_TOOL_CALLS_FIELD = \"vercel.ai.response.toolCalls\";\n\nconst AI_STREAM_TEXT_OPERATION = \"ai.streamText\";\nconst AI_GENERATE_TEXT_OPERATION = \"ai.generateText\";\n\nconst AI_USAGE_PROMPT_TOKENS_FIELD = \"vercel.ai.usage.promptTokens\";\nconst AI_USAGE_COMPLETION_TOKENS_FIELD = \"vercel.ai.usage.completionTokens\";\nconst GEN_AI_USAGE_INPUT_TOKENS_FIELD = \"gen_ai.usage.input_tokens\";\nconst GEN_AI_USAGE_OUTPUT_TOKENS_FIELD = \"gen_ai.usage.output_tokens\";\n\nconst TOKEN_FIELDS = {\n  PROMPT: [AI_USAGE_PROMPT_TOKENS_FIELD, GEN_AI_USAGE_INPUT_TOKENS_FIELD],\n  COMPLETION: [AI_USAGE_COMPLETION_TOKENS_FIELD, GEN_AI_USAGE_OUTPUT_TOKENS_FIELD],\n} as const;\n\n// Other constants\nconst DEFAULT_TRACE_NAME = \"AI Interaction\";\nconst UNKNOWN_OPERATION = \"N/A\";\n\nexport const vercelAISDKHandler: AILibraryHandler = {\n  id: \"vercel-ai-sdk\",\n  name: \"Vercel AI SDK\",\n\n  canHandleSpan: (span: Span): boolean => {\n    return !!span.op?.toLowerCase().startsWith(AI_SPAN_OP_PREFIX);\n  },\n\n  extractRootSpans: (spans: Span[]): Span[] => {\n    const resultRoots: Span[] = [];\n\n    const findAndCollectAIRoots = (spansToSearch: Span[]) => {\n      for (const currentSpan of spansToSearch) {\n        if (currentSpan.op?.toLowerCase().startsWith(AI_SPAN_OP_PREFIX)) {\n          resultRoots.push(currentSpan);\n        } else if (currentSpan.children?.length) {\n          findAndCollectAIRoots(currentSpan.children);\n        }\n      }\n    };\n\n    findAndCollectAIRoots(spans);\n    return resultRoots;\n  },\n\n  processTrace: (rootSpan: Span): SpotlightAITrace => {\n    const allSpans = getAllSpansInTree(rootSpan);\n    const tokenUsage = extractTokenUsage(allSpans);\n    const operationInfo = determineOperation(allSpans, rootSpan);\n    const traceName = determineTraceName(rootSpan, operationInfo);\n\n    const durationMs = rootSpan.timestamp - rootSpan.start_timestamp;\n\n    // Initialize the trace with basic properties\n    const trace: SpotlightAITrace = {\n      id: rootSpan.span_id,\n      name: traceName,\n      operation: operationInfo.operation,\n      timestamp: rootSpan.start_timestamp,\n      durationMs,\n      tokensDisplay: formatTokensDisplay(tokenUsage.promptTokens, tokenUsage.completionTokens),\n      promptTokens: tokenUsage.promptTokens,\n      completionTokens: tokenUsage.completionTokens,\n      hasToolCall: operationInfo.hasToolCall,\n      rawSpan: rootSpan,\n      metadata: {\n        metadata: {},\n      },\n      toolCalls: [],\n    };\n\n    // Parse detailed span data\n    parseSpanData(allSpans, trace);\n\n    return trace;\n  },\n\n  getDisplayTitle: (trace: SpotlightAITrace): string => {\n    return trace.name || trace.operation || `AI Trace ${trace.id.substring(0, 8)}`;\n  },\n\n  getTypeBadge: (trace: SpotlightAITrace): string => {\n    if (trace.hasToolCall) {\n      return \"Tool-Call\";\n    }\n\n    if (trace.operation === AI_STREAM_TEXT_OPERATION) {\n      return \"Stream Text\";\n    }\n\n    if (trace.operation === AI_GENERATE_TEXT_OPERATION) {\n      return \"Generate Text\";\n    }\n\n    return trace.operation.replace(/^(ai\\.|gen_ai\\.)/, \"\");\n  },\n\n  getTokensDisplay: (trace: SpotlightAITrace): string => {\n    return trace.tokensDisplay;\n  },\n};\n\nfunction extractTokenUsage(spans: Span[]): { promptTokens?: number; completionTokens?: number } {\n  let promptTokens: number | undefined;\n  let completionTokens: number | undefined;\n\n  for (const span of spans) {\n    if (!span.data) continue;\n\n    if (promptTokens === undefined) {\n      for (const field of TOKEN_FIELDS.PROMPT) {\n        const value = span.data[field];\n        if (value !== undefined) {\n          promptTokens = Number(value);\n          break;\n        }\n      }\n    }\n\n    if (completionTokens === undefined) {\n      for (const field of TOKEN_FIELDS.COMPLETION) {\n        const value = span.data[field];\n        if (value !== undefined) {\n          completionTokens = Number(value);\n          break;\n        }\n      }\n    }\n\n    if (promptTokens !== undefined && completionTokens !== undefined) {\n      break;\n    }\n  }\n\n  return { promptTokens, completionTokens };\n}\n\nfunction determineOperation(\n  spans: Span[],\n  rootSpan: Span,\n): { operation: string; hasToolCall: boolean; toolCallName?: string } {\n  let operation = UNKNOWN_OPERATION;\n  let hasToolCall = false;\n  let toolCallName: string | undefined;\n  let foundToolCallAsOperationId = false;\n\n  for (const span of spans) {\n    if (span.op === AI_TOOL_CALL_OPERATION || span.op === AI_EXECUTE_TOOL_OPERATION) {\n      hasToolCall = true;\n    }\n\n    if (!span.data) continue;\n\n    const operationId = (span.data[AI_OPERATION_ID_FIELD] || span.data[AI_OPERATION_NAME_FIELD]) as string | undefined;\n\n    // Handle tool call operation\n    if (operationId === AI_TOOL_CALL_OPERATION) {\n      operation = AI_TOOL_CALL_OPERATION;\n      foundToolCallAsOperationId = true;\n      hasToolCall = true;\n\n      if (span.data[GEN_AI_TOOL_NAME_FIELD]) {\n        toolCallName = String(span.data[GEN_AI_TOOL_NAME_FIELD]);\n      }\n    }\n\n    // Handle other operations (prioritize root and direct children)\n    if (!foundToolCallAsOperationId && operationId && operation === UNKNOWN_OPERATION) {\n      const isHighPriority =\n        span.span_id === rootSpan.span_id || rootSpan.children?.some(child => child.span_id === span.span_id);\n\n      if (isHighPriority) {\n        operation = operationId;\n      }\n    }\n  }\n\n  // Fallback logic\n  if (operation === UNKNOWN_OPERATION) {\n    if (rootSpan.op) {\n      operation = rootSpan.op;\n    } else if (rootSpan.description) {\n      operation = rootSpan.description;\n    }\n  }\n\n  return { operation, hasToolCall, toolCallName };\n}\n\nfunction determineTraceName(rootSpan: Span, operationInfo: { toolCallName?: string }): string {\n  if (operationInfo.toolCallName) {\n    return operationInfo.toolCallName;\n  }\n\n  return rootSpan.description || rootSpan.op || DEFAULT_TRACE_NAME;\n}\n\nfunction formatTokensDisplay(promptTokens?: number, completionTokens?: number): string {\n  if (promptTokens !== undefined && completionTokens !== undefined) {\n    return `${promptTokens} / ${completionTokens}`;\n  }\n  if (promptTokens !== undefined) {\n    return `${promptTokens} / ?`;\n  }\n  if (completionTokens !== undefined) {\n    return `? / ${completionTokens}`;\n  }\n  return UNKNOWN_OPERATION;\n}\n\nfunction parseSpanData(spans: Span[], trace: SpotlightAITrace) {\n  for (const span of spans) {\n    if (!span.data) continue;\n\n    extractAIMetadata(span, trace);\n    extractTelemetryMetadata(span, trace);\n    extractPromptData(span, trace);\n    extractResponseData(span, trace);\n    extractToolCallData(span, trace);\n  }\n}\n\nfunction extractAIMetadata(span: Span, trace: SpotlightAITrace) {\n  if (!span.data) return;\n\n  if (span.data[AI_MODEL_ID_FIELD]) {\n    trace.metadata.modelId = String(span.data[AI_MODEL_ID_FIELD]);\n  }\n\n  if (span.data[AI_MODEL_PROVIDER_FIELD]) {\n    trace.metadata.modelProvider = String(span.data[AI_MODEL_PROVIDER_FIELD]);\n  }\n\n  if (span.data[AI_TELEMETRY_FUNCTION_ID_FIELD]) {\n    trace.metadata.functionId = String(span.data[AI_TELEMETRY_FUNCTION_ID_FIELD]);\n  }\n\n  if (span.data[AI_SETTINGS_MAX_RETRIES_FIELD]) {\n    trace.metadata.maxRetries = Number(span.data[AI_SETTINGS_MAX_RETRIES_FIELD]);\n  }\n\n  if (span.data[AI_SETTINGS_MAX_STEPS_FIELD]) {\n    trace.metadata.maxSteps = Number(span.data[AI_SETTINGS_MAX_STEPS_FIELD]);\n  }\n\n  if (span.data[AI_USAGE_PROMPT_TOKENS_FIELD]) {\n    trace.metadata.promptTokens = Number(span.data[AI_USAGE_PROMPT_TOKENS_FIELD]);\n  }\n\n  if (span.data[AI_USAGE_COMPLETION_TOKENS_FIELD]) {\n    trace.metadata.completionTokens = Number(span.data[AI_USAGE_COMPLETION_TOKENS_FIELD]);\n  }\n}\n\nfunction extractTelemetryMetadata(span: Span, trace: SpotlightAITrace) {\n  if (!span.data) return;\n\n  for (const [key, value] of Object.entries(span.data)) {\n    if (key.startsWith(AI_TELEMETRY_METADATA_PREFIX)) {\n      const metadataKey = key.replace(AI_TELEMETRY_METADATA_PREFIX, \"\");\n      trace.metadata.metadata[metadataKey] = value;\n    }\n  }\n}\n\nfunction extractPromptData(span: Span, trace: SpotlightAITrace) {\n  if (!span.data) return;\n\n  const promptField = span.data[AI_PROMPT_FIELD];\n  if (promptField) {\n    try {\n      trace.prompt = JSON.parse(String(promptField));\n    } catch {\n      trace.prompt = { messages: [{ role: \"unknown\", content: String(promptField) }] };\n    }\n  }\n\n  const promptMessages = span.data[AI_PROMPT_MESSAGES_FIELD];\n  if (promptMessages && !trace.prompt) {\n    try {\n      const messages = JSON.parse(String(promptMessages));\n      trace.prompt = { messages };\n    } catch {\n      trace.prompt = { messages: [{ role: \"unknown\", content: String(promptMessages) }] };\n    }\n  }\n}\n\nfunction extractResponseData(span: Span, trace: SpotlightAITrace) {\n  if (!span.data) return;\n\n  trace.response = trace.response || {};\n\n  const finishReason = span.data[AI_RESPONSE_FINISH_REASON_FIELD];\n  if (finishReason) {\n    trace.response.finishReason = String(finishReason);\n  }\n\n  const finishReasons = span.data[GEN_AI_RESPONSE_FINISH_REASONS_FIELD];\n  if (!trace.response.finishReason && Array.isArray(finishReasons) && finishReasons.length > 0) {\n    trace.response.finishReason = String(finishReasons[0]);\n  }\n\n  const responseText = span.data[AI_RESPONSE_TEXT_FIELD];\n  if (responseText) {\n    trace.response.text = String(responseText);\n  }\n\n  const toolCalls = span.data[AI_RESPONSE_TOOL_CALLS_FIELD];\n  if (toolCalls) {\n    trace.response.toolCalls = JSON.parse(String(toolCalls));\n  }\n}\n\nfunction extractToolCallData(span: Span, trace: SpotlightAITrace) {\n  if (!span.data) return;\n\n  const toolName = span.data[GEN_AI_TOOL_NAME_FIELD];\n  if (!toolName) return;\n\n  const toolCallId = span.data[GEN_AI_TOOL_CALL_ID_FIELD];\n  const toolCall: Partial<AIToolCall> = {\n    toolCallId: toolCallId ? String(toolCallId) : span.span_id,\n    toolName: String(toolName),\n    args: {} as Record<string, unknown>,\n  };\n\n  const toolInput = span.data[GEN_AI_TOOL_INPUT_FIELD];\n  if (toolInput) {\n    try {\n      toolCall.args = typeof toolInput === \"string\" ? JSON.parse(toolInput) : (toolInput as Record<string, unknown>);\n    } catch {\n      toolCall.args = { input: toolInput };\n    }\n  }\n\n  const toolOutput = span.data[GEN_AI_TOOL_OUTPUT_FIELD];\n  if (toolOutput) {\n    try {\n      toolCall.result = typeof toolOutput === \"string\" ? JSON.parse(toolOutput) : toolOutput;\n    } catch {\n      toolCall.result = String(toolOutput);\n    }\n  }\n\n  trace.toolCalls.push(toolCall as AIToolCall);\n}\n","import type { AILibraryHandler, Span, SpotlightAITrace, Trace } from \"~/telemetry/types\";\nimport { vercelAISDKHandler } from \"./vercelAISDK\";\n\n// Registry of supported AI libraries\nconst aiLibraries: AILibraryHandler[] = [vercelAISDKHandler];\n\nexport { aiLibraries };\n\nexport function detectAILibraryHandler(span: Span): AILibraryHandler | null {\n  for (const handler of aiLibraries) {\n    // careful if we support multiple libraries, we should improve this method so it doesn't return the first one\n    if (handler.canHandleSpan(span)) {\n      return handler;\n    }\n  }\n  return null;\n}\n\nexport function extractAllAIRootSpans(spans: Span[]): { span: Span; handler: AILibraryHandler }[] {\n  const results: { span: Span; handler: AILibraryHandler }[] = [];\n\n  for (const handler of aiLibraries) {\n    const rootSpans = handler.extractRootSpans(spans);\n    for (const rootSpan of rootSpans) {\n      results.push({ span: rootSpan, handler });\n    }\n  }\n\n  return results;\n}\n\nexport function createAITraceFromSpan(span: Span): SpotlightAITrace | null {\n  const handler = detectAILibraryHandler(span);\n  if (!handler) {\n    return null;\n  }\n\n  return handler.processTrace(span);\n}\n\nexport function hasAISpans(trace: Trace): boolean {\n  if (!trace.spanTree) {\n    return false;\n  }\n\n  // TODO: We may want to cache/optimize this `extractAllAIRootSpans` helper\n  const aiRootSpans = extractAllAIRootSpans(trace.spanTree);\n  return aiRootSpans.length > 0;\n}\n","import { useMemo } from \"react\";\nimport { aiLibraries } from \"../components/insights/aiTraces/sdks/aiLibraries\";\nimport type { Span, SpotlightAITrace } from \"../types\";\nimport { useSentryTraces } from \"./useSentrySpans\";\n\nexport function useAITraces(): Span[] {\n  const allTraces = useSentryTraces();\n\n  return useMemo(() => {\n    const rootSpans: Span[] = [];\n\n    for (const trace of allTraces) {\n      if (!trace.spanTree) continue;\n\n      for (const framework of aiLibraries) {\n        const frameworkRoots = framework.extractRootSpans(trace.spanTree);\n        rootSpans.push(...frameworkRoots);\n      }\n    }\n\n    return rootSpans;\n  }, [allTraces]);\n}\n\nfunction processSpanAsTrace(span: Span): SpotlightAITrace {\n  if (!span?.span_id) {\n    return {\n      id: \"error-invalid-span\",\n      name: \"Invalid Span\",\n      operation: \"error\",\n      timestamp: 0,\n      durationMs: 0,\n      tokensDisplay: \"N/A\",\n      hasToolCall: false,\n      rawSpan: {} as Span,\n      metadata: {\n        metadata: {},\n      },\n      toolCalls: [],\n    };\n  }\n\n  for (const framework of aiLibraries) {\n    if (framework.canHandleSpan(span)) {\n      return framework.processTrace(span);\n    }\n  }\n\n  return {\n    id: span.span_id,\n    name: span.description || span.op || \"Unknown AI Interaction\",\n    operation: \"unknown\",\n    timestamp: span.start_timestamp || 0,\n    durationMs: (span.timestamp || 0) - (span.start_timestamp || 0),\n    tokensDisplay: \"N/A\",\n    hasToolCall: false,\n    rawSpan: span,\n    metadata: {\n      metadata: {},\n    },\n    toolCalls: [],\n  };\n}\n\nexport function useSpotlightAITraces(): SpotlightAITrace[] {\n  const aiRootSpans = useAITraces();\n\n  return useMemo(() => {\n    return aiRootSpans.map(processSpanAsTrace);\n  }, [aiRootSpans]);\n}\n","import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"~/lib/cn\";\n\nconst badgeVariants = cva(\n  \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-medium transition-colors focus:outline-hidden focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2\",\n  {\n    variants: {\n      variant: {\n        default: \"border-transparent bg-primary-800 text-neutral-50\",\n        destructive: \"border-transparent bg-red-500 text-neutral-50\",\n        outline: \"text-neutral-950 border-neutral-200\",\n        primary: \"border-transparent bg-primary-800 text-neutral-50\",\n        secondary: \"border-transparent bg-blue-600/30 text-blue-100 border-blue-500/30\",\n        neutral: \"border-transparent bg-neutral-700 text-neutral-100\",\n        warning: \"border-transparent bg-orange-600/30 text-orange-100 border-orange-500/30\",\n      },\n    },\n    defaultVariants: {\n      variant: \"default\",\n    },\n  },\n);\n\nexport interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n  return <div className={cn(badgeVariants({ variant }), className)} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","import type { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\n\nexport type SidePanelProps = Omit<ComponentPropsWithoutRef<\"div\">, \"className\"> & {\n  backto: string;\n};\n\n// This trick is taken from:\n// https://github.com/remix-run/react-router/discussions/9922#discussioncomment-4722716\nexport function useGoBackWithFallback(fallback: string) {\n  const navigateTo = useNavigate();\n  const loc = useLocation();\n  return () => (loc.key === \"default\" ? navigateTo(fallback, { replace: true }) : navigateTo(-1));\n}\n\nexport function SidePanelHeader({\n  title,\n  subtitle,\n  backto,\n}: {\n  title: ReactNode;\n  subtitle?: ReactNode;\n  backto: string;\n}) {\n  const goBackWithFallback = useGoBackWithFallback(backto);\n\n  return (\n    <div className=\"border-b-primary-400 mb-4 flex border-b pb-4\">\n      <div className=\"flex-1 overflow-hidden\">\n        <h2 className=\"text-primary-300 text-xl\">{title}</h2>\n        {subtitle && <h3 className=\"font-mono\">{subtitle}</h3>}\n      </div>\n      <button\n        type=\"button\"\n        className=\"hover:bg-primary-900 -my-1 flex cursor-pointer items-center justify-center rounded-sm px-6 py-1 font-mono text-2xl\"\n        onClick={goBackWithFallback}\n      >\n        {\"✕\"}\n      </button>\n    </div>\n  );\n}\n\nexport default function SidePanel(props: SidePanelProps) {\n  const goBackWithFallback = useGoBackWithFallback(props.backto);\n  return (\n    <div className=\"fixed bottom-0 left-0 right-0 top-0 z-10 bg-black/30\" onClick={goBackWithFallback}>\n      <div\n        onClick={e => e.stopPropagation()}\n        className=\"spotlight-sidepanel border-l-primary-400 from-primary-900 to-primary-950 fixed bottom-0 left-1/4 right-0 top-0 z-20 flex h-full flex-col overflow-auto border-l bg-linear-to-br to-20% px-6 py-4\"\n        {...props}\n      />\n    </div>\n  );\n}\n","import dayjs from \"dayjs\";\nimport DayJsLocalizedFormat from \"dayjs/plugin/localizedFormat\";\n\ndayjs.extend(DayJsLocalizedFormat);\n\nexport default function DateTime({ date, ...props }: { date: string | number | Date } & React.ComponentProps<\"time\">) {\n  if (!date) return null;\n\n  return (\n    <time dateTime={date instanceof Date ? date.toISOString() : `${date}`} {...props}>\n      {dayjs(date).format(\"LL LTS\")}\n    </time>\n  );\n}\n","import { type HTMLAttributes, type MouseEventHandler, type ReactNode, useRef } from \"react\";\nimport { cn } from \"~/lib/cn\";\n\nexport type ResizeDirection = \"column\" | \"row\";\n\nexport type ResizerProps = {\n  handleResize: (e: MouseEvent) => void;\n  setIsResizing: (val: boolean) => void;\n  isResizing: boolean;\n  direction?: ResizeDirection;\n  className?: string;\n  children?: ReactNode;\n  style?: React.CSSProperties;\n} & Omit<HTMLAttributes<HTMLDivElement>, \"onMouseDown\" | \"onClick\">;\n\nexport default function Resizer({\n  handleResize,\n  isResizing,\n  setIsResizing,\n  direction = \"column\",\n  className = \"\",\n  children,\n  style,\n  ...props\n}: ResizerProps) {\n  const lastUpdateTimeRef = useRef<number>(0);\n  const lastPositionRef = useRef<{ x: number; y: number } | null>(null);\n\n  const handleResizeWrapper = (e: MouseEvent) => {\n    if (!(e.target instanceof HTMLDivElement)) {\n      return;\n    }\n\n    const now = Date.now();\n    const throttleInterval = 16; // Approximately 60fps\n\n    if (now - lastUpdateTimeRef.current <= throttleInterval) {\n      return;\n    }\n\n    if (lastPositionRef.current === null) {\n      lastPositionRef.current = { x: e.clientX, y: e.clientY };\n      return;\n    }\n\n    const deltaX = e.clientX - lastPositionRef.current.x;\n    const deltaY = e.clientY - lastPositionRef.current.y;\n\n    if (deltaX !== 0 || deltaY !== 0) {\n      lastPositionRef.current = { x: e.clientX, y: e.clientY };\n\n      lastUpdateTimeRef.current = now;\n\n      // Use requestAnimationFrame to batch updates\n      requestAnimationFrame(() => {\n        handleResize(e);\n      });\n    }\n  };\n\n  const handleMouseDown: MouseEventHandler<HTMLDivElement> = e => {\n    e.preventDefault();\n    lastPositionRef.current = { x: e.clientX, y: e.clientY };\n\n    setIsResizing(true);\n    document.addEventListener(\"mousemove\", handleResizeWrapper);\n    document.addEventListener(\"mouseup\", handleMouseUp);\n  };\n\n  const handleMouseUp = () => {\n    lastPositionRef.current = null;\n\n    setIsResizing(false);\n    document.removeEventListener(\"mousemove\", handleResizeWrapper);\n    document.removeEventListener(\"mouseup\", handleMouseUp);\n  };\n\n  return (\n    <div\n      className={cn(\"resizer\", isResizing ? \"is-resizing\" : \"\", className)}\n      style={style}\n      onClick={e => e.preventDefault()}\n      onMouseDown={handleMouseDown}\n      {...props}\n    >\n      {children}\n    </div>\n  );\n}\n","import { useState } from \"react\";\nimport { cn } from \"~/lib/cn\";\nimport Resizer, { type ResizeDirection } from \"./Resizer\";\n\ntype SpanResizerProps = {\n  handleResize: (e: MouseEvent) => void;\n  setIsResizing: (val: boolean) => void;\n  isResizing: boolean;\n  direction?: ResizeDirection;\n};\n\nexport default function SpanResizer({\n  handleResize,\n  isResizing,\n  setIsResizing,\n  direction = \"column\",\n  ...props\n}: SpanResizerProps) {\n  const [isHovered, setIsHovered] = useState(false);\n\n  return (\n    <Resizer\n      handleResize={handleResize}\n      isResizing={isResizing}\n      setIsResizing={setIsResizing}\n      direction={direction}\n      className={cn(\n        \"span-resizer absolute left-0 top-0 h-full w-1\",\n        direction === \"column\" ? \"cursor-col-resize\" : \"cursor-row-resize\",\n        isResizing || isHovered ? \"bg-primary-500\" : \"bg-transparent\",\n      )}\n      style={{\n        transform: isResizing || isHovered ? \"translateX(-2px)\" : \"none\",\n      }}\n      onMouseEnter={() => setIsHovered(true)}\n      onMouseLeave={() => setIsHovered(false)}\n      {...props}\n    />\n  );\n}\n","import { useRef, useState } from \"react\";\nimport { Link, useParams } from \"react-router-dom\";\nimport { ReactComponent as ChevronIcon } from \"~/assets/chevronDown.svg\";\nimport { cn } from \"~/lib/cn\";\nimport { useSearch } from \"~/telemetry/context/SearchContext\";\nimport type { Span, TraceContext } from \"../../../types\";\nimport { getFormattedDuration, getSpanDurationClassName } from \"../../../utils/duration\";\nimport PlatformIcon from \"../../shared/PlatformIcon\";\nimport SpanResizer from \"../../shared/SpanResizer\";\nimport SpanTree from \"./SpanTree\";\n\nconst SpanItem = ({\n  span,\n  startTimestamp,\n  totalDuration,\n  depth = 1,\n  traceContext,\n  totalTransactions = 0,\n  spanNodeWidth,\n  setSpanNodeWidth = () => {},\n}: {\n  span: Span;\n  startTimestamp: number;\n  totalDuration: number;\n  depth?: number;\n  traceContext: TraceContext;\n  totalTransactions?: number;\n  spanNodeWidth: number;\n  setSpanNodeWidth?: (val: number) => void;\n}) => {\n  const { spanId } = useParams();\n  const { query, matchesQuery, showOnlyMatched } = useSearch();\n  const containerRef = useRef<HTMLLIElement>(null);\n  const childrenCount = span.children ? span.children.length : 0;\n  const [isItemCollapsed, setIsItemCollapsed] = useState(\n    ((span.transaction && totalTransactions > 1) ||\n      depth >= 10 ||\n      childrenCount > 10 ||\n      span.tags?.source === \"profile\") &&\n      depth !== 1,\n  );\n  const [isResizing, setIsResizing] = useState(false);\n\n  const spanDuration = span.timestamp - span.start_timestamp;\n\n  const handleResize = (e: MouseEvent) => {\n    if (containerRef.current) {\n      const containerRect = containerRef.current.getBoundingClientRect();\n      const mouseX = e.clientX;\n      const newLeftWidth = ((mouseX - containerRect.left) / containerRect.width) * 100;\n      setSpanNodeWidth(newLeftWidth);\n    }\n  };\n\n  const isQueried = !showOnlyMatched && query && matchesQuery(span);\n\n  return (\n    <li key={span.span_id} ref={containerRef}>\n      <Link\n        className={cn(\n          \"hover:bg-primary-700 group flex rounded-xs text-sm\",\n          isQueried ? \"bg-primary-200/20\" : \"\",\n          spanId === span.span_id ? \"bg-primary-900\" : \"\",\n          span.tags?.source === \"profile\" ? \"text-lime-500\" : \"\",\n        )}\n        style={{\n          pointerEvents: isResizing ? \"none\" : \"auto\",\n        }}\n        to={`/telemetry/traces/${span.trace_id}/spans/${span.span_id}`}\n      >\n        <div\n          className={cn(\n            \"node\",\n            \"group-hover:bg-primary-700\",\n            \"rounded-xs\",\n            isQueried ? \"bg-transparent\" : \"\",\n            span.status && span.status !== \"ok\" ? \"text-red-400\" : \"\",\n            spanId === span.span_id ? \"bg-primary-900\" : \"bg-primary-950\",\n          )}\n          style={{\n            width: `${spanNodeWidth}%`,\n            paddingRight: \"30px\",\n          }}\n        >\n          {childrenCount > 0 && (\n            <div\n              className=\"bg-primary-600 z-10 mr-1 flex items-center gap-1 rounded-lg px-1 text-xs font-bold text-white\"\n              onClick={e => {\n                e.preventDefault();\n                setIsItemCollapsed(prev => !prev);\n              }}\n            >\n              {childrenCount}\n              <ChevronIcon\n                width={12}\n                height={12}\n                className={cn(\"transition\", isItemCollapsed ? \"rotate-0\" : \"rotate-180\")}\n              />\n            </div>\n          )}\n          {span.transaction && <PlatformIcon size={16} platform={span.transaction.platform} />}\n          {span.op && (\n            <>\n              <span className=\"font-bold break-keep whitespace-nowrap\">{span.op}</span>\n              <span className=\"text-primary-400\">&ndash;</span>\n            </>\n          )}\n          <span className=\"block truncate\" title={span.description || span.span_id}>\n            {span.description || span.span_id}\n          </span>\n        </div>\n        <div\n          className={cn(\n            \"waterfall group-hover:bg-primary-700 rounded-xs overflow-hidden\",\n            isQueried ? \"bg-transparent!\" : \"\",\n          )}\n          style={{\n            left: `${spanNodeWidth}%`,\n            // height: \"100%\",\n          }}\n        >\n          <SpanResizer setIsResizing={setIsResizing} isResizing={isResizing} handleResize={handleResize} />\n          <div\n            className=\"bg-primary-900 absolute -m-0.5 w-full h-full p-0.5\"\n            style={{\n              left: `calc(min(${((span.start_timestamp - startTimestamp) / totalDuration) * 100}%, 95% - 1px) + 4px)`,\n              width: `max(1px, ${(spanDuration / totalDuration) * 95}%)`,\n            }}\n          >\n            <span className={cn(\"whitespace-nowrap\", getSpanDurationClassName(spanDuration))}>\n              {getFormattedDuration(spanDuration)}\n            </span>\n          </div>\n        </div>\n      </Link>\n\n      {!isItemCollapsed && (\n        <SpanTree\n          traceContext={traceContext}\n          tree={span.children || []}\n          startTimestamp={startTimestamp}\n          totalDuration={totalDuration}\n          depth={childrenCount > 1 ? depth + 1 : depth}\n          totalTransactions={totalTransactions}\n          spanNodeWidth={spanNodeWidth}\n          setSpanNodeWidth={setSpanNodeWidth}\n        />\n      )}\n    </li>\n  );\n};\n\nexport default SpanItem;\n","import { useMemo } from \"react\";\nimport { cn } from \"~/lib/cn\";\nimport { useSearch } from \"~/telemetry/context/SearchContext\";\nimport type { Span, TraceContext } from \"../../../types\";\nimport SpanItem from \"./SpanItem\";\n\nexport default function SpanTree({\n  className,\n  traceContext,\n  tree,\n  startTimestamp,\n  totalDuration,\n  depth = 1,\n  totalTransactions,\n  spanNodeWidth,\n  setSpanNodeWidth,\n}: {\n  className?: string;\n  traceContext: TraceContext;\n  tree: Span[];\n  startTimestamp: number;\n  totalDuration: number;\n  depth?: number;\n  totalTransactions?: number;\n  spanNodeWidth: number;\n  setSpanNodeWidth?: (val: number) => void;\n}) {\n  const { query, matchesQuery, showOnlyMatched } = useSearch();\n\n  const filteredTree = useMemo(() => {\n    if (!query) return tree;\n    if (showOnlyMatched) {\n      const spanMemo = new Map<string, boolean>();\n      const hasMatchingDescendant = (span: Span): boolean => {\n        if (spanMemo.has(span.span_id)) return spanMemo.get(span.span_id)!;\n        const result = matchesQuery(span) || (span.children?.some(child => hasMatchingDescendant(child)) ?? false);\n        spanMemo.set(span.span_id, result);\n        return result;\n      };\n\n      return tree.filter(span => hasMatchingDescendant(span));\n    }\n    return tree;\n  }, [query, tree, showOnlyMatched, matchesQuery]);\n\n  if (!tree || !tree.length) return null;\n\n  return (\n    <ul className={cn(tree.length > 1 && \"deep\", \"tree\", className)}>\n      {filteredTree.map(span => {\n        return (\n          <SpanItem\n            key={span.span_id}\n            traceContext={traceContext}\n            depth={depth}\n            span={span}\n            totalTransactions={totalTransactions}\n            startTimestamp={startTimestamp}\n            totalDuration={totalDuration}\n            spanNodeWidth={spanNodeWidth}\n            setSpanNodeWidth={setSpanNodeWidth}\n          />\n        );\n      })}\n    </ul>\n  );\n}\n","import { useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport {\n  createAITraceFromSpan,\n  detectAILibraryHandler,\n  extractAllAIRootSpans,\n} from \"~/telemetry/components/insights/aiTraces/sdks/aiLibraries\";\nimport type { AILibraryHandler, SpotlightAITrace } from \"~/telemetry/types\";\nimport { getFormattedDuration } from \"~/telemetry/utils/duration\";\nimport { Badge } from \"~/ui/badge\";\nimport SidePanel, { SidePanelHeader } from \"~/ui/sidePanel\";\nimport Table from \"~/ui/table\";\nimport { SearchProvider } from \"../../../context/SearchContext\";\nimport useSentryStore from \"../../../store\";\nimport DateTime from \"../../shared/DateTime\";\nimport SpanTree from \"../../traces/spans/SpanTree\";\n\nconst AI_TRACES_ROUTE = \"/telemetry/insights/aitraces\";\n\ninterface ToolCallDetailProps {\n  toolCall: {\n    toolCallId: string;\n    toolName: string;\n    args: Record<string, unknown>;\n    result?: Record<string, unknown> | string;\n    state?: string;\n    step?: number;\n  };\n}\n\nfunction ToolCallDetail({ toolCall }: ToolCallDetailProps) {\n  return (\n    <div className=\"border-primary-700 mb-4 rounded-sm border p-4\">\n      <h3 className=\"mb-2 font-bold\">{toolCall.toolName}</h3>\n      <div className=\"text-primary-400 mb-2 text-sm\">ID: {toolCall.toolCallId}</div>\n\n      <div className=\"mb-2\">\n        <h4 className=\"text-sm font-semibold uppercase\">Arguments</h4>\n        <div className=\"bg-primary-900 p-2\">\n          <pre className=\"whitespace-pre-wrap break-words font-mono text-sm\">\n            {JSON.stringify(toolCall.args, null, 2)}\n          </pre>\n        </div>\n      </div>\n\n      {toolCall.result && (\n        <div>\n          <h4 className=\"text-sm font-semibold uppercase\">Result</h4>\n          <div className=\"bg-primary-900 p-2\">\n            {typeof toolCall.result === \"string\" ? (\n              <pre className=\"whitespace-pre-wrap break-words font-mono text-sm\">{toolCall.result}</pre>\n            ) : (\n              <pre className=\"whitespace-pre-wrap break-words font-mono text-sm\">\n                {JSON.stringify(toolCall.result, null, 2)}\n              </pre>\n            )}\n          </div>\n        </div>\n      )}\n    </div>\n  );\n}\n\nfunction AITraceMetadata({ trace, handler }: { trace: SpotlightAITrace; handler: AILibraryHandler }) {\n  const metadata = [\n    [\"Trace ID\", trace.id],\n    [\"Type\", handler.getTypeBadge(trace)],\n    [\"Operation\", trace.operation],\n    [\"Timestamp\", <DateTime key=\"timestamp\" date={trace.timestamp} />],\n    [\"Duration\", getFormattedDuration(trace.durationMs)],\n    [\"Tokens (prompt/completion)\", handler.getTokensDisplay(trace)],\n  ];\n\n  if (trace.metadata.functionId) {\n    metadata.push([\"Function ID\", trace.metadata.functionId]);\n  }\n\n  if (trace.metadata.maxRetries !== undefined) {\n    metadata.push([\"Max Retries\", String(trace.metadata.maxRetries)]);\n  }\n\n  if (trace.metadata.maxSteps !== undefined) {\n    metadata.push([\"Max Steps\", String(trace.metadata.maxSteps)]);\n  }\n\n  if (trace.metadata.modelId) {\n    metadata.push([\"Model\", trace.metadata.modelId]);\n  }\n\n  if (trace.metadata.modelProvider) {\n    metadata.push([\"Provider\", trace.metadata.modelProvider]);\n  }\n\n  return (\n    <div>\n      <h2 className=\"mb-4 font-bold\">Metadata</h2>\n      <Table className=\"w-full text-sm\">\n        <Table.Body>\n          {metadata.map(([key, value]) => (\n            <tr key={key as string} className=\"text-primary-300\">\n              <th className=\"w-1/5 py-0.5 pr-4 text-left font-mono font-normal\">\n                <div className=\"w-full truncate\">{key}</div>\n              </th>\n              <td className=\"py-0.5\">\n                <pre className=\"whitespace-nowrap font-mono\">{value}</pre>\n              </td>\n            </tr>\n          ))}\n        </Table.Body>\n      </Table>\n\n      {Object.keys(trace.metadata.metadata).length > 0 && (\n        <div className=\"mt-4\">\n          <h3 className=\"mb-2 text-sm font-semibold uppercase\">Custom Metadata</h3>\n          <Table className=\"w-full text-sm\">\n            <Table.Body>\n              {Object.entries(trace.metadata.metadata).map(([key, value]) => (\n                <tr key={key} className=\"text-primary-300\">\n                  <th className=\"w-1/5 py-0.5 pr-4 text-left font-mono font-normal\">\n                    <div className=\"w-full truncate\">{key}</div>\n                  </th>\n                  <td className=\"py-0.5\">\n                    <pre className=\"whitespace-nowrap font-mono\">{JSON.stringify(value)}</pre>\n                  </td>\n                </tr>\n              ))}\n            </Table.Body>\n          </Table>\n        </div>\n      )}\n    </div>\n  );\n}\n\nfunction PromptSection({ trace }: { trace: SpotlightAITrace }) {\n  if (!trace.prompt) return null;\n\n  return (\n    <div>\n      <h2 className=\"mb-4 font-bold\">Prompt</h2>\n      {trace.prompt.system && (\n        <div className=\"mb-4\">\n          <h3 className=\"mb-2 text-sm font-semibold uppercase\">System</h3>\n          <div className=\"bg-primary-900 p-2\">\n            <pre className=\"whitespace-pre-wrap break-words font-mono text-sm\">{trace.prompt.system}</pre>\n          </div>\n        </div>\n      )}\n\n      {trace.prompt.messages && trace.prompt.messages.length > 0 && (\n        <div>\n          <h3 className=\"mb-2 text-sm font-semibold uppercase\">Messages</h3>\n          {trace.prompt.messages.map((message, i) => {\n            let messageContent: string;\n            if (message.role === \"assistant\") {\n              if (!trace.response?.text) {\n                return null; // Don't render empty assistant messages\n              }\n              messageContent = trace.response.text;\n            } else {\n              messageContent = message.content;\n            }\n\n            return (\n              <div key={`message-${i}-${message.role}`} className=\"border-primary-700 mb-4 rounded-sm border p-2\">\n                <div className=\"mb-1 font-semibold capitalize\">{message.role}</div>\n                <pre className=\"whitespace-pre-wrap break-words font-mono text-sm\">{messageContent}</pre>\n              </div>\n            );\n          })}\n        </div>\n      )}\n    </div>\n  );\n}\n\nfunction ResponseSection({ trace }: { trace: SpotlightAITrace }) {\n  if (!trace.response) return null;\n\n  return (\n    <div>\n      <h2 className=\"mb-4 font-bold\">Response</h2>\n      {trace.response.finishReason && (\n        <div className=\"mb-2\">\n          <span className=\"text-sm font-semibold uppercase\">Finish Reason: </span>\n          <span className=\"font-mono\">{trace.response.finishReason}</span>\n        </div>\n      )}\n\n      {trace.response.text && (\n        <div className=\"mb-4\">\n          <h3 className=\"mb-2 text-sm font-semibold uppercase\">Assistant Message</h3>\n          <div className=\"border-primary-700 mb-4 rounded-sm border p-2\">\n            <div className=\"mb-1 font-semibold capitalize\">assistant</div>\n            <pre className=\"whitespace-pre-wrap break-words font-mono text-sm\">{trace.response.text}</pre>\n          </div>\n        </div>\n      )}\n    </div>\n  );\n}\n\nfunction ToolCallsSection({ trace }: { trace: SpotlightAITrace }) {\n  if (trace.toolCalls.length === 0) return null;\n\n  return (\n    <div>\n      <h2 className=\"mb-4 font-bold\">Tool Calls</h2>\n      {trace.toolCalls.map((toolCall, i) => (\n        <ToolCallDetail key={`tool-${i}-${toolCall.toolCallId}`} toolCall={toolCall} />\n      ))}\n    </div>\n  );\n}\n\n// embedded version for split view\nexport function AITraceDetailsEmbedded({ traceId, spanId }: { traceId: string; spanId: string }) {\n  const trace = useSentryStore(state => state.getTraceById)(traceId);\n  const span = trace?.spanTree\n    ? extractAllAIRootSpans(trace.spanTree).find(({ span }) => span.span_id === spanId)?.span\n    : null;\n  const [spanNodeWidth, setSpanNodeWidth] = useState<number>(50);\n\n  if (!trace || !span) {\n    return (\n      <div className=\"p-6\">\n        <p className=\"text-red-400\">Span not found</p>\n        <p className=\"text-sm text-gray-400\">\n          Looking for: {traceId} - {spanId}\n        </p>\n      </div>\n    );\n  }\n\n  const aiTrace = createAITraceFromSpan(span);\n  if (!aiTrace) {\n    return (\n      <div className=\"p-6\">\n        <p className=\"text-red-400\">Unable to process AI trace</p>\n        <p className=\"text-sm text-gray-400\">Span ID: {spanId}</p>\n        <p className=\"text-sm text-gray-400\">Span description: {span.description}</p>\n      </div>\n    );\n  }\n\n  const handler = detectAILibraryHandler(span);\n\n  if (!handler) {\n    return (\n      <div className=\"p-6\">\n        <p className=\"text-red-400\">No Spotlight AI handler found for this AI trace</p>\n        <p className=\"text-sm text-gray-400\">Span ID: {spanId}</p>\n        <p className=\"text-sm text-gray-400\">Span description: {span.description}</p>\n      </div>\n    );\n  }\n\n  const startTimestamp = span.start_timestamp;\n  const totalDuration = span.timestamp - span.start_timestamp;\n\n  return (\n    <SearchProvider>\n      <div className=\"h-full overflow-y-auto\">\n        {/* Header Section */}\n        <div className=\"border-b-primary-700 bg-primary-950 border-b px-6 py-4\">\n          <div className=\"mb-2 flex items-baseline gap-2\">\n            <h2 className=\"text-xl font-bold\">{handler.getDisplayTitle(aiTrace)}</h2>\n            <span className=\"text-primary-400 text-sm\">{aiTrace.id}</span>\n          </div>\n          <div className=\"flex items-center gap-2\">\n            <Badge variant={aiTrace.hasToolCall ? \"warning\" : \"primary\"}>{handler.getTypeBadge(aiTrace)}</Badge>\n            {aiTrace.metadata.modelId && <Badge variant=\"secondary\">{aiTrace.metadata.modelId}</Badge>}\n            {aiTrace.metadata.functionId && <Badge variant=\"neutral\">{aiTrace.metadata.functionId}</Badge>}\n          </div>\n        </div>\n\n        {/* Content */}\n        <div className=\"space-y-6 p-6\">\n          <div className=\"flex flex-col space-y-4\">\n            <div className=\"text-primary-300 flex flex-1 items-center gap-x-1\">\n              <DateTime date={span.start_timestamp} />\n              <span>&mdash;</span>\n              <span>\n                <strong>{getFormattedDuration(span.timestamp - span.start_timestamp)}</strong> duration\n              </span>\n            </div>\n            <div className=\"flex-1\">\n              <div className=\"border-primary-800 relative h-8 border py-1\">\n                <div\n                  className=\"bg-primary-800 absolute bottom-0 top-0 -m-0.5 flex w-full items-center p-0.5\"\n                  style={{\n                    left: 0,\n                    width: \"100%\",\n                  }}\n                >\n                  <span className=\"whitespace-nowrap\">\n                    {getFormattedDuration(span.timestamp - span.start_timestamp)}\n                  </span>\n                </div>\n              </div>\n            </div>\n          </div>\n\n          <AITraceMetadata trace={aiTrace} handler={handler} />\n          <PromptSection trace={aiTrace} />\n          <ResponseSection trace={aiTrace} />\n          <ToolCallsSection trace={aiTrace} />\n\n          <div>\n            <h2 className=\"mb-4 font-bold\">Span Tree</h2>\n            <SpanTree\n              traceContext={trace}\n              tree={[span]}\n              startTimestamp={startTimestamp}\n              totalDuration={totalDuration}\n              spanNodeWidth={spanNodeWidth}\n              setSpanNodeWidth={setSpanNodeWidth}\n            />\n          </div>\n        </div>\n      </div>\n    </SearchProvider>\n  );\n}\n\n// Original SidePanel version for insights tab\nexport default function AITraceDetail() {\n  const { traceId, spanId } = useParams<{ traceId: string; spanId: string }>();\n\n  if (!traceId || !spanId) {\n    return (\n      <SidePanel backto={AI_TRACES_ROUTE}>\n        <SidePanelHeader title=\"AI Trace Details\" backto={AI_TRACES_ROUTE} />\n        <div className=\"p-6\">No trace selected</div>\n      </SidePanel>\n    );\n  }\n\n  return (\n    <SidePanel backto={AI_TRACES_ROUTE}>\n      <SidePanelHeader title=\"AI Trace Details\" backto={AI_TRACES_ROUTE} />\n      <AITraceDetailsEmbedded traceId={traceId} spanId={spanId} />\n    </SidePanel>\n  );\n}\n","import type { SpotlightAITrace } from \"~/telemetry/types\";\nimport { getFormattedDuration } from \"~/telemetry/utils/duration\";\nimport DateTime from \"../../shared/DateTime\";\ninterface AITraceItemProps {\n  trace: SpotlightAITrace;\n  onClick: () => void;\n}\n\nexport default function AITraceItem({ trace, onClick }: AITraceItemProps) {\n  if (!trace) {\n    return null;\n  }\n\n  const { id, name, operation, timestamp, durationMs, tokensDisplay } = trace;\n\n  return (\n    <tr\n      className=\"hover:bg-primary-900 group cursor-pointer\"\n      onClick={onClick}\n      role=\"link\"\n      tabIndex={0}\n      onKeyDown={e => {\n        if (e.key === \"Enter\" || e.key === \" \") {\n          onClick();\n        }\n      }}\n    >\n      <td className=\"text-primary-200 whitespace-nowrap px-6 py-4 text-sm\">{id}</td>\n      <td className=\"text-primary-200 whitespace-nowrap px-6 py-4 text-sm\">{name}</td>\n      <td className=\"text-primary-200 whitespace-nowrap px-6 py-4 text-sm\">{operation}</td>\n      <td className=\"text-primary-200 whitespace-nowrap px-6 py-4 text-sm\">\n        <DateTime date={timestamp} />\n      </td>\n      <td className=\"text-primary-200 whitespace-nowrap px-6 py-4 text-right text-sm\">\n        {getFormattedDuration(durationMs)}\n      </td>\n      <td className=\"text-primary-200 whitespace-nowrap px-6 py-4 text-right text-sm\">{tokensDisplay}</td>\n    </tr>\n  );\n}\n","import { useMemo } from \"react\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport { ReactComponent as Sort } from \"~/assets/sort.svg\";\nimport { ReactComponent as SortDown } from \"~/assets/sortDown.svg\";\nimport { cn } from \"~/lib/cn\";\nimport type { SpotlightAITrace } from \"~/telemetry/types\";\nimport Table from \"~/ui/table\";\nimport { AI_TRACES_HEADERS, AI_TRACES_SORT_KEYS } from \"../../../constants\";\nimport { SearchProvider } from \"../../../context/SearchContext\";\nimport { useSpotlightAITraces } from \"../../../data/useSpotlightAITraces\";\nimport useSort from \"../../../hooks/useSort\";\nimport useSentryStore from \"../../../store\";\nimport AITraceDetail from \"./AITraceDetails\";\nimport AITraceItem from \"./AITraceItem\";\n\ntype AITracesSortTypes = (typeof AI_TRACES_SORT_KEYS)[keyof typeof AI_TRACES_SORT_KEYS];\ntype AITracesComparator = (a: SpotlightAITrace, b: SpotlightAITrace) => number;\n\nconst COMPARATORS: Record<AITracesSortTypes, AITracesComparator> = {\n  [AI_TRACES_SORT_KEYS.timestamp]: (a, b) => a.timestamp - b.timestamp,\n  [AI_TRACES_SORT_KEYS.duration]: (a, b) => a.durationMs - b.durationMs,\n  [AI_TRACES_SORT_KEYS.traceId]: (a, b) => a.id.localeCompare(b.id),\n  [AI_TRACES_SORT_KEYS.name]: (a, b) => a.name.localeCompare(b.name),\n  [AI_TRACES_SORT_KEYS.tokens]: (a, b) => {\n    const aPrompt = a.promptTokens ?? 0;\n    const bPrompt = b.promptTokens ?? 0;\n    if (aPrompt !== bPrompt) {\n      return aPrompt - bPrompt;\n    }\n    return (a.completionTokens ?? 0) - (b.completionTokens ?? 0);\n  },\n  [AI_TRACES_SORT_KEYS.operation]: (a, b) => a.operation.localeCompare(b.operation),\n};\n\nexport default function AITraceList() {\n  const { traceId, spanId } = useParams<{ traceId?: string; spanId?: string }>();\n  const navigate = useNavigate();\n  const getTraceById = useSentryStore(state => state.getTraceById);\n  const spotlightAITraces = useSpotlightAITraces();\n\n  const { sort, toggleSortOrder } = useSort({ defaultSortType: AI_TRACES_SORT_KEYS.timestamp });\n\n  const sortedAiTraces = useMemo(() => {\n    const compareFn = COMPARATORS[sort.active as AITracesSortTypes] || COMPARATORS[AI_TRACES_SORT_KEYS.timestamp];\n    return [...spotlightAITraces].sort((a, b) => {\n      return sort.asc ? compareFn(a, b) : compareFn(b, a);\n    });\n  }, [spotlightAITraces, sort]);\n\n  const traceContext = traceId ? getTraceById(traceId) : null;\n  const selectedRawSpan = spanId ? traceContext?.spans.get(spanId) : null;\n\n  if (spotlightAITraces.length === 0) {\n    return <div className=\"text-primary-300 p-6\">No AI traces have been recorded yet. 🤔</div>;\n  }\n\n  const handleTraceClick = (trace: SpotlightAITrace) => {\n    if (trace.id) {\n      navigate(`/telemetry/insights/aitraces/${trace.id}`);\n    }\n  };\n\n  return (\n    <>\n      <Table variant=\"detail\">\n        <Table.Header>\n          <tr>\n            {AI_TRACES_HEADERS.map(header => (\n              <th\n                key={header.id}\n                scope=\"col\"\n                className={cn(\n                  \"text-primary-100 px-6 py-3.5 text-sm font-semibold\",\n                  header.id === \"duration\" || header.id === \"tokens\" ? \"text-right\" : \"text-left\",\n                )}\n              >\n                <div\n                  className={cn(\n                    \"flex cursor-pointer select-none items-center gap-1\",\n                    header.id === \"duration\" || header.id === \"tokens\" ? \"justify-end\" : \"\",\n                  )}\n                  onClick={() => header.sortKey && toggleSortOrder(header.sortKey as AITracesSortTypes)}\n                  onKeyDown={e => {\n                    if ((e.key === \"Enter\" || e.key === \" \") && header.sortKey) {\n                      toggleSortOrder(header.sortKey as AITracesSortTypes);\n                    }\n                  }}\n                  role=\"link\"\n                  tabIndex={0}\n                >\n                  {header.title}\n                  {header.sortKey && sort.active === header.sortKey ? (\n                    <SortDown\n                      width={12}\n                      height={12}\n                      className={cn(\n                        \"fill-primary-300\",\n                        sort.asc ? \"-translate-y-0.5 rotate-0\" : \"translate-y-0.5 rotate-180\",\n                      )}\n                    />\n                  ) : (\n                    header.sortKey && <Sort width={12} height={12} className=\"stroke-primary-300\" />\n                  )}\n                </div>\n              </th>\n            ))}\n          </tr>\n        </Table.Header>\n        <Table.Body>\n          {sortedAiTraces.map(trace => {\n            return <AITraceItem key={trace.id} trace={trace} onClick={() => handleTraceClick(trace)} />;\n          })}\n        </Table.Body>\n      </Table>\n\n      {selectedRawSpan && traceContext && (\n        <SearchProvider>\n          <AITraceDetail />\n        </SearchProvider>\n      )}\n    </>\n  );\n}\n","import { Route, Routes } from \"react-router-dom\";\nimport { SentryEventsContextProvider } from \"~/telemetry/data/sentryEventsContext\";\nimport AITraceList from \"./AITraceList\";\n\nexport default function AItracesTab() {\n  return (\n    <SentryEventsContextProvider>\n      <Routes>\n        <Route path=\"/\" element={<AITraceList />} />\n        <Route path=\"/:spanId\" element={<AITraceList />} />\n      </Routes>\n    </SentryEventsContextProvider>\n  );\n}\n","import dayjs from \"dayjs\";\nimport { useContext } from \"react\";\nimport useSentryStore from \"../store\";\nimport { SentryEventsContext } from \"./sentryEventsContext\";\n\nexport const useSentryEnvelopes = () => {\n  useContext(SentryEventsContext);\n\n  const getEnvelopes = useSentryStore(state => state.getEnvelopes);\n\n  const allEnvelopes = getEnvelopes().sort((a, b) => {\n    const a_sent_at = dayjs(a[0].sent_at as string);\n    const b_sent_at = dayjs(b[0].sent_at as string);\n    if (a_sent_at.isBefore(b_sent_at)) return 1;\n    if (b_sent_at.isBefore(a_sent_at)) return -1;\n    return 0;\n  });\n\n  return allEnvelopes;\n};\n","import type { Envelope } from \"@sentry/core\";\nimport { RAW_TYPES } from \"@spotlightjs/sidecar/constants\";\nimport { useMemo, useState } from \"react\";\nimport { ReactComponent as Download } from \"~/assets/download.svg\";\nimport { useSpotlightContext } from \"~/lib/useSpotlightContext\";\nimport JsonViewer from \"~/telemetry/components/shared/JsonViewer\";\nimport SidePanel, { SidePanelHeader } from \"~/ui/sidePanel\";\nimport Attachment from \"./Attachment\";\nimport { inferExtension } from \"./contentType\";\n\nexport default function EnvelopeDetails({ envelope }: { envelope: Envelope }) {\n  const [showRawJSON, setShowRawJSON] = useState<boolean>(false);\n  const { getSidecarUrl } = useSpotlightContext();\n\n  const [header, items] = envelope;\n\n  const envelopeId: string | unknown = header.__spotlight_envelope_id;\n\n  const downloadUrl = getSidecarUrl(`/envelope/${envelopeId}`);\n  return (\n    <SidePanel backto=\"/telemetry/insights/envelopes\">\n      <SidePanelHeader\n        title=\"Envelope Details\"\n        subtitle={\n          <>\n            Envelope Id <span className=\"text-primary-500\">&mdash;</span>{\" \"}\n            <a\n              href={downloadUrl}\n              className=\"inline-flex items-center gap-1 group\"\n              title=\"Download\"\n              aria-label=\"Download envelope\"\n            >\n              {String(envelopeId)}\n              <Download className=\"w-4 h-4 opacity-60 group-hover:opacity-100 transition-opacity\" />\n            </a>\n          </>\n        }\n        backto=\"/telemetry/insights/envelopes\"\n      />\n      <label htmlFor=\"json-toggle\" className=\"mb-8 flex cursor-pointer items-center\">\n        <div className=\"relative flex h-4 items-center gap-2\">\n          <input\n            id=\"json-toggle\"\n            type=\"checkbox\"\n            className=\"sr-only\"\n            onChange={() => setShowRawJSON(prev => !prev)}\n            checked={showRawJSON}\n          />\n          <div className=\"bg-primary-400 h-4 w-10 rounded-full shadow-inner\" />\n          <div className=\"dot absolute -left-1 -top-1 h-6 w-6 rounded-full bg-white shadow transition\" />\n        </div>\n        <span className=\"ml-2\">Show Raw Data</span>\n      </label>\n\n      {showRawJSON ? (\n        <div className=\"flex-1 overflow-y-auto\">\n          <JsonViewer data={envelope} collapsedDepth={1} />\n        </div>\n      ) : (\n        <div className=\"flex flex-col gap-6 space-y-6\">\n          <div>\n            <h2 className=\"mb-4 text-xl font-semibold\">Header</h2>\n            <JsonViewer data={header} collapsedDepth={1} />\n          </div>\n\n          <div className=\"flex flex-col gap-2\">\n            <h2 className=\"mb-2 text-xl font-semibold\">Items</h2>\n            <div className=\"flex flex-col divide-y divide-primary-900 overflow-hidden rounded-md border border-primary-900\">\n              {items.map((item, index) => (\n                <EnvelopeItemPanel key={`${index}-${item[0]?.type ?? \"unknown\"}`} item={item} index={index} />\n              ))}\n            </div>\n          </div>\n        </div>\n      )}\n    </SidePanel>\n  );\n}\n\ntype EnvelopeItem = Envelope[1][number];\n\nfunction getEnvelopeItemSummary(itemHeader: EnvelopeItem[0], payload: EnvelopeItem[1]): string {\n  const parts: string[] = [];\n  \n  // For RAW_TYPES (attachment, replay_video, statsd), show filename\n  if (RAW_TYPES.has(itemHeader.type)) {\n    const filename = itemHeader.filename \n      ? String(itemHeader.filename)\n      : `untitled.${inferExtension(itemHeader.content_type as string | null, itemHeader.type as string | null)}`;\n    parts.push(filename);\n  } else {\n    // For other event types, extract useful identifiers from payload\n    if (payload && typeof payload === \"object\") {\n      // Try to find useful identifiers\n      if (\"event_id\" in payload && payload.event_id) {\n        parts.push(`ID: ${String(payload.event_id).substring(0, 8)}`);\n      } else if (\"sid\" in payload && payload.sid) {\n        parts.push(`Session: ${String(payload.sid).substring(0, 8)}`);\n      }\n      \n      // Add transaction name if available\n      if (\"transaction\" in payload && payload.transaction) {\n        parts.push(`${String(payload.transaction)}`);\n      }\n    }\n  }\n  \n  // Add content type if present\n  if (itemHeader.content_type) {\n    parts.push(String(itemHeader.content_type));\n  }\n  \n  // Add length\n  if (typeof itemHeader.length === \"number\") {\n    parts.push(`${itemHeader.length} bytes`);\n  }\n  \n  return parts.join(\" • \");\n}\n\nfunction EnvelopeItemPanel({ item, index }: { item: EnvelopeItem; index: number }) {\n  const [isOpen, setIsOpen] = useState(false);\n  const itemHeader = item[0];\n\n  const summary = useMemo(() => getEnvelopeItemSummary(itemHeader, item[1]), [itemHeader, item]);\n\n  const payloadForViewer = useMemo(() => {\n    const rawPayload = item[1];\n    if (rawPayload && typeof rawPayload === \"object\") {\n      return rawPayload as Record<string, unknown>;\n    }\n\n    return { value: rawPayload } as Record<string, unknown>;\n  }, [item]);\n\n  const toggle = () => setIsOpen(open => !open);\n  const contentId = `envelope-item-${index}`;\n\n  return (\n    <div className=\"bg-primary-950\">\n      <button\n        type=\"button\"\n        className=\"flex w-full items-center justify-between gap-4 px-4 py-3 text-left transition hover:bg-primary-900 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500\"\n        onClick={toggle}\n        aria-expanded={isOpen}\n        aria-controls={contentId}\n      >\n        <div className=\"flex flex-col\">\n          <span className=\"text-sm font-semibold text-primary-50\">{itemHeader.type || `Item ${index + 1}`}</span>\n          <span className=\"text-xs text-primary-300\">{summary || \"(no metadata)\"}</span>\n        </div>\n        <span className=\"text-primary-300 text-xl\" aria-hidden=\"true\">\n          {isOpen ? \"−\" : \"+\"}\n        </span>\n      </button>\n      {isOpen ? (\n        <div id={contentId} className=\"space-y-4 px-4 pb-4\">\n          <div>\n            <h3 className=\"mb-2 text-primary-100 text-sm font-semibold uppercase\">Header</h3>\n            <JsonViewer data={itemHeader as Record<string, unknown>} collapsedDepth={1} />\n          </div>\n          <div>\n            <h3 className=\"mb-2 text-primary-100 text-sm font-semibold uppercase\">Payload</h3>\n            {RAW_TYPES.has(itemHeader.type) ? (\n              // @ts-expect-error -- to be addressed when attachment typing is improved\n              <Attachment header={itemHeader} attachment={item[1].data as string} expanded />\n            ) : (\n              <JsonViewer data={payloadForViewer} collapsedDepth={2} />\n            )}\n          </div>\n        </div>\n      ) : null}\n    </div>\n  );\n}\n","import type { Envelope } from \"@sentry/core\";\nimport { Link, useParams } from \"react-router-dom\";\nimport { cn } from \"~/lib/cn\";\nimport CardList from \"~/telemetry/components/shared/CardList\";\nimport TimeSince from \"~/telemetry/components/shared/TimeSince\";\nimport { useSentryEnvelopes } from \"../../../data/useSentryEnvelopes\";\nimport useSentryStore from \"../../../store\";\nimport { sdkToPlatform } from \"../../../utils/sdkToPlatform\";\nimport { truncateId } from \"../../../utils/text\";\nimport PlatformIcon from \"../../shared/PlatformIcon\";\nimport EnvelopeDetails from \"./EnvelopeDetails\";\n\nexport default function EnvelopeList() {\n  const { id: selectedEnvelopeId } = useParams();\n  const allEnvelopes = useSentryEnvelopes();\n  const { getEnvelopeById } = useSentryStore();\n\n  const selectedEnvelope = selectedEnvelopeId ? getEnvelopeById(selectedEnvelopeId) : null;\n\n  if (allEnvelopes?.length) {\n    return (\n      <>\n        <CardList>\n          <div className=\"flex flex-col\">\n            {allEnvelopes.map((envelope: Envelope) => {\n              const [header, envelopeItems = []] = envelope;\n              const envelopeId: string | unknown = header.__spotlight_envelope_id;\n              if (typeof envelopeId !== \"string\") {\n                return null;\n              }\n              const itemTypes = new Set<string | undefined>(envelopeItems.map(item => item?.[0].type));\n              itemTypes.delete(undefined);\n              const itemTypesList = Array.from(itemTypes).join(\",\");\n\n              return (\n                <Link key={envelopeId} to={`/telemetry/insights/envelopes/${envelopeId}`}>\n                  <div\n                    className={cn(\n                      \"hover:bg-primary-900 border-b-primary-900 flex cursor-pointer items-center gap-4 border-b px-6 py-2 transition-all\",\n                      selectedEnvelopeId === envelopeId ? \"bg-primary-900\" : \"\",\n                    )}\n                  >\n                    <PlatformIcon className=\"rounded-md\" platform={sdkToPlatform(header.sdk?.name || \"unknown\")} />\n                    <div className=\"text-primary-300 flex flex-[0.25] flex-col truncate font-mono text-sm\">\n                      <h2 className=\"text-primary-50 text-xs\">Envelope Id</h2>\n                      <div className=\"flex items-center gap-x-2\">\n                        <div>{truncateId(envelopeId)}</div>\n                      </div>\n                    </div>\n\n                    <div className=\"text-primary-300 flex flex-[0.25] flex-col truncate font-mono text-sm\">\n                      <h2 className=\"text-primary-50 text-xs\">Event Types</h2>\n                      <span title={itemTypesList}>{itemTypesList || \"-\"}</span>\n                    </div>\n                    <div className=\"text-primary-300 flex flex-[0.25] flex-col truncate font-mono text-sm\">\n                      <h2 className=\"text-primary-50 text-xs\">Received</h2>\n                      {(header.sent_at as string | Date | number) ? (\n                        <TimeSince date={header.sent_at as string | Date | number} />\n                      ) : (\n                        \"-\"\n                      )}\n                    </div>\n                  </div>\n                </Link>\n              );\n            })}\n          </div>\n        </CardList>\n        {selectedEnvelope && <EnvelopeDetails envelope={selectedEnvelope} />}\n      </>\n    );\n  }\n  return <p className=\"text-primary-300 px-6 py-4\">No Envelopes found.</p>;\n}\n","import EnvelopeList from \"./EnvelopeList\";\n\nimport { Route, Routes } from \"react-router-dom\";\n\nexport default function EnvelopesTab() {\n  return (\n    <Routes>\n      <Route path=\"/:id\" element={<EnvelopeList />} />\n      <Route path=\"/\" element={<EnvelopeList />} />\n    </Routes>\n  );\n}\n","import { useContext } from \"react\";\nimport useSentryStore from \"../store\";\nimport { SentryEventsContext } from \"./sentryEventsContext\";\n\nexport const useSentrySdks = () => {\n  useContext(SentryEventsContext);\n  return useSentryStore(state => state.getSdks)();\n};\n","import CardList from \"~/telemetry/components/shared/CardList\";\nimport TimeSince from \"~/telemetry/components/shared/TimeSince\";\nimport { useSentrySdks } from \"~/telemetry/data/useSentrySdks\";\nimport { sdkToPlatform } from \"~/telemetry/utils/sdkToPlatform\";\nimport PlatformIcon from \"../../shared/PlatformIcon\";\n\nexport default function SdkList() {\n  const sdkList = useSentrySdks();\n\n  return (\n    <>\n      {sdkList.length !== 0 ? (\n        <CardList>\n          {sdkList.map(sdk => (\n            <div className=\"flex items-center gap-x-4 px-6 py-2\" key={`${sdk.name}-${sdk.version}`}>\n              <PlatformIcon className=\"rounded-md\" platform={sdkToPlatform(sdk.name)} />\n\n              <div className=\"text-primary-300 flex flex-col truncate font-mono text-sm\">\n                <div>{sdk.name}</div>\n                <div>{sdk.version}</div>\n                <TimeSince date={sdk.lastSeen} />\n              </div>\n            </div>\n          ))}\n        </CardList>\n      ) : (\n        <div className=\"text-primary-300 px-6 py-4\">Looks like there's no SDKs that have reported yet. 🤔</div>\n      )}\n    </>\n  );\n}\n","import { Route, Routes } from \"react-router-dom\";\nimport { SentryEventsContextProvider } from \"../../../data/sentryEventsContext\";\nimport SdkList from \"./SdkList\";\n\nexport default function SdksTab() {\n  return (\n    <SentryEventsContextProvider>\n      <Routes>\n        <Route path=\"/\" element={<SdkList />} />\n      </Routes>\n    </SentryEventsContextProvider>\n  );\n}\n","import type { SentryEvent } from \"~/telemetry/types\";\nimport type { WebVitals } from \"../constants\";\n\nconst SQRT_2 = Math.sqrt(2);\n\n// Gauss error function\nfunction erf(x: number): number {\n  const a1 = 0.254829592;\n  const a2 = -0.284496736;\n  const a3 = 1.421413741;\n  const a4 = -1.453152027;\n  const a5 = 1.061405429;\n  const p = 0.3275911;\n\n  const sign = x < 0 ? -1 : 1;\n  const absX = Math.abs(x);\n\n  const t = 1.0 / (1.0 + p * absX);\n  const y = 1.0 - ((((a5 * t + a4) * t + a3) * t + a2) * t + a1) * t * Math.exp(-absX * absX);\n\n  return sign * y;\n}\n\n// Sigma function for CDF score calculation\nexport function calculateCdfSigma(p10: number, p50: number): number {\n  return Math.abs(Math.log(p10) - Math.log(p50)) / (SQRT_2 * 0.9061938024368232);\n}\n\n// Calculates a log-normal CDF score based on a log-normal with a specific p10 and p50\nexport function calculateCdfScore(value: number, p10: number, p50: number): number {\n  return 0.5 * (1.0 - erf((Math.log(value) - Math.log(p50)) / (SQRT_2 * calculateCdfSigma(p50, p10))));\n}\n\ninterface ScoreComponent {\n  measurement: string;\n  weight: number;\n  p10: number;\n  p50: number;\n  optional?: boolean;\n}\n\ninterface Profile {\n  name: string;\n  scoreComponents: ScoreComponent[];\n  condition?: {\n    op: string;\n    name: string;\n    value: string | number;\n  };\n}\n\ninterface PerformanceScoreConfig {\n  profiles: Profile[];\n}\n\n// export function getPropertyByPath(obj: Record<string, any>, path: string): any {\n//   const keys = path.split('.');\n//   let result = obj;\n\n//   for (const key of keys) {\n//     if (result && result[key]) {\n//       result = result[key];\n//     } else {\n//       return undefined;\n//     }\n//   }\n\n//   return result;\n// }\n\n// export function matchCondition(condition: { op: string; name: string; value: string | number }, event: SentryEvent): boolean {\n//   const { op, name, value } = condition;\n\n//   if (op === 'eq') {\n//     const eventValue = getPropertyByPath({ event }, name);\n//     return eventValue === value;\n//   }\n\n//   return false;\n// }\n\nexport function normalizePerformanceScore(\n  event: SentryEvent,\n  performanceScore: PerformanceScoreConfig | undefined,\n): void {\n  if (!performanceScore) {\n    return;\n  }\n\n  for (const profile of performanceScore.profiles) {\n    // TODO: To check a matching condition as done in relay. Skipped right now because Browser type is not coming in Event data\n    // const condition = profile.condition;\n    // if (condition && !matchCondition(condition, event)) {\n    //   continue;\n    // }\n\n    const measurements = event.measurements;\n\n    if (measurements) {\n      let shouldAddTotal = false;\n\n      // TODO: To calculate performance score if all required metric fields are present in event measurement data.\n      // if (\n      //   profile.scoreComponents.some(c => {\n      //     return (\n      //       !Object.prototype.hasOwnProperty.call(measurements, c.measurement) &&\n      //       Math.abs(c.weight) >= Number.EPSILON &&\n      //       !c.optional\n      //     );\n      //   })\n      // ) {\n      //   break;\n      // }\n\n      let scoreTotal = 0.0;\n      let weightTotal = 0.0;\n\n      for (const component of profile.scoreComponents) {\n        if (component.optional && !Object.prototype.hasOwnProperty.call(measurements, component.measurement)) {\n          continue;\n        }\n\n        weightTotal += component.weight;\n      }\n\n      if (Math.abs(weightTotal) < Number.EPSILON) {\n        break;\n      }\n\n      for (const component of profile.scoreComponents) {\n        let normalizedComponentWeight = 0.0;\n\n        if (Object.prototype.hasOwnProperty.call(measurements, component.measurement)) {\n          normalizedComponentWeight = component.weight / weightTotal;\n          const value = measurements[component.measurement].value;\n          const cdf = calculateCdfScore(Math.max(0.0, value), component.p10, component.p50);\n          const componentScore = cdf * normalizedComponentWeight;\n          scoreTotal += componentScore;\n          shouldAddTotal = true;\n\n          measurements[`score.${component.measurement}`] = {\n            value: cdf,\n            unit: \"ratio\",\n          };\n        } else {\n          measurements[`score.${component.measurement}`] = {\n            value: 0,\n            unit: \"ratio\",\n          };\n        }\n\n        measurements[`score.weight.${component.measurement}`] = {\n          value: normalizedComponentWeight,\n          unit: \"ratio\",\n        };\n      }\n\n      if (shouldAddTotal && !Object.prototype.hasOwnProperty.call(measurements, \"score.total\")) {\n        measurements[\"score.total\"] = {\n          value: scoreTotal,\n          unit: \"ratio\",\n        };\n      }\n\n      break;\n    }\n  }\n}\n\nexport function calculateLabelCoordinates(\n  size: number,\n  x: number,\n  y: number,\n  barWidth: number,\n  metricWeights: {\n    [key in WebVitals]: number;\n  },\n  labelWidthPadding: number,\n  labelHeightPadding: number,\n  radiusPadding: number,\n) {\n  const radius = size / 2 + barWidth + radiusPadding;\n  const center = {\n    x: x + size / 2 - labelWidthPadding / 2,\n    y: y + size / 2 + labelHeightPadding / 2,\n  };\n  const sumMaxValues = Object.values(metricWeights).reduce((acc, val) => acc + val, 0);\n  const BASE_ANGLE = -90;\n  const weightToAngle = (weight: number) => (weight / sumMaxValues) * 360;\n  const [lcpAngle, fcpAngle, fidAngle, clsAngle, ttfbAngle] = [\n    metricWeights.lcp,\n    metricWeights.fcp,\n    metricWeights.fid,\n    metricWeights.cls,\n    metricWeights.ttfb,\n  ].map(weightToAngle);\n  const lcpX = center.x + radius * Math.cos(((BASE_ANGLE + lcpAngle / 2) * Math.PI) / 180);\n  const lcpY = center.y + radius * Math.sin(((BASE_ANGLE + lcpAngle / 2) * Math.PI) / 180);\n  const fcpX = center.x + radius * Math.cos(((BASE_ANGLE + lcpAngle + fcpAngle / 2) * Math.PI) / 180);\n  const fcpY = center.y + radius * Math.sin(((BASE_ANGLE + lcpAngle + fcpAngle / 2) * Math.PI) / 180);\n  const fidX = center.x + radius * Math.cos(((BASE_ANGLE + lcpAngle + fcpAngle + fidAngle / 2) * Math.PI) / 180);\n  const fidY = center.y + radius * Math.sin(((BASE_ANGLE + lcpAngle + fcpAngle + fidAngle / 2) * Math.PI) / 180);\n  const clsX =\n    center.x + radius * Math.cos(((BASE_ANGLE + lcpAngle + fcpAngle + fidAngle + clsAngle / 2) * Math.PI) / 180);\n  const clsY =\n    center.y + radius * Math.sin(((BASE_ANGLE + lcpAngle + fcpAngle + fidAngle + clsAngle / 2) * Math.PI) / 180);\n  // Padding hack for now since ttfb label is longer than the others\n  const ttfbX =\n    center.x -\n    12 +\n    radius * Math.cos(((BASE_ANGLE + lcpAngle + fcpAngle + fidAngle + clsAngle + ttfbAngle / 2) * Math.PI) / 180);\n  const ttfbY =\n    center.y +\n    radius * Math.sin(((BASE_ANGLE + lcpAngle + fcpAngle + fidAngle + clsAngle + ttfbAngle / 2) * Math.PI) / 180);\n\n  return {\n    lcpX,\n    lcpY,\n    fcpX,\n    fcpY,\n    fidX,\n    fidY,\n    clsX,\n    clsY,\n    ttfbX,\n    ttfbY,\n  };\n}\n","import { type KeyboardEvent, useMemo } from \"react\";\nimport { useNavigate } from \"react-router-dom\";\nimport { ReactComponent as Sort } from \"~/assets/sort.svg\";\nimport { ReactComponent as SortDown } from \"~/assets/sortDown.svg\";\nimport { cn } from \"~/lib/cn\";\nimport { PERFORMANCE_SCORE_PROFILES, WEB_VITALS_HEADERS, WEB_VITALS_SORT_KEYS } from \"~/telemetry/constants\";\nimport { useSentryEvents } from \"~/telemetry/data/useSentryEvents\";\nimport useSort from \"~/telemetry/hooks/useSort\";\nimport type { SentryEventWithPerformanceData } from \"~/telemetry/types\";\nimport { getFormattedDuration } from \"~/telemetry/utils/duration\";\nimport Table from \"~/ui/table\";\nimport { normalizePerformanceScore } from \"../../../utils/webVitals\";\n\ntype SentryEventComparator = (a: SentryEventWithPerformanceData, b: SentryEventWithPerformanceData) => number;\ntype WebVitalsSortTypes = (typeof WEB_VITALS_SORT_KEYS)[keyof typeof WEB_VITALS_SORT_KEYS];\nconst COMPARATORS: Record<WebVitalsSortTypes, SentryEventComparator> = {\n  [WEB_VITALS_SORT_KEYS.pages]: (a, b) => {\n    if (a.transaction && b.transaction && a.transaction < b.transaction) return -1;\n    if (a.transaction && b.transaction && a.transaction > b.transaction) return 1;\n    return 0;\n  },\n  [WEB_VITALS_SORT_KEYS.lcp]: (a, b) => a.measurements[\"score.lcp\"].value - b.measurements[\"score.lcp\"].value,\n  [WEB_VITALS_SORT_KEYS.fid]: (a, b) => a.measurements[\"score.fid\"].value - b.measurements[\"score.fid\"].value,\n  [WEB_VITALS_SORT_KEYS.fcp]: (a, b) => a.measurements[\"score.fcp\"].value - b.measurements[\"score.fcp\"].value,\n  [WEB_VITALS_SORT_KEYS.cls]: (a, b) => a.measurements[\"score.cls\"].value - b.measurements[\"score.cls\"].value,\n  [WEB_VITALS_SORT_KEYS.ttfb]: (a, b) => a.measurements[\"score.ttfb\"].value - b.measurements[\"score.ttfb\"].value,\n  [WEB_VITALS_SORT_KEYS.score]: (a, b) => a.measurements[\"score.total\"].value - b.measurements[\"score.total\"].value,\n};\n\nconst WebVitals = () => {\n  const events = useSentryEvents();\n  const navigate = useNavigate();\n  const { sort, toggleSortOrder } = useSort({ defaultSortType: WEB_VITALS_SORT_KEYS.score });\n\n  const measurementEvents: SentryEventWithPerformanceData[] = useMemo(() => {\n    const compareEvents = COMPARATORS[sort.active] || COMPARATORS[WEB_VITALS_SORT_KEYS.score];\n\n    return (\n      events\n        // TODO: Skipping this check because of not getting all required metrics\n        // && !PERFORMANCE_SCORE_PROFILES.profiles[0].scoreComponents.some(c => {\n        //   return (\n        //     !Object.prototype.hasOwnProperty.call(event.measurements, c.measurement) &&\n        //     Math.abs(c.weight) >= Number.EPSILON &&\n        //     !c.optional\n        //   );\n        // })\n        .filter(event => event.measurements && event?.contexts?.trace?.op === \"pageload\")\n        .map(event => {\n          const updatedEvent = { ...event };\n          normalizePerformanceScore(updatedEvent, PERFORMANCE_SCORE_PROFILES);\n          return updatedEvent as unknown as SentryEventWithPerformanceData;\n        })\n        .sort((a, b) => (sort.asc ? compareEvents(a, b) : compareEvents(b, a)))\n    );\n  }, [events, sort]);\n\n  const handleRowClick = (measurementEvent: SentryEventWithPerformanceData) => {\n    navigate(`/telemetry/insights/webvitals/${measurementEvent.event_id}`);\n  };\n\n  const handleRowKeyDown = (\n    e: KeyboardEvent<HTMLTableRowElement>,\n    measurementEvent: SentryEventWithPerformanceData,\n  ) => {\n    if (e.key === \"Enter\") {\n      handleRowClick(measurementEvent);\n    }\n  };\n\n  if (!measurementEvents?.length) {\n    return <p className=\"text-primary-300 px-6 py-4\">No Measurements found.</p>;\n  }\n  return (\n    <>\n      <Table variant=\"detail\">\n        <Table.Header>\n          <tr>\n            {WEB_VITALS_HEADERS.map(header => (\n              <th\n                key={header.id}\n                scope=\"col\"\n                className={cn(\n                  \"text-primary-100 px-6 py-3.5 text-sm font-semibold\",\n                  header.primary ? \"w-2/5\" : \"w-[15%]\",\n                )}\n              >\n                <div\n                  className={cn(\n                    \"flex cursor-pointer select-none items-center gap-1\",\n                    header.primary ? \"justify-start\" : \"justify-end\",\n                  )}\n                  onClick={() => toggleSortOrder(header.sortKey)}\n                >\n                  {header.title}\n                  {sort.active === header.sortKey ? (\n                    <SortDown\n                      width={12}\n                      height={12}\n                      className={cn(\n                        \"fill-primary-300\",\n                        sort.asc ? \"-translate-y-0.5 rotate-0\" : \"translate-y-0.5 rotate-180\",\n                      )}\n                    />\n                  ) : (\n                    <Sort width={12} height={12} className=\"stroke-primary-300\" />\n                  )}\n                </div>\n              </th>\n            ))}\n          </tr>\n        </Table.Header>\n        <Table.Body>\n          {measurementEvents.map(event => (\n            <tr\n              key={event.event_id}\n              className=\"hover:bg-primary-900 cursor-pointer\"\n              onClick={() => handleRowClick(event)}\n              onKeyDown={e => handleRowKeyDown(e, event)}\n              tabIndex={0}\n              role=\"link\"\n            >\n              <td className=\"text-primary-200 w-2/5 truncate whitespace-nowrap px-6 py-4 text-left text-sm font-medium\">\n                {event.transaction}\n              </td>\n              <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n                {event.measurements?.lcp ? getFormattedDuration(event.measurements.lcp.value) : \"-\"}\n              </td>\n              <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n                {event.measurements?.fcp ? getFormattedDuration(event.measurements.fcp.value) : \"-\"}\n              </td>\n              <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n                {event.measurements?.fid ? getFormattedDuration(event.measurements.fid.value) : \"-\"}\n              </td>\n              <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n                {event.measurements?.cls ? event.measurements.cls.value : \"-\"}\n              </td>\n              <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n                {event.measurements?.ttfb ? getFormattedDuration(event.measurements.ttfb.value) : \"-\"}\n              </td>\n              <td className=\"text-primary-200 w-[15%] whitespace-nowrap px-6 py-4 text-right text-sm font-medium\">\n                {event.measurements[\"score.total\"]?.value\n                  ? Math.trunc(event.measurements[\"score.total\"].value * 100)\n                  : \"-\"}\n              </td>\n            </tr>\n          ))}\n        </Table.Body>\n      </Table>\n    </>\n  );\n};\nexport default WebVitals;\n","import type { ReactNode } from \"react\";\nimport { useMemo } from \"react\";\nimport { cn } from \"~/lib/cn\";\n\nexport type RingChartProps = React.HTMLAttributes<SVGSVGElement> & {\n  backgroundColors: string[];\n  maxValues: number[];\n  segmentColors: string[];\n  text: React.ReactNode;\n  values: number[];\n  /**\n   * The width of the progress ring bar\n   */\n  barWidth?: number;\n  onHoverActions?: (() => void)[];\n  onBlur?: () => void;\n  /**\n   * Endcaps on the progress bar\n   */\n  progressEndcaps?: React.SVGAttributes<SVGCircleElement>[\"strokeLinecap\"];\n  size?: number;\n  /**\n   * The css to apply to the center text. A function may be provided to compute\n   * styles based on the state of the progress bar.\n   */\n  textCss?: string;\n  x?: number;\n  y?: number;\n};\n\nconst BASE_ROTATE = -90;\nconst PADDING = 1;\n\nfunction RingChart({\n  values,\n  maxValues,\n  size = 20,\n  barWidth = 3,\n  text,\n  textCss,\n  segmentColors,\n  backgroundColors,\n  progressEndcaps,\n  onHoverActions,\n  onBlur,\n  ...p\n}: RingChartProps) {\n  const foreignObjectSize = size / 2;\n  const foreignObjectOffset = size / 4;\n\n  const radius = size / 2 - barWidth / 2;\n  const circumference = 2 * Math.PI * radius;\n\n  const rings = useMemo<ReactNode[]>(() => {\n    const sumMaxValues = maxValues.reduce((acc, val) => acc + val, 0);\n    let currentRotate = BASE_ROTATE;\n\n    return maxValues.flatMap((maxValue, index) => {\n      const boundedValue = Math.min(Math.max(values[index], 0), maxValue);\n      const ringSegmentPadding = values.length > 1 ? PADDING : 0;\n      const maxOffset = (1 - Math.max(maxValue - ringSegmentPadding, 0) / sumMaxValues) * circumference;\n      const progressOffset = (1 - Math.max(boundedValue - ringSegmentPadding, 0) / sumMaxValues) * circumference;\n      const rotate = currentRotate;\n      currentRotate += (360 * maxValue) / sumMaxValues;\n\n      const cx = radius + barWidth / 2;\n      const key = `${cx}-${backgroundColors[index]}-${segmentColors[index]}`;\n\n      return [\n        <circle\n          key={`ring-bg-${key}`}\n          strokeDashoffset={maxOffset}\n          r={radius}\n          cx={cx}\n          cy={cx}\n          onMouseOver={() => onHoverActions?.[index]()}\n          onFocus={() => onHoverActions?.[index]()}\n          onMouseLeave={() => onBlur?.()}\n          onBlur={() => onBlur?.()}\n          className={cn(backgroundColors[index])}\n          style={{\n            fill: \"none\",\n            strokeWidth: barWidth,\n            strokeDasharray: `${circumference} ${circumference}`,\n            transform: `rotate(${rotate}deg)`,\n            transformOrigin: \"50% 50%\",\n            transition: \"stroke 300ms\",\n          }}\n        />,\n        <circle\n          key={`ring-bar-${key}`}\n          strokeDashoffset={progressOffset}\n          strokeLinecap={progressEndcaps}\n          r={radius}\n          cx={cx}\n          cy={cx}\n          onMouseOver={() => onHoverActions?.[index]()}\n          onFocus={() => onHoverActions?.[index]()}\n          onMouseLeave={() => onBlur?.()}\n          onBlur={() => onBlur?.()}\n          className={cn(segmentColors[index])}\n          style={{\n            fill: \"none\",\n            strokeWidth: barWidth,\n            strokeDasharray: `${circumference} ${circumference}`,\n            transform: `rotate(${rotate}deg)`,\n            transformOrigin: \"50% 50%\",\n            transition: \"stroke 300ms, stroke-dashoffset 300ms\",\n          }}\n        />,\n      ];\n    });\n  }, [\n    backgroundColors,\n    barWidth,\n    circumference,\n    maxValues,\n    onHoverActions,\n    onBlur,\n    progressEndcaps,\n    radius,\n    segmentColors,\n    values,\n  ]);\n\n  return (\n    <svg className=\"relative\" role=\"img\" height={radius * 2 + barWidth} width={radius * 2 + barWidth} {...p}>\n      <title>Web Vitals Breakdown</title>\n      {rings}\n      <foreignObject\n        height={foreignObjectSize}\n        width={foreignObjectSize}\n        x={foreignObjectOffset}\n        y={foreignObjectOffset}\n      >\n        {text !== undefined ? (\n          <div\n            className={cn(\"text-primary-100 flex h-full w-full items-center justify-center text-xl font-bold\", textCss)}\n          >\n            {text}\n          </div>\n        ) : null}\n      </foreignObject>\n    </svg>\n  );\n}\n\nexport default RingChart;\n","import { type DOMAttributes, type MouseEvent, type RefObject, useCallback, useRef } from \"react\";\ntype CallbackArgs = { height: number; left: number; top: number; width: number };\n\ntype Opts<T extends Element> = {\n  elem: RefObject<T>;\n  onPositionChange: (args: undefined | CallbackArgs) => void;\n} & DOMAttributes<T>;\n\nclass AbortError extends Error {}\nfunction getBoundingRect(elem: Element, { signal }: { signal: AbortSignal }): Promise<DOMRectReadOnly> {\n  return new Promise((resolve, reject) => {\n    if (signal.aborted) {\n      reject(new AbortError());\n    }\n\n    const abortHandler = () => {\n      reject(new AbortError());\n    };\n\n    const observer = new IntersectionObserver(entries => {\n      for (const entry of entries) {\n        const bounds = entry.boundingClientRect;\n        resolve(bounds);\n        signal.removeEventListener(\"abort\", abortHandler);\n      }\n      observer.disconnect();\n    });\n    signal.addEventListener(\"abort\", abortHandler);\n    observer.observe(elem);\n  });\n}\nfunction useMouseTracking<T extends Element>({\n  elem,\n  onPositionChange,\n  onMouseEnter,\n  onMouseMove,\n  onMouseLeave,\n  ...rest\n}: Opts<T>) {\n  const controller = useRef<AbortController>(new AbortController());\n\n  const handlePositionChange = useCallback(\n    async (e: MouseEvent<T>) => {\n      if (!elem.current) {\n        onPositionChange(undefined);\n        return;\n      }\n\n      try {\n        const rect = await getBoundingRect(elem.current, {\n          signal: controller.current.signal,\n        });\n        onPositionChange({\n          height: rect.height,\n          left: Math.min(e.clientX - rect.left, rect.width),\n          top: Math.min(e.clientY - rect.top, rect.height),\n          width: rect.width,\n        });\n      } catch (err) {\n        if (err instanceof AbortError) {\n          // Ignore cancelled getBoundingRect calls\n          return;\n        }\n      }\n    },\n    [onPositionChange, elem],\n  );\n\n  const handleOnMouseLeave = useCallback(() => {\n    if (controller.current) {\n      controller.current.abort();\n      controller.current = new AbortController();\n    }\n\n    onPositionChange(undefined);\n  }, [onPositionChange]);\n\n  return {\n    ...rest,\n    onMouseEnter: (e: MouseEvent<T>) => {\n      handlePositionChange(e);\n      onMouseEnter?.(e);\n    },\n    onMouseMove: (e: MouseEvent<T>) => {\n      // prevent outside elements from firing, for example a tooltip\n      if (!elem.current?.contains(e.target as Node)) {\n        return;\n      }\n\n      handlePositionChange(e);\n      onMouseMove?.(e);\n    },\n    onMouseLeave: (e: MouseEvent<T>) => {\n      handleOnMouseLeave();\n      onMouseLeave?.(e);\n    },\n  };\n}\n\nexport default useMouseTracking;\n","import { useRef, useState } from \"react\";\nimport { cn } from \"~/lib/cn\";\nimport type { MetricScoreProps, MetricWeightsProps } from \"~/telemetry/types\";\nimport { calculateLabelCoordinates } from \"~/telemetry/utils/webVitals\";\nimport RingChart from \"~/ui/ringChart\";\nimport type { WebVitals } from \"../../../constants\";\nimport useMouseTracking from \"../../../hooks/useMouseTracking\";\n\ntype Coordinates = {\n  x: number;\n  y: number;\n};\n\ntype WebVitalsLabelCoordinates = {\n  [p in WebVitals]?: Coordinates;\n};\n\ntype WebVitalLabelProps = {\n  coordinates: Coordinates;\n  inPerformanceWidget?: boolean;\n  webVital: WebVitals;\n  labelCoordinates?: WebVitalsLabelCoordinates;\n};\n\nfunction WebVitalLabel({ webVital, coordinates, labelCoordinates = {} }: WebVitalLabelProps) {\n  const xOffset = labelCoordinates?.[webVital]?.x ?? 0;\n  const yOffset = labelCoordinates?.[webVital]?.y ?? 0;\n  return (\n    <text\n      className=\"fill-primary-200 stroke-primary-200 uppercase\"\n      x={coordinates.x + xOffset}\n      y={coordinates.y + yOffset}\n    >\n      {webVital}\n    </text>\n  );\n}\n\ntype PerformanceChartProps = {\n  metricScore: MetricScoreProps;\n  metricWeights: MetricWeightsProps;\n  totalScore?: number;\n  size?: number;\n  barWidth?: number;\n  left?: number;\n  top?: number;\n  labelWidthPadding?: number;\n  labelHeightPadding?: number;\n  radiusPadding?: number;\n};\n\nconst PerformanceChart = ({\n  metricScore,\n  metricWeights,\n  totalScore,\n  size = 200,\n  barWidth = 25,\n  left = 40,\n  top = 25,\n  labelWidthPadding = 28,\n  labelHeightPadding = 14,\n  radiusPadding = 4,\n}: PerformanceChartProps) => {\n  const [webVitalTooltip, setWebVitalTooltip] = useState<WebVitals | null>(null);\n  const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n  const containerRef = useRef<HTMLDivElement>(null);\n  const mouseTrackingProps = useMouseTracking({\n    elem: containerRef,\n    onPositionChange: args => {\n      if (args) {\n        const { left, top } = args;\n        setMousePosition({ x: left, y: top });\n      }\n    },\n  });\n\n  const { lcpX, lcpY, fcpX, fcpY, fidX, fidY, clsX, clsY, ttfbX, ttfbY } = calculateLabelCoordinates(\n    size,\n    left,\n    top,\n    barWidth,\n    metricWeights,\n    labelWidthPadding,\n    labelHeightPadding,\n    radiusPadding,\n  );\n  return (\n    <div ref={containerRef} {...mouseTrackingProps}>\n      {webVitalTooltip && (\n        <div\n          className={cn(\n            \"bg-primary-900 border-primary-400 absolute flex w-40 items-center justify-between rounded-lg border p-3 shadow-lg\",\n          )}\n          style={{\n            transform: `translate3d(${mousePosition.x - 100}px, ${mousePosition.y - 74}px, 0px)`,\n          }}\n        >\n          <span className=\"text-primary-200\">{`${webVitalTooltip.toUpperCase()} Score:`}</span>\n          <span className=\"text-primary-200 font-semibold\">{metricScore[`${webVitalTooltip}Score`]}</span>\n        </div>\n      )}\n\n      <svg height={size + 3 * top} width={size + 3 * left}>\n        <title>Performance Chart showing Core Web Vitals metrics</title>\n        <>\n          {metricWeights.lcp > 0 && (\n            <WebVitalLabel\n              webVital=\"lcp\"\n              coordinates={{\n                x: lcpX,\n                y: lcpY,\n              }}\n            />\n          )}\n          {metricWeights.fcp > 0 && (\n            <WebVitalLabel\n              webVital=\"fcp\"\n              coordinates={{\n                x: fcpX,\n                y: fcpY,\n              }}\n            />\n          )}\n          {metricWeights.fid > 0 && (\n            <WebVitalLabel\n              webVital=\"fid\"\n              coordinates={{\n                x: fidX,\n                y: fidY,\n              }}\n            />\n          )}\n          {metricWeights.cls > 0 && (\n            <WebVitalLabel\n              webVital=\"cls\"\n              coordinates={{\n                x: clsX,\n                y: clsY,\n              }}\n            />\n          )}\n          {metricWeights.ttfb > 0 && (\n            <WebVitalLabel\n              webVital=\"ttfb\"\n              coordinates={{\n                x: ttfbX,\n                y: ttfbY,\n              }}\n            />\n          )}\n        </>\n\n        <RingChart\n          values={[\n            (metricScore.lcpScore ?? 0) * metricWeights.lcp * 0.01,\n            (metricScore.fcpScore ?? 0) * metricWeights.fcp * 0.01,\n            (metricScore.fidScore ?? 0) * metricWeights.fid * 0.01,\n            (metricScore.clsScore ?? 0) * metricWeights.cls * 0.01,\n            (metricScore.ttfbScore ?? 0) * metricWeights.ttfb * 0.01,\n          ]}\n          maxValues={[metricWeights.lcp, metricWeights.fcp, metricWeights.fid, metricWeights.cls, metricWeights.ttfb]}\n          text={totalScore}\n          size={size}\n          barWidth={barWidth}\n          segmentColors={[\n            \"stroke-primary-300\",\n            \"stroke-primary-400\",\n            \"stroke-primary-500\",\n            \"stroke-primary-600\",\n            \"stroke-primary-700\",\n          ]}\n          backgroundColors={[\n            \"stroke-gray-400\",\n            \"stroke-gray-400\",\n            \"stroke-gray-400\",\n            \"stroke-gray-400\",\n            \"stroke-gray-400\",\n          ]}\n          x={left}\n          y={top}\n          onHoverActions={[\n            () => setWebVitalTooltip(\"lcp\"),\n            () => setWebVitalTooltip(\"fcp\"),\n            () => setWebVitalTooltip(\"fid\"),\n            () => setWebVitalTooltip(\"cls\"),\n            () => setWebVitalTooltip(\"ttfb\"),\n          ]}\n          onBlur={() => setWebVitalTooltip(null)}\n        />\n      </svg>\n    </div>\n  );\n};\n\nexport default PerformanceChart;\n","import { useParams } from \"react-router-dom\";\nimport { PERFORMANCE_SCORE_PROFILES } from \"~/telemetry/constants\";\nimport { useSentryEvents } from \"~/telemetry/data/useSentryEvents\";\nimport type { MetricScoreProps, MetricWeightsProps, SentryEventWithPerformanceData } from \"~/telemetry/types\";\nimport { getFormattedDuration } from \"~/telemetry/utils/duration\";\nimport Breadcrumbs from \"~/ui/breadcrumbs\";\nimport { normalizePerformanceScore } from \"../../../utils/webVitals\";\nimport PerformanceChart from \"./PerformanceChart\";\n\nconst WebVitalsDetail = () => {\n  const events = useSentryEvents();\n  const { page } = useParams();\n  const measurementEvents: SentryEventWithPerformanceData[] = [];\n\n  events\n    .filter(event => event.event_id === page)\n    .map(event => {\n      const updatedEvent = { ...event };\n      normalizePerformanceScore(updatedEvent, PERFORMANCE_SCORE_PROFILES);\n      measurementEvents.push(updatedEvent as unknown as SentryEventWithPerformanceData);\n    });\n\n  if (page && measurementEvents.length) {\n    const metricScore: MetricScoreProps = {\n      fcpScore: Math.trunc(measurementEvents[0].measurements[\"score.fcp\"].value * 100),\n      lcpScore: Math.trunc(measurementEvents[0].measurements[\"score.lcp\"].value * 100),\n      fidScore: Math.trunc(measurementEvents[0].measurements[\"score.fid\"].value * 100),\n      clsScore: Math.trunc(measurementEvents[0].measurements[\"score.cls\"].value * 100),\n      ttfbScore: Math.trunc(measurementEvents[0].measurements[\"score.ttfb\"].value * 100),\n    };\n\n    const metricWeights: MetricWeightsProps = {\n      fcp: Math.trunc(measurementEvents[0].measurements[\"score.weight.fcp\"].value * 100),\n      lcp: Math.trunc(measurementEvents[0].measurements[\"score.weight.lcp\"].value * 100),\n      fid: Math.trunc(measurementEvents[0].measurements[\"score.weight.fid\"].value * 100),\n      cls: Math.trunc(measurementEvents[0].measurements[\"score.weight.cls\"].value * 100),\n      ttfb: Math.trunc(measurementEvents[0].measurements[\"score.weight.ttfb\"].value * 100),\n    };\n\n    const totalScore: number = Math.trunc(measurementEvents[0].measurements[\"score.total\"].value * 100);\n\n    const projectScoreHeaders = [\n      {\n        id: \"fcpScore\",\n        description: \"First Contentful Paint\",\n        label: \"FCP\",\n        score: measurementEvents[0].measurements?.fcp\n          ? getFormattedDuration(measurementEvents[0].measurements.fcp.value)\n          : \"-\",\n      },\n      {\n        id: \"lcpScore\",\n        description: \"Largest Contentful Paint\",\n        label: \"LCP\",\n        score: measurementEvents[0].measurements?.lcp\n          ? getFormattedDuration(measurementEvents[0].measurements.lcp.value)\n          : \"-\",\n      },\n      {\n        id: \"fidScore\",\n        description: \"First Input Delay\",\n        label: \"FID\",\n        score: measurementEvents[0].measurements?.fid\n          ? getFormattedDuration(measurementEvents[0].measurements.fid.value)\n          : \"-\",\n      },\n      {\n        id: \"clsScore\",\n        description: \"Cumulative Layout Shift\",\n        label: \"CLS\",\n        score: measurementEvents[0].measurements?.cls\n          ? getFormattedDuration(measurementEvents[0].measurements.cls.value)\n          : \"-\",\n      },\n      {\n        id: \"ttfbScore\",\n        description: \"Time to First Byte\",\n        label: \"TTFB\",\n        score: measurementEvents[0].measurements?.ttfb\n          ? getFormattedDuration(measurementEvents[0].measurements.ttfb.value)\n          : \"-\",\n      },\n    ];\n\n    return (\n      <>\n        <Breadcrumbs\n          crumbs={[\n            {\n              id: \"webVitals\",\n              label: \"Web Vitals\",\n              link: true,\n              to: \"/insights/webvitals\",\n            },\n            {\n              id: \"performanceSummary\",\n              label: \"Performance Summary\",\n              link: false,\n            },\n          ]}\n        />\n        <div className=\"w-full px-6\">\n          <div className=\"flex w-full items-center justify-center p-6\">\n            <PerformanceChart totalScore={totalScore} metricWeights={metricWeights} metricScore={metricScore} />\n          </div>\n          <div className=\"flex w-full flex-wrap justify-center gap-2\">\n            {projectScoreHeaders.map(header => (\n              <div\n                key={header.id}\n                className=\"bg-primary-900 border-primary-400 flex w-80 flex-col items-center gap-4 rounded-lg border p-2 shadow-lg\"\n              >\n                <span className=\"text-primary-300 text-base font-semibold\">{header.label}</span>\n                <span className=\"text-primary-300 text-sm font-light\">{header.description}</span>\n                <h2 className=\"text-primary-300 text-lg font-bold\">{header.score ?? \"-\"}</h2>\n              </div>\n            ))}\n          </div>\n        </div>\n      </>\n    );\n  }\n  return <p className=\"text-primary-300 px-6 py-4\">No measurement found.</p>;\n};\n\nexport default WebVitalsDetail;\n","import { Navigate, Outlet, Route, Routes } from \"react-router-dom\";\nimport Profiles from \"./Profiles\";\nimport Queries from \"./Queries\";\nimport QuerySummary from \"./QuerySummary\";\nimport Resources from \"./Resources\";\nimport AItracesTab from \"./aiTraces\";\nimport EnvelopesTab from \"./envelopes\";\nimport SdksTab from \"./sdks\";\nimport WebVitals from \"./webVitals\";\nimport WebVitalsDetail from \"./webVitals/WebVitalsDetail\";\n\nexport default function InsightsTabDetails() {\n  return (\n    <>\n      <div className=\"flex min-h-0 flex-1 flex-col overflow-x-hidden overflow-y-auto\">\n        <Routes>\n          <Route path=\"queries\" element={<Queries />} />\n          <Route path=\"queries/:type\" element={<QuerySummary />} />\n          <Route path=\"resources\" element={<Resources />} />\n          <Route path=\"webvitals\" element={<WebVitals />} />\n          <Route path=\"webvitals/:page\" element={<WebVitalsDetail />} />\n          <Route path=\"envelopes/*\" element={<EnvelopesTab />} />\n          <Route path=\"sdks/*\" element={<SdksTab />} />\n          <Route path=\"profiles\" element={<Profiles />} />\n          <Route path=\"aitraces/*\" element={<AItracesTab />} />\n          {/* Default tab */}\n          <Route path=\"*\" element={<Navigate to=\"queries\" replace />} />\n        </Routes>\n        <Outlet />\n      </div>\n    </>\n  );\n}\n","import InsightsTabDetails from \"../components/insights\";\nimport { SentryEventsContextProvider } from \"../data/sentryEventsContext\";\n\nimport { Route, Routes } from \"react-router-dom\";\n\nexport default function InsightsTab() {\n  return (\n    <SentryEventsContextProvider>\n      <Routes>\n        <Route path=\"/*\" element={<InsightsTabDetails />} />\n      </Routes>\n    </SentryEventsContextProvider>\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M10%2020a1%201%200%200%200%20.553.895l2%201A1%201%200%200%200%2014%2021v-7a2%202%200%200%201%20.517-1.341L21.74%204.67A1%201%200%200%200%2021%203H3a1%201%200%200%200-.742%201.67l7.225%207.989A2%202%200%200%201%2010%2014z'/%3e%3c/svg%3e\"","\"use client\";\n\n// src/collection-legacy.tsx\nimport React from \"react\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createCollection(name) {\n  const PROVIDER_NAME = name + \"CollectionProvider\";\n  const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);\n  const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(\n    PROVIDER_NAME,\n    { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }\n  );\n  const CollectionProvider = (props) => {\n    const { scope, children } = props;\n    const ref = React.useRef(null);\n    const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;\n    return /* @__PURE__ */ jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });\n  };\n  CollectionProvider.displayName = PROVIDER_NAME;\n  const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n  const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);\n  const CollectionSlot = React.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children } = props;\n      const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n      const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);\n      return /* @__PURE__ */ jsx(CollectionSlotImpl, { ref: composedRefs, children });\n    }\n  );\n  CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n  const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n  const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n  const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);\n  const CollectionItemSlot = React.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children, ...itemData } = props;\n      const ref = React.useRef(null);\n      const composedRefs = useComposedRefs(forwardedRef, ref);\n      const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n      React.useEffect(() => {\n        context.itemMap.set(ref, { ref, ...itemData });\n        return () => void context.itemMap.delete(ref);\n      });\n      return /* @__PURE__ */ jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n    }\n  );\n  CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n  function useCollection(scope) {\n    const context = useCollectionContext(name + \"CollectionConsumer\", scope);\n    const getItems = React.useCallback(() => {\n      const collectionNode = context.collectionRef.current;\n      if (!collectionNode) return [];\n      const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));\n      const items = Array.from(context.itemMap.values());\n      const orderedItems = items.sort(\n        (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)\n      );\n      return orderedItems;\n    }, [context.collectionRef, context.itemMap]);\n    return getItems;\n  }\n  return [\n    { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n    useCollection,\n    createCollectionScope\n  ];\n}\n\n// src/collection.tsx\nimport React2 from \"react\";\nimport { createContextScope as createContextScope2 } from \"@radix-ui/react-context\";\nimport { useComposedRefs as useComposedRefs2 } from \"@radix-ui/react-compose-refs\";\nimport { createSlot as createSlot2 } from \"@radix-ui/react-slot\";\n\n// src/ordered-dictionary.ts\nvar __instanciated = /* @__PURE__ */ new WeakMap();\nvar OrderedDict = class _OrderedDict extends Map {\n  #keys;\n  constructor(entries) {\n    super(entries);\n    this.#keys = [...super.keys()];\n    __instanciated.set(this, true);\n  }\n  set(key, value) {\n    if (__instanciated.get(this)) {\n      if (this.has(key)) {\n        this.#keys[this.#keys.indexOf(key)] = key;\n      } else {\n        this.#keys.push(key);\n      }\n    }\n    super.set(key, value);\n    return this;\n  }\n  insert(index, key, value) {\n    const has = this.has(key);\n    const length = this.#keys.length;\n    const relativeIndex = toSafeInteger(index);\n    let actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n    const safeIndex = actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n    if (safeIndex === this.size || has && safeIndex === this.size - 1 || safeIndex === -1) {\n      this.set(key, value);\n      return this;\n    }\n    const size = this.size + (has ? 0 : 1);\n    if (relativeIndex < 0) {\n      actualIndex++;\n    }\n    const keys = [...this.#keys];\n    let nextValue;\n    let shouldSkip = false;\n    for (let i = actualIndex; i < size; i++) {\n      if (actualIndex === i) {\n        let nextKey = keys[i];\n        if (keys[i] === key) {\n          nextKey = keys[i + 1];\n        }\n        if (has) {\n          this.delete(key);\n        }\n        nextValue = this.get(nextKey);\n        this.set(key, value);\n      } else {\n        if (!shouldSkip && keys[i - 1] === key) {\n          shouldSkip = true;\n        }\n        const currentKey = keys[shouldSkip ? i : i - 1];\n        const currentValue = nextValue;\n        nextValue = this.get(currentKey);\n        this.delete(currentKey);\n        this.set(currentKey, currentValue);\n      }\n    }\n    return this;\n  }\n  with(index, key, value) {\n    const copy = new _OrderedDict(this);\n    copy.insert(index, key, value);\n    return copy;\n  }\n  before(key) {\n    const index = this.#keys.indexOf(key) - 1;\n    if (index < 0) {\n      return void 0;\n    }\n    return this.entryAt(index);\n  }\n  /**\n   * Sets a new key-value pair at the position before the given key.\n   */\n  setBefore(key, newKey, value) {\n    const index = this.#keys.indexOf(key);\n    if (index === -1) {\n      return this;\n    }\n    return this.insert(index, newKey, value);\n  }\n  after(key) {\n    let index = this.#keys.indexOf(key);\n    index = index === -1 || index === this.size - 1 ? -1 : index + 1;\n    if (index === -1) {\n      return void 0;\n    }\n    return this.entryAt(index);\n  }\n  /**\n   * Sets a new key-value pair at the position after the given key.\n   */\n  setAfter(key, newKey, value) {\n    const index = this.#keys.indexOf(key);\n    if (index === -1) {\n      return this;\n    }\n    return this.insert(index + 1, newKey, value);\n  }\n  first() {\n    return this.entryAt(0);\n  }\n  last() {\n    return this.entryAt(-1);\n  }\n  clear() {\n    this.#keys = [];\n    return super.clear();\n  }\n  delete(key) {\n    const deleted = super.delete(key);\n    if (deleted) {\n      this.#keys.splice(this.#keys.indexOf(key), 1);\n    }\n    return deleted;\n  }\n  deleteAt(index) {\n    const key = this.keyAt(index);\n    if (key !== void 0) {\n      return this.delete(key);\n    }\n    return false;\n  }\n  at(index) {\n    const key = at(this.#keys, index);\n    if (key !== void 0) {\n      return this.get(key);\n    }\n  }\n  entryAt(index) {\n    const key = at(this.#keys, index);\n    if (key !== void 0) {\n      return [key, this.get(key)];\n    }\n  }\n  indexOf(key) {\n    return this.#keys.indexOf(key);\n  }\n  keyAt(index) {\n    return at(this.#keys, index);\n  }\n  from(key, offset) {\n    const index = this.indexOf(key);\n    if (index === -1) {\n      return void 0;\n    }\n    let dest = index + offset;\n    if (dest < 0) dest = 0;\n    if (dest >= this.size) dest = this.size - 1;\n    return this.at(dest);\n  }\n  keyFrom(key, offset) {\n    const index = this.indexOf(key);\n    if (index === -1) {\n      return void 0;\n    }\n    let dest = index + offset;\n    if (dest < 0) dest = 0;\n    if (dest >= this.size) dest = this.size - 1;\n    return this.keyAt(dest);\n  }\n  find(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return entry;\n      }\n      index++;\n    }\n    return void 0;\n  }\n  findIndex(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return index;\n      }\n      index++;\n    }\n    return -1;\n  }\n  filter(predicate, thisArg) {\n    const entries = [];\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        entries.push(entry);\n      }\n      index++;\n    }\n    return new _OrderedDict(entries);\n  }\n  map(callbackfn, thisArg) {\n    const entries = [];\n    let index = 0;\n    for (const entry of this) {\n      entries.push([entry[0], Reflect.apply(callbackfn, thisArg, [entry, index, this])]);\n      index++;\n    }\n    return new _OrderedDict(entries);\n  }\n  reduce(...args) {\n    const [callbackfn, initialValue] = args;\n    let index = 0;\n    let accumulator = initialValue ?? this.at(0);\n    for (const entry of this) {\n      if (index === 0 && args.length === 1) {\n        accumulator = entry;\n      } else {\n        accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n      }\n      index++;\n    }\n    return accumulator;\n  }\n  reduceRight(...args) {\n    const [callbackfn, initialValue] = args;\n    let accumulator = initialValue ?? this.at(-1);\n    for (let index = this.size - 1; index >= 0; index--) {\n      const entry = this.at(index);\n      if (index === this.size - 1 && args.length === 1) {\n        accumulator = entry;\n      } else {\n        accumulator = Reflect.apply(callbackfn, this, [accumulator, entry, index, this]);\n      }\n    }\n    return accumulator;\n  }\n  toSorted(compareFn) {\n    const entries = [...this.entries()].sort(compareFn);\n    return new _OrderedDict(entries);\n  }\n  toReversed() {\n    const reversed = new _OrderedDict();\n    for (let index = this.size - 1; index >= 0; index--) {\n      const key = this.keyAt(index);\n      const element = this.get(key);\n      reversed.set(key, element);\n    }\n    return reversed;\n  }\n  toSpliced(...args) {\n    const entries = [...this.entries()];\n    entries.splice(...args);\n    return new _OrderedDict(entries);\n  }\n  slice(start, end) {\n    const result = new _OrderedDict();\n    let stop = this.size - 1;\n    if (start === void 0) {\n      return result;\n    }\n    if (start < 0) {\n      start = start + this.size;\n    }\n    if (end !== void 0 && end > 0) {\n      stop = end - 1;\n    }\n    for (let index = start; index <= stop; index++) {\n      const key = this.keyAt(index);\n      const element = this.get(key);\n      result.set(key, element);\n    }\n    return result;\n  }\n  every(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (!Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return false;\n      }\n      index++;\n    }\n    return true;\n  }\n  some(predicate, thisArg) {\n    let index = 0;\n    for (const entry of this) {\n      if (Reflect.apply(predicate, thisArg, [entry, index, this])) {\n        return true;\n      }\n      index++;\n    }\n    return false;\n  }\n};\nfunction at(array, index) {\n  if (\"at\" in Array.prototype) {\n    return Array.prototype.at.call(array, index);\n  }\n  const actualIndex = toSafeIndex(array, index);\n  return actualIndex === -1 ? void 0 : array[actualIndex];\n}\nfunction toSafeIndex(array, index) {\n  const length = array.length;\n  const relativeIndex = toSafeInteger(index);\n  const actualIndex = relativeIndex >= 0 ? relativeIndex : length + relativeIndex;\n  return actualIndex < 0 || actualIndex >= length ? -1 : actualIndex;\n}\nfunction toSafeInteger(number) {\n  return number !== number || number === 0 ? 0 : Math.trunc(number);\n}\n\n// src/collection.tsx\nimport { jsx as jsx2 } from \"react/jsx-runtime\";\nfunction createCollection2(name) {\n  const PROVIDER_NAME = name + \"CollectionProvider\";\n  const [createCollectionContext, createCollectionScope] = createContextScope2(PROVIDER_NAME);\n  const [CollectionContextProvider, useCollectionContext] = createCollectionContext(\n    PROVIDER_NAME,\n    {\n      collectionElement: null,\n      collectionRef: { current: null },\n      collectionRefObject: { current: null },\n      itemMap: new OrderedDict(),\n      setItemMap: () => void 0\n    }\n  );\n  const CollectionProvider = ({ state, ...props }) => {\n    return state ? /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state }) : /* @__PURE__ */ jsx2(CollectionInit, { ...props });\n  };\n  CollectionProvider.displayName = PROVIDER_NAME;\n  const CollectionInit = (props) => {\n    const state = useInitCollection();\n    return /* @__PURE__ */ jsx2(CollectionProviderImpl, { ...props, state });\n  };\n  CollectionInit.displayName = PROVIDER_NAME + \"Init\";\n  const CollectionProviderImpl = (props) => {\n    const { scope, children, state } = props;\n    const ref = React2.useRef(null);\n    const [collectionElement, setCollectionElement] = React2.useState(\n      null\n    );\n    const composeRefs = useComposedRefs2(ref, setCollectionElement);\n    const [itemMap, setItemMap] = state;\n    React2.useEffect(() => {\n      if (!collectionElement) return;\n      const observer = getChildListObserver(() => {\n      });\n      observer.observe(collectionElement, {\n        childList: true,\n        subtree: true\n      });\n      return () => {\n        observer.disconnect();\n      };\n    }, [collectionElement]);\n    return /* @__PURE__ */ jsx2(\n      CollectionContextProvider,\n      {\n        scope,\n        itemMap,\n        setItemMap,\n        collectionRef: composeRefs,\n        collectionRefObject: ref,\n        collectionElement,\n        children\n      }\n    );\n  };\n  CollectionProviderImpl.displayName = PROVIDER_NAME + \"Impl\";\n  const COLLECTION_SLOT_NAME = name + \"CollectionSlot\";\n  const CollectionSlotImpl = createSlot2(COLLECTION_SLOT_NAME);\n  const CollectionSlot = React2.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children } = props;\n      const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);\n      const composedRefs = useComposedRefs2(forwardedRef, context.collectionRef);\n      return /* @__PURE__ */ jsx2(CollectionSlotImpl, { ref: composedRefs, children });\n    }\n  );\n  CollectionSlot.displayName = COLLECTION_SLOT_NAME;\n  const ITEM_SLOT_NAME = name + \"CollectionItemSlot\";\n  const ITEM_DATA_ATTR = \"data-radix-collection-item\";\n  const CollectionItemSlotImpl = createSlot2(ITEM_SLOT_NAME);\n  const CollectionItemSlot = React2.forwardRef(\n    (props, forwardedRef) => {\n      const { scope, children, ...itemData } = props;\n      const ref = React2.useRef(null);\n      const [element, setElement] = React2.useState(null);\n      const composedRefs = useComposedRefs2(forwardedRef, ref, setElement);\n      const context = useCollectionContext(ITEM_SLOT_NAME, scope);\n      const { setItemMap } = context;\n      const itemDataRef = React2.useRef(itemData);\n      if (!shallowEqual(itemDataRef.current, itemData)) {\n        itemDataRef.current = itemData;\n      }\n      const memoizedItemData = itemDataRef.current;\n      React2.useEffect(() => {\n        const itemData2 = memoizedItemData;\n        setItemMap((map) => {\n          if (!element) {\n            return map;\n          }\n          if (!map.has(element)) {\n            map.set(element, { ...itemData2, element });\n            return map.toSorted(sortByDocumentPosition);\n          }\n          return map.set(element, { ...itemData2, element }).toSorted(sortByDocumentPosition);\n        });\n        return () => {\n          setItemMap((map) => {\n            if (!element || !map.has(element)) {\n              return map;\n            }\n            map.delete(element);\n            return new OrderedDict(map);\n          });\n        };\n      }, [element, memoizedItemData, setItemMap]);\n      return /* @__PURE__ */ jsx2(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: \"\" }, ref: composedRefs, children });\n    }\n  );\n  CollectionItemSlot.displayName = ITEM_SLOT_NAME;\n  function useInitCollection() {\n    return React2.useState(new OrderedDict());\n  }\n  function useCollection(scope) {\n    const { itemMap } = useCollectionContext(name + \"CollectionConsumer\", scope);\n    return itemMap;\n  }\n  const functions = {\n    createCollectionScope,\n    useCollection,\n    useInitCollection\n  };\n  return [\n    { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },\n    functions\n  ];\n}\nfunction shallowEqual(a, b) {\n  if (a === b) return true;\n  if (typeof a !== \"object\" || typeof b !== \"object\") return false;\n  if (a == null || b == null) return false;\n  const keysA = Object.keys(a);\n  const keysB = Object.keys(b);\n  if (keysA.length !== keysB.length) return false;\n  for (const key of keysA) {\n    if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n    if (a[key] !== b[key]) return false;\n  }\n  return true;\n}\nfunction isElementPreceding(a, b) {\n  return !!(b.compareDocumentPosition(a) & Node.DOCUMENT_POSITION_PRECEDING);\n}\nfunction sortByDocumentPosition(a, b) {\n  return !a[1].element || !b[1].element ? 0 : isElementPreceding(a[1].element, b[1].element) ? -1 : 1;\n}\nfunction getChildListObserver(callback) {\n  const observer = new MutationObserver((mutationsList) => {\n    for (const mutation of mutationsList) {\n      if (mutation.type === \"childList\") {\n        callback();\n        return;\n      }\n    }\n  });\n  return observer;\n}\nexport {\n  createCollection,\n  createCollection2 as unstable_createCollection\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/direction/src/direction.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DirectionContext = React.createContext(void 0);\nvar DirectionProvider = (props) => {\n  const { dir, children } = props;\n  return /* @__PURE__ */ jsx(DirectionContext.Provider, { value: dir, children });\n};\nfunction useDirection(localDir) {\n  const globalDir = React.useContext(DirectionContext);\n  return localDir || globalDir || \"ltr\";\n}\nvar Provider = DirectionProvider;\nexport {\n  DirectionProvider,\n  Provider,\n  useDirection\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// packages/react/focus-guards/src/focus-guards.tsx\nimport * as React from \"react\";\nvar count = 0;\nfunction FocusGuards(props) {\n  useFocusGuards();\n  return props.children;\n}\nfunction useFocusGuards() {\n  React.useEffect(() => {\n    const edgeGuards = document.querySelectorAll(\"[data-radix-focus-guard]\");\n    document.body.insertAdjacentElement(\"afterbegin\", edgeGuards[0] ?? createFocusGuard());\n    document.body.insertAdjacentElement(\"beforeend\", edgeGuards[1] ?? createFocusGuard());\n    count++;\n    return () => {\n      if (count === 1) {\n        document.querySelectorAll(\"[data-radix-focus-guard]\").forEach((node) => node.remove());\n      }\n      count--;\n    };\n  }, []);\n}\nfunction createFocusGuard() {\n  const element = document.createElement(\"span\");\n  element.setAttribute(\"data-radix-focus-guard\", \"\");\n  element.tabIndex = 0;\n  element.style.outline = \"none\";\n  element.style.opacity = \"0\";\n  element.style.position = \"fixed\";\n  element.style.pointerEvents = \"none\";\n  return element;\n}\nvar Root = FocusGuards;\nexport {\n  FocusGuards,\n  Root,\n  useFocusGuards\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/focus-scope.tsx\nimport * as React from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { jsx } from \"react/jsx-runtime\";\nvar AUTOFOCUS_ON_MOUNT = \"focusScope.autoFocusOnMount\";\nvar AUTOFOCUS_ON_UNMOUNT = \"focusScope.autoFocusOnUnmount\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar FOCUS_SCOPE_NAME = \"FocusScope\";\nvar FocusScope = React.forwardRef((props, forwardedRef) => {\n  const {\n    loop = false,\n    trapped = false,\n    onMountAutoFocus: onMountAutoFocusProp,\n    onUnmountAutoFocus: onUnmountAutoFocusProp,\n    ...scopeProps\n  } = props;\n  const [container, setContainer] = React.useState(null);\n  const onMountAutoFocus = useCallbackRef(onMountAutoFocusProp);\n  const onUnmountAutoFocus = useCallbackRef(onUnmountAutoFocusProp);\n  const lastFocusedElementRef = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, (node) => setContainer(node));\n  const focusScope = React.useRef({\n    paused: false,\n    pause() {\n      this.paused = true;\n    },\n    resume() {\n      this.paused = false;\n    }\n  }).current;\n  React.useEffect(() => {\n    if (trapped) {\n      let handleFocusIn2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const target = event.target;\n        if (container.contains(target)) {\n          lastFocusedElementRef.current = target;\n        } else {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleFocusOut2 = function(event) {\n        if (focusScope.paused || !container) return;\n        const relatedTarget = event.relatedTarget;\n        if (relatedTarget === null) return;\n        if (!container.contains(relatedTarget)) {\n          focus(lastFocusedElementRef.current, { select: true });\n        }\n      }, handleMutations2 = function(mutations) {\n        const focusedElement = document.activeElement;\n        if (focusedElement !== document.body) return;\n        for (const mutation of mutations) {\n          if (mutation.removedNodes.length > 0) focus(container);\n        }\n      };\n      var handleFocusIn = handleFocusIn2, handleFocusOut = handleFocusOut2, handleMutations = handleMutations2;\n      document.addEventListener(\"focusin\", handleFocusIn2);\n      document.addEventListener(\"focusout\", handleFocusOut2);\n      const mutationObserver = new MutationObserver(handleMutations2);\n      if (container) mutationObserver.observe(container, { childList: true, subtree: true });\n      return () => {\n        document.removeEventListener(\"focusin\", handleFocusIn2);\n        document.removeEventListener(\"focusout\", handleFocusOut2);\n        mutationObserver.disconnect();\n      };\n    }\n  }, [trapped, container, focusScope.paused]);\n  React.useEffect(() => {\n    if (container) {\n      focusScopesStack.add(focusScope);\n      const previouslyFocusedElement = document.activeElement;\n      const hasFocusedCandidate = container.contains(previouslyFocusedElement);\n      if (!hasFocusedCandidate) {\n        const mountEvent = new CustomEvent(AUTOFOCUS_ON_MOUNT, EVENT_OPTIONS);\n        container.addEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        container.dispatchEvent(mountEvent);\n        if (!mountEvent.defaultPrevented) {\n          focusFirst(removeLinks(getTabbableCandidates(container)), { select: true });\n          if (document.activeElement === previouslyFocusedElement) {\n            focus(container);\n          }\n        }\n      }\n      return () => {\n        container.removeEventListener(AUTOFOCUS_ON_MOUNT, onMountAutoFocus);\n        setTimeout(() => {\n          const unmountEvent = new CustomEvent(AUTOFOCUS_ON_UNMOUNT, EVENT_OPTIONS);\n          container.addEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          container.dispatchEvent(unmountEvent);\n          if (!unmountEvent.defaultPrevented) {\n            focus(previouslyFocusedElement ?? document.body, { select: true });\n          }\n          container.removeEventListener(AUTOFOCUS_ON_UNMOUNT, onUnmountAutoFocus);\n          focusScopesStack.remove(focusScope);\n        }, 0);\n      };\n    }\n  }, [container, onMountAutoFocus, onUnmountAutoFocus, focusScope]);\n  const handleKeyDown = React.useCallback(\n    (event) => {\n      if (!loop && !trapped) return;\n      if (focusScope.paused) return;\n      const isTabKey = event.key === \"Tab\" && !event.altKey && !event.ctrlKey && !event.metaKey;\n      const focusedElement = document.activeElement;\n      if (isTabKey && focusedElement) {\n        const container2 = event.currentTarget;\n        const [first, last] = getTabbableEdges(container2);\n        const hasTabbableElementsInside = first && last;\n        if (!hasTabbableElementsInside) {\n          if (focusedElement === container2) event.preventDefault();\n        } else {\n          if (!event.shiftKey && focusedElement === last) {\n            event.preventDefault();\n            if (loop) focus(first, { select: true });\n          } else if (event.shiftKey && focusedElement === first) {\n            event.preventDefault();\n            if (loop) focus(last, { select: true });\n          }\n        }\n      }\n    },\n    [loop, trapped, focusScope.paused]\n  );\n  return /* @__PURE__ */ jsx(Primitive.div, { tabIndex: -1, ...scopeProps, ref: composedRefs, onKeyDown: handleKeyDown });\n});\nFocusScope.displayName = FOCUS_SCOPE_NAME;\nfunction focusFirst(candidates, { select = false } = {}) {\n  const previouslyFocusedElement = document.activeElement;\n  for (const candidate of candidates) {\n    focus(candidate, { select });\n    if (document.activeElement !== previouslyFocusedElement) return;\n  }\n}\nfunction getTabbableEdges(container) {\n  const candidates = getTabbableCandidates(container);\n  const first = findVisible(candidates, container);\n  const last = findVisible(candidates.reverse(), container);\n  return [first, last];\n}\nfunction getTabbableCandidates(container) {\n  const nodes = [];\n  const walker = document.createTreeWalker(container, NodeFilter.SHOW_ELEMENT, {\n    acceptNode: (node) => {\n      const isHiddenInput = node.tagName === \"INPUT\" && node.type === \"hidden\";\n      if (node.disabled || node.hidden || isHiddenInput) return NodeFilter.FILTER_SKIP;\n      return node.tabIndex >= 0 ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;\n    }\n  });\n  while (walker.nextNode()) nodes.push(walker.currentNode);\n  return nodes;\n}\nfunction findVisible(elements, container) {\n  for (const element of elements) {\n    if (!isHidden(element, { upTo: container })) return element;\n  }\n}\nfunction isHidden(node, { upTo }) {\n  if (getComputedStyle(node).visibility === \"hidden\") return true;\n  while (node) {\n    if (upTo !== void 0 && node === upTo) return false;\n    if (getComputedStyle(node).display === \"none\") return true;\n    node = node.parentElement;\n  }\n  return false;\n}\nfunction isSelectableInput(element) {\n  return element instanceof HTMLInputElement && \"select\" in element;\n}\nfunction focus(element, { select = false } = {}) {\n  if (element && element.focus) {\n    const previouslyFocusedElement = document.activeElement;\n    element.focus({ preventScroll: true });\n    if (element !== previouslyFocusedElement && isSelectableInput(element) && select)\n      element.select();\n  }\n}\nvar focusScopesStack = createFocusScopesStack();\nfunction createFocusScopesStack() {\n  let stack = [];\n  return {\n    add(focusScope) {\n      const activeFocusScope = stack[0];\n      if (focusScope !== activeFocusScope) {\n        activeFocusScope?.pause();\n      }\n      stack = arrayRemove(stack, focusScope);\n      stack.unshift(focusScope);\n    },\n    remove(focusScope) {\n      stack = arrayRemove(stack, focusScope);\n      stack[0]?.resume();\n    }\n  };\n}\nfunction arrayRemove(array, item) {\n  const updatedArray = [...array];\n  const index = updatedArray.indexOf(item);\n  if (index !== -1) {\n    updatedArray.splice(index, 1);\n  }\n  return updatedArray;\n}\nfunction removeLinks(items) {\n  return items.filter((item) => item.tagName !== \"A\");\n}\nvar Root = FocusScope;\nexport {\n  FocusScope,\n  Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/roving-focus-group.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { jsx } from \"react/jsx-runtime\";\nvar ENTRY_FOCUS = \"rovingFocusGroup.onEntryFocus\";\nvar EVENT_OPTIONS = { bubbles: false, cancelable: true };\nvar GROUP_NAME = \"RovingFocusGroup\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(GROUP_NAME);\nvar [createRovingFocusGroupContext, createRovingFocusGroupScope] = createContextScope(\n  GROUP_NAME,\n  [createCollectionScope]\n);\nvar [RovingFocusProvider, useRovingFocusContext] = createRovingFocusGroupContext(GROUP_NAME);\nvar RovingFocusGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeRovingFocusGroup, children: /* @__PURE__ */ jsx(RovingFocusGroupImpl, { ...props, ref: forwardedRef }) }) });\n  }\n);\nRovingFocusGroup.displayName = GROUP_NAME;\nvar RovingFocusGroupImpl = React.forwardRef((props, forwardedRef) => {\n  const {\n    __scopeRovingFocusGroup,\n    orientation,\n    loop = false,\n    dir,\n    currentTabStopId: currentTabStopIdProp,\n    defaultCurrentTabStopId,\n    onCurrentTabStopIdChange,\n    onEntryFocus,\n    preventScrollOnEntryFocus = false,\n    ...groupProps\n  } = props;\n  const ref = React.useRef(null);\n  const composedRefs = useComposedRefs(forwardedRef, ref);\n  const direction = useDirection(dir);\n  const [currentTabStopId, setCurrentTabStopId] = useControllableState({\n    prop: currentTabStopIdProp,\n    defaultProp: defaultCurrentTabStopId ?? null,\n    onChange: onCurrentTabStopIdChange,\n    caller: GROUP_NAME\n  });\n  const [isTabbingBackOut, setIsTabbingBackOut] = React.useState(false);\n  const handleEntryFocus = useCallbackRef(onEntryFocus);\n  const getItems = useCollection(__scopeRovingFocusGroup);\n  const isClickFocusRef = React.useRef(false);\n  const [focusableItemsCount, setFocusableItemsCount] = React.useState(0);\n  React.useEffect(() => {\n    const node = ref.current;\n    if (node) {\n      node.addEventListener(ENTRY_FOCUS, handleEntryFocus);\n      return () => node.removeEventListener(ENTRY_FOCUS, handleEntryFocus);\n    }\n  }, [handleEntryFocus]);\n  return /* @__PURE__ */ jsx(\n    RovingFocusProvider,\n    {\n      scope: __scopeRovingFocusGroup,\n      orientation,\n      dir: direction,\n      loop,\n      currentTabStopId,\n      onItemFocus: React.useCallback(\n        (tabStopId) => setCurrentTabStopId(tabStopId),\n        [setCurrentTabStopId]\n      ),\n      onItemShiftTab: React.useCallback(() => setIsTabbingBackOut(true), []),\n      onFocusableItemAdd: React.useCallback(\n        () => setFocusableItemsCount((prevCount) => prevCount + 1),\n        []\n      ),\n      onFocusableItemRemove: React.useCallback(\n        () => setFocusableItemsCount((prevCount) => prevCount - 1),\n        []\n      ),\n      children: /* @__PURE__ */ jsx(\n        Primitive.div,\n        {\n          tabIndex: isTabbingBackOut || focusableItemsCount === 0 ? -1 : 0,\n          \"data-orientation\": orientation,\n          ...groupProps,\n          ref: composedRefs,\n          style: { outline: \"none\", ...props.style },\n          onMouseDown: composeEventHandlers(props.onMouseDown, () => {\n            isClickFocusRef.current = true;\n          }),\n          onFocus: composeEventHandlers(props.onFocus, (event) => {\n            const isKeyboardFocus = !isClickFocusRef.current;\n            if (event.target === event.currentTarget && isKeyboardFocus && !isTabbingBackOut) {\n              const entryFocusEvent = new CustomEvent(ENTRY_FOCUS, EVENT_OPTIONS);\n              event.currentTarget.dispatchEvent(entryFocusEvent);\n              if (!entryFocusEvent.defaultPrevented) {\n                const items = getItems().filter((item) => item.focusable);\n                const activeItem = items.find((item) => item.active);\n                const currentItem = items.find((item) => item.id === currentTabStopId);\n                const candidateItems = [activeItem, currentItem, ...items].filter(\n                  Boolean\n                );\n                const candidateNodes = candidateItems.map((item) => item.ref.current);\n                focusFirst(candidateNodes, preventScrollOnEntryFocus);\n              }\n            }\n            isClickFocusRef.current = false;\n          }),\n          onBlur: composeEventHandlers(props.onBlur, () => setIsTabbingBackOut(false))\n        }\n      )\n    }\n  );\n});\nvar ITEM_NAME = \"RovingFocusGroupItem\";\nvar RovingFocusGroupItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeRovingFocusGroup,\n      focusable = true,\n      active = false,\n      tabStopId,\n      children,\n      ...itemProps\n    } = props;\n    const autoId = useId();\n    const id = tabStopId || autoId;\n    const context = useRovingFocusContext(ITEM_NAME, __scopeRovingFocusGroup);\n    const isCurrentTabStop = context.currentTabStopId === id;\n    const getItems = useCollection(__scopeRovingFocusGroup);\n    const { onFocusableItemAdd, onFocusableItemRemove, currentTabStopId } = context;\n    React.useEffect(() => {\n      if (focusable) {\n        onFocusableItemAdd();\n        return () => onFocusableItemRemove();\n      }\n    }, [focusable, onFocusableItemAdd, onFocusableItemRemove]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeRovingFocusGroup,\n        id,\n        focusable,\n        active,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            tabIndex: isCurrentTabStop ? 0 : -1,\n            \"data-orientation\": context.orientation,\n            ...itemProps,\n            ref: forwardedRef,\n            onMouseDown: composeEventHandlers(props.onMouseDown, (event) => {\n              if (!focusable) event.preventDefault();\n              else context.onItemFocus(id);\n            }),\n            onFocus: composeEventHandlers(props.onFocus, () => context.onItemFocus(id)),\n            onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n              if (event.key === \"Tab\" && event.shiftKey) {\n                context.onItemShiftTab();\n                return;\n              }\n              if (event.target !== event.currentTarget) return;\n              const focusIntent = getFocusIntent(event, context.orientation, context.dir);\n              if (focusIntent !== void 0) {\n                if (event.metaKey || event.ctrlKey || event.altKey || event.shiftKey) return;\n                event.preventDefault();\n                const items = getItems().filter((item) => item.focusable);\n                let candidateNodes = items.map((item) => item.ref.current);\n                if (focusIntent === \"last\") candidateNodes.reverse();\n                else if (focusIntent === \"prev\" || focusIntent === \"next\") {\n                  if (focusIntent === \"prev\") candidateNodes.reverse();\n                  const currentIndex = candidateNodes.indexOf(event.currentTarget);\n                  candidateNodes = context.loop ? wrapArray(candidateNodes, currentIndex + 1) : candidateNodes.slice(currentIndex + 1);\n                }\n                setTimeout(() => focusFirst(candidateNodes));\n              }\n            }),\n            children: typeof children === \"function\" ? children({ isCurrentTabStop, hasTabStop: currentTabStopId != null }) : children\n          }\n        )\n      }\n    );\n  }\n);\nRovingFocusGroupItem.displayName = ITEM_NAME;\nvar MAP_KEY_TO_FOCUS_INTENT = {\n  ArrowLeft: \"prev\",\n  ArrowUp: \"prev\",\n  ArrowRight: \"next\",\n  ArrowDown: \"next\",\n  PageUp: \"first\",\n  Home: \"first\",\n  PageDown: \"last\",\n  End: \"last\"\n};\nfunction getDirectionAwareKey(key, dir) {\n  if (dir !== \"rtl\") return key;\n  return key === \"ArrowLeft\" ? \"ArrowRight\" : key === \"ArrowRight\" ? \"ArrowLeft\" : key;\n}\nfunction getFocusIntent(event, orientation, dir) {\n  const key = getDirectionAwareKey(event.key, dir);\n  if (orientation === \"vertical\" && [\"ArrowLeft\", \"ArrowRight\"].includes(key)) return void 0;\n  if (orientation === \"horizontal\" && [\"ArrowUp\", \"ArrowDown\"].includes(key)) return void 0;\n  return MAP_KEY_TO_FOCUS_INTENT[key];\n}\nfunction focusFirst(candidates, preventScroll = false) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus({ preventScroll });\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nvar Root = RovingFocusGroup;\nvar Item = RovingFocusGroupItem;\nexport {\n  Item,\n  Root,\n  RovingFocusGroup,\n  RovingFocusGroupItem,\n  createRovingFocusGroupScope\n};\n//# sourceMappingURL=index.mjs.map\n","var getDefaultParent = function (originalTarget) {\n    if (typeof document === 'undefined') {\n        return null;\n    }\n    var sampleTarget = Array.isArray(originalTarget) ? originalTarget[0] : originalTarget;\n    return sampleTarget.ownerDocument.body;\n};\nvar counterMap = new WeakMap();\nvar uncontrolledNodes = new WeakMap();\nvar markerMap = {};\nvar lockCount = 0;\nvar unwrapHost = function (node) {\n    return node && (node.host || unwrapHost(node.parentNode));\n};\nvar correctTargets = function (parent, targets) {\n    return targets\n        .map(function (target) {\n        if (parent.contains(target)) {\n            return target;\n        }\n        var correctedTarget = unwrapHost(target);\n        if (correctedTarget && parent.contains(correctedTarget)) {\n            return correctedTarget;\n        }\n        console.error('aria-hidden', target, 'in not contained inside', parent, '. Doing nothing');\n        return null;\n    })\n        .filter(function (x) { return Boolean(x); });\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @param {String} [controlAttribute] - html Attribute to control\n * @return {Undo} undo command\n */\nvar applyAttributeToOthers = function (originalTarget, parentNode, markerName, controlAttribute) {\n    var targets = correctTargets(parentNode, Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    if (!markerMap[markerName]) {\n        markerMap[markerName] = new WeakMap();\n    }\n    var markerCounter = markerMap[markerName];\n    var hiddenNodes = [];\n    var elementsToKeep = new Set();\n    var elementsToStop = new Set(targets);\n    var keep = function (el) {\n        if (!el || elementsToKeep.has(el)) {\n            return;\n        }\n        elementsToKeep.add(el);\n        keep(el.parentNode);\n    };\n    targets.forEach(keep);\n    var deep = function (parent) {\n        if (!parent || elementsToStop.has(parent)) {\n            return;\n        }\n        Array.prototype.forEach.call(parent.children, function (node) {\n            if (elementsToKeep.has(node)) {\n                deep(node);\n            }\n            else {\n                try {\n                    var attr = node.getAttribute(controlAttribute);\n                    var alreadyHidden = attr !== null && attr !== 'false';\n                    var counterValue = (counterMap.get(node) || 0) + 1;\n                    var markerValue = (markerCounter.get(node) || 0) + 1;\n                    counterMap.set(node, counterValue);\n                    markerCounter.set(node, markerValue);\n                    hiddenNodes.push(node);\n                    if (counterValue === 1 && alreadyHidden) {\n                        uncontrolledNodes.set(node, true);\n                    }\n                    if (markerValue === 1) {\n                        node.setAttribute(markerName, 'true');\n                    }\n                    if (!alreadyHidden) {\n                        node.setAttribute(controlAttribute, 'true');\n                    }\n                }\n                catch (e) {\n                    console.error('aria-hidden: cannot operate on ', node, e);\n                }\n            }\n        });\n    };\n    deep(parentNode);\n    elementsToKeep.clear();\n    lockCount++;\n    return function () {\n        hiddenNodes.forEach(function (node) {\n            var counterValue = counterMap.get(node) - 1;\n            var markerValue = markerCounter.get(node) - 1;\n            counterMap.set(node, counterValue);\n            markerCounter.set(node, markerValue);\n            if (!counterValue) {\n                if (!uncontrolledNodes.has(node)) {\n                    node.removeAttribute(controlAttribute);\n                }\n                uncontrolledNodes.delete(node);\n            }\n            if (!markerValue) {\n                node.removeAttribute(markerName);\n            }\n        });\n        lockCount--;\n        if (!lockCount) {\n            // clear\n            counterMap = new WeakMap();\n            counterMap = new WeakMap();\n            uncontrolledNodes = new WeakMap();\n            markerMap = {};\n        }\n    };\n};\n/**\n * Marks everything except given node(or nodes) as aria-hidden\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var hideOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-aria-hidden'; }\n    var targets = Array.from(Array.isArray(originalTarget) ? originalTarget : [originalTarget]);\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    // we should not hide aria-live elements - https://github.com/theKashey/aria-hidden/issues/10\n    // and script elements, as they have no impact on accessibility.\n    targets.push.apply(targets, Array.from(activeParentNode.querySelectorAll('[aria-live], script')));\n    return applyAttributeToOthers(targets, activeParentNode, markerName, 'aria-hidden');\n};\n/**\n * Marks everything except given node(or nodes) as inert\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var inertOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-inert-ed'; }\n    var activeParentNode = parentNode || getDefaultParent(originalTarget);\n    if (!activeParentNode) {\n        return function () { return null; };\n    }\n    return applyAttributeToOthers(originalTarget, activeParentNode, markerName, 'inert');\n};\n/**\n * @returns if current browser supports inert\n */\nexport var supportsInert = function () {\n    return typeof HTMLElement !== 'undefined' && HTMLElement.prototype.hasOwnProperty('inert');\n};\n/**\n * Automatic function to \"suppress\" DOM elements - _hide_ or _inert_ in the best possible way\n * @param {Element | Element[]} originalTarget - elements to keep on the page\n * @param [parentNode] - top element, defaults to document.body\n * @param {String} [markerName] - a special attribute to mark every node\n * @return {Undo} undo command\n */\nexport var suppressOthers = function (originalTarget, parentNode, markerName) {\n    if (markerName === void 0) { markerName = 'data-suppressed'; }\n    return (supportsInert() ? inertOthers : hideOthers)(originalTarget, parentNode, markerName);\n};\n","/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n  extendStatics = Object.setPrototypeOf ||\n      ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n      function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n  return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n  if (typeof b !== \"function\" && b !== null)\n      throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n  extendStatics(d, b);\n  function __() { this.constructor = d; }\n  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n  __assign = Object.assign || function __assign(t) {\n      for (var s, i = 1, n = arguments.length; i < n; i++) {\n          s = arguments[i];\n          for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n      }\n      return t;\n  }\n  return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n      t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n      for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n          if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n              t[p[i]] = s[p[i]];\n      }\n  return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n  if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n  return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n  return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n  function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n  var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n  var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n  var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n  var _, done = false;\n  for (var i = decorators.length - 1; i >= 0; i--) {\n      var context = {};\n      for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n      for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n      context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n      var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n      if (kind === \"accessor\") {\n          if (result === void 0) continue;\n          if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n          if (_ = accept(result.get)) descriptor.get = _;\n          if (_ = accept(result.set)) descriptor.set = _;\n          if (_ = accept(result.init)) initializers.unshift(_);\n      }\n      else if (_ = accept(result)) {\n          if (kind === \"field\") initializers.unshift(_);\n          else descriptor[key] = _;\n      }\n  }\n  if (target) Object.defineProperty(target, contextIn.name, descriptor);\n  done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n  var useValue = arguments.length > 2;\n  for (var i = 0; i < initializers.length; i++) {\n      value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n  }\n  return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n  return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n  if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n  return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n  if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n  function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n  return new (P || (P = Promise))(function (resolve, reject) {\n      function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n      function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n      function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n      step((generator = generator.apply(thisArg, _arguments || [])).next());\n  });\n}\n\nexport function __generator(thisArg, body) {\n  var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n  return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n  function verb(n) { return function (v) { return step([n, v]); }; }\n  function step(op) {\n      if (f) throw new TypeError(\"Generator is already executing.\");\n      while (g && (g = 0, op[0] && (_ = 0)), _) try {\n          if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n          if (y = 0, t) op = [op[0] & 2, t.value];\n          switch (op[0]) {\n              case 0: case 1: t = op; break;\n              case 4: _.label++; return { value: op[1], done: false };\n              case 5: _.label++; y = op[1]; op = [0]; continue;\n              case 7: op = _.ops.pop(); _.trys.pop(); continue;\n              default:\n                  if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n                  if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n                  if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n                  if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n                  if (t[2]) _.ops.pop();\n                  _.trys.pop(); continue;\n          }\n          op = body.call(thisArg, _);\n      } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n      if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n  }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  var desc = Object.getOwnPropertyDescriptor(m, k);\n  if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n      desc = { enumerable: true, get: function() { return m[k]; } };\n  }\n  Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n  if (k2 === undefined) k2 = k;\n  o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n  for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n  var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n  if (m) return m.call(o);\n  if (o && typeof o.length === \"number\") return {\n      next: function () {\n          if (o && i >= o.length) o = void 0;\n          return { value: o && o[i++], done: !o };\n      }\n  };\n  throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n  var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n  if (!m) return o;\n  var i = m.call(o), r, ar = [], e;\n  try {\n      while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n  }\n  catch (error) { e = { error: error }; }\n  finally {\n      try {\n          if (r && !r.done && (m = i[\"return\"])) m.call(i);\n      }\n      finally { if (e) throw e.error; }\n  }\n  return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n  for (var ar = [], i = 0; i < arguments.length; i++)\n      ar = ar.concat(__read(arguments[i]));\n  return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n  for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n  for (var r = Array(s), k = 0, i = 0; i < il; i++)\n      for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n          r[k] = a[j];\n  return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n      if (ar || !(i in from)) {\n          if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n          ar[i] = from[i];\n      }\n  }\n  return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n  return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var g = generator.apply(thisArg, _arguments || []), i, q = [];\n  return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n  function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n  function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n  function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n  function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n  function fulfill(value) { resume(\"next\", value); }\n  function reject(value) { resume(\"throw\", value); }\n  function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n  var i, p;\n  return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n  function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n  if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n  var m = o[Symbol.asyncIterator], i;\n  return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n  function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n  function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n  if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n  return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n  Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n  o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n  ownKeys = Object.getOwnPropertyNames || function (o) {\n    var ar = [];\n    for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n    return ar;\n  };\n  return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n  if (mod && mod.__esModule) return mod;\n  var result = {};\n  if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n  __setModuleDefault(result, mod);\n  return result;\n}\n\nexport function __importDefault(mod) {\n  return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n  return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n  if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n  if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n  if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n  return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n  if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n  return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n  if (value !== null && value !== void 0) {\n    if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n    var dispose, inner;\n    if (async) {\n      if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n      dispose = value[Symbol.asyncDispose];\n    }\n    if (dispose === void 0) {\n      if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n      dispose = value[Symbol.dispose];\n      if (async) inner = dispose;\n    }\n    if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n    if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n    env.stack.push({ value: value, dispose: dispose, async: async });\n  }\n  else if (async) {\n    env.stack.push({ async: true });\n  }\n  return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n  var e = new Error(message);\n  return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n  function fail(e) {\n    env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n    env.hasError = true;\n  }\n  var r, s = 0;\n  function next() {\n    while (r = env.stack.pop()) {\n      try {\n        if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n        if (r.dispose) {\n          var result = r.dispose.call(r.value);\n          if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n        }\n        else s |= 1;\n      }\n      catch (e) {\n        fail(e);\n      }\n    }\n    if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n    if (env.hasError) throw env.error;\n  }\n  return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n  if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n      return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n          return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n      });\n  }\n  return path;\n}\n\nexport default {\n  __extends,\n  __assign,\n  __rest,\n  __decorate,\n  __param,\n  __esDecorate,\n  __runInitializers,\n  __propKey,\n  __setFunctionName,\n  __metadata,\n  __awaiter,\n  __generator,\n  __createBinding,\n  __exportStar,\n  __values,\n  __read,\n  __spread,\n  __spreadArrays,\n  __spreadArray,\n  __await,\n  __asyncGenerator,\n  __asyncDelegator,\n  __asyncValues,\n  __makeTemplateObject,\n  __importStar,\n  __importDefault,\n  __classPrivateFieldGet,\n  __classPrivateFieldSet,\n  __classPrivateFieldIn,\n  __addDisposableResource,\n  __disposeResources,\n  __rewriteRelativeImportExtension,\n};\n","export var zeroRightClassName = 'right-scroll-bar-position';\nexport var fullWidthClassName = 'width-before-scroll-bar';\nexport var noScrollbarsClassName = 'with-scroll-bars-hidden';\n/**\n * Name of a CSS variable containing the amount of \"hidden\" scrollbar\n * ! might be undefined ! use will fallback!\n */\nexport var removedBarSizeVariable = '--removed-body-scroll-bar-size';\n","/**\n * Assigns a value for a given ref, no matter of the ref format\n * @param {RefObject} ref - a callback function or ref object\n * @param value - a new value\n *\n * @see https://github.com/theKashey/use-callback-ref#assignref\n * @example\n * const refObject = useRef();\n * const refFn = (ref) => {....}\n *\n * assignRef(refObject, \"refValue\");\n * assignRef(refFn, \"refValue\");\n */\nexport function assignRef(ref, value) {\n    if (typeof ref === 'function') {\n        ref(value);\n    }\n    else if (ref) {\n        ref.current = value;\n    }\n    return ref;\n}\n","import { useState } from 'react';\n/**\n * creates a MutableRef with ref change callback\n * @param initialValue - initial ref value\n * @param {Function} callback - a callback to run when value changes\n *\n * @example\n * const ref = useCallbackRef(0, (newValue, oldValue) => console.log(oldValue, '->', newValue);\n * ref.current = 1;\n * // prints 0 -> 1\n *\n * @see https://reactjs.org/docs/hooks-reference.html#useref\n * @see https://github.com/theKashey/use-callback-ref#usecallbackref---to-replace-reactuseref\n * @returns {MutableRefObject}\n */\nexport function useCallbackRef(initialValue, callback) {\n    var ref = useState(function () { return ({\n        // value\n        value: initialValue,\n        // last callback\n        callback: callback,\n        // \"memoized\" public interface\n        facade: {\n            get current() {\n                return ref.value;\n            },\n            set current(value) {\n                var last = ref.value;\n                if (last !== value) {\n                    ref.value = value;\n                    ref.callback(value, last);\n                }\n            },\n        },\n    }); })[0];\n    // update callback\n    ref.callback = callback;\n    return ref.facade;\n}\n","import * as React from 'react';\nimport { assignRef } from './assignRef';\nimport { useCallbackRef } from './useRef';\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' ? React.useLayoutEffect : React.useEffect;\nvar currentValues = new WeakMap();\n/**\n * Merges two or more refs together providing a single interface to set their value\n * @param {RefObject|Ref} refs\n * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}\n *\n * @see {@link mergeRefs} a version without buit-in memoization\n * @see https://github.com/theKashey/use-callback-ref#usemergerefs\n * @example\n * const Component = React.forwardRef((props, ref) => {\n *   const ownRef = useRef();\n *   const domRef = useMergeRefs([ref, ownRef]); // 👈 merge together\n *   return <div ref={domRef}>...</div>\n * }\n */\nexport function useMergeRefs(refs, defaultValue) {\n    var callbackRef = useCallbackRef(defaultValue || null, function (newValue) {\n        return refs.forEach(function (ref) { return assignRef(ref, newValue); });\n    });\n    // handle refs changes - added or removed\n    useIsomorphicLayoutEffect(function () {\n        var oldValue = currentValues.get(callbackRef);\n        if (oldValue) {\n            var prevRefs_1 = new Set(oldValue);\n            var nextRefs_1 = new Set(refs);\n            var current_1 = callbackRef.current;\n            prevRefs_1.forEach(function (ref) {\n                if (!nextRefs_1.has(ref)) {\n                    assignRef(ref, null);\n                }\n            });\n            nextRefs_1.forEach(function (ref) {\n                if (!prevRefs_1.has(ref)) {\n                    assignRef(ref, current_1);\n                }\n            });\n        }\n        currentValues.set(callbackRef, refs);\n    }, [refs]);\n    return callbackRef;\n}\n","import { __assign } from \"tslib\";\nfunction ItoI(a) {\n    return a;\n}\nfunction innerCreateMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    var buffer = [];\n    var assigned = false;\n    var medium = {\n        read: function () {\n            if (assigned) {\n                throw new Error('Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.');\n            }\n            if (buffer.length) {\n                return buffer[buffer.length - 1];\n            }\n            return defaults;\n        },\n        useMedium: function (data) {\n            var item = middleware(data, assigned);\n            buffer.push(item);\n            return function () {\n                buffer = buffer.filter(function (x) { return x !== item; });\n            };\n        },\n        assignSyncMedium: function (cb) {\n            assigned = true;\n            while (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n            }\n            buffer = {\n                push: function (x) { return cb(x); },\n                filter: function () { return buffer; },\n            };\n        },\n        assignMedium: function (cb) {\n            assigned = true;\n            var pendingQueue = [];\n            if (buffer.length) {\n                var cbs = buffer;\n                buffer = [];\n                cbs.forEach(cb);\n                pendingQueue = buffer;\n            }\n            var executeQueue = function () {\n                var cbs = pendingQueue;\n                pendingQueue = [];\n                cbs.forEach(cb);\n            };\n            var cycle = function () { return Promise.resolve().then(executeQueue); };\n            cycle();\n            buffer = {\n                push: function (x) {\n                    pendingQueue.push(x);\n                    cycle();\n                },\n                filter: function (filter) {\n                    pendingQueue = pendingQueue.filter(filter);\n                    return buffer;\n                },\n            };\n        },\n    };\n    return medium;\n}\nexport function createMedium(defaults, middleware) {\n    if (middleware === void 0) { middleware = ItoI; }\n    return innerCreateMedium(defaults, middleware);\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function createSidecarMedium(options) {\n    if (options === void 0) { options = {}; }\n    var medium = innerCreateMedium(null);\n    medium.options = __assign({ async: true, ssr: false }, options);\n    return medium;\n}\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nvar SideCar = function (_a) {\n    var sideCar = _a.sideCar, rest = __rest(_a, [\"sideCar\"]);\n    if (!sideCar) {\n        throw new Error('Sidecar: please provide `sideCar` property to import the right car');\n    }\n    var Target = sideCar.read();\n    if (!Target) {\n        throw new Error('Sidecar medium not found');\n    }\n    return React.createElement(Target, __assign({}, rest));\n};\nSideCar.isSideCarExport = true;\nexport function exportSidecar(medium, exported) {\n    medium.useMedium(exported);\n    return SideCar;\n}\n","import { createSidecarMedium } from 'use-sidecar';\nexport var effectCar = createSidecarMedium();\n","import { __assign, __rest } from \"tslib\";\nimport * as React from 'react';\nimport { fullWidthClassName, zeroRightClassName } from 'react-remove-scroll-bar/constants';\nimport { useMergeRefs } from 'use-callback-ref';\nimport { effectCar } from './medium';\nvar nothing = function () {\n    return;\n};\n/**\n * Removes scrollbar from the page and contain the scroll within the Lock\n */\nvar RemoveScroll = React.forwardRef(function (props, parentRef) {\n    var ref = React.useRef(null);\n    var _a = React.useState({\n        onScrollCapture: nothing,\n        onWheelCapture: nothing,\n        onTouchMoveCapture: nothing,\n    }), callbacks = _a[0], setCallbacks = _a[1];\n    var forwardProps = props.forwardProps, children = props.children, className = props.className, removeScrollBar = props.removeScrollBar, enabled = props.enabled, shards = props.shards, sideCar = props.sideCar, noRelative = props.noRelative, noIsolation = props.noIsolation, inert = props.inert, allowPinchZoom = props.allowPinchZoom, _b = props.as, Container = _b === void 0 ? 'div' : _b, gapMode = props.gapMode, rest = __rest(props, [\"forwardProps\", \"children\", \"className\", \"removeScrollBar\", \"enabled\", \"shards\", \"sideCar\", \"noRelative\", \"noIsolation\", \"inert\", \"allowPinchZoom\", \"as\", \"gapMode\"]);\n    var SideCar = sideCar;\n    var containerRef = useMergeRefs([ref, parentRef]);\n    var containerProps = __assign(__assign({}, rest), callbacks);\n    return (React.createElement(React.Fragment, null,\n        enabled && (React.createElement(SideCar, { sideCar: effectCar, removeScrollBar: removeScrollBar, shards: shards, noRelative: noRelative, noIsolation: noIsolation, inert: inert, setCallbacks: setCallbacks, allowPinchZoom: !!allowPinchZoom, lockRef: ref, gapMode: gapMode })),\n        forwardProps ? (React.cloneElement(React.Children.only(children), __assign(__assign({}, containerProps), { ref: containerRef }))) : (React.createElement(Container, __assign({}, containerProps, { className: className, ref: containerRef }), children))));\n});\nRemoveScroll.defaultProps = {\n    enabled: true,\n    removeScrollBar: true,\n    inert: false,\n};\nRemoveScroll.classNames = {\n    fullWidth: fullWidthClassName,\n    zeroRight: zeroRightClassName,\n};\nexport { RemoveScroll };\n","var currentNonce;\nexport var setNonce = function (nonce) {\n    currentNonce = nonce;\n};\nexport var getNonce = function () {\n    if (currentNonce) {\n        return currentNonce;\n    }\n    if (typeof __webpack_nonce__ !== 'undefined') {\n        return __webpack_nonce__;\n    }\n    return undefined;\n};\n","import { getNonce } from 'get-nonce';\nfunction makeStyleTag() {\n    if (!document)\n        return null;\n    var tag = document.createElement('style');\n    tag.type = 'text/css';\n    var nonce = getNonce();\n    if (nonce) {\n        tag.setAttribute('nonce', nonce);\n    }\n    return tag;\n}\nfunction injectStyles(tag, css) {\n    // @ts-ignore\n    if (tag.styleSheet) {\n        // @ts-ignore\n        tag.styleSheet.cssText = css;\n    }\n    else {\n        tag.appendChild(document.createTextNode(css));\n    }\n}\nfunction insertStyleTag(tag) {\n    var head = document.head || document.getElementsByTagName('head')[0];\n    head.appendChild(tag);\n}\nexport var stylesheetSingleton = function () {\n    var counter = 0;\n    var stylesheet = null;\n    return {\n        add: function (style) {\n            if (counter == 0) {\n                if ((stylesheet = makeStyleTag())) {\n                    injectStyles(stylesheet, style);\n                    insertStyleTag(stylesheet);\n                }\n            }\n            counter++;\n        },\n        remove: function () {\n            counter--;\n            if (!counter && stylesheet) {\n                stylesheet.parentNode && stylesheet.parentNode.removeChild(stylesheet);\n                stylesheet = null;\n            }\n        },\n    };\n};\n","import * as React from 'react';\nimport { stylesheetSingleton } from './singleton';\n/**\n * creates a hook to control style singleton\n * @see {@link styleSingleton} for a safer component version\n * @example\n * ```tsx\n * const useStyle = styleHookSingleton();\n * ///\n * useStyle('body { overflow: hidden}');\n */\nexport var styleHookSingleton = function () {\n    var sheet = stylesheetSingleton();\n    return function (styles, isDynamic) {\n        React.useEffect(function () {\n            sheet.add(styles);\n            return function () {\n                sheet.remove();\n            };\n        }, [styles && isDynamic]);\n    };\n};\n","import { styleHookSingleton } from './hook';\n/**\n * create a Component to add styles on demand\n * - styles are added when first instance is mounted\n * - styles are removed when the last instance is unmounted\n * - changing styles in runtime does nothing unless dynamic is set. But with multiple components that can lead to the undefined behavior\n */\nexport var styleSingleton = function () {\n    var useStyle = styleHookSingleton();\n    var Sheet = function (_a) {\n        var styles = _a.styles, dynamic = _a.dynamic;\n        useStyle(styles, dynamic);\n        return null;\n    };\n    return Sheet;\n};\n","export var zeroGap = {\n    left: 0,\n    top: 0,\n    right: 0,\n    gap: 0,\n};\nvar parse = function (x) { return parseInt(x || '', 10) || 0; };\nvar getOffset = function (gapMode) {\n    var cs = window.getComputedStyle(document.body);\n    var left = cs[gapMode === 'padding' ? 'paddingLeft' : 'marginLeft'];\n    var top = cs[gapMode === 'padding' ? 'paddingTop' : 'marginTop'];\n    var right = cs[gapMode === 'padding' ? 'paddingRight' : 'marginRight'];\n    return [parse(left), parse(top), parse(right)];\n};\nexport var getGapWidth = function (gapMode) {\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    if (typeof window === 'undefined') {\n        return zeroGap;\n    }\n    var offsets = getOffset(gapMode);\n    var documentWidth = document.documentElement.clientWidth;\n    var windowWidth = window.innerWidth;\n    return {\n        left: offsets[0],\n        top: offsets[1],\n        right: offsets[2],\n        gap: Math.max(0, windowWidth - documentWidth + offsets[2] - offsets[0]),\n    };\n};\n","import * as React from 'react';\nimport { styleSingleton } from 'react-style-singleton';\nimport { fullWidthClassName, zeroRightClassName, noScrollbarsClassName, removedBarSizeVariable } from './constants';\nimport { getGapWidth } from './utils';\nvar Style = styleSingleton();\nexport var lockAttribute = 'data-scroll-locked';\n// important tip - once we measure scrollBar width and remove them\n// we could not repeat this operation\n// thus we are using style-singleton - only the first \"yet correct\" style will be applied.\nvar getStyles = function (_a, allowRelative, gapMode, important) {\n    var left = _a.left, top = _a.top, right = _a.right, gap = _a.gap;\n    if (gapMode === void 0) { gapMode = 'margin'; }\n    return \"\\n  .\".concat(noScrollbarsClassName, \" {\\n   overflow: hidden \").concat(important, \";\\n   padding-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  body[\").concat(lockAttribute, \"] {\\n    overflow: hidden \").concat(important, \";\\n    overscroll-behavior: contain;\\n    \").concat([\n        allowRelative && \"position: relative \".concat(important, \";\"),\n        gapMode === 'margin' &&\n            \"\\n    padding-left: \".concat(left, \"px;\\n    padding-top: \").concat(top, \"px;\\n    padding-right: \").concat(right, \"px;\\n    margin-left:0;\\n    margin-top:0;\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n    \"),\n        gapMode === 'padding' && \"padding-right: \".concat(gap, \"px \").concat(important, \";\"),\n    ]\n        .filter(Boolean)\n        .join(''), \"\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" {\\n    right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" {\\n    margin-right: \").concat(gap, \"px \").concat(important, \";\\n  }\\n  \\n  .\").concat(zeroRightClassName, \" .\").concat(zeroRightClassName, \" {\\n    right: 0 \").concat(important, \";\\n  }\\n  \\n  .\").concat(fullWidthClassName, \" .\").concat(fullWidthClassName, \" {\\n    margin-right: 0 \").concat(important, \";\\n  }\\n  \\n  body[\").concat(lockAttribute, \"] {\\n    \").concat(removedBarSizeVariable, \": \").concat(gap, \"px;\\n  }\\n\");\n};\nvar getCurrentUseCounter = function () {\n    var counter = parseInt(document.body.getAttribute(lockAttribute) || '0', 10);\n    return isFinite(counter) ? counter : 0;\n};\nexport var useLockAttribute = function () {\n    React.useEffect(function () {\n        document.body.setAttribute(lockAttribute, (getCurrentUseCounter() + 1).toString());\n        return function () {\n            var newCounter = getCurrentUseCounter() - 1;\n            if (newCounter <= 0) {\n                document.body.removeAttribute(lockAttribute);\n            }\n            else {\n                document.body.setAttribute(lockAttribute, newCounter.toString());\n            }\n        };\n    }, []);\n};\n/**\n * Removes page scrollbar and blocks page scroll when mounted\n */\nexport var RemoveScrollBar = function (_a) {\n    var noRelative = _a.noRelative, noImportant = _a.noImportant, _b = _a.gapMode, gapMode = _b === void 0 ? 'margin' : _b;\n    useLockAttribute();\n    /*\n     gap will be measured on every component mount\n     however it will be used only by the \"first\" invocation\n     due to singleton nature of <Style\n     */\n    var gap = React.useMemo(function () { return getGapWidth(gapMode); }, [gapMode]);\n    return React.createElement(Style, { styles: getStyles(gap, !noRelative, gapMode, !noImportant ? '!important' : '') });\n};\n","var passiveSupported = false;\nif (typeof window !== 'undefined') {\n    try {\n        var options = Object.defineProperty({}, 'passive', {\n            get: function () {\n                passiveSupported = true;\n                return true;\n            },\n        });\n        // @ts-ignore\n        window.addEventListener('test', options, options);\n        // @ts-ignore\n        window.removeEventListener('test', options, options);\n    }\n    catch (err) {\n        passiveSupported = false;\n    }\n}\nexport var nonPassive = passiveSupported ? { passive: false } : false;\n","var alwaysContainsScroll = function (node) {\n    // textarea will always _contain_ scroll inside self. It only can be hidden\n    return node.tagName === 'TEXTAREA';\n};\nvar elementCanBeScrolled = function (node, overflow) {\n    if (!(node instanceof Element)) {\n        return false;\n    }\n    var styles = window.getComputedStyle(node);\n    return (\n    // not-not-scrollable\n    styles[overflow] !== 'hidden' &&\n        // contains scroll inside self\n        !(styles.overflowY === styles.overflowX && !alwaysContainsScroll(node) && styles[overflow] === 'visible'));\n};\nvar elementCouldBeVScrolled = function (node) { return elementCanBeScrolled(node, 'overflowY'); };\nvar elementCouldBeHScrolled = function (node) { return elementCanBeScrolled(node, 'overflowX'); };\nexport var locationCouldBeScrolled = function (axis, node) {\n    var ownerDocument = node.ownerDocument;\n    var current = node;\n    do {\n        // Skip over shadow root\n        if (typeof ShadowRoot !== 'undefined' && current instanceof ShadowRoot) {\n            current = current.host;\n        }\n        var isScrollable = elementCouldBeScrolled(axis, current);\n        if (isScrollable) {\n            var _a = getScrollVariables(axis, current), scrollHeight = _a[1], clientHeight = _a[2];\n            if (scrollHeight > clientHeight) {\n                return true;\n            }\n        }\n        current = current.parentNode;\n    } while (current && current !== ownerDocument.body);\n    return false;\n};\nvar getVScrollVariables = function (_a) {\n    var scrollTop = _a.scrollTop, scrollHeight = _a.scrollHeight, clientHeight = _a.clientHeight;\n    return [\n        scrollTop,\n        scrollHeight,\n        clientHeight,\n    ];\n};\nvar getHScrollVariables = function (_a) {\n    var scrollLeft = _a.scrollLeft, scrollWidth = _a.scrollWidth, clientWidth = _a.clientWidth;\n    return [\n        scrollLeft,\n        scrollWidth,\n        clientWidth,\n    ];\n};\nvar elementCouldBeScrolled = function (axis, node) {\n    return axis === 'v' ? elementCouldBeVScrolled(node) : elementCouldBeHScrolled(node);\n};\nvar getScrollVariables = function (axis, node) {\n    return axis === 'v' ? getVScrollVariables(node) : getHScrollVariables(node);\n};\nvar getDirectionFactor = function (axis, direction) {\n    /**\n     * If the element's direction is rtl (right-to-left), then scrollLeft is 0 when the scrollbar is at its rightmost position,\n     * and then increasingly negative as you scroll towards the end of the content.\n     * @see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollLeft\n     */\n    return axis === 'h' && direction === 'rtl' ? -1 : 1;\n};\nexport var handleScroll = function (axis, endTarget, event, sourceDelta, noOverscroll) {\n    var directionFactor = getDirectionFactor(axis, window.getComputedStyle(endTarget).direction);\n    var delta = directionFactor * sourceDelta;\n    // find scrollable target\n    var target = event.target;\n    var targetInLock = endTarget.contains(target);\n    var shouldCancelScroll = false;\n    var isDeltaPositive = delta > 0;\n    var availableScroll = 0;\n    var availableScrollTop = 0;\n    do {\n        var _a = getScrollVariables(axis, target), position = _a[0], scroll_1 = _a[1], capacity = _a[2];\n        var elementScroll = scroll_1 - capacity - directionFactor * position;\n        if (position || elementScroll) {\n            if (elementCouldBeScrolled(axis, target)) {\n                availableScroll += elementScroll;\n                availableScrollTop += position;\n            }\n        }\n        // we will \"bubble\" from ShadowDom in case we are, or just to the parent in normal case\n        // this is the same logic used in focus-lock\n        target = (target.parentNode.host || target.parentNode);\n    } while (\n    // portaled content\n    (!targetInLock && target !== document.body) ||\n        // self content\n        (targetInLock && (endTarget.contains(target) || endTarget === target)));\n    // handle epsilon around 0 (non standard zoom levels)\n    if (isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScroll) < 1) || (!noOverscroll && delta > availableScroll))) {\n        shouldCancelScroll = true;\n    }\n    else if (!isDeltaPositive &&\n        ((noOverscroll && Math.abs(availableScrollTop) < 1) || (!noOverscroll && -delta > availableScrollTop))) {\n        shouldCancelScroll = true;\n    }\n    return shouldCancelScroll;\n};\n","import { __spreadArray } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScrollBar } from 'react-remove-scroll-bar';\nimport { styleSingleton } from 'react-style-singleton';\nimport { nonPassive } from './aggresiveCapture';\nimport { handleScroll, locationCouldBeScrolled } from './handleScroll';\nexport var getTouchXY = function (event) {\n    return 'changedTouches' in event ? [event.changedTouches[0].clientX, event.changedTouches[0].clientY] : [0, 0];\n};\nexport var getDeltaXY = function (event) { return [event.deltaX, event.deltaY]; };\nvar extractRef = function (ref) {\n    return ref && 'current' in ref ? ref.current : ref;\n};\nvar deltaCompare = function (x, y) { return x[0] === y[0] && x[1] === y[1]; };\nvar generateStyle = function (id) { return \"\\n  .block-interactivity-\".concat(id, \" {pointer-events: none;}\\n  .allow-interactivity-\").concat(id, \" {pointer-events: all;}\\n\"); };\nvar idCounter = 0;\nvar lockStack = [];\nexport function RemoveScrollSideCar(props) {\n    var shouldPreventQueue = React.useRef([]);\n    var touchStartRef = React.useRef([0, 0]);\n    var activeAxis = React.useRef();\n    var id = React.useState(idCounter++)[0];\n    var Style = React.useState(styleSingleton)[0];\n    var lastProps = React.useRef(props);\n    React.useEffect(function () {\n        lastProps.current = props;\n    }, [props]);\n    React.useEffect(function () {\n        if (props.inert) {\n            document.body.classList.add(\"block-interactivity-\".concat(id));\n            var allow_1 = __spreadArray([props.lockRef.current], (props.shards || []).map(extractRef), true).filter(Boolean);\n            allow_1.forEach(function (el) { return el.classList.add(\"allow-interactivity-\".concat(id)); });\n            return function () {\n                document.body.classList.remove(\"block-interactivity-\".concat(id));\n                allow_1.forEach(function (el) { return el.classList.remove(\"allow-interactivity-\".concat(id)); });\n            };\n        }\n        return;\n    }, [props.inert, props.lockRef.current, props.shards]);\n    var shouldCancelEvent = React.useCallback(function (event, parent) {\n        if (('touches' in event && event.touches.length === 2) || (event.type === 'wheel' && event.ctrlKey)) {\n            return !lastProps.current.allowPinchZoom;\n        }\n        var touch = getTouchXY(event);\n        var touchStart = touchStartRef.current;\n        var deltaX = 'deltaX' in event ? event.deltaX : touchStart[0] - touch[0];\n        var deltaY = 'deltaY' in event ? event.deltaY : touchStart[1] - touch[1];\n        var currentAxis;\n        var target = event.target;\n        var moveDirection = Math.abs(deltaX) > Math.abs(deltaY) ? 'h' : 'v';\n        // allow horizontal touch move on Range inputs. They will not cause any scroll\n        if ('touches' in event && moveDirection === 'h' && target.type === 'range') {\n            return false;\n        }\n        var canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n        if (!canBeScrolledInMainDirection) {\n            return true;\n        }\n        if (canBeScrolledInMainDirection) {\n            currentAxis = moveDirection;\n        }\n        else {\n            currentAxis = moveDirection === 'v' ? 'h' : 'v';\n            canBeScrolledInMainDirection = locationCouldBeScrolled(moveDirection, target);\n            // other axis might be not scrollable\n        }\n        if (!canBeScrolledInMainDirection) {\n            return false;\n        }\n        if (!activeAxis.current && 'changedTouches' in event && (deltaX || deltaY)) {\n            activeAxis.current = currentAxis;\n        }\n        if (!currentAxis) {\n            return true;\n        }\n        var cancelingAxis = activeAxis.current || currentAxis;\n        return handleScroll(cancelingAxis, parent, event, cancelingAxis === 'h' ? deltaX : deltaY, true);\n    }, []);\n    var shouldPrevent = React.useCallback(function (_event) {\n        var event = _event;\n        if (!lockStack.length || lockStack[lockStack.length - 1] !== Style) {\n            // not the last active\n            return;\n        }\n        var delta = 'deltaY' in event ? getDeltaXY(event) : getTouchXY(event);\n        var sourceEvent = shouldPreventQueue.current.filter(function (e) { return e.name === event.type && (e.target === event.target || event.target === e.shadowParent) && deltaCompare(e.delta, delta); })[0];\n        // self event, and should be canceled\n        if (sourceEvent && sourceEvent.should) {\n            if (event.cancelable) {\n                event.preventDefault();\n            }\n            return;\n        }\n        // outside or shard event\n        if (!sourceEvent) {\n            var shardNodes = (lastProps.current.shards || [])\n                .map(extractRef)\n                .filter(Boolean)\n                .filter(function (node) { return node.contains(event.target); });\n            var shouldStop = shardNodes.length > 0 ? shouldCancelEvent(event, shardNodes[0]) : !lastProps.current.noIsolation;\n            if (shouldStop) {\n                if (event.cancelable) {\n                    event.preventDefault();\n                }\n            }\n        }\n    }, []);\n    var shouldCancel = React.useCallback(function (name, delta, target, should) {\n        var event = { name: name, delta: delta, target: target, should: should, shadowParent: getOutermostShadowParent(target) };\n        shouldPreventQueue.current.push(event);\n        setTimeout(function () {\n            shouldPreventQueue.current = shouldPreventQueue.current.filter(function (e) { return e !== event; });\n        }, 1);\n    }, []);\n    var scrollTouchStart = React.useCallback(function (event) {\n        touchStartRef.current = getTouchXY(event);\n        activeAxis.current = undefined;\n    }, []);\n    var scrollWheel = React.useCallback(function (event) {\n        shouldCancel(event.type, getDeltaXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    var scrollTouchMove = React.useCallback(function (event) {\n        shouldCancel(event.type, getTouchXY(event), event.target, shouldCancelEvent(event, props.lockRef.current));\n    }, []);\n    React.useEffect(function () {\n        lockStack.push(Style);\n        props.setCallbacks({\n            onScrollCapture: scrollWheel,\n            onWheelCapture: scrollWheel,\n            onTouchMoveCapture: scrollTouchMove,\n        });\n        document.addEventListener('wheel', shouldPrevent, nonPassive);\n        document.addEventListener('touchmove', shouldPrevent, nonPassive);\n        document.addEventListener('touchstart', scrollTouchStart, nonPassive);\n        return function () {\n            lockStack = lockStack.filter(function (inst) { return inst !== Style; });\n            document.removeEventListener('wheel', shouldPrevent, nonPassive);\n            document.removeEventListener('touchmove', shouldPrevent, nonPassive);\n            document.removeEventListener('touchstart', scrollTouchStart, nonPassive);\n        };\n    }, []);\n    var removeScrollBar = props.removeScrollBar, inert = props.inert;\n    return (React.createElement(React.Fragment, null,\n        inert ? React.createElement(Style, { styles: generateStyle(id) }) : null,\n        removeScrollBar ? React.createElement(RemoveScrollBar, { noRelative: props.noRelative, gapMode: props.gapMode }) : null));\n}\nfunction getOutermostShadowParent(node) {\n    var shadowParent = null;\n    while (node !== null) {\n        if (node instanceof ShadowRoot) {\n            shadowParent = node.host;\n            node = node.host;\n        }\n        node = node.parentNode;\n    }\n    return shadowParent;\n}\n","import { exportSidecar } from 'use-sidecar';\nimport { RemoveScrollSideCar } from './SideEffect';\nimport { effectCar } from './medium';\nexport default exportSidecar(effectCar, RemoveScrollSideCar);\n","import { __assign } from \"tslib\";\nimport * as React from 'react';\nimport { RemoveScroll } from './UI';\nimport SideCar from './sidecar';\nvar ReactRemoveScroll = React.forwardRef(function (props, ref) { return (React.createElement(RemoveScroll, __assign({}, props, { ref: ref, sideCar: SideCar }))); });\nReactRemoveScroll.classNames = RemoveScroll.classNames;\nexport default ReactRemoveScroll;\n","\"use client\";\n\n// src/menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createCollection } from \"@radix-ui/react-collection\";\nimport { useComposedRefs, composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useDirection } from \"@radix-ui/react-direction\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useFocusGuards } from \"@radix-ui/react-focus-guards\";\nimport { FocusScope } from \"@radix-ui/react-focus-scope\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport * as RovingFocusGroup from \"@radix-ui/react-roving-focus\";\nimport { createRovingFocusGroupScope } from \"@radix-ui/react-roving-focus\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SELECTION_KEYS = [\"Enter\", \" \"];\nvar FIRST_KEYS = [\"ArrowDown\", \"PageUp\", \"Home\"];\nvar LAST_KEYS = [\"ArrowUp\", \"PageDown\", \"End\"];\nvar FIRST_LAST_KEYS = [...FIRST_KEYS, ...LAST_KEYS];\nvar SUB_OPEN_KEYS = {\n  ltr: [...SELECTION_KEYS, \"ArrowRight\"],\n  rtl: [...SELECTION_KEYS, \"ArrowLeft\"]\n};\nvar SUB_CLOSE_KEYS = {\n  ltr: [\"ArrowLeft\"],\n  rtl: [\"ArrowRight\"]\n};\nvar MENU_NAME = \"Menu\";\nvar [Collection, useCollection, createCollectionScope] = createCollection(MENU_NAME);\nvar [createMenuContext, createMenuScope] = createContextScope(MENU_NAME, [\n  createCollectionScope,\n  createPopperScope,\n  createRovingFocusGroupScope\n]);\nvar usePopperScope = createPopperScope();\nvar useRovingFocusGroupScope = createRovingFocusGroupScope();\nvar [MenuProvider, useMenuContext] = createMenuContext(MENU_NAME);\nvar [MenuRootProvider, useMenuRootContext] = createMenuContext(MENU_NAME);\nvar Menu = (props) => {\n  const { __scopeMenu, open = false, children, dir, onOpenChange, modal = true } = props;\n  const popperScope = usePopperScope(__scopeMenu);\n  const [content, setContent] = React.useState(null);\n  const isUsingKeyboardRef = React.useRef(false);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  const direction = useDirection(dir);\n  React.useEffect(() => {\n    const handleKeyDown = () => {\n      isUsingKeyboardRef.current = true;\n      document.addEventListener(\"pointerdown\", handlePointer, { capture: true, once: true });\n      document.addEventListener(\"pointermove\", handlePointer, { capture: true, once: true });\n    };\n    const handlePointer = () => isUsingKeyboardRef.current = false;\n    document.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n    return () => {\n      document.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n      document.removeEventListener(\"pointerdown\", handlePointer, { capture: true });\n      document.removeEventListener(\"pointermove\", handlePointer, { capture: true });\n    };\n  }, []);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuRootProvider,\n        {\n          scope: __scopeMenu,\n          onClose: React.useCallback(() => handleOpenChange(false), [handleOpenChange]),\n          isUsingKeyboardRef,\n          dir: direction,\n          modal,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenu.displayName = MENU_NAME;\nvar ANCHOR_NAME = \"MenuAnchor\";\nvar MenuAnchor = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...anchorProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });\n  }\n);\nMenuAnchor.displayName = ANCHOR_NAME;\nvar PORTAL_NAME = \"MenuPortal\";\nvar [PortalProvider, usePortalContext] = createMenuContext(PORTAL_NAME, {\n  forceMount: void 0\n});\nvar MenuPortal = (props) => {\n  const { __scopeMenu, forceMount, children, container } = props;\n  const context = useMenuContext(PORTAL_NAME, __scopeMenu);\n  return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeMenu, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"MenuContent\";\nvar [MenuContentProvider, useMenuContentContext] = createMenuContext(CONTENT_NAME);\nvar MenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...contentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: rootContext.modal ? /* @__PURE__ */ jsx(MenuRootContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(MenuRootContentNonModal, { ...contentProps, ref: forwardedRef }) }) }) });\n  }\n);\nvar MenuRootContentModal = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    React.useEffect(() => {\n      const content = ref.current;\n      if (content) return hideOthers(content);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        ...props,\n        ref: composedRefs,\n        trapFocus: context.open,\n        disableOutsidePointerEvents: context.open,\n        disableOutsideScroll: true,\n        onFocusOutside: composeEventHandlers(\n          props.onFocusOutside,\n          (event) => event.preventDefault(),\n          { checkForDefaultPrevented: false }\n        ),\n        onDismiss: () => context.onOpenChange(false)\n      }\n    );\n  }\n);\nvar MenuRootContentNonModal = React.forwardRef((props, forwardedRef) => {\n  const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n  return /* @__PURE__ */ jsx(\n    MenuContentImpl,\n    {\n      ...props,\n      ref: forwardedRef,\n      trapFocus: false,\n      disableOutsidePointerEvents: false,\n      disableOutsideScroll: false,\n      onDismiss: () => context.onOpenChange(false)\n    }\n  );\n});\nvar Slot = createSlot(\"MenuContent.ScrollLock\");\nvar MenuContentImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const {\n      __scopeMenu,\n      loop = false,\n      trapFocus,\n      onOpenAutoFocus,\n      onCloseAutoFocus,\n      disableOutsidePointerEvents,\n      onEntryFocus,\n      onEscapeKeyDown,\n      onPointerDownOutside,\n      onFocusOutside,\n      onInteractOutside,\n      onDismiss,\n      disableOutsideScroll,\n      ...contentProps\n    } = props;\n    const context = useMenuContext(CONTENT_NAME, __scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, __scopeMenu);\n    const popperScope = usePopperScope(__scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const getItems = useCollection(__scopeMenu);\n    const [currentItemId, setCurrentItemId] = React.useState(null);\n    const contentRef = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, contentRef, context.onContentChange);\n    const timerRef = React.useRef(0);\n    const searchRef = React.useRef(\"\");\n    const pointerGraceTimerRef = React.useRef(0);\n    const pointerGraceIntentRef = React.useRef(null);\n    const pointerDirRef = React.useRef(\"right\");\n    const lastPointerXRef = React.useRef(0);\n    const ScrollLockWrapper = disableOutsideScroll ? RemoveScroll : React.Fragment;\n    const scrollLockWrapperProps = disableOutsideScroll ? { as: Slot, allowPinchZoom: true } : void 0;\n    const handleTypeaheadSearch = (key) => {\n      const search = searchRef.current + key;\n      const items = getItems().filter((item) => !item.disabled);\n      const currentItem = document.activeElement;\n      const currentMatch = items.find((item) => item.ref.current === currentItem)?.textValue;\n      const values = items.map((item) => item.textValue);\n      const nextMatch = getNextMatch(values, search, currentMatch);\n      const newItem = items.find((item) => item.textValue === nextMatch)?.ref.current;\n      (function updateSearch(value) {\n        searchRef.current = value;\n        window.clearTimeout(timerRef.current);\n        if (value !== \"\") timerRef.current = window.setTimeout(() => updateSearch(\"\"), 1e3);\n      })(search);\n      if (newItem) {\n        setTimeout(() => newItem.focus());\n      }\n    };\n    React.useEffect(() => {\n      return () => window.clearTimeout(timerRef.current);\n    }, []);\n    useFocusGuards();\n    const isPointerMovingToSubmenu = React.useCallback((event) => {\n      const isMovingTowards = pointerDirRef.current === pointerGraceIntentRef.current?.side;\n      return isMovingTowards && isPointerInGraceArea(event, pointerGraceIntentRef.current?.area);\n    }, []);\n    return /* @__PURE__ */ jsx(\n      MenuContentProvider,\n      {\n        scope: __scopeMenu,\n        searchRef,\n        onItemEnter: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onItemLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) return;\n            contentRef.current?.focus();\n            setCurrentItemId(null);\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        onTriggerLeave: React.useCallback(\n          (event) => {\n            if (isPointerMovingToSubmenu(event)) event.preventDefault();\n          },\n          [isPointerMovingToSubmenu]\n        ),\n        pointerGraceTimerRef,\n        onPointerGraceIntentChange: React.useCallback((intent) => {\n          pointerGraceIntentRef.current = intent;\n        }, []),\n        children: /* @__PURE__ */ jsx(ScrollLockWrapper, { ...scrollLockWrapperProps, children: /* @__PURE__ */ jsx(\n          FocusScope,\n          {\n            asChild: true,\n            trapped: trapFocus,\n            onMountAutoFocus: composeEventHandlers(onOpenAutoFocus, (event) => {\n              event.preventDefault();\n              contentRef.current?.focus({ preventScroll: true });\n            }),\n            onUnmountAutoFocus: onCloseAutoFocus,\n            children: /* @__PURE__ */ jsx(\n              DismissableLayer,\n              {\n                asChild: true,\n                disableOutsidePointerEvents,\n                onEscapeKeyDown,\n                onPointerDownOutside,\n                onFocusOutside,\n                onInteractOutside,\n                onDismiss,\n                children: /* @__PURE__ */ jsx(\n                  RovingFocusGroup.Root,\n                  {\n                    asChild: true,\n                    ...rovingFocusGroupScope,\n                    dir: rootContext.dir,\n                    orientation: \"vertical\",\n                    loop,\n                    currentTabStopId: currentItemId,\n                    onCurrentTabStopIdChange: setCurrentItemId,\n                    onEntryFocus: composeEventHandlers(onEntryFocus, (event) => {\n                      if (!rootContext.isUsingKeyboardRef.current) event.preventDefault();\n                    }),\n                    preventScrollOnEntryFocus: true,\n                    children: /* @__PURE__ */ jsx(\n                      PopperPrimitive.Content,\n                      {\n                        role: \"menu\",\n                        \"aria-orientation\": \"vertical\",\n                        \"data-state\": getOpenState(context.open),\n                        \"data-radix-menu-content\": \"\",\n                        dir: rootContext.dir,\n                        ...popperScope,\n                        ...contentProps,\n                        ref: composedRefs,\n                        style: { outline: \"none\", ...contentProps.style },\n                        onKeyDown: composeEventHandlers(contentProps.onKeyDown, (event) => {\n                          const target = event.target;\n                          const isKeyDownInside = target.closest(\"[data-radix-menu-content]\") === event.currentTarget;\n                          const isModifierKey = event.ctrlKey || event.altKey || event.metaKey;\n                          const isCharacterKey = event.key.length === 1;\n                          if (isKeyDownInside) {\n                            if (event.key === \"Tab\") event.preventDefault();\n                            if (!isModifierKey && isCharacterKey) handleTypeaheadSearch(event.key);\n                          }\n                          const content = contentRef.current;\n                          if (event.target !== content) return;\n                          if (!FIRST_LAST_KEYS.includes(event.key)) return;\n                          event.preventDefault();\n                          const items = getItems().filter((item) => !item.disabled);\n                          const candidateNodes = items.map((item) => item.ref.current);\n                          if (LAST_KEYS.includes(event.key)) candidateNodes.reverse();\n                          focusFirst(candidateNodes);\n                        }),\n                        onBlur: composeEventHandlers(props.onBlur, (event) => {\n                          if (!event.currentTarget.contains(event.target)) {\n                            window.clearTimeout(timerRef.current);\n                            searchRef.current = \"\";\n                          }\n                        }),\n                        onPointerMove: composeEventHandlers(\n                          props.onPointerMove,\n                          whenMouse((event) => {\n                            const target = event.target;\n                            const pointerXHasChanged = lastPointerXRef.current !== event.clientX;\n                            if (event.currentTarget.contains(target) && pointerXHasChanged) {\n                              const newDir = event.clientX > lastPointerXRef.current ? \"right\" : \"left\";\n                              pointerDirRef.current = newDir;\n                              lastPointerXRef.current = event.clientX;\n                            }\n                          })\n                        )\n                      }\n                    )\n                  }\n                )\n              }\n            )\n          }\n        ) })\n      }\n    );\n  }\n);\nMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"MenuGroup\";\nvar MenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...groupProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { role: \"group\", ...groupProps, ref: forwardedRef });\n  }\n);\nMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"MenuLabel\";\nvar MenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...labelProps } = props;\n    return /* @__PURE__ */ jsx(Primitive.div, { ...labelProps, ref: forwardedRef });\n  }\n);\nMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"MenuItem\";\nvar ITEM_SELECT = \"menu.itemSelect\";\nvar MenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { disabled = false, onSelect, ...itemProps } = props;\n    const ref = React.useRef(null);\n    const rootContext = useMenuRootContext(ITEM_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(ITEM_NAME, props.__scopeMenu);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const isPointerDownRef = React.useRef(false);\n    const handleSelect = () => {\n      const menuItem = ref.current;\n      if (!disabled && menuItem) {\n        const itemSelectEvent = new CustomEvent(ITEM_SELECT, { bubbles: true, cancelable: true });\n        menuItem.addEventListener(ITEM_SELECT, (event) => onSelect?.(event), { once: true });\n        dispatchDiscreteCustomEvent(menuItem, itemSelectEvent);\n        if (itemSelectEvent.defaultPrevented) {\n          isPointerDownRef.current = false;\n        } else {\n          rootContext.onClose();\n        }\n      }\n    };\n    return /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        ...itemProps,\n        ref: composedRefs,\n        disabled,\n        onClick: composeEventHandlers(props.onClick, handleSelect),\n        onPointerDown: (event) => {\n          props.onPointerDown?.(event);\n          isPointerDownRef.current = true;\n        },\n        onPointerUp: composeEventHandlers(props.onPointerUp, (event) => {\n          if (!isPointerDownRef.current) event.currentTarget?.click();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (disabled || isTypingAhead && event.key === \" \") return;\n          if (SELECTION_KEYS.includes(event.key)) {\n            event.currentTarget.click();\n            event.preventDefault();\n          }\n        })\n      }\n    );\n  }\n);\nMenuItem.displayName = ITEM_NAME;\nvar MenuItemImpl = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, disabled = false, textValue, ...itemProps } = props;\n    const contentContext = useMenuContentContext(ITEM_NAME, __scopeMenu);\n    const rovingFocusGroupScope = useRovingFocusGroupScope(__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    const [isFocused, setIsFocused] = React.useState(false);\n    const [textContent, setTextContent] = React.useState(\"\");\n    React.useEffect(() => {\n      const menuItem = ref.current;\n      if (menuItem) {\n        setTextContent((menuItem.textContent ?? \"\").trim());\n      }\n    }, [itemProps.children]);\n    return /* @__PURE__ */ jsx(\n      Collection.ItemSlot,\n      {\n        scope: __scopeMenu,\n        disabled,\n        textValue: textValue ?? textContent,\n        children: /* @__PURE__ */ jsx(RovingFocusGroup.Item, { asChild: true, ...rovingFocusGroupScope, focusable: !disabled, children: /* @__PURE__ */ jsx(\n          Primitive.div,\n          {\n            role: \"menuitem\",\n            \"data-highlighted\": isFocused ? \"\" : void 0,\n            \"aria-disabled\": disabled || void 0,\n            \"data-disabled\": disabled ? \"\" : void 0,\n            ...itemProps,\n            ref: composedRefs,\n            onPointerMove: composeEventHandlers(\n              props.onPointerMove,\n              whenMouse((event) => {\n                if (disabled) {\n                  contentContext.onItemLeave(event);\n                } else {\n                  contentContext.onItemEnter(event);\n                  if (!event.defaultPrevented) {\n                    const item = event.currentTarget;\n                    item.focus({ preventScroll: true });\n                  }\n                }\n              })\n            ),\n            onPointerLeave: composeEventHandlers(\n              props.onPointerLeave,\n              whenMouse((event) => contentContext.onItemLeave(event))\n            ),\n            onFocus: composeEventHandlers(props.onFocus, () => setIsFocused(true)),\n            onBlur: composeEventHandlers(props.onBlur, () => setIsFocused(false))\n          }\n        ) })\n      }\n    );\n  }\n);\nvar CHECKBOX_ITEM_NAME = \"MenuCheckboxItem\";\nvar MenuCheckboxItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { checked = false, onCheckedChange, ...checkboxItemProps } = props;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemcheckbox\",\n        \"aria-checked\": isIndeterminate(checked) ? \"mixed\" : checked,\n        ...checkboxItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          checkboxItemProps.onSelect,\n          () => onCheckedChange?.(isIndeterminate(checked) ? true : !checked),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"MenuRadioGroup\";\nvar [RadioGroupProvider, useRadioGroupContext] = createMenuContext(\n  RADIO_GROUP_NAME,\n  { value: void 0, onValueChange: () => {\n  } }\n);\nvar MenuRadioGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, onValueChange, ...groupProps } = props;\n    const handleValueChange = useCallbackRef(onValueChange);\n    return /* @__PURE__ */ jsx(RadioGroupProvider, { scope: props.__scopeMenu, value, onValueChange: handleValueChange, children: /* @__PURE__ */ jsx(MenuGroup, { ...groupProps, ref: forwardedRef }) });\n  }\n);\nMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"MenuRadioItem\";\nvar MenuRadioItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { value, ...radioItemProps } = props;\n    const context = useRadioGroupContext(RADIO_ITEM_NAME, props.__scopeMenu);\n    const checked = value === context.value;\n    return /* @__PURE__ */ jsx(ItemIndicatorProvider, { scope: props.__scopeMenu, checked, children: /* @__PURE__ */ jsx(\n      MenuItem,\n      {\n        role: \"menuitemradio\",\n        \"aria-checked\": checked,\n        ...radioItemProps,\n        ref: forwardedRef,\n        \"data-state\": getCheckedState(checked),\n        onSelect: composeEventHandlers(\n          radioItemProps.onSelect,\n          () => context.onValueChange?.(value),\n          { checkForDefaultPrevented: false }\n        )\n      }\n    ) });\n  }\n);\nMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar ITEM_INDICATOR_NAME = \"MenuItemIndicator\";\nvar [ItemIndicatorProvider, useItemIndicatorContext] = createMenuContext(\n  ITEM_INDICATOR_NAME,\n  { checked: false }\n);\nvar MenuItemIndicator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, forceMount, ...itemIndicatorProps } = props;\n    const indicatorContext = useItemIndicatorContext(ITEM_INDICATOR_NAME, __scopeMenu);\n    return /* @__PURE__ */ jsx(\n      Presence,\n      {\n        present: forceMount || isIndeterminate(indicatorContext.checked) || indicatorContext.checked === true,\n        children: /* @__PURE__ */ jsx(\n          Primitive.span,\n          {\n            ...itemIndicatorProps,\n            ref: forwardedRef,\n            \"data-state\": getCheckedState(indicatorContext.checked)\n          }\n        )\n      }\n    );\n  }\n);\nMenuItemIndicator.displayName = ITEM_INDICATOR_NAME;\nvar SEPARATOR_NAME = \"MenuSeparator\";\nvar MenuSeparator = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...separatorProps } = props;\n    return /* @__PURE__ */ jsx(\n      Primitive.div,\n      {\n        role: \"separator\",\n        \"aria-orientation\": \"horizontal\",\n        ...separatorProps,\n        ref: forwardedRef\n      }\n    );\n  }\n);\nMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"MenuArrow\";\nvar MenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeMenu, ...arrowProps } = props;\n    const popperScope = usePopperScope(__scopeMenu);\n    return /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"MenuSub\";\nvar [MenuSubProvider, useMenuSubContext] = createMenuContext(SUB_NAME);\nvar MenuSub = (props) => {\n  const { __scopeMenu, children, open = false, onOpenChange } = props;\n  const parentMenuContext = useMenuContext(SUB_NAME, __scopeMenu);\n  const popperScope = usePopperScope(__scopeMenu);\n  const [trigger, setTrigger] = React.useState(null);\n  const [content, setContent] = React.useState(null);\n  const handleOpenChange = useCallbackRef(onOpenChange);\n  React.useEffect(() => {\n    if (parentMenuContext.open === false) handleOpenChange(false);\n    return () => handleOpenChange(false);\n  }, [parentMenuContext.open, handleOpenChange]);\n  return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n    MenuProvider,\n    {\n      scope: __scopeMenu,\n      open,\n      onOpenChange: handleOpenChange,\n      content,\n      onContentChange: setContent,\n      children: /* @__PURE__ */ jsx(\n        MenuSubProvider,\n        {\n          scope: __scopeMenu,\n          contentId: useId(),\n          triggerId: useId(),\n          trigger,\n          onTriggerChange: setTrigger,\n          children\n        }\n      )\n    }\n  ) });\n};\nMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"MenuSubTrigger\";\nvar MenuSubTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const context = useMenuContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const contentContext = useMenuContentContext(SUB_TRIGGER_NAME, props.__scopeMenu);\n    const openTimerRef = React.useRef(null);\n    const { pointerGraceTimerRef, onPointerGraceIntentChange } = contentContext;\n    const scope = { __scopeMenu: props.__scopeMenu };\n    const clearOpenTimer = React.useCallback(() => {\n      if (openTimerRef.current) window.clearTimeout(openTimerRef.current);\n      openTimerRef.current = null;\n    }, []);\n    React.useEffect(() => clearOpenTimer, [clearOpenTimer]);\n    React.useEffect(() => {\n      const pointerGraceTimer = pointerGraceTimerRef.current;\n      return () => {\n        window.clearTimeout(pointerGraceTimer);\n        onPointerGraceIntentChange(null);\n      };\n    }, [pointerGraceTimerRef, onPointerGraceIntentChange]);\n    return /* @__PURE__ */ jsx(MenuAnchor, { asChild: true, ...scope, children: /* @__PURE__ */ jsx(\n      MenuItemImpl,\n      {\n        id: subContext.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": subContext.contentId,\n        \"data-state\": getOpenState(context.open),\n        ...props,\n        ref: composeRefs(forwardedRef, subContext.onTriggerChange),\n        onClick: (event) => {\n          props.onClick?.(event);\n          if (props.disabled || event.defaultPrevented) return;\n          event.currentTarget.focus();\n          if (!context.open) context.onOpenChange(true);\n        },\n        onPointerMove: composeEventHandlers(\n          props.onPointerMove,\n          whenMouse((event) => {\n            contentContext.onItemEnter(event);\n            if (event.defaultPrevented) return;\n            if (!props.disabled && !context.open && !openTimerRef.current) {\n              contentContext.onPointerGraceIntentChange(null);\n              openTimerRef.current = window.setTimeout(() => {\n                context.onOpenChange(true);\n                clearOpenTimer();\n              }, 100);\n            }\n          })\n        ),\n        onPointerLeave: composeEventHandlers(\n          props.onPointerLeave,\n          whenMouse((event) => {\n            clearOpenTimer();\n            const contentRect = context.content?.getBoundingClientRect();\n            if (contentRect) {\n              const side = context.content?.dataset.side;\n              const rightSide = side === \"right\";\n              const bleed = rightSide ? -5 : 5;\n              const contentNearEdge = contentRect[rightSide ? \"left\" : \"right\"];\n              const contentFarEdge = contentRect[rightSide ? \"right\" : \"left\"];\n              contentContext.onPointerGraceIntentChange({\n                area: [\n                  // Apply a bleed on clientX to ensure that our exit point is\n                  // consistently within polygon bounds\n                  { x: event.clientX + bleed, y: event.clientY },\n                  { x: contentNearEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.top },\n                  { x: contentFarEdge, y: contentRect.bottom },\n                  { x: contentNearEdge, y: contentRect.bottom }\n                ],\n                side\n              });\n              window.clearTimeout(pointerGraceTimerRef.current);\n              pointerGraceTimerRef.current = window.setTimeout(\n                () => contentContext.onPointerGraceIntentChange(null),\n                300\n              );\n            } else {\n              contentContext.onTriggerLeave(event);\n              if (event.defaultPrevented) return;\n              contentContext.onPointerGraceIntentChange(null);\n            }\n          })\n        ),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isTypingAhead = contentContext.searchRef.current !== \"\";\n          if (props.disabled || isTypingAhead && event.key === \" \") return;\n          if (SUB_OPEN_KEYS[rootContext.dir].includes(event.key)) {\n            context.onOpenChange(true);\n            context.content?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) });\n  }\n);\nMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"MenuSubContent\";\nvar MenuSubContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const portalContext = usePortalContext(CONTENT_NAME, props.__scopeMenu);\n    const { forceMount = portalContext.forceMount, ...subContentProps } = props;\n    const context = useMenuContext(CONTENT_NAME, props.__scopeMenu);\n    const rootContext = useMenuRootContext(CONTENT_NAME, props.__scopeMenu);\n    const subContext = useMenuSubContext(SUB_CONTENT_NAME, props.__scopeMenu);\n    const ref = React.useRef(null);\n    const composedRefs = useComposedRefs(forwardedRef, ref);\n    return /* @__PURE__ */ jsx(Collection.Provider, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Collection.Slot, { scope: props.__scopeMenu, children: /* @__PURE__ */ jsx(\n      MenuContentImpl,\n      {\n        id: subContext.contentId,\n        \"aria-labelledby\": subContext.triggerId,\n        ...subContentProps,\n        ref: composedRefs,\n        align: \"start\",\n        side: rootContext.dir === \"rtl\" ? \"left\" : \"right\",\n        disableOutsidePointerEvents: false,\n        disableOutsideScroll: false,\n        trapFocus: false,\n        onOpenAutoFocus: (event) => {\n          if (rootContext.isUsingKeyboardRef.current) ref.current?.focus();\n          event.preventDefault();\n        },\n        onCloseAutoFocus: (event) => event.preventDefault(),\n        onFocusOutside: composeEventHandlers(props.onFocusOutside, (event) => {\n          if (event.target !== subContext.trigger) context.onOpenChange(false);\n        }),\n        onEscapeKeyDown: composeEventHandlers(props.onEscapeKeyDown, (event) => {\n          rootContext.onClose();\n          event.preventDefault();\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          const isKeyDownInside = event.currentTarget.contains(event.target);\n          const isCloseKey = SUB_CLOSE_KEYS[rootContext.dir].includes(event.key);\n          if (isKeyDownInside && isCloseKey) {\n            context.onOpenChange(false);\n            subContext.trigger?.focus();\n            event.preventDefault();\n          }\n        })\n      }\n    ) }) }) });\n  }\n);\nMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction getOpenState(open) {\n  return open ? \"open\" : \"closed\";\n}\nfunction isIndeterminate(checked) {\n  return checked === \"indeterminate\";\n}\nfunction getCheckedState(checked) {\n  return isIndeterminate(checked) ? \"indeterminate\" : checked ? \"checked\" : \"unchecked\";\n}\nfunction focusFirst(candidates) {\n  const PREVIOUSLY_FOCUSED_ELEMENT = document.activeElement;\n  for (const candidate of candidates) {\n    if (candidate === PREVIOUSLY_FOCUSED_ELEMENT) return;\n    candidate.focus();\n    if (document.activeElement !== PREVIOUSLY_FOCUSED_ELEMENT) return;\n  }\n}\nfunction wrapArray(array, startIndex) {\n  return array.map((_, index) => array[(startIndex + index) % array.length]);\n}\nfunction getNextMatch(values, search, currentMatch) {\n  const isRepeated = search.length > 1 && Array.from(search).every((char) => char === search[0]);\n  const normalizedSearch = isRepeated ? search[0] : search;\n  const currentMatchIndex = currentMatch ? values.indexOf(currentMatch) : -1;\n  let wrappedValues = wrapArray(values, Math.max(currentMatchIndex, 0));\n  const excludeCurrentMatch = normalizedSearch.length === 1;\n  if (excludeCurrentMatch) wrappedValues = wrappedValues.filter((v) => v !== currentMatch);\n  const nextMatch = wrappedValues.find(\n    (value) => value.toLowerCase().startsWith(normalizedSearch.toLowerCase())\n  );\n  return nextMatch !== currentMatch ? nextMatch : void 0;\n}\nfunction isPointInPolygon(point, polygon) {\n  const { x, y } = point;\n  let inside = false;\n  for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n    const ii = polygon[i];\n    const jj = polygon[j];\n    const xi = ii.x;\n    const yi = ii.y;\n    const xj = jj.x;\n    const yj = jj.y;\n    const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n    if (intersect) inside = !inside;\n  }\n  return inside;\n}\nfunction isPointerInGraceArea(event, area) {\n  if (!area) return false;\n  const cursorPos = { x: event.clientX, y: event.clientY };\n  return isPointInPolygon(cursorPos, area);\n}\nfunction whenMouse(handler) {\n  return (event) => event.pointerType === \"mouse\" ? handler(event) : void 0;\n}\nvar Root3 = Menu;\nvar Anchor2 = MenuAnchor;\nvar Portal = MenuPortal;\nvar Content2 = MenuContent;\nvar Group = MenuGroup;\nvar Label = MenuLabel;\nvar Item2 = MenuItem;\nvar CheckboxItem = MenuCheckboxItem;\nvar RadioGroup = MenuRadioGroup;\nvar RadioItem = MenuRadioItem;\nvar ItemIndicator = MenuItemIndicator;\nvar Separator = MenuSeparator;\nvar Arrow2 = MenuArrow;\nvar Sub = MenuSub;\nvar SubTrigger = MenuSubTrigger;\nvar SubContent = MenuSubContent;\nexport {\n  Anchor2 as Anchor,\n  Arrow2 as Arrow,\n  CheckboxItem,\n  Content2 as Content,\n  Group,\n  Item2 as Item,\n  ItemIndicator,\n  Label,\n  Menu,\n  MenuAnchor,\n  MenuArrow,\n  MenuCheckboxItem,\n  MenuContent,\n  MenuGroup,\n  MenuItem,\n  MenuItemIndicator,\n  MenuLabel,\n  MenuPortal,\n  MenuRadioGroup,\n  MenuRadioItem,\n  MenuSeparator,\n  MenuSub,\n  MenuSubContent,\n  MenuSubTrigger,\n  Portal,\n  RadioGroup,\n  RadioItem,\n  Root3 as Root,\n  Separator,\n  Sub,\n  SubContent,\n  SubTrigger,\n  createMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dropdown-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DROPDOWN_MENU_NAME = \"DropdownMenu\";\nvar [createDropdownMenuContext, createDropdownMenuScope] = createContextScope(\n  DROPDOWN_MENU_NAME,\n  [createMenuScope]\n);\nvar useMenuScope = createMenuScope();\nvar [DropdownMenuProvider, useDropdownMenuContext] = createDropdownMenuContext(DROPDOWN_MENU_NAME);\nvar DropdownMenu = (props) => {\n  const {\n    __scopeDropdownMenu,\n    children,\n    dir,\n    open: openProp,\n    defaultOpen,\n    onOpenChange,\n    modal = true\n  } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  const triggerRef = React.useRef(null);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: DROPDOWN_MENU_NAME\n  });\n  return /* @__PURE__ */ jsx(\n    DropdownMenuProvider,\n    {\n      scope: __scopeDropdownMenu,\n      triggerId: useId(),\n      triggerRef,\n      contentId: useId(),\n      open,\n      onOpenChange: setOpen,\n      onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n      modal,\n      children: /* @__PURE__ */ jsx(MenuPrimitive.Root, { ...menuScope, open, onOpenChange: setOpen, dir, modal, children })\n    }\n  );\n};\nDropdownMenu.displayName = DROPDOWN_MENU_NAME;\nvar TRIGGER_NAME = \"DropdownMenuTrigger\";\nvar DropdownMenuTrigger = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, disabled = false, ...triggerProps } = props;\n    const context = useDropdownMenuContext(TRIGGER_NAME, __scopeDropdownMenu);\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { asChild: true, ...menuScope, children: /* @__PURE__ */ jsx(\n      Primitive.button,\n      {\n        type: \"button\",\n        id: context.triggerId,\n        \"aria-haspopup\": \"menu\",\n        \"aria-expanded\": context.open,\n        \"aria-controls\": context.open ? context.contentId : void 0,\n        \"data-state\": context.open ? \"open\" : \"closed\",\n        \"data-disabled\": disabled ? \"\" : void 0,\n        disabled,\n        ...triggerProps,\n        ref: composeRefs(forwardedRef, context.triggerRef),\n        onPointerDown: composeEventHandlers(props.onPointerDown, (event) => {\n          if (!disabled && event.button === 0 && event.ctrlKey === false) {\n            context.onOpenToggle();\n            if (!context.open) event.preventDefault();\n          }\n        }),\n        onKeyDown: composeEventHandlers(props.onKeyDown, (event) => {\n          if (disabled) return;\n          if ([\"Enter\", \" \"].includes(event.key)) context.onOpenToggle();\n          if (event.key === \"ArrowDown\") context.onOpenChange(true);\n          if ([\"Enter\", \" \", \"ArrowDown\"].includes(event.key)) event.preventDefault();\n        })\n      }\n    ) });\n  }\n);\nDropdownMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"DropdownMenuPortal\";\nvar DropdownMenuPortal = (props) => {\n  const { __scopeDropdownMenu, ...portalProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nDropdownMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"DropdownMenuContent\";\nvar DropdownMenuContent = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...contentProps } = props;\n    const context = useDropdownMenuContext(CONTENT_NAME, __scopeDropdownMenu);\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    const hasInteractedOutsideRef = React.useRef(false);\n    return /* @__PURE__ */ jsx(\n      MenuPrimitive.Content,\n      {\n        id: context.contentId,\n        \"aria-labelledby\": context.triggerId,\n        ...menuScope,\n        ...contentProps,\n        ref: forwardedRef,\n        onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {\n          if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n          hasInteractedOutsideRef.current = false;\n          event.preventDefault();\n        }),\n        onInteractOutside: composeEventHandlers(props.onInteractOutside, (event) => {\n          const originalEvent = event.detail.originalEvent;\n          const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n          const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n          if (!context.modal || isRightClick) hasInteractedOutsideRef.current = true;\n        }),\n        style: {\n          ...props.style,\n          // re-namespace exposed content custom properties\n          ...{\n            \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n            \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n            \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n            \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n            \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n          }\n        }\n      }\n    );\n  }\n);\nDropdownMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"DropdownMenuGroup\";\nvar DropdownMenuGroup = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...groupProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n  }\n);\nDropdownMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"DropdownMenuLabel\";\nvar DropdownMenuLabel = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...labelProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n  }\n);\nDropdownMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"DropdownMenuItem\";\nvar DropdownMenuItem = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...itemProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n  }\n);\nDropdownMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"DropdownMenuCheckboxItem\";\nvar DropdownMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...checkboxItemProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nDropdownMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"DropdownMenuRadioGroup\";\nvar DropdownMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...radioGroupProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nDropdownMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"DropdownMenuRadioItem\";\nvar DropdownMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...radioItemProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nDropdownMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"DropdownMenuItemIndicator\";\nvar DropdownMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...itemIndicatorProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nDropdownMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"DropdownMenuSeparator\";\nvar DropdownMenuSeparator = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...separatorProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nDropdownMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"DropdownMenuArrow\";\nvar DropdownMenuArrow = React.forwardRef(\n  (props, forwardedRef) => {\n    const { __scopeDropdownMenu, ...arrowProps } = props;\n    const menuScope = useMenuScope(__scopeDropdownMenu);\n    return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n  }\n);\nDropdownMenuArrow.displayName = ARROW_NAME;\nvar DropdownMenuSub = (props) => {\n  const { __scopeDropdownMenu, children, open: openProp, onOpenChange, defaultOpen } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  const [open, setOpen] = useControllableState({\n    prop: openProp,\n    defaultProp: defaultOpen ?? false,\n    onChange: onOpenChange,\n    caller: \"DropdownMenuSub\"\n  });\n  return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nvar SUB_TRIGGER_NAME = \"DropdownMenuSubTrigger\";\nvar DropdownMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...subTriggerProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...subTriggerProps, ref: forwardedRef });\n});\nDropdownMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"DropdownMenuSubContent\";\nvar DropdownMenuSubContent = React.forwardRef((props, forwardedRef) => {\n  const { __scopeDropdownMenu, ...subContentProps } = props;\n  const menuScope = useMenuScope(__scopeDropdownMenu);\n  return /* @__PURE__ */ jsx(\n    MenuPrimitive.SubContent,\n    {\n      ...menuScope,\n      ...subContentProps,\n      ref: forwardedRef,\n      style: {\n        ...props.style,\n        // re-namespace exposed content custom properties\n        ...{\n          \"--radix-dropdown-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n          \"--radix-dropdown-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n          \"--radix-dropdown-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n          \"--radix-dropdown-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n          \"--radix-dropdown-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n        }\n      }\n    }\n  );\n});\nDropdownMenuSubContent.displayName = SUB_CONTENT_NAME;\nvar Root2 = DropdownMenu;\nvar Trigger = DropdownMenuTrigger;\nvar Portal2 = DropdownMenuPortal;\nvar Content2 = DropdownMenuContent;\nvar Group2 = DropdownMenuGroup;\nvar Label2 = DropdownMenuLabel;\nvar Item2 = DropdownMenuItem;\nvar CheckboxItem2 = DropdownMenuCheckboxItem;\nvar RadioGroup2 = DropdownMenuRadioGroup;\nvar RadioItem2 = DropdownMenuRadioItem;\nvar ItemIndicator2 = DropdownMenuItemIndicator;\nvar Separator2 = DropdownMenuSeparator;\nvar Arrow2 = DropdownMenuArrow;\nvar Sub2 = DropdownMenuSub;\nvar SubTrigger2 = DropdownMenuSubTrigger;\nvar SubContent2 = DropdownMenuSubContent;\nexport {\n  Arrow2 as Arrow,\n  CheckboxItem2 as CheckboxItem,\n  Content2 as Content,\n  DropdownMenu,\n  DropdownMenuArrow,\n  DropdownMenuCheckboxItem,\n  DropdownMenuContent,\n  DropdownMenuGroup,\n  DropdownMenuItem,\n  DropdownMenuItemIndicator,\n  DropdownMenuLabel,\n  DropdownMenuPortal,\n  DropdownMenuRadioGroup,\n  DropdownMenuRadioItem,\n  DropdownMenuSeparator,\n  DropdownMenuSub,\n  DropdownMenuSubContent,\n  DropdownMenuSubTrigger,\n  DropdownMenuTrigger,\n  Group2 as Group,\n  Item2 as Item,\n  ItemIndicator2 as ItemIndicator,\n  Label2 as Label,\n  Portal2 as Portal,\n  RadioGroup2 as RadioGroup,\n  RadioItem2 as RadioItem,\n  Root2 as Root,\n  Separator2 as Separator,\n  Sub2 as Sub,\n  SubContent2 as SubContent,\n  SubTrigger2 as SubTrigger,\n  Trigger,\n  createDropdownMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cline%20x1='6'%20x2='6'%20y1='3'%20y2='15'/%3e%3ccircle%20cx='18'%20cy='6'%20r='3'/%3e%3ccircle%20cx='6'%20cy='18'%20r='3'/%3e%3cpath%20d='M18%209a9%209%200%200%201-9%209'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'/%3e%3c/svg%3e\"","import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { ReactComponent as ChevronIcon } from \"~/assets/branch.svg\";\nimport { ReactComponent as Check } from \"~/assets/check.svg\";\nimport { ReactComponent as Circle } from \"~/assets/circle.svg\";\n\nimport * as React from \"react\";\nimport { cn } from \"~/lib/cn\";\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n    inset?: boolean;\n  }\n>(({ className, inset, children, ...props }, ref) => (\n  <DropdownMenuPrimitive.SubTrigger\n    ref={ref}\n    className={cn(\n      \"flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-neutral-100 data-[state=open]:bg-neutral-100 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n      inset && \"pl-8\",\n      className,\n    )}\n    {...props}\n  >\n    {children}\n    <ChevronIcon className=\"ml-auto rotate-45\" />\n  </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent> & {\n    container?: HTMLElement | null;\n  }\n>(({ className, container, ...props }, ref) => {\n  return (\n    <DropdownMenuPrimitive.Portal container={container}>\n      <DropdownMenuPrimitive.SubContent\n        ref={ref}\n        className={cn(\n          \"z-999999\",\n          \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border border-neutral-200 bg-white p-1 text-neutral-950 shadow-lg\",\n          className,\n        )}\n        {...props}\n      />\n    </DropdownMenuPrimitive.Portal>\n  );\n});\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content> & {\n    container?: HTMLElement | null;\n  }\n>(({ className, sideOffset = 4, container, ...props }, ref) => {\n  return (\n    <DropdownMenuPrimitive.Portal container={container}>\n      <DropdownMenuPrimitive.Content\n        ref={ref}\n        sideOffset={sideOffset}\n        className={cn(\n          \"z-999999\",\n          \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-y-auto overflow-x-hidden rounded-md border border-neutral-200 bg-white p-1 text-neutral-950 shadow-md\",\n          className,\n        )}\n        {...props}\n      />\n    </DropdownMenuPrimitive.Portal>\n  );\n});\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n    inset?: boolean;\n  }\n>(({ className, inset, ...props }, ref) => (\n  <DropdownMenuPrimitive.Item\n    ref={ref}\n    className={cn(\n      \"relative flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-neutral-100 focus:text-neutral-900 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n      inset && \"pl-8\",\n      className,\n    )}\n    {...props}\n  />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n  <DropdownMenuPrimitive.CheckboxItem\n    ref={ref}\n    className={cn(\n      \"relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-neutral-100 focus:text-neutral-900 data-disabled:pointer-events-none data-disabled:opacity-50\",\n      className,\n    )}\n    checked={checked}\n    {...props}\n  >\n    <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n      <DropdownMenuPrimitive.ItemIndicator>\n        <Check className=\"h-4 w-4 stroke-current\" />\n      </DropdownMenuPrimitive.ItemIndicator>\n    </span>\n    {children}\n  </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n  <DropdownMenuPrimitive.RadioItem\n    ref={ref}\n    className={cn(\n      \"relative flex cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-neutral-100 focus:text-neutral-900 data-disabled:pointer-events-none data-disabled:opacity-50\",\n      className,\n    )}\n    {...props}\n  >\n    <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n      <DropdownMenuPrimitive.ItemIndicator>\n        <Circle className=\"h-2 w-2 fill-current\" />\n      </DropdownMenuPrimitive.ItemIndicator>\n    </span>\n    {children}\n  </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n    inset?: boolean;\n  }\n>(({ className, inset, ...props }, ref) => (\n  <DropdownMenuPrimitive.Label\n    ref={ref}\n    className={cn(\"px-2 py-1.5 text-sm font-semibold\", inset && \"pl-8\", className)}\n    {...props}\n  />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n  React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n  React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n  <DropdownMenuPrimitive.Separator ref={ref} className={cn(\"-mx-1 my-1 h-px bg-neutral-100\", className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n  return <span className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n  DropdownMenu,\n  DropdownMenuCheckboxItem,\n  DropdownMenuContent,\n  DropdownMenuGroup,\n  DropdownMenuItem,\n  DropdownMenuLabel,\n  DropdownMenuPortal,\n  DropdownMenuRadioGroup,\n  DropdownMenuRadioItem,\n  DropdownMenuSeparator,\n  DropdownMenuShortcut,\n  DropdownMenuSub,\n  DropdownMenuSubContent,\n  DropdownMenuSubTrigger,\n  DropdownMenuTrigger,\n};\n","import { useContext } from \"react\";\nimport useSentryStore from \"../store\";\nimport { SentryEventsContext } from \"./sentryEventsContext\";\n\nexport const useSentryLogs = (traceId?: string) => {\n  useContext(SentryEventsContext);\n  const { getLogs, getLogsByTraceId } = useSentryStore();\n\n  return Array.from(traceId ? getLogsByTraceId(traceId) : getLogs()).sort((a, b) => b.timestamp - a.timestamp);\n};\n\nexport const useSentryLog = (id: string) => {\n  useContext(SentryEventsContext);\n  const getLogById = useSentryStore(state => state.getLogById);\n\n  return getLogById(id);\n};\n","import { useEffect, useState } from \"react\";\n\nconst STORAGE_KEY = \"spotlight-logs-visible-columns\";\n\nexport default function useColumnVisibility(defaultColumns: string[]) {\n  const [visibleColumns, setVisibleColumns] = useState<Set<string>>(() => {\n    try {\n      const stored = localStorage.getItem(STORAGE_KEY);\n      if (stored) {\n        const parsed = JSON.parse(stored);\n        return new Set(parsed);\n      }\n    } catch (error) {\n      console.error(\"Failed to load column visibility from localStorage:\", error);\n    }\n    return new Set(defaultColumns);\n  });\n\n  useEffect(() => {\n    try {\n      localStorage.setItem(STORAGE_KEY, JSON.stringify(Array.from(visibleColumns)));\n    } catch (error) {\n      console.error(\"Failed to save column visibility to localStorage:\", error);\n    }\n  }, [visibleColumns]);\n\n  const toggleColumn = (columnId: string) => {\n    setVisibleColumns(prev => {\n      const next = new Set(prev);\n      if (next.has(columnId)) {\n        next.delete(columnId);\n      } else {\n        next.add(columnId);\n      }\n      return next;\n    });\n  };\n\n  const isColumnVisible = (columnId: string) => visibleColumns.has(columnId);\n\n  return {\n    visibleColumns,\n    toggleColumn,\n    isColumnVisible,\n  };\n}\n","import { Link } from \"react-router-dom\";\nimport JsonViewer from \"~/telemetry/components/shared/JsonViewer\";\nimport { useSentryLog } from \"~/telemetry/data/useSentryLogs\";\nimport SidePanel, { SidePanelHeader } from \"~/ui/sidePanel\";\nimport Table from \"~/ui/table\";\nimport { LOG_LEVEL_COLORS } from \"../../constants\";\nimport DateTime from \"../shared/DateTime\";\n\nexport default function LogDetails({ id }: { id: string }) {\n  const logData = useSentryLog(id);\n\n  if (!logData) {\n    return null;\n  }\n  const { timestamp, trace_id, body, attributes, level, severity_number } = logData;\n\n  return (\n    <SidePanel backto=\"/telemetry/logs\">\n      <SidePanelHeader\n        title=\"Log Details\"\n        subtitle={<span className={LOG_LEVEL_COLORS[level] || \"text-primary-500\"}>{level.toUpperCase()}</span>}\n        backto=\"/telemetry/logs\"\n      />\n\n      <div className=\"space-y-6\">\n        <div>\n          <h2 className=\"mb-2 font-bold uppercase\">Message</h2>\n          <pre className=\"text-primary-300 whitespace-pre-wrap break-words font-mono text-sm\">{body}</pre>\n        </div>\n\n        <div>\n          <h2 className=\"mb-2 font-bold uppercase\">Timestamp</h2>\n          <DateTime date={timestamp} />\n        </div>\n\n        <div>\n          <h2 className=\"mb-2 font-bold uppercase\">Trace ID</h2>\n          <Link className=\"underline\" to={`/telemetry/traces/${trace_id}`}>\n            {trace_id}\n          </Link>\n        </div>\n\n        {severity_number !== undefined && (\n          <div>\n            <h2 className=\"mb-2 font-bold uppercase\">Severity</h2>\n            <pre className=\"text-primary-300 font-mono\">{severity_number}</pre>\n          </div>\n        )}\n\n        {attributes && Object.keys(attributes).length > 0 && (\n          <div>\n            <h2 className=\"mb-2 font-bold uppercase\">Attributes</h2>\n            <Table className=\"w-full text-sm\">\n              <Table.Body>\n                {Object.entries(attributes).map(([key, value]) => (\n                  <tr key={key} className=\"text-primary-300\">\n                    <th className=\"w-1/12 py-0.5 pr-4 text-left font-mono font-normal\">\n                      <div className=\"w-full truncate\">{key}</div>\n                    </th>\n                    <td className=\"py-0.5\">\n                      {typeof value !== \"object\" || !value ? (\n                        <pre className=\"text-primary-300 whitespace-nowrap font-mono\">{JSON.stringify(value)}</pre>\n                      ) : (\n                        <JsonViewer key={key} data={value} />\n                      )}\n                    </td>\n                  </tr>\n                ))}\n              </Table.Body>\n            </Table>\n          </div>\n        )}\n      </div>\n    </SidePanel>\n  );\n}\n","import { type KeyboardEvent, useMemo } from \"react\";\nimport { Link, useNavigate, useParams } from \"react-router-dom\";\nimport { ReactComponent as Filter } from \"~/assets/filter.svg\";\nimport { ReactComponent as Sort } from \"~/assets/sort.svg\";\nimport { ReactComponent as SortDown } from \"~/assets/sortDown.svg\";\nimport { cn } from \"~/lib/cn\";\nimport CardList from \"~/telemetry/components/shared/CardList\";\nimport { Button } from \"~/ui/button\";\nimport {\n  DropdownMenu,\n  DropdownMenuCheckboxItem,\n  DropdownMenuContent,\n  DropdownMenuLabel,\n  DropdownMenuSeparator,\n  DropdownMenuTrigger,\n} from \"~/ui/dropdownMenu\";\nimport Table from \"~/ui/table\";\nimport { LOGS_HEADERS, LOGS_SORT_KEYS, LOG_LEVEL_COLORS } from \"../../constants\";\nimport { useSentryLogs } from \"../../data/useSentryLogs\";\nimport useColumnVisibility from \"../../hooks/useColumnVisibility\";\nimport useSort from \"../../hooks/useSort\";\nimport type { SentryLogEventItem } from \"../../types\";\nimport { formatTimestamp } from \"../../utils/duration\";\nimport LogDetails from \"./LogDetail\";\n\ntype LogsComparator = (a: SentryLogEventItem, b: SentryLogEventItem) => number;\ntype LogsSortTypes = (typeof LOGS_SORT_KEYS)[keyof typeof LOGS_SORT_KEYS];\nconst COMPARATORS: Record<LogsSortTypes, LogsComparator> = {\n  [LOGS_SORT_KEYS.timestamp]: (a, b) => {\n    return a.timestamp - b.timestamp;\n  },\n  [LOGS_SORT_KEYS.sdk]: (a, b) => {\n    const aSdk = a.sdk || \"\";\n    const bSdk = b.sdk || \"\";\n    return aSdk.localeCompare(bSdk);\n  },\n  [LOGS_SORT_KEYS.level]: (a, b) => {\n    return a.severity_number - b.severity_number;\n  },\n  [LOGS_SORT_KEYS.trace_id]: (a, b) => {\n    const aTrace = a.trace_id || \"\";\n    const bTrace = b.trace_id || \"\";\n    return aTrace.localeCompare(bTrace);\n  },\n};\n\nconst LogsList = ({ traceId }: { traceId?: string }) => {\n  const { id: selectedLogId } = useParams();\n  const navigate = useNavigate();\n  const allLogs = useSentryLogs(traceId);\n  const { sort, toggleSortOrder } = useSort({ defaultSortType: LOGS_SORT_KEYS.timestamp });\n  const { isColumnVisible, toggleColumn } = useColumnVisibility(LOGS_HEADERS.map(h => h.id));\n\n  const logsData = useMemo(() => {\n    const compareLogData = COMPARATORS[sort.active] || COMPARATORS[LOGS_SORT_KEYS.timestamp];\n\n    return allLogs.sort((a, b) => {\n      return sort.asc ? compareLogData(a, b) : compareLogData(b, a);\n    });\n  }, [allLogs, sort.active, sort.asc]);\n\n  const handleRowClick = (log: SentryLogEventItem) => {\n    navigate(`/telemetry/logs/${log.id}`);\n  };\n\n  const handleRowKeyDown = (e: KeyboardEvent<HTMLTableRowElement>, log: SentryLogEventItem) => {\n    if (e.key === \"Enter\") {\n      handleRowClick(log);\n    }\n  };\n\n  const visibleHeaders = LOGS_HEADERS.filter(header => isColumnVisible(header.id));\n\n  return (\n    <CardList>\n      {logsData.length ? (\n        <>\n          <div className=\"flex justify-end px-6 py-3\">\n            <DropdownMenu>\n              <DropdownMenuTrigger asChild>\n                <Button\n                  variant=\"outline\"\n                  size=\"sm\"\n                  className=\"border-primary-700 hover:bg-primary-900 bg-primary-950 h-9 text-sm\"\n                >\n                  <Filter className=\"mr-2 h-3.5 w-3.5\" />\n                  Columns\n                </Button>\n              </DropdownMenuTrigger>\n              <DropdownMenuContent className=\"border-primary-700 bg-primary-950 text-white w-56\">\n                <DropdownMenuLabel>Toggle Columns</DropdownMenuLabel>\n                <DropdownMenuSeparator />\n                {LOGS_HEADERS.map(header => (\n                  <DropdownMenuCheckboxItem\n                    key={header.id}\n                    checked={isColumnVisible(header.id)}\n                    onCheckedChange={() => toggleColumn(header.id)}\n                  >\n                    {header.title}\n                  </DropdownMenuCheckboxItem>\n                ))}\n              </DropdownMenuContent>\n            </DropdownMenu>\n          </div>\n          <Table variant=\"detail\">\n            <Table.Header>\n              <tr>\n                {visibleHeaders.map((header, idx) => (\n                  <th\n                    key={header.id}\n                    scope=\"col\"\n                    className={cn(\n                      \"text-primary-100 py-3.5 text-sm font-semibold\",\n                      !header.primary && \"w-[20%]\",\n                      header.primary && \"w-[50%]\",\n                      idx === 0 && \"ps-6\",\n                      idx === visibleHeaders.length - 1 && \"pe-6\",\n                    )}\n                  >\n                    <div\n                      className={cn(\n                        \"flex cursor-pointer select-none items-center gap-1\",\n                        `justify-${header.align === \"right\" ? \"end\" : \"start\"}`,\n                      )}\n                      onClick={() => header.sortKey && toggleSortOrder(header.sortKey)}\n                    >\n                      {header.title}\n                      {header.sortKey &&\n                        (sort.active === header?.sortKey ? (\n                          <SortDown\n                            width={12}\n                            height={12}\n                            className={cn(\n                              \"fill-primary-300\",\n                              sort.asc ? \"-translate-y-0.5 rotate-0\" : \"translate-y-0.5 rotate-180\",\n                            )}\n                          />\n                        ) : (\n                          <Sort width={12} height={12} className=\"stroke-primary-300\" />\n                        ))}\n                    </div>\n                  </th>\n                ))}\n              </tr>\n            </Table.Header>\n            <Table.Body className=\"text-primary-200 whitespace-nowrap font-mono text-xs font-medium\">\n              {logsData.map(log => (\n                <tr\n                  key={log.id}\n                  onClick={() => handleRowClick(log)}\n                  onKeyDown={e => handleRowKeyDown(e, log)}\n                  tabIndex={0}\n                  role=\"link\"\n                  className=\"hover:bg-primary-900 cursor-pointer\"\n                >\n                  {visibleHeaders.map((header, idx) => {\n                    const paddings = cn(idx === 0 && \"ps-6\", idx === visibleHeaders.length - 1 && \"pe-6\");\n\n                    if (header.id === \"level\" && isColumnVisible(\"level\")) {\n                      return (\n                        <td key=\"level\" className={cn(\"align-middle\", paddings)}>\n                          <span className={LOG_LEVEL_COLORS[log.level] || \"text-primary-500\"}>\n                            {log.level.toUpperCase()}\n                          </span>\n                        </td>\n                      );\n                    }\n                    if (header.id === \"message\" && isColumnVisible(\"message\")) {\n                      return (\n                        <td key=\"message\" className={cn(\"text-sm truncate align-middle\", paddings)}>\n                          <span>{log.body}</span>\n                        </td>\n                      );\n                    }\n                    if (header.id === \"trace_id\" && isColumnVisible(\"trace_id\")) {\n                      return (\n                        <td key=\"trace_id\" className={cn(\"text-sm\", paddings)}>\n                          {log.trace_id ? (\n                            <Link\n                              to={`/telemetry/traces/${log.trace_id}`}\n                              className=\"text-blue-400 hover:text-blue-300 underline max-w-[150px] truncate block\"\n                              onClick={e => e.stopPropagation()}\n                            >\n                              {log.trace_id}\n                            </Link>\n                          ) : (\n                            <span className=\"text-primary-300 max-w-[150px] truncate block\">N/A</span>\n                          )}\n                        </td>\n                      );\n                    }\n                    if (header.id === \"timestamp\" && isColumnVisible(\"timestamp\")) {\n                      return (\n                        <td key=\"timestamp\" className={cn(\"text-right align-middle\", paddings)}>\n                          <span>{formatTimestamp(log.timestamp)}</span>\n                        </td>\n                      );\n                    }\n                    if (header.id === \"sdk\" && isColumnVisible(\"sdk\")) {\n                      return (\n                        <td key=\"sdk\" className={cn(\"text-right align-middle\", paddings)}>\n                          <span\n                            title={log.sdk || undefined}\n                            className=\"block max-w-[150px] truncate text-right ms-auto\"\n                          >\n                            {log.sdk || \"N/A\"}\n                          </span>\n                        </td>\n                      );\n                    }\n                    return null;\n                  })}\n                </tr>\n              ))}\n            </Table.Body>\n          </Table>\n          {selectedLogId && <LogDetails id={selectedLogId} />}\n        </>\n      ) : (\n        <p className=\"text-primary-300 px-6 py-4\">No logs found.</p>\n      )}\n    </CardList>\n  );\n};\n\nexport default LogsList;\n","import { Route, Routes } from \"react-router-dom\";\nimport LogsList from \"./LogsList\";\n\nexport default function Logs() {\n  return (\n    <Routes>\n      <Route path=\"/:id\" element={<LogsList />} />\n      <Route path=\"/\" element={<LogsList />} />\n    </Routes>\n  );\n}\n","import Logs from \"../components/log\";\nimport { SentryEventsContextProvider } from \"../data/sentryEventsContext\";\n\nimport { Route, Routes } from \"react-router-dom\";\n\nexport default function LogsTab() {\n  return (\n    <SentryEventsContextProvider>\n      <Routes>\n        <Route path=\"/*\" element={<Logs />} />\n      </Routes>\n    </SentryEventsContextProvider>\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M18%206%206%2018'/%3e%3cpath%20d='m6%206%2012%2012'/%3e%3c/svg%3e\"","// Ref: https://stackoverflow.com/a/78529642/16866418\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\n\n// The reason we need to go through all these shenanigans is\n// because we cannot just use `useState` and debounce the setter.\n// If you do that, we end up having a new debounced function for\n// every render, defeating the entire purpose.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport default function useDebounce<T extends (...args: any[]) => void>(callback: T, delay: number) {\n  const callbackRef = useRef(callback);\n  const timerRef = useRef<number | null>(null);\n\n  useLayoutEffect(() => {\n    callbackRef.current = callback;\n  }, [callback]);\n\n  return useMemo(\n    () =>\n      (...args: Parameters<T>) => {\n        if (timerRef.current !== null) {\n          clearTimeout(timerRef.current);\n        }\n        timerRef.current = window.setTimeout(() => {\n          callbackRef.current(...args);\n          timerRef.current = null;\n        }, delay);\n      },\n    [delay],\n  );\n}\n","import { type FormEvent, useEffect, useState } from \"react\";\nimport useDebounce from \"./useDebounce\";\n\nexport default function useSearchInput(onSearch: (value: string) => void, delay = 500) {\n  const [inputValue, setInputValue] = useState(\"\");\n  const [showReset, setShowReset] = useState(false);\n\n  const debouncedSearch = useDebounce(onSearch, delay);\n\n  useEffect(() => {\n    debouncedSearch(inputValue);\n  }, [inputValue, debouncedSearch]);\n\n  const handleChange = (e: FormEvent<HTMLInputElement>) => {\n    const value = e.currentTarget.value;\n    setInputValue(value);\n    setShowReset(Boolean(value));\n  };\n\n  const handleReset = () => {\n    setInputValue(\"\");\n    setShowReset(false);\n    onSearch(\"\");\n  };\n\n  return {\n    inputValue,\n    showReset,\n    handleChange,\n    handleReset,\n  };\n}\n","import { useMemo, useState } from \"react\";\nimport { Link, useParams } from \"react-router-dom\";\nimport { ReactComponent as CrossIcon } from \"~/assets/cross.svg\";\nimport { cn } from \"~/lib/cn\";\nimport useSearchInput from \"~/telemetry/hooks/useSearchInput\";\nimport useSentryStore from \"~/telemetry/store\";\nimport type { SpotlightAITrace } from \"~/telemetry/types\";\nimport { getFormattedDuration } from \"~/telemetry/utils/duration\";\nimport DateTime from \"../../shared/DateTime\";\nimport { createAITraceFromSpan, extractAllAIRootSpans } from \"./sdks/aiLibraries\";\n\ntype ConversationMessage = {\n  id: string;\n  type: \"user\" | \"ai-response\" | \"ai-tool-call\";\n  content: string;\n  timestamp: number;\n  spanId: string;\n  metadata?: {\n    toolCall?: {\n      toolName: string;\n      args: Record<string, unknown>;\n      result?: Record<string, unknown> | string;\n    };\n    tokens?: {\n      prompt?: number;\n      completion?: number;\n    };\n    duration?: number;\n    operation?: string;\n  };\n};\n\nfunction parseAITracesToConversation(aiTraces: SpotlightAITrace[]): ConversationMessage[] {\n  const messages: ConversationMessage[] = [];\n  const seenUserPrompts = new Set<string>();\n\n  // Get all raw spans sorted by timestamp\n  const allSpans = aiTraces.map(trace => trace.rawSpan).sort((a, b) => a.start_timestamp - b.start_timestamp);\n\n  for (const span of allSpans) {\n    const aiTrace = createAITraceFromSpan(span);\n    if (!aiTrace) continue;\n\n    // Extract user prompt (only once per unique prompt)\n    if (aiTrace.prompt?.messages) {\n      const userMessages = aiTrace.prompt.messages\n        .filter(msg => msg.role === \"user\" || msg.role === \"human\")\n        .map(msg => msg.content)\n        .filter(content => content?.trim())\n        .join(\"\\n\\n\");\n\n      if (userMessages && !seenUserPrompts.has(userMessages)) {\n        seenUserPrompts.add(userMessages);\n        messages.push({\n          id: `${span.span_id}-user`,\n          type: \"user\",\n          content: userMessages,\n          timestamp: span.start_timestamp,\n          spanId: span.span_id,\n        });\n      }\n    } else if (aiTrace.prompt?.system && !seenUserPrompts.has(aiTrace.prompt.system)) {\n      seenUserPrompts.add(aiTrace.prompt.system);\n      messages.push({\n        id: `${span.span_id}-user`,\n        type: \"user\",\n        content: aiTrace.prompt.system,\n        timestamp: span.start_timestamp,\n        spanId: span.span_id,\n      });\n    }\n\n    // Extract individual tool calls (each as separate message)\n    aiTrace.toolCalls.forEach((toolCall, index) => {\n      messages.push({\n        id: `${span.span_id}-tool-${index}`,\n        type: \"ai-tool-call\",\n        content: `Using ${toolCall.toolName}`,\n        timestamp: span.start_timestamp + index * 10, // Slight offset for ordering\n        spanId: span.span_id,\n        metadata: {\n          toolCall: {\n            toolName: toolCall.toolName,\n            args: toolCall.args,\n            result: toolCall.result,\n          },\n          duration: aiTrace.durationMs,\n          operation: aiTrace.operation,\n        },\n      });\n    });\n\n    // Extract AI text response (if any)\n    if (aiTrace.response?.text) {\n      messages.push({\n        id: `${span.span_id}-response`,\n        type: \"ai-response\",\n        content: aiTrace.response.text,\n        timestamp: span.timestamp - 1, // Near the end of span\n        spanId: span.span_id,\n        metadata: {\n          tokens: {\n            prompt: aiTrace.promptTokens,\n            completion: aiTrace.completionTokens,\n          },\n          duration: aiTrace.durationMs,\n          operation: aiTrace.operation,\n        },\n      });\n    } else if (aiTrace.toolCalls.length === 0) {\n      // If no tool calls and no text response, but it's an AI span, show operation\n      let aiContent = \"\";\n      if (aiTrace.name && aiTrace.name !== \"AI Interaction\") {\n        aiContent = aiTrace.name;\n      } else {\n        aiContent = `${aiTrace.operation} operation`;\n      }\n\n      messages.push({\n        id: `${span.span_id}-operation`,\n        type: \"ai-response\",\n        content: aiContent,\n        timestamp: span.timestamp - 1,\n        spanId: span.span_id,\n        metadata: {\n          tokens: {\n            prompt: aiTrace.promptTokens,\n            completion: aiTrace.completionTokens,\n          },\n          duration: aiTrace.durationMs,\n          operation: aiTrace.operation,\n        },\n      });\n    }\n  }\n\n  return messages.sort((a, b) => a.timestamp - b.timestamp);\n}\n\nfunction ConversationBubble({\n  message,\n  isSelected,\n  traceId,\n}: { message: ConversationMessage; isSelected: boolean; traceId: string }) {\n  const isUser = message.type === \"user\";\n  const isToolCall = message.type === \"ai-tool-call\";\n  // const isAIResponse = message.type === 'ai-response';\n\n  const bubbleContent = (\n    <div\n      className={cn(\n        \"max-w-[80%] rounded-lg border p-3\",\n        isUser\n          ? \"border-blue-500/30 bg-blue-600/20 text-blue-100\"\n          : isToolCall\n            ? isSelected\n              ? \"border-orange-400 bg-orange-600/30 text-orange-100\"\n              : \"border-orange-500/30 bg-orange-600/20 text-orange-200\"\n            : isSelected\n              ? \"bg-primary-800 border-primary-500 text-primary-100\"\n              : \"bg-primary-900 border-primary-700 text-primary-200\",\n      )}\n    >\n      {isUser && <div className=\"mb-1 text-xs font-medium text-blue-300\">User:</div>}\n\n      {/* Message content */}\n      <div className=\"mb-1 whitespace-pre-wrap text-sm\">{message.content}</div>\n\n      {/* AI metadata */}\n      {!isUser && message.metadata && (\n        <div className=\"space-y-1\">\n          {/* Tool call details (for tool call messages) */}\n          {message.metadata.toolCall && (\n            <div className=\"space-y-1\">\n              <div className=\"rounded-sm border border-orange-500/30 bg-orange-500/20 p-2 text-xs\">\n                {message.metadata.toolCall.args && Object.keys(message.metadata.toolCall.args).length > 0 && (\n                  <div className=\"mb-1\">\n                    <div className=\"mb-0.5 font-medium text-orange-300\">Arguments:</div>\n                    <div className=\"font-mono text-xs text-orange-200\">\n                      {JSON.stringify(message.metadata.toolCall.args, null, 2)}\n                    </div>\n                  </div>\n                )}\n                {message.metadata.toolCall.result && (\n                  <div>\n                    <div className=\"mb-0.5 font-medium text-orange-300\">Result:</div>\n                    <div className=\"font-mono text-xs text-orange-200\">\n                      {(() => {\n                        const rawResult = message.metadata.toolCall.result;\n                        if (typeof rawResult === \"string\") {\n                          return rawResult;\n                        }\n                        // Show the tool call result text if any\n                        if (\n                          typeof rawResult === \"object\" &&\n                          rawResult !== null &&\n                          typeof rawResult.result === \"string\"\n                        ) {\n                          return rawResult.result;\n                        }\n                        // Otherwise, stringify the whole rawResult object\n                        return JSON.stringify(rawResult, null, 2);\n                      })()}\n                    </div>\n                  </div>\n                )}\n              </div>\n            </div>\n          )}\n\n          {/* Token and duration info */}\n          <div className=\"text-primary-400 flex items-center gap-3 text-xs\">\n            {message.metadata.duration && <span>{getFormattedDuration(message.metadata.duration)}</span>}\n            {message.metadata.tokens && (message.metadata.tokens.prompt || message.metadata.tokens.completion) && (\n              <span>\n                {message.metadata.tokens.prompt || 0}p / {message.metadata.tokens.completion || 0}c tokens\n              </span>\n            )}\n            {message.metadata.operation && <span className=\"text-primary-500\">{message.metadata.operation}</span>}\n          </div>\n        </div>\n      )}\n    </div>\n  );\n\n  return (\n    <div className={cn(\"mb-2 flex w-full\", isUser ? \"justify-end\" : \"justify-start\")}>\n      {isUser ? (\n        bubbleContent\n      ) : (\n        <Link to={`/telemetry/traces/${traceId}/spans/${message.spanId}`} className=\"max-w-[80%]\">\n          {bubbleContent}\n        </Link>\n      )}\n    </div>\n  );\n}\n\nexport default function AITranscription() {\n  const { traceId } = useParams<{ traceId: string }>();\n  const getTraceById = useSentryStore(state => state.getTraceById);\n  const { spanId } = useParams<{ spanId?: string }>();\n  const [searchQuery, setSearchQuery] = useState(\"\");\n  const { inputValue, showReset, handleChange, handleReset } = useSearchInput(setSearchQuery, 500);\n\n  if (!traceId) {\n    return (\n      <div className=\"p-6\">\n        <p className=\"text-red-400\">No trace ID provided</p>\n      </div>\n    );\n  }\n\n  const trace = getTraceById(traceId);\n\n  // Extract AI traces from the trace\n  const aiTraces = useMemo(() => {\n    if (!trace?.spanTree) return [];\n\n    const aiRootSpans = extractAllAIRootSpans(trace.spanTree);\n    return aiRootSpans\n      .map(({ span }) => createAITraceFromSpan(span))\n      .filter((aiTrace): aiTrace is SpotlightAITrace => aiTrace !== null)\n      .sort((a, b) => a.timestamp - b.timestamp);\n  }, [trace]);\n\n  const conversation = useMemo(() => {\n    return parseAITracesToConversation(aiTraces);\n  }, [aiTraces]);\n\n  const filteredConversation = useMemo(() => {\n    if (!searchQuery) return conversation;\n\n    const searchLower = searchQuery.toLowerCase();\n    return conversation.filter(\n      message =>\n        message.content.toLowerCase().includes(searchLower) ||\n        message.metadata?.operation?.toLowerCase().includes(searchLower) ||\n        message.metadata?.toolCall?.toolName.toLowerCase().includes(searchLower),\n    );\n  }, [conversation, searchQuery]);\n\n  if (!trace) {\n    return (\n      <div className=\"p-6\">\n        <p className=\"text-red-400\">Trace not found</p>\n      </div>\n    );\n  }\n\n  if (conversation.length === 0) {\n    return (\n      <div className=\"p-6 text-center\">\n        <p className=\"text-primary-300\">No AI conversation found in this trace</p>\n      </div>\n    );\n  }\n\n  const totalDuration = trace.timestamp - trace.start_timestamp;\n  const aiInteractionCount = aiTraces.length;\n\n  return (\n    <div className=\"flex h-full flex-col\">\n      {/* Header with trace info */}\n      <div className=\"px-6 py-4 border-b border-primary-700\">\n        <div className=\"text-primary-300 flex flex-1 items-center gap-x-1\">\n          <div className=\"text-primary-200\">\n            <DateTime date={trace.start_timestamp} />\n          </div>\n          <span>&mdash;</span>\n          <span>\n            <strong className=\"text-primary-200 font-bold\">{getFormattedDuration(totalDuration)}</strong> with{\" \"}\n            <strong className=\"text-primary-200 font-bold\">\n              {aiInteractionCount} AI interaction{aiInteractionCount !== 1 ? \"s\" : \"\"}\n            </strong>\n          </span>\n        </div>\n      </div>\n\n      {/* Search bar */}\n      <div className=\"mx-6 mb-4 mt-4\">\n        <div className=\"bg-primary-950 text-primary-50 border-primary-600 hover:border-primary-500 relative flex h-auto w-full flex-1 gap-2 rounded-md border py-1 pl-4 pr-6 outline-hidden transition-all\">\n          <input\n            className=\"text-primary-50 h-auto w-full flex-1 bg-transparent outline-hidden transition-all\"\n            onChange={handleChange}\n            value={inputValue}\n            placeholder=\"Search conversation...\"\n          />\n          {showReset && (\n            <CrossIcon\n              onClick={handleReset}\n              className=\"fill-primary-50 absolute right-1 top-[5px] cursor-pointer\"\n              height={20}\n              width={20}\n            />\n          )}\n        </div>\n      </div>\n\n      {/* Conversation */}\n      <div className=\"flex-1 overflow-y-auto px-6 pb-4\">\n        {filteredConversation.map(message => (\n          <ConversationBubble\n            key={message.id}\n            message={message}\n            isSelected={spanId === message.spanId}\n            traceId={traceId}\n          />\n        ))}\n      </div>\n    </div>\n  );\n}\n","import { useEffect } from \"react\";\nimport { useNavigate, useParams } from \"react-router-dom\";\nimport type { Trace } from \"~/telemetry/types\";\nimport { AITraceDetailsEmbedded } from \"./AITraceDetails\";\nimport { extractAllAIRootSpans } from \"./sdks/aiLibraries\";\n\ntype AITraceSplitViewProps = {\n  trace: Trace;\n};\n\n// Get the first AI span ID from the trace\nfunction getFirstAISpanId(trace: Trace): string | null {\n  if (!trace.spanTree) {\n    return null;\n  }\n  const aiRootSpans = extractAllAIRootSpans(trace.spanTree);\n  if (aiRootSpans.length > 0) {\n    const spanId = aiRootSpans[0].span.span_id;\n    return spanId;\n  }\n  return null;\n}\n\nexport default function AITraceSplitView({ trace }: AITraceSplitViewProps) {\n  const { spanId } = useParams<{ spanId?: string }>();\n  const traceId = trace.trace_id;\n  const navigate = useNavigate();\n\n  const firstAISpanId = trace ? getFirstAISpanId(trace) : null;\n\n  // auto-navigate to first AI span when no span is selected\n  useEffect(() => {\n    if (!spanId && firstAISpanId) {\n      navigate(`/telemetry/traces/${traceId}/spans/${firstAISpanId}`, { replace: true });\n    }\n  }, [spanId, firstAISpanId, traceId, navigate]);\n\n  // use selected spanId if available, otherwise fall back to first AI span\n  const selectedSpanId = spanId || firstAISpanId;\n\n  if (!selectedSpanId) {\n    return (\n      <div className=\"p-6\">\n        <p className=\"text-red-400\">No AI span found in this trace</p>\n      </div>\n    );\n  }\n\n  return (\n    <div className=\"flex h-full min-h-0\">\n      <div className=\"flex min-h-0 w-full flex-col\">\n        <AITraceDetailsEmbedded traceId={traceId} spanId={selectedSpanId} />\n      </div>\n    </div>\n  );\n}\n","export const FRAME_COLOR = {\n  application: \"#d0d1f5\",\n  system: \"#ffe0e4\",\n  unknown: \"#f3f4f6\",\n};\n\nexport const FRAME_TYPES = [\n  { label: \"Application Frame\", color: \"bg-frame-application\" },\n  { label: \"System Frame\", color: \"bg-frame-system\" },\n];\n","import type { ColorValue } from \"nanovis\";\nimport { FRAME_COLOR } from \"../constants/profile\";\nimport type { EventFrame } from \"../types\";\n\n/**\n * Checks if the current frame is an application frame based on the given platform.\n * @param frame The event frame to check.\n * @param platform The platform of the SDK that generated the profile.\n * @returns `true` if the frame is an application frame, `false` otherwise.\n */\nexport const isApplicationFrame = (frame: EventFrame, platform?: string) => {\n  if (frame.in_app !== undefined) {\n    return frame.in_app;\n  }\n\n  const path = frame.abs_path?.toLowerCase() || \"\";\n  const func = frame.function?.toLowerCase() || \"\";\n\n  const fallback =\n    !path.includes(\"node_modules\") &&\n    !path.includes(\"/gems/\") &&\n    !path.includes(\"vendor/\") &&\n    !path.includes(\"lib/python\");\n\n  if (!platform) {\n    return fallback;\n  }\n\n  if (platform.startsWith(\"javascript\")) {\n    return !(\n      path.includes(\"node_modules\") ||\n      func.includes(\"node:\") ||\n      path.includes(\"webpack-internal:\") ||\n      path.includes(\"<anonymous>\")\n    );\n  }\n\n  if (platform.startsWith(\"python\")) {\n    return !path.includes(\"lib/python\");\n  }\n\n  if (platform.startsWith(\"java\")) {\n    return !(\n      func.startsWith(\"java.\") ||\n      func.startsWith(\"javax.\") ||\n      func.startsWith(\"sun.\") ||\n      func.startsWith(\"com.android\")\n    );\n  }\n\n  if (platform.startsWith(\"php\")) {\n    return !path.includes(\"vendor/\");\n  }\n\n  if (platform.startsWith(\"ruby\")) {\n    return !path.includes(\"/gems/\");\n  }\n\n  if (platform.startsWith(\"dotnet\")) {\n    return !(func.startsWith(\"system.\") || func.startsWith(\"microsoft.\"));\n  }\n\n  return fallback;\n};\n\n/**\n * Gets the color for a frame based on whether it's an application frame or a system frame.\n * It uses Sentry's color scheme.\n * @param frame The event frame to get the color for.\n * @param platform The platform of the SDK that generated the profile.\n * @returns The color value for the frame.\n * @see https://docs.sentry.io/product/explore/profiling/flame-charts-graphs/\n */\nexport const getFrameColors = (frame: EventFrame, platform?: string): ColorValue => {\n  if (!frame.abs_path) return FRAME_COLOR.unknown;\n  if (isApplicationFrame(frame, platform)) {\n    return FRAME_COLOR.application;\n  }\n  return FRAME_COLOR.system;\n};\n","import type { ColorValue } from \"nanovis\";\nimport { SAMPLE_EMPTY_PROFILE_FRAME } from \"../constants\";\nimport type { SentryProfileWithTraceMeta } from \"../store/types\";\nimport type { EventFrame, NanovisTreeNode } from \"../types\";\nimport { getFormattedDuration, getFormattedNumber } from \"./duration\";\nimport { getFrameColors } from \"./frame\";\n\ninterface FlamegraphUtilOptions {\n  getColor?: (frame: EventFrame, depth: number, platform?: string, parent?: NanovisTreeNode) => ColorValue;\n  getLabel?: (frame: EventFrame, depth: number, parent?: NanovisTreeNode) => string;\n}\n\nconst compareNodeBySize = (a: NanovisTreeNode, b: NanovisTreeNode) => b.size - a.size;\n\n/**\n * Recursively sorts the children of a tree node by size in descending order.\n * @param node The tree node whose children to sort.\n */\nfunction sortChildrenBySize(node: NanovisTreeNode): void {\n  node.children.sort(compareNodeBySize);\n  for (const child of node.children) {\n    sortChildrenBySize(child);\n  }\n}\n\n/**\n * Creates a subtext for a frame, typically including file path, line number, and column number.\n * @param frame The event frame.\n * @returns A string representing the frame's location.\n */\nfunction createSentryFrameSubtext(frame: EventFrame): string {\n  const parts: string[] = [];\n  if (frame.abs_path) {\n    const lastDelimIdx = frame.abs_path.lastIndexOf(\"/\");\n    const filename = lastDelimIdx !== -1 ? frame.abs_path.slice(lastDelimIdx) : frame.abs_path;\n    const cleanFilename = filename.replace(/\\?v=[a-f0-9]+$/, \"\");\n    parts.push(cleanFilename);\n  }\n  if (typeof frame.lineno === \"number\") {\n    parts.push(`${frame.lineno}`);\n  }\n  if (typeof frame.colno === \"number\") {\n    parts.push(`${frame.colno}`);\n  }\n  return parts.length > 0 ? parts.join(\":\") : \"unknown location\";\n}\n\n/**\n * Recursively converts sample counts to sizes for each node in the tree.\n * The size is a combination of its own sample count and the size of its children.\n * It also prepends the sample percentage to the node's subtext.\n * @param node The root node of the tree.\n * @param totalSamples The total number of samples in the profile.\n */\nfunction convertSampleCountsToSizes(node: NanovisTreeNode, totalSamples: number): void {\n  const samplePercentage = (node.sampleCount / totalSamples) * 100;\n  for (const child of node.children) {\n    convertSampleCountsToSizes(child, totalSamples);\n  }\n\n  const childrenSize = node.children.reduce((sum, child) => sum + child.size, 0);\n  node.size = node.sampleCount + childrenSize;\n  if (node.frameId !== -1) {\n    const originalSubtext = node.subtext;\n    node.subtext = `${getFormattedNumber(samplePercentage, 1)}% | ${originalSubtext}`;\n  }\n}\n\n/**\n * Builds a tree from parsed profile data, supporting custom color/label logic.\n * @param parsed The parsed Sentry profile data.\n * @param options Optional configuration for customizing the tree.\n * @param options.getColor A function to determine the color of a frame.\n * @param options.getLabel A function to determine the label of a frame.\n * @returns The root node of the constructed flame graph tree.\n */\nfunction buildTree(profile: SentryProfileWithTraceMeta, options: FlamegraphUtilOptions = {}): NanovisTreeNode {\n  if (!profile) {\n    return SAMPLE_EMPTY_PROFILE_FRAME;\n  }\n  const { samples, frames, stacks, platform } = profile;\n  const getColor =\n    typeof options.getColor === \"function\" ? options.getColor : (frame: EventFrame) => getFrameColors(frame, platform);\n  const getLabel =\n    typeof options.getLabel === \"function\" ? options.getLabel : (frame: EventFrame) => frame.function || \"anonymous\";\n  const totalDuration =\n    samples.length > 0 ? samples[samples.length - 1].start_timestamp - samples[0].start_timestamp : 0;\n\n  type TreeNodeWithMap = NanovisTreeNode & { childrenMap?: Map<number, TreeNodeWithMap> };\n\n  const root: TreeNodeWithMap = {\n    id: \"root\",\n    text: `${platform || \"unknown\"} Profile`,\n    subtext: `${getFormattedDuration(totalDuration)} total`,\n    sizeSelf: 0,\n    size: 0,\n    children: [],\n    color: \"#fff\",\n    frameId: -1,\n    sampleCount: 0,\n    childrenMap: new Map<number, TreeNodeWithMap>(),\n  };\n\n  for (const sample of samples) {\n    const stackId = sample.stack_id;\n    const stack = stacks[stackId];\n    if (stack.length === 0) continue;\n    let currentNode: TreeNodeWithMap = root;\n    root.sampleCount++;\n    for (let depth = 0; depth < stack.length; depth++) {\n      const frameId = stack[stack.length - 1 - depth];\n      const frame = frames[frameId];\n      if (!frame) continue;\n      if (!currentNode.childrenMap) {\n        currentNode.childrenMap = new Map<number, TreeNodeWithMap>();\n      }\n      let childNode = currentNode.childrenMap.get(frameId);\n      if (!childNode) {\n        childNode = {\n          id: `frame-${frameId}-${depth}`,\n          text: getLabel(frame, depth, currentNode),\n          subtext: createSentryFrameSubtext(frame),\n          sizeSelf: 0,\n          size: 0,\n          children: [],\n          frame: frame,\n          frameId: frameId,\n          sampleCount: 1,\n          color: getColor(frame, depth, platform, currentNode),\n          childrenMap: new Map<number, TreeNodeWithMap>(),\n        };\n        currentNode.children.push(childNode);\n        currentNode.childrenMap.set(frameId, childNode);\n      } else {\n        childNode.sampleCount++;\n      }\n      currentNode = childNode;\n    }\n    if (currentNode !== root) {\n      currentNode.sizeSelf++;\n    }\n  }\n\n  /**\n   * Recursively removes the childrenMap from a node and all its descendants.\n   * This is a cleanup step after the tree is built, as childrenMap is a temporary\n   * structure for efficient node lookup during construction.\n   * @param node The node to start from.\n   */\n  function removeChildrenMap(node: TreeNodeWithMap): void {\n    if (node.childrenMap) {\n      node.childrenMap.clear();\n      node.childrenMap = undefined;\n    }\n    for (const child of node.children) {\n      removeChildrenMap(child as TreeNodeWithMap);\n    }\n  }\n  removeChildrenMap(root);\n\n  const totalSamples = samples.length;\n  convertSampleCountsToSizes(root, totalSamples);\n  sortChildrenBySize(root);\n  return root;\n}\n\n/**\n * Converts a Sentry profile to a normalized nanovis tree node for visualization.\n * This function parses the profile, builds a tree, and then normalizes it for sunburst/flamegraph rendering.\n * @param profile The Sentry profile with trace metadata.\n * @param options Optional configuration for customizing the tree.\n * @returns A promise that resolves to the normalized root node of the tree.\n */\nexport async function convertSentryProfileToNormalizedTree(\n  profile: SentryProfileWithTraceMeta,\n  options: FlamegraphUtilOptions = {},\n): Promise<NanovisTreeNode> {\n  const tree = buildTree(profile, options);\n  const { normalizeTreeNode } = await import(\"nanovis\");\n  const normalized = normalizeTreeNode(tree) as NanovisTreeNode;\n  return {\n    ...normalized,\n    frameId: tree.frameId,\n    sampleCount: tree.sampleCount,\n  };\n}\n","import type { TreeNode } from \"nanovis\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { cn } from \"~/lib/cn\";\nimport { FRAME_TYPES } from \"~/telemetry/constants/profile\";\nimport useMouseTracking from \"~/telemetry/hooks/useMouseTracking\";\nimport type { NanovisTreeNode } from \"~/telemetry/types\";\nimport type { SentryProfileWithTraceMeta } from \"../../../../store/types\";\nimport { convertSentryProfileToNormalizedTree } from \"../../../../utils/profileTree\";\n\ninterface NanovisVisualization {\n  el: HTMLElement;\n  events: {\n    on(event: \"select\" | \"hover\", callback: (node: NanovisTreeNode) => void): void;\n  };\n}\n\ntype VisualizationType = \"flame\" | \"treemap\" | \"sunburst\";\n\ninterface TraceProfileTreeProps {\n  profile: SentryProfileWithTraceMeta;\n}\n\nconst FlamegraphLegend = () => {\n  return (\n    <div className=\"flex items-center gap-4\">\n      {FRAME_TYPES.map(({ label, color }) => (\n        <span key={label} className=\"flex items-center gap-1 text-sm\">\n          <span className={cn(\"inline-block size-4 rounded-xs\", color)} />\n          {label}\n        </span>\n      ))}\n    </div>\n  );\n};\n\nexport default function TraceProfileTree({ profile }: TraceProfileTreeProps) {\n  const containerRef = useRef<HTMLDivElement>(null);\n  const visualizationRef = useRef<NanovisVisualization | null>(null);\n  const [visualizationType, setVisualizationType] = useState<VisualizationType>(\"flame\");\n  const [hoveredNode, setHoveredNode] = useState<NanovisTreeNode | null>(null);\n  const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });\n\n  useEffect(() => {\n    const handleMouseMove = (e: MouseEvent) => {\n      setMousePosition({ x: e.clientX, y: e.clientY });\n    };\n\n    (async () => {\n      if (!containerRef.current || !profile) return;\n\n      const tree = await convertSentryProfileToNormalizedTree(profile);\n\n      const nanovisModule = await import(\"nanovis\");\n      const { Flamegraph, Treemap, Sunburst } = nanovisModule;\n\n      if (visualizationRef.current) {\n        visualizationRef.current.el.remove();\n        visualizationRef.current = null;\n      }\n\n      const options = {\n        getColor: (node: TreeNode<unknown>) => node.color,\n      };\n\n      let visualization: NanovisVisualization;\n      switch (visualizationType) {\n        case \"treemap\":\n          visualization = new Treemap(tree, options) as NanovisVisualization;\n          break;\n        case \"sunburst\":\n          visualization = new Sunburst(tree, options) as NanovisVisualization;\n          break;\n        default:\n          visualization = new Flamegraph(tree, options) as NanovisVisualization;\n          break;\n      }\n\n      visualizationRef.current = visualization;\n\n      visualization.events.on(\"select\", (node: NanovisTreeNode) => {\n        console.log(\"Selected node:\", node);\n      });\n\n      visualization.events.on(\"hover\", (node: NanovisTreeNode | null) => {\n        setHoveredNode(node);\n      });\n\n      if (containerRef.current) {\n        containerRef.current.appendChild(visualization.el);\n      }\n      window.addEventListener(\"mousemove\", handleMouseMove);\n    })();\n\n    return () => {\n      if (visualizationRef.current) {\n        visualizationRef.current.el.remove();\n        visualizationRef.current = null;\n      }\n      window.removeEventListener(\"mousemove\", handleMouseMove);\n    };\n  }, [profile, visualizationType]);\n\n  if (!profile) {\n    return <div className=\"text-primary-300 px-6 py-4\">No profile data available</div>;\n  }\n\n  const getVisualizationName = (type: VisualizationType): string => {\n    switch (type) {\n      case \"flame\":\n        return \"Flamegraph\";\n      case \"treemap\":\n        return \"Treemap\";\n      case \"sunburst\":\n        return \"Sunburst\";\n      default:\n        return \"Flamegraph\";\n    }\n  };\n\n  const mouseTrackingProps = useMouseTracking({\n    elem: containerRef,\n    onPositionChange: args => {\n      if (args) {\n        const { left, top } = args;\n        setMousePosition({ x: left, y: top });\n      }\n    },\n  });\n\n  return (\n    <div className=\"w-full h-full relative p-4\">\n      <div className=\"mb-4\">\n        <div className=\"flex items-center justify-between mb-2\">\n          <h3 className=\"text-lg font-semibold text-primary-200\">Profile</h3>\n          <div className=\"flex items-center space-x-2\">\n            <span className=\"text-sm text-primary-400\">View:</span>\n            <div className=\"flex bg-primary-800 rounded-md p-1\">\n              {([\"flame\", \"treemap\", \"sunburst\"] as VisualizationType[]).map(type => (\n                <button\n                  key={type}\n                  type=\"button\"\n                  onClick={() => setVisualizationType(type)}\n                  className={`px-3 py-1 text-xs rounded-md transition-colors ${\n                    visualizationType === type\n                      ? \"bg-primary-600 text-white\"\n                      : \"text-primary-300 hover:text-primary-200 hover:bg-primary-700\"\n                  }`}\n                >\n                  {getVisualizationName(type)}\n                </button>\n              ))}\n            </div>\n          </div>\n        </div>\n        <p className=\"text-sm text-primary-400\">\n          Visual representation of profile using {getVisualizationName(visualizationType).toLowerCase()}\n        </p>\n      </div>\n      <FlamegraphLegend />\n      <div onMouseLeave={() => setHoveredNode(null)}>\n        <div\n          ref={containerRef}\n          className=\"w-full border border-primary-700 rounded-md overflow-auto p-2 my-4\"\n          {...mouseTrackingProps}\n        >\n          {hoveredNode && (\n            <div\n              className=\"bg-primary-900 border-primary-400 absolute flex flex-col min-w-[200px] rounded-lg border p-3 shadow-lg z-50\"\n              style={{\n                left: mousePosition.x + 12,\n                top: mousePosition.y + 12,\n                pointerEvents: \"none\",\n              }}\n            >\n              <span className=\"text-primary-200 font-semibold\">{hoveredNode.text}</span>\n              <span className=\"text-primary-400 text-xs\">{hoveredNode.subtext}</span>\n              <span className=\"text-primary-400 text-xs\">Total Time: {hoveredNode.size}</span>\n            </div>\n          )}\n        </div>\n      </div>\n    </div>\n  );\n}\n","import { useMemo } from \"react\";\nimport { Navigate, Route, Routes } from \"react-router-dom\";\nimport { createTab } from \"~/telemetry/utils/tabs\";\nimport TelemetryTabs from \"../../TelemetryTabs\";\n\nimport { useSentryEvents } from \"~/telemetry/data/useSentryEvents\";\nimport useSentryStore from \"~/telemetry/store/store\";\nimport type { Trace } from \"~/telemetry/types\";\nimport { getFormattedDuration } from \"~/telemetry/utils/duration\";\nimport { isErrorEvent } from \"~/telemetry/utils/sentry\";\nimport EventContexts from \"../../events/EventContexts\";\nimport EventList from \"../../events/EventList\";\nimport AITraceSplitView from \"../../insights/aiTraces/AITraceSplitView\";\nimport { hasAISpans } from \"../../insights/aiTraces/sdks/aiLibraries\";\nimport LogsList from \"../../log/LogsList\";\nimport DateTime from \"../../shared/DateTime\";\nimport TraceProfileTree from \"./components/TraceProfileTree\";\n\ntype TraceDetailsProps = {\n  trace: Trace;\n  aiConfig: {\n    mode: boolean;\n    onToggle: () => void;\n  };\n};\n\nexport function TraceContext({ trace }: { trace: Trace }) {\n  const rootTransaction = trace.rootTransaction || trace.transactions[0];\n  const events = useSentryEvents(trace.trace_id);\n\n  const traceEvent = useMemo(() => {\n    const allAttachments = events\n      .filter(e => e.attachments && e.attachments.length > 0)\n      .flatMap(e => e.attachments || []);\n\n    const baseEvent = rootTransaction || events.find(e => e.contexts) || events[0];\n\n    if (!baseEvent) return null;\n\n    // we want to show all attachments from the trace\n    return {\n      ...baseEvent,\n      attachments: allAttachments.length > 0 ? allAttachments : baseEvent.attachments,\n    };\n  }, [events, rootTransaction]);\n\n  return (\n    <>\n      <div className=\"space-y-6 p-6\">\n        <div className=\"text-primary-300 flex flex-1 items-center gap-x-1\">\n          <DateTime date={trace.start_timestamp} />\n          <span>&mdash;</span>\n          <span>\n            {/* TODO: Add the duration pill here */}\n            <strong>{getFormattedDuration(trace.timestamp - trace.start_timestamp)}</strong> duration\n          </span>\n        </div>\n        <div className=\"flex-1\">\n          <div className=\"border-primary-800 relative h-8 border py-1\">\n            <div\n              className=\"bg-primary-800 absolute bottom-0 top-0 -m-0.5 flex w-full items-center p-0.5\"\n              style={{\n                left: 0,\n                width: \"100%\",\n              }}\n            >\n              <span className=\"whitespace-nowrap\">{getFormattedDuration(trace.timestamp - trace.start_timestamp)}</span>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div className=\"space-y-4 px-6 py-4\">\n        <h2 className=\"mb-2 font-bold uppercase\">ID</h2>\n        {trace.trace_id}\n      </div>\n      {traceEvent && <EventContexts event={traceEvent} />}\n    </>\n  );\n}\n\nexport default function TraceDetails({ trace, aiConfig }: TraceDetailsProps) {\n  const hasAI = trace ? hasAISpans(trace) : false;\n\n  if (!trace) {\n    return <p className=\"text-primary-300 p-6\">Trace not found.</p>;\n  }\n\n  const events = useSentryEvents(trace.trace_id);\n  const profile = useSentryStore.getState().getProfileByTraceId(trace.trace_id);\n  const errorCount = useMemo(() => events.reduce((len, e) => (isErrorEvent(e) ? len + 1 : len), 0), [events]);\n\n  const tabs = [\n    createTab(\"context\", \"Context\"),\n    createTab(\"logs\", \"Logs\"),\n    createTab(\"errors\", \"Errors\", {\n      notificationCount: {\n        count: errorCount,\n        severe: errorCount > 0,\n      },\n    }),\n  ];\n\n  if (profile) {\n    tabs.push(createTab(\"profileTree\", \"Profile\"));\n  }\n\n  return (\n    <div className=\"flex h-full flex-col\">\n      {aiConfig.mode && hasAI ? (\n        <AITraceSplitView trace={trace} />\n      ) : (\n        <>\n          <TelemetryTabs tabs={tabs} nested />\n          <div className=\"flex flex-1 flex-col overflow-y-auto overflow-x-hidden\">\n            <Routes>\n              <Route path=\"context\" element={<TraceContext trace={trace} />} />\n              <Route path=\"errors\" element={<EventList traceId={trace.trace_id} />} />\n              <Route path=\"logs\" element={<LogsList traceId={trace.trace_id} />} />\n              <Route path=\"logs/:id\" element={<LogsList traceId={trace.trace_id} />} />\n              {profile && <Route path=\"profileTree\" element={<TraceProfileTree profile={profile} />} />}\n              {/* Default tab */}\n              <Route path=\"*\" element={<Navigate to=\"context\" replace />} />\n            </Routes>\n          </div>\n        </>\n      )}\n    </div>\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='m21%2021-4.34-4.34'/%3e%3ccircle%20cx='11'%20cy='11'%20r='8'/%3e%3c/svg%3e\"","import * as React from \"react\";\n\nimport { cn } from \"~/lib/cn\";\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n  ({ className, type, ...props }, ref) => {\n    return (\n      <input\n        type={type}\n        className={cn(\n          \"flex h-10 w-full rounded-md border border-neutral-200 bg-white px-3 py-2 text-base ring-offset-white file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-neutral-950 placeholder:text-neutral-500 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-neutral-950 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n          className,\n        )}\n        ref={ref}\n        {...props}\n      />\n    );\n  },\n);\nInput.displayName = \"Input\";\n\nexport { Input };\n","import { useState } from \"react\";\nimport { SearchProvider, useSearch } from \"~/telemetry/context/SearchContext\";\nimport useSearchInput from \"~/telemetry/hooks/useSearchInput\";\nimport useSentryStore from \"~/telemetry/store\";\nimport type { Trace } from \"~/telemetry/types\";\nimport { getFormattedSpanDuration } from \"../../../../utils/duration\";\n\nimport { ReactComponent as X } from \"~/assets/cross.svg\";\nimport { ReactComponent as Search } from \"~/assets/search.svg\";\nimport { Button } from \"~/ui/button\";\nimport { Input } from \"~/ui/input\";\nimport DateTime from \"../../../shared/DateTime\";\nimport SpanTree from \"../../spans/SpanTree\";\n\ntype TraceTreeViewProps = { traceId: string };\n\nexport const DEFAULT_SPAN_NODE_WIDTH = 50;\n\nfunction TraceTreeWithSearch({\n  trace,\n}: {\n  trace: Trace;\n}) {\n  const { setQuery, showOnlyMatched, setShowOnlyMatched } = useSearch();\n  const { inputValue, showReset, handleChange, handleReset } = useSearchInput(setQuery, 500);\n\n  const [spanNodeWidth, setSpanNodeWidth] = useState<number>(DEFAULT_SPAN_NODE_WIDTH);\n\n  if (trace.spans.size === 0) {\n    return null;\n  }\n  return (\n    <>\n      <div className=\"mb-4 mt-2 flex gap-2\">\n        <div className=\"relative min-w-[250px] flex-1\">\n          <Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 transform text-gray-400\" />\n          <Input\n            type=\"text\"\n            placeholder=\"Search in Trace\"\n            value={inputValue}\n            onChange={handleChange}\n            className=\"border-primary-700 bg-primary-950 w-full pl-9 text-white placeholder:text-gray-400\"\n          />\n          {showReset && (\n            <Button\n              variant=\"ghost\"\n              size=\"icon\"\n              className=\"absolute right-2 top-1/2 h-5 w-5 -translate-y-1/2 transform text-gray-400\"\n              onClick={handleReset}\n            >\n              <X className=\"h-3 w-3\" />\n            </Button>\n          )}\n        </div>\n        <button\n          type=\"button\"\n          className={`rounded-sm border px-2 py-1 text-sm ${\n            showOnlyMatched ? \"border-primary-300 bg-primary-300\" : \"border-primary-500 bg-primary-500\"\n          } text-white`}\n          onClick={() => setShowOnlyMatched(!showOnlyMatched)}\n        >\n          Only Show Matches\n        </button>\n      </div>\n\n      <SpanTree\n        className=\"overflow-x-hidden overflow-y-auto\"\n        traceContext={trace}\n        tree={trace.spanTree}\n        startTimestamp={trace.start_timestamp}\n        totalDuration={trace.timestamp - trace.start_timestamp}\n        totalTransactions={(trace.transactions || []).length}\n        spanNodeWidth={spanNodeWidth}\n        setSpanNodeWidth={setSpanNodeWidth}\n      />\n    </>\n  );\n}\n\nfunction TraceTreeviewContent({ traceId }: TraceTreeViewProps) {\n  const getTraceById = useSentryStore(state => state.getTraceById);\n\n  const trace = getTraceById(traceId)!;\n\n  return (\n    <>\n      <div className=\"py-4\">\n        <div className=\"text-primary-300 flex flex-1 items-center gap-x-1\">\n          <div className=\"text-primary-200\">\n            <DateTime date={trace.start_timestamp} />\n          </div>\n          <span>&mdash;</span>\n          <span>\n            <strong className=\"text-primary-200 font-bold\">{getFormattedSpanDuration(trace)}</strong> recorded in{\" \"}\n            <strong className=\"text-primary-200 font-bold\">{trace.spans.size.toLocaleString()} spans</strong>\n          </span>\n        </div>\n      </div>\n      <TraceTreeWithSearch trace={trace} />\n    </>\n  );\n}\n\nexport default function TraceTreeview(props: TraceTreeViewProps) {\n  return (\n    <SearchProvider>\n      <TraceTreeviewContent {...props} />\n    </SearchProvider>\n  );\n}\n","import type { Trace } from \"~/telemetry/types\";\nimport { getRootTransactionMethod, getRootTransactionName } from \"~/telemetry/utils/traces\";\nimport Tag from \"~/ui/tag\";\n\nexport function TraceRootTxnName({ trace, flowing = false }: { trace: Trace; flowing?: boolean }) {\n  const method = getRootTransactionMethod(trace);\n  const name = getRootTransactionName(trace);\n  return <Tag tagKey={method} value={name} flowing={flowing} />;\n}\n","import type { Trace } from \"../../types\";\nimport { sdkToPlatform } from \"../../utils/sdkToPlatform\";\nimport PlatformIcon from \"../shared/PlatformIcon\";\n\nexport type TraceIconProps = {\n  trace: Trace;\n};\n\nfunction getPlatformsFromTrace(trace: Trace) {\n  return [...new Set((trace.transactions || []).map(transaction => sdkToPlatform(transaction.sdk?.name || \"unknown\")))];\n}\n\nexport default function TraceIcon({ trace }: TraceIconProps) {\n  const platformsInTrace = getPlatformsFromTrace(trace);\n  if (platformsInTrace.length === 0) {\n    return <PlatformIcon className=\"rounded-md\" platform={\"unknown\"} />;\n  }\n  if (platformsInTrace.length === 1) {\n    return <PlatformIcon className=\"rounded-md\" platform={platformsInTrace[0]} />;\n  }\n\n  const dominantPlatforms = platformsInTrace.slice(0, 3);\n  const remainingPlatforms = platformsInTrace.slice(3);\n  return (\n    <div className=\"bg-primary-900 flex h-[42px] w-[42px] flex-wrap items-center justify-center overflow-hidden rounded-md\">\n      {dominantPlatforms.map(platform => (\n        <PlatformIcon key={platform} title={platform} size={21} platform={platform} />\n      ))}\n      {remainingPlatforms.length > 0 && (\n        <div\n          title={remainingPlatforms.join(\", \")}\n          className=\"h-[21px] w-[21px] bg-black p-0.5 text-xs font-bold text-white\"\n        >{`+${remainingPlatforms.length}`}</div>\n      )}\n    </div>\n  );\n}\n","import { Link, useParams } from \"react-router-dom\";\nimport { cn } from \"~/lib/cn\";\nimport TimeSince from \"~/telemetry/components/shared/TimeSince\";\nimport { Badge } from \"~/ui/badge\";\nimport type { Span, Trace } from \"../../types\";\nimport { getFormattedSpanDuration } from \"../../utils/duration\";\nimport { truncateId } from \"../../utils/text\";\nimport { hasAISpans } from \"../insights/aiTraces/sdks/aiLibraries\";\nimport { TraceRootTxnName } from \"./TraceDetails/components/TraceRootTxnName\";\nimport TraceIcon from \"./TraceIcon\";\n\ntype TraceItemProps = {\n  trace: Trace;\n  className?: string;\n};\n\nexport function AIBadge({ trace }: { trace: Trace }) {\n  if (!hasAISpans(trace)) {\n    return null;\n  }\n  // If the trace has AI spans, we display a badge indicating that.\n  return (\n    <>\n      <div>&mdash;</div>\n      <Badge title=\"This trace contains AI interactions\" className=\"bg-blue-500/20 text-white border-blue-500/30\">\n        ✨ AI\n      </Badge>\n    </>\n  );\n}\n\nexport function TraceStatusBadge({ trace }: { trace: Trace }) {\n  const { status } = trace;\n  if (!status) {\n    return null;\n  }\n\n  return (\n    <>\n      <div className={cn(status === \"ok\" ? \"text-green-400\" : status ? \"text-red-400\" : \"\")}>{status}</div>\n      <div>&mdash;</div>\n    </>\n  );\n}\n\nexport function TraceHeaderDetails({ trace }: { trace: Trace }) {\n  const duration = getFormattedSpanDuration(trace);\n\n  return (\n    <>\n      <div>{duration}</div>\n      <div>&mdash;</div>\n      <div>\n        {trace.spans.size.toLocaleString()} spans, {trace.transactions.length.toLocaleString()} txns\n      </div>\n    </>\n  );\n}\n\nexport function SpanHeader({ span }: { span: Span }) {\n  return (\n    <>\n      <div>&mdash; </div>\n      <div>span: {span.op || truncateId(span.span_id)}</div>\n    </>\n  );\n}\n\nexport default function TraceItem({ trace, className }: TraceItemProps) {\n  const { traceId, spanId } = useParams<{ traceId: string; spanId: string }>();\n  const isSelected = traceId === trace.trace_id;\n  const truncatedId = truncateId(trace.trace_id);\n  const span = spanId && trace.spans.get(spanId);\n\n  // TODO: if (spanId && !span) -> error\n\n  // TODO: For this #<traceId> link to work as intended, we need to do something like this:\n  //       https://dev.to/mindactuate/scroll-to-anchor-element-with-react-router-v6-38op\n  return (\n    <Link\n      className={cn(\n        \"hover:bg-primary-900 flex cursor-pointer items-center gap-x-4 px-6 py-2\",\n        isSelected && \"bg-primary-800\",\n        className,\n      )}\n      to={isSelected && !spanId ? `/telemetry/traces#${trace.trace_id}` : `/telemetry/traces/${trace.trace_id}/context`}\n    >\n      <TraceIcon trace={trace} />\n      <div className=\"text-primary-300 flex w-48 flex-col truncate font-mono text-sm\">\n        <div className=\"flex items-center gap-x-2\">\n          <div>{truncatedId}</div>\n        </div>\n        <TimeSince date={trace.start_timestamp} />\n      </div>\n      <TraceRootTxnName trace={trace} />\n      <div className=\"flex flex-col truncate font-mono\">\n        <div className=\"text-primary-300 flex gap-2 text-sm\">\n          <TraceStatusBadge trace={trace} />\n          <TraceHeaderDetails trace={trace} />\n          {isSelected ? span && <SpanHeader span={span} /> : <AIBadge trace={trace} />}\n        </div>\n      </div>\n    </Link>\n  );\n}\n","import { useCallback, useEffect, useRef, useState } from \"react\";\nimport { useParams } from \"react-router-dom\";\nimport CardList from \"~/telemetry/components/shared/CardList\";\nimport { TraceSplitViewLayout } from \"../../tabs/TracesTab\";\nimport type { Trace } from \"../../types\";\nimport TraceItem from \"./TraceItem\";\n\ntype TraceListProps = {\n  traceData: {\n    filtered: Trace[];\n    all: Trace[];\n  };\n};\n\nexport default function TraceList({ traceData }: TraceListProps) {\n  const [aiMode, setAiMode] = useState(false);\n  const onToggle = useCallback(() => {\n    setAiMode(prev => !prev);\n  }, []);\n  const { traceId, spanId } = useParams<{ traceId: string; spanId: string }>();\n  const selectedTraceRef = useRef<HTMLDivElement>(null);\n\n  useEffect(() => {\n    if (traceId && selectedTraceRef.current) {\n      selectedTraceRef.current.scrollIntoView({\n        behavior: \"smooth\",\n        block: \"nearest\",\n      });\n    }\n  }, [traceId]);\n\n  if (traceData.all.length === 0) {\n    return <div className=\"text-primary-300 p-6\">Looks like there are no traces recorded matching this query. 🤔</div>;\n  }\n\n  return (\n    <CardList>\n      {traceData.filtered.length > 0 ? (\n        traceData.filtered.map(trace => {\n          const isSelected = traceId === trace.trace_id;\n          const ref = isSelected ? selectedTraceRef : null;\n\n          return (\n            <div key={trace.trace_id} id={trace.trace_id} ref={ref}>\n              {isSelected ? (\n                <TraceSplitViewLayout\n                  trace={trace}\n                  span={spanId ? trace.spans.get(spanId) : undefined}\n                  aiConfig={{\n                    mode: aiMode,\n                    onToggle,\n                  }}\n                />\n              ) : (\n                <TraceItem trace={trace} />\n              )}\n            </div>\n          );\n        })\n      ) : (\n        <div className=\"text-primary-300 p-6\">\n          Looks like there are no traces recorded matching the applied search & filters. 🤔\n        </div>\n      )}\n    </CardList>\n  );\n}\n","import type { ElementType } from \"react\";\nimport { ReactComponent as ChevronDown } from \"~/assets/chevronDown.svg\";\nimport { Button } from \"~/ui/button\";\nimport {\n  DropdownMenu,\n  DropdownMenuCheckboxItem,\n  DropdownMenuContent,\n  DropdownMenuRadioGroup,\n  DropdownMenuRadioItem,\n  DropdownMenuTrigger,\n} from \"~/ui/dropdownMenu\";\n\ninterface FilterOption {\n  label: string;\n  value: string;\n}\n\ninterface FilterDropdownProps {\n  icon: ElementType;\n  label: string;\n  options: FilterOption[];\n  activeFilters: string[];\n  onFilterChange: (value: string, checked: boolean) => void;\n  type: \"checkbox\" | \"radio\";\n}\n\nexport function FilterDropdown({\n  icon: Icon,\n  label,\n  options,\n  activeFilters,\n  onFilterChange,\n  type,\n}: FilterDropdownProps) {\n  return (\n    <DropdownMenu>\n      <DropdownMenuTrigger asChild>\n        <Button\n          variant=\"outline\"\n          size=\"sm\"\n          className=\"border-primary-700 hover:bg-primary-900 bg-primary-950 h-10 mix-blend-screen hover:text-white\"\n        >\n          <Icon className=\"mr-1 h-3 w-3\" />\n          {label}\n          <ChevronDown className=\"ml-1 h-3 w-3\" />\n        </Button>\n      </DropdownMenuTrigger>\n      <DropdownMenuContent className=\"border-primary-700 bg-primary-950 max-h-52 text-white\">\n        {type === \"checkbox\" &&\n          options.map(filter => (\n            <DropdownMenuCheckboxItem\n              key={filter.value}\n              checked={activeFilters.includes(filter.value)}\n              onCheckedChange={checked => onFilterChange(filter.value, checked)}\n            >\n              {filter.label}\n            </DropdownMenuCheckboxItem>\n          ))}\n        {type === \"radio\" && (\n          <DropdownMenuRadioGroup value={activeFilters[0]} onValueChange={value => onFilterChange(value, true)}>\n            {options.map(filter => (\n              <DropdownMenuRadioItem key={filter.value} value={filter.value}>\n                {filter.label}\n              </DropdownMenuRadioItem>\n            ))}\n          </DropdownMenuRadioGroup>\n        )}\n      </DropdownMenuContent>\n    </DropdownMenu>\n  );\n}\n","import { ReactComponent as X } from \"~/assets/cross.svg\";\nimport { ReactComponent as Search } from \"~/assets/search.svg\";\n\nimport { useCallback, useMemo } from \"react\";\nimport { Badge } from \"~/ui/badge\";\nimport { Button } from \"~/ui/button\";\nimport { Input } from \"~/ui/input\";\nimport type { FilterConfigs } from \"../../hooks/useTraceFiltering\";\nimport { FilterDropdown } from \"../shared/FilterDropdown\";\n\ninterface TraceListFilterProps {\n  searchQuery: string;\n  setSearchQuery: (query: string) => void;\n  activeFilters: string[];\n  setActiveFilters: React.Dispatch<React.SetStateAction<string[]>>;\n  filterConfigs: FilterConfigs;\n}\n\nexport default function TraceListFilter({\n  searchQuery,\n  setSearchQuery,\n  activeFilters,\n  setActiveFilters,\n  filterConfigs,\n}: TraceListFilterProps) {\n  const handleFilterChange = useCallback(\n    (value: string, checked: boolean, type: \"checkbox\" | \"radio\") => {\n      if (type === \"checkbox\") {\n        if (checked) {\n          setActiveFilters(prev => [...prev, value]);\n        } else {\n          setActiveFilters(prev => prev.filter(f => f !== value));\n        }\n      } else if (type === \"radio\") {\n        if (checked) {\n          setActiveFilters([value]);\n        } else {\n          setActiveFilters([]);\n        }\n      }\n    },\n    [setActiveFilters],\n  );\n\n  const clearAllFilters = useCallback(() => {\n    setActiveFilters([]);\n    setSearchQuery(\"\");\n  }, [setSearchQuery, setActiveFilters]);\n\n  const visibleFilterConfigs = useMemo(\n    () => Object.entries(filterConfigs).filter(([, config]) => config.show),\n    [filterConfigs],\n  );\n\n  return (\n    <div className=\"p-4\">\n      <div className=\"flex flex-wrap items-center gap-2\">\n        <div className=\"relative min-w-[250px] flex-1\">\n          <Search className=\"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 transform text-gray-400\" />\n          <Input\n            type=\"text\"\n            placeholder=\"Search by ID or transaction type...\"\n            value={searchQuery}\n            onChange={e => setSearchQuery(e.target.value)}\n            className=\"border-primary-700 bg-primary-950 w-full pl-9 text-white placeholder:text-gray-400\"\n          />\n          {searchQuery && (\n            <Button\n              variant=\"ghost\"\n              size=\"icon\"\n              className=\"absolute right-2 top-1/2 h-5 w-5 -translate-y-1/2 transform text-gray-400\"\n              onClick={() => setSearchQuery(\"\")}\n            >\n              <X className=\"h-3 w-3\" />\n            </Button>\n          )}\n        </div>\n\n        <div className=\"flex flex-wrap gap-2\">\n          {visibleFilterConfigs.map(([key, config]) => (\n            <FilterDropdown\n              key={key}\n              icon={config.icon}\n              label={config.label}\n              options={config.options}\n              type={config.type}\n              activeFilters={activeFilters}\n              onFilterChange={(value, checked) => handleFilterChange(value, checked, config.type)}\n            />\n          ))}\n        </div>\n      </div>\n\n      {activeFilters.length > 0 && (\n        <div className=\"mt-4 flex flex-wrap gap-2\">\n          {activeFilters.map(filter => (\n            <Badge key={filter} className=\"text-white\">\n              {filter}\n              <Button\n                variant=\"ghost\"\n                size=\"icon\"\n                className=\"ml-1 h-4 w-4 text-gray-400 hover:bg-transparent hover:text-white\"\n                onClick={() => setActiveFilters(prev => prev.filter(f => f !== filter))}\n              >\n                <X className=\"h-3 w-3\" />\n              </Button>\n            </Badge>\n          ))}\n          <Button\n            variant=\"ghost\"\n            size=\"sm\"\n            className=\"text-xs text-gray-400 hover:bg-transparent hover:text-white\"\n            onClick={clearAllFilters}\n          >\n            Clear all\n          </Button>\n        </div>\n      )}\n    </div>\n  );\n}\n","/** Token type enum for all possible Token categories */\nexport let TokenType;\n/** Struct to store the most basic cohesive unit of language grammar */\n\n(function (TokenType) {\n  TokenType[\"QUOTED_IDENTIFIER\"] = \"QUOTED_IDENTIFIER\";\n  TokenType[\"IDENTIFIER\"] = \"IDENTIFIER\";\n  TokenType[\"STRING\"] = \"STRING\";\n  TokenType[\"VARIABLE\"] = \"VARIABLE\";\n  TokenType[\"RESERVED_KEYWORD\"] = \"RESERVED_KEYWORD\";\n  TokenType[\"RESERVED_FUNCTION_NAME\"] = \"RESERVED_FUNCTION_NAME\";\n  TokenType[\"RESERVED_PHRASE\"] = \"RESERVED_PHRASE\";\n  TokenType[\"RESERVED_SET_OPERATION\"] = \"RESERVED_SET_OPERATION\";\n  TokenType[\"RESERVED_CLAUSE\"] = \"RESERVED_CLAUSE\";\n  TokenType[\"RESERVED_SELECT\"] = \"RESERVED_SELECT\";\n  TokenType[\"RESERVED_JOIN\"] = \"RESERVED_JOIN\";\n  TokenType[\"ARRAY_IDENTIFIER\"] = \"ARRAY_IDENTIFIER\";\n  TokenType[\"ARRAY_KEYWORD\"] = \"ARRAY_KEYWORD\";\n  TokenType[\"CASE\"] = \"CASE\";\n  TokenType[\"END\"] = \"END\";\n  TokenType[\"WHEN\"] = \"WHEN\";\n  TokenType[\"ELSE\"] = \"ELSE\";\n  TokenType[\"THEN\"] = \"THEN\";\n  TokenType[\"LIMIT\"] = \"LIMIT\";\n  TokenType[\"BETWEEN\"] = \"BETWEEN\";\n  TokenType[\"AND\"] = \"AND\";\n  TokenType[\"OR\"] = \"OR\";\n  TokenType[\"XOR\"] = \"XOR\";\n  TokenType[\"OPERATOR\"] = \"OPERATOR\";\n  TokenType[\"COMMA\"] = \"COMMA\";\n  TokenType[\"ASTERISK\"] = \"ASTERISK\";\n  TokenType[\"DOT\"] = \"DOT\";\n  TokenType[\"OPEN_PAREN\"] = \"OPEN_PAREN\";\n  TokenType[\"CLOSE_PAREN\"] = \"CLOSE_PAREN\";\n  TokenType[\"LINE_COMMENT\"] = \"LINE_COMMENT\";\n  TokenType[\"BLOCK_COMMENT\"] = \"BLOCK_COMMENT\";\n  TokenType[\"NUMBER\"] = \"NUMBER\";\n  TokenType[\"NAMED_PARAMETER\"] = \"NAMED_PARAMETER\";\n  TokenType[\"QUOTED_PARAMETER\"] = \"QUOTED_PARAMETER\";\n  TokenType[\"NUMBERED_PARAMETER\"] = \"NUMBERED_PARAMETER\";\n  TokenType[\"POSITIONAL_PARAMETER\"] = \"POSITIONAL_PARAMETER\";\n  TokenType[\"CUSTOM_PARAMETER\"] = \"CUSTOM_PARAMETER\";\n  TokenType[\"DELIMITER\"] = \"DELIMITER\";\n  TokenType[\"EOF\"] = \"EOF\";\n})(TokenType || (TokenType = {}));\n\n/** Creates EOF token positioned at given location */\nexport const createEofToken = index => ({\n  type: TokenType.EOF,\n  raw: '«EOF»',\n  text: '«EOF»',\n  start: index\n});\n/**\n * For use as a \"missing token\"\n * e.g. in lookAhead and lookBehind to avoid dealing with null values\n */\n\nexport const EOF_TOKEN = createEofToken(Infinity);\n/** Checks if two tokens are equivalent */\n\nexport const testToken = compareToken => token => token.type === compareToken.type && token.text === compareToken.text;\n/** Util object that allows for easy checking of Reserved Keywords */\n\nexport const isToken = {\n  ARRAY: testToken({\n    text: 'ARRAY',\n    type: TokenType.RESERVED_KEYWORD\n  }),\n  BY: testToken({\n    text: 'BY',\n    type: TokenType.RESERVED_KEYWORD\n  }),\n  SET: testToken({\n    text: 'SET',\n    type: TokenType.RESERVED_CLAUSE\n  }),\n  STRUCT: testToken({\n    text: 'STRUCT',\n    type: TokenType.RESERVED_KEYWORD\n  }),\n  WINDOW: testToken({\n    text: 'WINDOW',\n    type: TokenType.RESERVED_CLAUSE\n  })\n};\n/** Checks if token is any Reserved Keyword or Clause */\n\nexport const isReserved = type => type === TokenType.RESERVED_KEYWORD || type === TokenType.RESERVED_FUNCTION_NAME || type === TokenType.RESERVED_PHRASE || type === TokenType.RESERVED_CLAUSE || type === TokenType.RESERVED_SELECT || type === TokenType.RESERVED_SET_OPERATION || type === TokenType.RESERVED_JOIN || type === TokenType.ARRAY_KEYWORD || type === TokenType.CASE || type === TokenType.END || type === TokenType.WHEN || type === TokenType.ELSE || type === TokenType.THEN || type === TokenType.LIMIT || type === TokenType.BETWEEN || type === TokenType.AND || type === TokenType.OR || type === TokenType.XOR;\nexport const isLogicalOperator = type => type === TokenType.AND || type === TokenType.OR || type === TokenType.XOR;\n//# sourceMappingURL=token.js.map","/**\n * Performs expandSinglePhrase() on array\n */\nexport const expandPhrases = phrases => phrases.flatMap(expandSinglePhrase);\n/**\n * Expands a syntax description like\n *\n *     \"CREATE [OR REPLACE] [TEMP|TEMPORARY] TABLE\"\n *\n * into an array of all possible combinations like:\n *\n *     [ \"CREATE TABLE\",\n *       \"CREATE TEMP TABLE\",\n *       \"CREATE TEMPORARY TABLE\",\n *       \"CREATE OR REPLACE TABLE\",\n *       \"CREATE OR REPLACE TEMP TABLE\",\n *       \"CREATE OR REPLACE TEMPORARY TABLE\" ]\n */\n\nexport const expandSinglePhrase = phrase => buildCombinations(parsePhrase(phrase)).map(text => text.trim()); // This data type holds variants of a single part in whole phrase.\n// Corresponding to syntax as follows:\n//\n//   \"TABLE\"            --> [\"TABLE\"]\n//   \"[TABLE]\"          --> [\"\", \"TABLE\"]\n//   \"[TEMP|TEMPORARY]\" --> [\"\", \"TEMP\", \"TEMPORARY\"]\n//   \"{TEMP|TEMPORARY}\" --> [\"TEMP\", \"TEMPORARY\"]\n//\n\nconst REQUIRED_PART = /[^[\\]{}]+/y;\nconst REQUIRED_BLOCK = /\\{.*?\\}/y;\nconst OPTIONAL_BLOCK = /\\[.*?\\]/y;\n\nconst parsePhrase = text => {\n  let index = 0;\n  const result = [];\n\n  while (index < text.length) {\n    // Match everything else outside of \"[...]\" or \"{...}\" blocks\n    REQUIRED_PART.lastIndex = index;\n    const requiredMatch = REQUIRED_PART.exec(text);\n\n    if (requiredMatch) {\n      result.push([requiredMatch[0].trim()]);\n      index += requiredMatch[0].length;\n    } // Match \"[...]\" block\n\n\n    OPTIONAL_BLOCK.lastIndex = index;\n    const optionalBlockMatch = OPTIONAL_BLOCK.exec(text);\n\n    if (optionalBlockMatch) {\n      const choices = optionalBlockMatch[0].slice(1, -1).split('|').map(s => s.trim());\n      result.push(['', ...choices]);\n      index += optionalBlockMatch[0].length;\n    } // Match \"{...}\" block\n\n\n    REQUIRED_BLOCK.lastIndex = index;\n    const requiredBlockMatch = REQUIRED_BLOCK.exec(text);\n\n    if (requiredBlockMatch) {\n      const choices = requiredBlockMatch[0].slice(1, -1).split('|').map(s => s.trim());\n      result.push(choices);\n      index += requiredBlockMatch[0].length;\n    }\n\n    if (!requiredMatch && !optionalBlockMatch && !requiredBlockMatch) {\n      throw new Error(`Unbalanced parenthesis in: ${text}`);\n    }\n  }\n\n  return result;\n};\n\nconst buildCombinations = ([first, ...rest]) => {\n  if (first === undefined) {\n    return [''];\n  }\n\n  return buildCombinations(rest).flatMap(tail => first.map(head => head.trim() + ' ' + tail.trim()));\n};\n//# sourceMappingURL=expandPhrases.js.map","export const dedupe = arr => [...new Set(arr)]; // Last element from array\n\nexport const last = arr => arr[arr.length - 1]; // Sorts strings by length, so that longer ones are first\n// Also sorts alphabetically after sorting by length.\n\nexport const sortByLengthDesc = strings => strings.sort((a, b) => b.length - a.length || a.localeCompare(b));\n/** Get length of longest string in list of strings */\n\nexport const maxLength = strings => strings.reduce((max, cur) => Math.max(max, cur.length), 0); // replaces long whitespace sequences with just one space\n\nexport const equalizeWhitespace = s => s.replace(/\\s+/gu, ' '); // Used for flattening keyword lists\n\nexport const flatKeywordList = obj => dedupe(Object.values(obj).flat()); // True when string contains multiple lines\n\nexport const isMultiline = text => /\\n/.test(text); // Given a type and a field name, returns a type where this field is optional\n//\n// For example, these two type definitions are equivalent:\n//\n//   type Foo = Optional<{ foo: string, bar: number }, 'foo'>;\n//   type Foo = { foo?: string, bar: number };\n//\n//# sourceMappingURL=utils.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#reserved_keywords\n  keywords: ['ALL', 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'ASSERT_ROWS_MODIFIED', 'AT', 'BETWEEN', 'BY', 'CASE', 'CAST', 'COLLATE', 'CONTAINS', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'DEFAULT', 'DEFINE', 'DESC', 'DISTINCT', 'ELSE', 'END', 'ENUM', 'ESCAPE', 'EXCEPT', 'EXCLUDE', 'EXISTS', 'EXTRACT', 'FALSE', 'FETCH', 'FOLLOWING', 'FOR', 'FROM', 'FULL', 'GROUP', 'GROUPING', 'GROUPS', 'HASH', 'HAVING', 'IF', 'IGNORE', 'IN', 'INNER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'JOIN', 'LATERAL', 'LEFT', 'LIKE', 'LIMIT', 'LOOKUP', 'MERGE', 'NATURAL', 'NEW', 'NO', 'NOT', 'NULL', 'NULLS', 'OF', 'ON', 'OR', 'ORDER', 'OUTER', 'OVER', 'PARTITION', 'PRECEDING', 'PROTO', 'RANGE', 'RECURSIVE', 'RESPECT', 'RIGHT', 'ROLLUP', 'ROWS', 'SELECT', 'SET', 'SOME', 'STRUCT', 'TABLE', 'TABLESAMPLE', 'THEN', 'TO', 'TREAT', 'TRUE', 'UNBOUNDED', 'UNION', 'UNNEST', 'USING', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'WITHIN'],\n  datatypes: ['ARRAY', // parametric, ARRAY<T>\n  'BOOL', 'BYTES', // parameterised, BYTES(Length)\n  'DATE', 'DATETIME', 'GEOGRAPHY', 'INTERVAL', 'INT64', 'INT', 'SMALLINT', 'INTEGER', 'BIGINT', 'TINYINT', 'BYTEINT', 'NUMERIC', // parameterised, NUMERIC(Precision[, Scale])\n  'DECIMAL', // parameterised, DECIMAL(Precision[, Scale])\n  'BIGNUMERIC', // parameterised, BIGNUMERIC(Precision[, Scale])\n  'BIGDECIMAL', // parameterised, BIGDECIMAL(Precision[, Scale])\n  'FLOAT64', 'STRING', // parameterised, STRING(Length)\n  'STRUCT', // parametric, STRUCT<T>\n  'TIME', 'TIMEZONE'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/conversion_functions#formatting_syntax\n  stringFormat: ['HEX', 'BASEX', 'BASE64M', 'ASCII', 'UTF-8', 'UTF8'],\n  misc: ['SAFE'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n  ddl: ['LIKE', // CREATE TABLE LIKE\n  'COPY', // CREATE TABLE COPY\n  'CLONE', // CREATE TABLE CLONE\n  'IN', 'OUT', 'INOUT', 'RETURNS', 'LANGUAGE', 'CASCADE', 'RESTRICT', 'DETERMINISTIC']\n});\n//# sourceMappingURL=bigquery.keywords.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/aead_encryption_functions\n  aead: ['KEYS.NEW_KEYSET', 'KEYS.ADD_KEY_FROM_RAW_BYTES', 'AEAD.DECRYPT_BYTES', 'AEAD.DECRYPT_STRING', 'AEAD.ENCRYPT', 'KEYS.KEYSET_CHAIN', 'KEYS.KEYSET_FROM_JSON', 'KEYS.KEYSET_TO_JSON', 'KEYS.ROTATE_KEYSET', 'KEYS.KEYSET_LENGTH'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_analytic_functions\n  aggregateAnalytic: ['ANY_VALUE', 'ARRAY_AGG', 'AVG', 'CORR', 'COUNT', 'COUNTIF', 'COVAR_POP', 'COVAR_SAMP', 'MAX', 'MIN', 'ST_CLUSTERDBSCAN', 'STDDEV_POP', 'STDDEV_SAMP', 'STRING_AGG', 'SUM', 'VAR_POP', 'VAR_SAMP'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/aggregate_functions\n  aggregate: ['ANY_VALUE', 'ARRAY_AGG', 'ARRAY_CONCAT_AGG', 'AVG', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'COUNT', 'COUNTIF', 'LOGICAL_AND', 'LOGICAL_OR', 'MAX', 'MIN', 'STRING_AGG', 'SUM'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/approximate_aggregate_functions\n  approximateAggregate: ['APPROX_COUNT_DISTINCT', 'APPROX_QUANTILES', 'APPROX_TOP_COUNT', 'APPROX_TOP_SUM'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/array_functions\n  array: [// 'ARRAY',\n  'ARRAY_CONCAT', 'ARRAY_LENGTH', 'ARRAY_TO_STRING', 'GENERATE_ARRAY', 'GENERATE_DATE_ARRAY', 'GENERATE_TIMESTAMP_ARRAY', 'ARRAY_REVERSE', 'OFFSET', 'SAFE_OFFSET', 'ORDINAL', 'SAFE_ORDINAL'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/bit_functions\n  bitwise: ['BIT_COUNT'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/conversion_functions\n  conversion: [// 'CASE',\n  'PARSE_BIGNUMERIC', 'PARSE_NUMERIC', 'SAFE_CAST'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/date_functions\n  date: ['CURRENT_DATE', 'EXTRACT', 'DATE', 'DATE_ADD', 'DATE_SUB', 'DATE_DIFF', 'DATE_TRUNC', 'DATE_FROM_UNIX_DATE', 'FORMAT_DATE', 'LAST_DAY', 'PARSE_DATE', 'UNIX_DATE'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/datetime_functions\n  datetime: ['CURRENT_DATETIME', 'DATETIME', 'EXTRACT', 'DATETIME_ADD', 'DATETIME_SUB', 'DATETIME_DIFF', 'DATETIME_TRUNC', 'FORMAT_DATETIME', 'LAST_DAY', 'PARSE_DATETIME'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging_functions\n  debugging: ['ERROR'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/federated_query_functions\n  federatedQuery: ['EXTERNAL_QUERY'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/geography_functions\n  geography: ['S2_CELLIDFROMPOINT', 'S2_COVERINGCELLIDS', 'ST_ANGLE', 'ST_AREA', 'ST_ASBINARY', 'ST_ASGEOJSON', 'ST_ASTEXT', 'ST_AZIMUTH', 'ST_BOUNDARY', 'ST_BOUNDINGBOX', 'ST_BUFFER', 'ST_BUFFERWITHTOLERANCE', 'ST_CENTROID', 'ST_CENTROID_AGG', 'ST_CLOSESTPOINT', 'ST_CLUSTERDBSCAN', 'ST_CONTAINS', 'ST_CONVEXHULL', 'ST_COVEREDBY', 'ST_COVERS', 'ST_DIFFERENCE', 'ST_DIMENSION', 'ST_DISJOINT', 'ST_DISTANCE', 'ST_DUMP', 'ST_DWITHIN', 'ST_ENDPOINT', 'ST_EQUALS', 'ST_EXTENT', 'ST_EXTERIORRING', 'ST_GEOGFROM', 'ST_GEOGFROMGEOJSON', 'ST_GEOGFROMTEXT', 'ST_GEOGFROMWKB', 'ST_GEOGPOINT', 'ST_GEOGPOINTFROMGEOHASH', 'ST_GEOHASH', 'ST_GEOMETRYTYPE', 'ST_INTERIORRINGS', 'ST_INTERSECTION', 'ST_INTERSECTS', 'ST_INTERSECTSBOX', 'ST_ISCOLLECTION', 'ST_ISEMPTY', 'ST_LENGTH', 'ST_MAKELINE', 'ST_MAKEPOLYGON', 'ST_MAKEPOLYGONORIENTED', 'ST_MAXDISTANCE', 'ST_NPOINTS', 'ST_NUMGEOMETRIES', 'ST_NUMPOINTS', 'ST_PERIMETER', 'ST_POINTN', 'ST_SIMPLIFY', 'ST_SNAPTOGRID', 'ST_STARTPOINT', 'ST_TOUCHES', 'ST_UNION', 'ST_UNION_AGG', 'ST_WITHIN', 'ST_X', 'ST_Y'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/hash_functions\n  hash: ['FARM_FINGERPRINT', 'MD5', 'SHA1', 'SHA256', 'SHA512'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/hll_functions\n  hll: ['HLL_COUNT.INIT', 'HLL_COUNT.MERGE', 'HLL_COUNT.MERGE_PARTIAL', 'HLL_COUNT.EXTRACT'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/interval_functions\n  interval: ['MAKE_INTERVAL', 'EXTRACT', 'JUSTIFY_DAYS', 'JUSTIFY_HOURS', 'JUSTIFY_INTERVAL'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/json_functions\n  json: ['JSON_EXTRACT', 'JSON_QUERY', 'JSON_EXTRACT_SCALAR', 'JSON_VALUE', 'JSON_EXTRACT_ARRAY', 'JSON_QUERY_ARRAY', 'JSON_EXTRACT_STRING_ARRAY', 'JSON_VALUE_ARRAY', 'TO_JSON_STRING'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/mathematical_functions\n  math: ['ABS', 'SIGN', 'IS_INF', 'IS_NAN', 'IEEE_DIVIDE', 'RAND', 'SQRT', 'POW', 'POWER', 'EXP', 'LN', 'LOG', 'LOG10', 'GREATEST', 'LEAST', 'DIV', 'SAFE_DIVIDE', 'SAFE_MULTIPLY', 'SAFE_NEGATE', 'SAFE_ADD', 'SAFE_SUBTRACT', 'MOD', 'ROUND', 'TRUNC', 'CEIL', 'CEILING', 'FLOOR', 'COS', 'COSH', 'ACOS', 'ACOSH', 'SIN', 'SINH', 'ASIN', 'ASINH', 'TAN', 'TANH', 'ATAN', 'ATANH', 'ATAN2', 'RANGE_BUCKET'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/navigation_functions\n  navigation: ['FIRST_VALUE', 'LAST_VALUE', 'NTH_VALUE', 'LEAD', 'LAG', 'PERCENTILE_CONT', 'PERCENTILE_DISC'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/net_functions\n  net: ['NET.IP_FROM_STRING', 'NET.SAFE_IP_FROM_STRING', 'NET.IP_TO_STRING', 'NET.IP_NET_MASK', 'NET.IP_TRUNC', 'NET.IPV4_FROM_INT64', 'NET.IPV4_TO_INT64', 'NET.HOST', 'NET.PUBLIC_SUFFIX', 'NET.REG_DOMAIN'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/numbering_functions\n  numbering: ['RANK', 'DENSE_RANK', 'PERCENT_RANK', 'CUME_DIST', 'NTILE', 'ROW_NUMBER'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/security_functions\n  security: ['SESSION_USER'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/statistical_aggregate_functions\n  statisticalAggregate: ['CORR', 'COVAR_POP', 'COVAR_SAMP', 'STDDEV_POP', 'STDDEV_SAMP', 'STDDEV', 'VAR_POP', 'VAR_SAMP', 'VARIANCE'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/string_functions\n  string: ['ASCII', 'BYTE_LENGTH', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHR', 'CODE_POINTS_TO_BYTES', 'CODE_POINTS_TO_STRING', 'CONCAT', 'CONTAINS_SUBSTR', 'ENDS_WITH', 'FORMAT', 'FROM_BASE32', 'FROM_BASE64', 'FROM_HEX', 'INITCAP', 'INSTR', 'LEFT', 'LENGTH', 'LPAD', 'LOWER', 'LTRIM', 'NORMALIZE', 'NORMALIZE_AND_CASEFOLD', 'OCTET_LENGTH', 'REGEXP_CONTAINS', 'REGEXP_EXTRACT', 'REGEXP_EXTRACT_ALL', 'REGEXP_INSTR', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REPLACE', 'REPEAT', 'REVERSE', 'RIGHT', 'RPAD', 'RTRIM', 'SAFE_CONVERT_BYTES_TO_STRING', 'SOUNDEX', 'SPLIT', 'STARTS_WITH', 'STRPOS', 'SUBSTR', 'SUBSTRING', 'TO_BASE32', 'TO_BASE64', 'TO_CODE_POINTS', 'TO_HEX', 'TRANSLATE', 'TRIM', 'UNICODE', 'UPPER'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/time_functions\n  time: ['CURRENT_TIME', 'TIME', 'EXTRACT', 'TIME_ADD', 'TIME_SUB', 'TIME_DIFF', 'TIME_TRUNC', 'FORMAT_TIME', 'PARSE_TIME'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/timestamp_functions\n  timestamp: ['CURRENT_TIMESTAMP', 'EXTRACT', 'STRING', 'TIMESTAMP', 'TIMESTAMP_ADD', 'TIMESTAMP_SUB', 'TIMESTAMP_DIFF', 'TIMESTAMP_TRUNC', 'FORMAT_TIMESTAMP', 'PARSE_TIMESTAMP', 'TIMESTAMP_SECONDS', 'TIMESTAMP_MILLIS', 'TIMESTAMP_MICROS', 'UNIX_SECONDS', 'UNIX_MILLIS', 'UNIX_MICROS'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/uuid_functions\n  uuid: ['GENERATE_UUID'],\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/conditional_expressions\n  conditional: ['COALESCE', 'IF', 'IFNULL', 'NULLIF'],\n  // https://cloud.google.com/bigquery/docs/reference/legacy-sql\n  legacyAggregate: ['AVG', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'CORR', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'EXACT_COUNT_DISTINCT', 'FIRST', 'GROUP_CONCAT', 'GROUP_CONCAT_UNQUOTED', 'LAST', 'MAX', 'MIN', 'NEST', 'NTH', 'QUANTILES', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'SUM', 'TOP', 'UNIQUE', 'VARIANCE', 'VAR_POP', 'VAR_SAMP'],\n  legacyBitwise: ['BIT_COUNT'],\n  legacyCasting: ['BOOLEAN', 'BYTES', 'CAST', 'FLOAT', 'HEX_STRING', 'INTEGER', 'STRING'],\n  legacyComparison: [// expr 'IN',\n  'COALESCE', 'GREATEST', 'IFNULL', 'IS_INF', 'IS_NAN', 'IS_EXPLICITLY_DEFINED', 'LEAST', 'NVL'],\n  legacyDatetime: ['CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'DATE', 'DATE_ADD', 'DATEDIFF', 'DAY', 'DAYOFWEEK', 'DAYOFYEAR', 'FORMAT_UTC_USEC', 'HOUR', 'MINUTE', 'MONTH', 'MSEC_TO_TIMESTAMP', 'NOW', 'PARSE_UTC_USEC', 'QUARTER', 'SEC_TO_TIMESTAMP', 'SECOND', 'STRFTIME_UTC_USEC', 'TIME', 'TIMESTAMP', 'TIMESTAMP_TO_MSEC', 'TIMESTAMP_TO_SEC', 'TIMESTAMP_TO_USEC', 'USEC_TO_TIMESTAMP', 'UTC_USEC_TO_DAY', 'UTC_USEC_TO_HOUR', 'UTC_USEC_TO_MONTH', 'UTC_USEC_TO_WEEK', 'UTC_USEC_TO_YEAR', 'WEEK', 'YEAR'],\n  legacyIp: ['FORMAT_IP', 'PARSE_IP', 'FORMAT_PACKED_IP', 'PARSE_PACKED_IP'],\n  legacyJson: ['JSON_EXTRACT', 'JSON_EXTRACT_SCALAR'],\n  legacyMath: ['ABS', 'ACOS', 'ACOSH', 'ASIN', 'ASINH', 'ATAN', 'ATANH', 'ATAN2', 'CEIL', 'COS', 'COSH', 'DEGREES', 'EXP', 'FLOOR', 'LN', 'LOG', 'LOG2', 'LOG10', 'PI', 'POW', 'RADIANS', 'RAND', 'ROUND', 'SIN', 'SINH', 'SQRT', 'TAN', 'TANH'],\n  legacyRegex: ['REGEXP_MATCH', 'REGEXP_EXTRACT', 'REGEXP_REPLACE'],\n  legacyString: ['CONCAT', // expr CONTAINS 'str'\n  'INSTR', 'LEFT', 'LENGTH', 'LOWER', 'LPAD', 'LTRIM', 'REPLACE', 'RIGHT', 'RPAD', 'RTRIM', 'SPLIT', 'SUBSTR', 'UPPER'],\n  legacyTableWildcard: ['TABLE_DATE_RANGE', 'TABLE_DATE_RANGE_STRICT', 'TABLE_QUERY'],\n  legacyUrl: ['HOST', 'DOMAIN', 'TLD'],\n  legacyWindow: ['AVG', 'COUNT', 'MAX', 'MIN', 'STDDEV', 'SUM', 'CUME_DIST', 'DENSE_RANK', 'FIRST_VALUE', 'LAG', 'LAST_VALUE', 'LEAD', 'NTH_VALUE', 'NTILE', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'RANK', 'RATIO_TO_REPORT', 'ROW_NUMBER'],\n  legacyMisc: ['CURRENT_USER', 'EVERY', 'FROM_BASE64', 'HASH', 'FARM_FINGERPRINT', 'IF', 'POSITION', 'SHA1', 'SOME', 'TO_BASE64'],\n  other: ['BQ.JOBS.CANCEL', 'BQ.REFRESH_MATERIALIZED_VIEW'],\n  ddl: ['OPTIONS'],\n  pivot: ['PIVOT', 'UNPIVOT'],\n  // Data types with parameters like VARCHAR(100)\n  // https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types#parameterized_data_types\n  dataTypes: ['BYTES', 'NUMERIC', 'DECIMAL', 'BIGNUMERIC', 'BIGDECIMAL', 'STRING']\n});\n//# sourceMappingURL=bigquery.functions.js.map","import { EOF_TOKEN, isToken, TokenType } from '../../lexer/token.js';\nimport { expandPhrases } from '../../expandPhrases.js';\nimport { keywords } from './bigquery.keywords.js';\nimport { functions } from './bigquery.functions.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT] [AS STRUCT | AS VALUE]']);\nconst reservedClauses = expandPhrases([// Queries: https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'QUALIFY', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'OMIT RECORD IF', // legacy\n// Data modification: https://cloud.google.com/bigquery/docs/reference/standard-sql/dml-syntax\n// - insert:\n'INSERT [INTO]', 'VALUES', // - update:\n'SET', // - merge:\n'MERGE [INTO]', 'WHEN [NOT] MATCHED [BY SOURCE | BY TARGET] [THEN]', 'UPDATE SET', // Data definition, https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n'CREATE [OR REPLACE] [MATERIALIZED] VIEW [IF NOT EXISTS]', 'CREATE [OR REPLACE] [TEMP|TEMPORARY|SNAPSHOT|EXTERNAL] TABLE [IF NOT EXISTS]', 'CLUSTER BY', 'FOR SYSTEM_TIME AS OF', // CREATE SNAPSHOT TABLE\n'WITH CONNECTION', 'WITH PARTITION COLUMNS', 'REMOTE WITH CONNECTION']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', // - delete:\n'DELETE [FROM]', // - drop table:\n'DROP [SNAPSHOT | EXTERNAL] TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE [IF EXISTS]', 'ADD COLUMN [IF NOT EXISTS]', 'DROP COLUMN [IF EXISTS]', 'RENAME TO', 'ALTER COLUMN [IF EXISTS]', 'SET DEFAULT COLLATE', // for alter column\n'SET OPTIONS', // for alter column\n'DROP NOT NULL', // for alter column\n'SET DATA TYPE', // for alter column\n// - alter schema\n'ALTER SCHEMA [IF EXISTS]', // - alter view\n'ALTER [MATERIALIZED] VIEW [IF EXISTS]', // - alter bi_capacity\n'ALTER BI_CAPACITY', // - truncate:\n'TRUNCATE TABLE', // - create schema\n'CREATE SCHEMA [IF NOT EXISTS]', 'DEFAULT COLLATE', // stored procedures\n'CREATE [OR REPLACE] [TEMP|TEMPORARY|TABLE] FUNCTION [IF NOT EXISTS]', 'CREATE [OR REPLACE] PROCEDURE [IF NOT EXISTS]', // row access policy\n'CREATE [OR REPLACE] ROW ACCESS POLICY [IF NOT EXISTS]', 'GRANT TO', 'FILTER USING', // capacity\n'CREATE CAPACITY', 'AS JSON', // reservation\n'CREATE RESERVATION', // assignment\n'CREATE ASSIGNMENT', // search index\n'CREATE SEARCH INDEX [IF NOT EXISTS]', // drop\n'DROP SCHEMA [IF EXISTS]', 'DROP [MATERIALIZED] VIEW [IF EXISTS]', 'DROP [TABLE] FUNCTION [IF EXISTS]', 'DROP PROCEDURE [IF EXISTS]', 'DROP ROW ACCESS POLICY', 'DROP ALL ROW ACCESS POLICIES', 'DROP CAPACITY [IF EXISTS]', 'DROP RESERVATION [IF EXISTS]', 'DROP ASSIGNMENT [IF EXISTS]', 'DROP SEARCH INDEX [IF EXISTS]', 'DROP [IF EXISTS]', // DCL, https://cloud.google.com/bigquery/docs/reference/standard-sql/data-control-language\n'GRANT', 'REVOKE', // Script, https://cloud.google.com/bigquery/docs/reference/standard-sql/scripting\n'DECLARE', 'EXECUTE IMMEDIATE', 'LOOP', 'END LOOP', 'REPEAT', 'END REPEAT', 'WHILE', 'END WHILE', 'BREAK', 'LEAVE', 'CONTINUE', 'ITERATE', 'FOR', 'END FOR', 'BEGIN', 'BEGIN TRANSACTION', 'COMMIT TRANSACTION', 'ROLLBACK TRANSACTION', 'RAISE', 'RETURN', 'CALL', // Debug, https://cloud.google.com/bigquery/docs/reference/standard-sql/debugging-statements\n'ASSERT', // Other, https://cloud.google.com/bigquery/docs/reference/standard-sql/other-statements\n'EXPORT DATA']);\nconst reservedSetOperations = expandPhrases(['UNION {ALL | DISTINCT}', 'EXCEPT DISTINCT', 'INTERSECT DISTINCT']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN']);\nconst reservedPhrases = expandPhrases([// https://cloud.google.com/bigquery/docs/reference/standard-sql/query-syntax#tablesample_operator\n'TABLESAMPLE SYSTEM', // From DDL: https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language\n'ANY TYPE', 'ALL COLUMNS', 'NOT DETERMINISTIC', // inside window definitions\n'{ROWS | RANGE} BETWEEN', // comparison operator\n'IS [NOT] DISTINCT FROM']); // https://cloud.google.com/bigquery/docs/reference/#standard-sql-reference\n\nexport const bigquery = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    extraParens: ['[]'],\n    stringTypes: [// The triple-quoted strings are listed first, so they get matched first.\n    // Otherwise the first two quotes of \"\"\" will get matched as an empty \"\" string.\n    {\n      quote: '\"\"\"..\"\"\"',\n      prefixes: ['R', 'B', 'RB', 'BR']\n    }, {\n      quote: \"'''..'''\",\n      prefixes: ['R', 'B', 'RB', 'BR']\n    }, '\"\"-bs', \"''-bs\", {\n      quote: '\"\"-raw',\n      prefixes: ['R', 'B', 'RB', 'BR'],\n      requirePrefix: true\n    }, {\n      quote: \"''-raw\",\n      prefixes: ['R', 'B', 'RB', 'BR'],\n      requirePrefix: true\n    }],\n    identTypes: ['``'],\n    identChars: {\n      dashes: true\n    },\n    paramTypes: {\n      positional: true,\n      named: ['@'],\n      quoted: ['@']\n    },\n    variableTypes: [{\n      regex: String.raw`@@\\w+`\n    }],\n    lineCommentTypes: ['--', '#'],\n    operators: ['&', '|', '^', '~', '>>', '<<', '||', '=>'],\n    postProcess\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n\nfunction postProcess(tokens) {\n  return detectArraySubscripts(combineParameterizedTypes(tokens));\n} // Converts OFFSET token inside array from RESERVED_CLAUSE to RESERVED_FUNCTION_NAME\n// See: https://cloud.google.com/bigquery/docs/reference/standard-sql/functions-and-operators#array_subscript_operator\n\n\nfunction detectArraySubscripts(tokens) {\n  let prevToken = EOF_TOKEN;\n  return tokens.map(token => {\n    if (token.text === 'OFFSET' && prevToken.text === '[') {\n      prevToken = token;\n      return { ...token,\n        type: TokenType.RESERVED_FUNCTION_NAME\n      };\n    } else {\n      prevToken = token;\n      return token;\n    }\n  });\n} // Combines multiple tokens forming a parameterized type like STRUCT<ARRAY<INT64>> into a single token\n\n\nfunction combineParameterizedTypes(tokens) {\n  const processed = [];\n\n  for (let i = 0; i < tokens.length; i++) {\n    var _tokens;\n\n    const token = tokens[i];\n\n    if ((isToken.ARRAY(token) || isToken.STRUCT(token)) && ((_tokens = tokens[i + 1]) === null || _tokens === void 0 ? void 0 : _tokens.text) === '<') {\n      const endIndex = findClosingAngleBracketIndex(tokens, i + 1);\n      const typeDefTokens = tokens.slice(i, endIndex + 1);\n      processed.push({\n        type: TokenType.IDENTIFIER,\n        raw: typeDefTokens.map(formatTypeDefToken('raw')).join(''),\n        text: typeDefTokens.map(formatTypeDefToken('text')).join(''),\n        start: token.start\n      });\n      i = endIndex;\n    } else {\n      processed.push(token);\n    }\n  }\n\n  return processed;\n}\n\nconst formatTypeDefToken = key => token => {\n  if (token.type === TokenType.IDENTIFIER || token.type === TokenType.COMMA) {\n    return token[key] + ' ';\n  } else {\n    return token[key];\n  }\n};\n\nfunction findClosingAngleBracketIndex(tokens, startIndex) {\n  let level = 0;\n\n  for (let i = startIndex; i < tokens.length; i++) {\n    const token = tokens[i];\n\n    if (token.text === '<') {\n      level++;\n    } else if (token.text === '>') {\n      level--;\n    } else if (token.text === '>>') {\n      level -= 2;\n    }\n\n    if (level === 0) {\n      return i;\n    }\n  }\n\n  return tokens.length - 1;\n}\n//# sourceMappingURL=bigquery.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-aggregate\n  aggregate: ['ARRAY_AGG', 'AVG', 'CORR', 'CORRELATION', 'COUNT', 'COUNT_BIG', 'COVAR_POP', 'COVARIANCE', 'COVAR', 'COVAR_SAMP', 'COVARIANCE_SAMP', 'CUME_DIST', 'GROUPING', 'LISTAGG', 'MAX', 'MEDIAN', 'MIN', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_ICPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', 'STDDEV_POP', 'STDDEV', 'STDDEV_SAMP', 'SUM', 'VAR_POP', 'VARIANCE', 'VAR', 'VAR_SAMP', 'VARIANCE_SAMP', 'XMLAGG'],\n  // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-scalar\n  scalar: ['ABS', 'ABSVAL', 'ACOS', 'ADD_DAYS', 'ADD_MONTHS', 'ARRAY_DELETE', 'ARRAY_FIRST', 'ARRAY_LAST', 'ARRAY_NEXT', 'ARRAY_PRIOR', 'ARRAY_TRIM', 'ASCII', 'ASCII_CHR', 'ASCII_STR', 'ASCIISTR', 'ASIN', 'ATAN', 'ATANH', 'ATAN2', 'BIGINT', 'BINARY', 'BITAND', 'BITANDNOT', 'BITOR', 'BITXOR', 'BITNOT', 'BLOB', 'BTRIM', 'CARDINALITY', 'CCSID_ENCODING', 'CEILING', 'CEIL', 'CHAR', 'CHAR9', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHR', 'CLOB', 'COALESCE', 'COLLATION_KEY', 'COMPARE_DECFLOAT', 'CONCAT', 'CONTAINS', 'COS', 'COSH', 'DATE', 'DAY', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFWEEK_ISO', 'DAYOFYEAR', 'DAYS', 'DAYS_BETWEEN', 'DBCLOB', 'DECFLOAT', 'DECFLOAT_FORMAT', 'DECFLOAT_SORTKEY', 'DECIMAL', 'DEC', 'DECODE', 'DECRYPT_BINARY', 'DECRYPT_BIT', 'DECRYPT_CHAR', 'DECRYPT_DB', 'DECRYPT_DATAKEY_BIGINT', 'DECRYPT_DATAKEY_BIT', 'DECRYPT_DATAKEY_CLOB', 'DECRYPT_DATAKEY_DBCLOB', 'DECRYPT_DATAKEY_DECIMAL', 'DECRYPT_DATAKEY_INTEGER', 'DECRYPT_DATAKEY_VARCHAR', 'DECRYPT_DATAKEY_VARGRAPHIC', 'DEGREES', 'DIFFERENCE', 'DIGITS', 'DOUBLE_PRECISION', 'DOUBLE', 'DSN_XMLVALIDATE', 'EBCDIC_CHR', 'EBCDIC_STR', 'ENCRYPT_DATAKEY', 'ENCRYPT_TDES', 'EXP', 'EXTRACT', 'FLOAT', 'FLOOR', 'GENERATE_UNIQUE', 'GENERATE_UNIQUE_BINARY', 'GETHINT', 'GETVARIABLE', 'GRAPHIC', 'GREATEST', 'HASH', 'HASH_CRC32', 'HASH_MD5', 'HASH_SHA1', 'HASH_SHA256', 'HEX', 'HOUR', 'IDENTITY_VAL_LOCAL', 'IFNULL', 'INSERT', 'INSTR', 'INTEGER', 'INT', 'JULIAN_DAY', 'LAST_DAY', 'LCASE', 'LEAST', 'LEFT', 'LENGTH', 'LN', 'LOCATE', 'LOCATE_IN_STRING', 'LOG10', 'LOWER', 'LPAD', 'LTRIM', 'MAX', 'MAX_CARDINALITY', 'MICROSECOND', 'MIDNIGHT_SECONDS', 'MIN', 'MINUTE', 'MOD', 'MONTH', 'MONTHS_BETWEEN', 'MQREAD', 'MQREADCLOB', 'MQRECEIVE', 'MQRECEIVECLOB', 'MQSEND', 'MULTIPLY_ALT', 'NEXT_DAY', 'NEXT_MONTH', 'NORMALIZE_DECFLOAT', 'NORMALIZE_STRING', 'NULLIF', 'NVL', 'OVERLAY', 'PACK', 'POSITION', 'POSSTR', 'POWER', 'POW', 'QUANTIZE', 'QUARTER', 'RADIANS', 'RAISE_ERROR', 'RANDOM', 'RAND', 'REAL', 'REGEXP_COUNT', 'REGEXP_INSTR', 'REGEXP_LIKE', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REPEAT', 'REPLACE', 'RID', 'RIGHT', 'ROUND', 'ROUND_TIMESTAMP', 'ROWID', 'RPAD', 'RTRIM', 'SCORE', 'SECOND', 'SIGN', 'SIN', 'SINH', 'SMALLINT', 'SOUNDEX', 'SOAPHTTPC', 'SOAPHTTPV', 'SOAPHTTPNC', 'SOAPHTTPNV', 'SPACE', 'SQRT', 'STRIP', 'STRLEFT', 'STRPOS', 'STRRIGHT', 'SUBSTR', 'SUBSTRING', 'TAN', 'TANH', 'TIME', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIMESTAMP_FORMAT', 'TIMESTAMP_ISO', 'TIMESTAMP_TZ', 'TO_CHAR', 'TO_CLOB', 'TO_DATE', 'TO_NUMBER', 'TOTALORDER', 'TO_TIMESTAMP', 'TRANSLATE', 'TRIM', 'TRIM_ARRAY', 'TRUNCATE', 'TRUNC', 'TRUNC_TIMESTAMP', 'UCASE', 'UNICODE', 'UNICODE_STR', 'UNISTR', 'UPPER', 'VALUE', 'VARBINARY', 'VARCHAR', 'VARCHAR9', 'VARCHAR_BIT_FORMAT', 'VARCHAR_FORMAT', 'VARGRAPHIC', 'VERIFY_GROUP_FOR_USER', 'VERIFY_ROLE_FOR_USER', 'VERIFY_TRUSTED_CONTEXT_ROLE_FOR_USER', 'WEEK', 'WEEK_ISO', 'WRAP', 'XMLATTRIBUTES', 'XMLCOMMENT', 'XMLCONCAT', 'XMLDOCUMENT', 'XMLELEMENT', 'XMLFOREST', 'XMLMODIFY', 'XMLNAMESPACES', 'XMLPARSE', 'XMLPI', 'XMLQUERY', 'XMLSERIALIZE', 'XMLTEXT', 'XMLXSROBJECTID', 'XSLTRANSFORM', 'YEAR'],\n  // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-table\n  table: ['ADMIN_TASK_LIST', 'ADMIN_TASK_OUTPUT', 'ADMIN_TASK_STATUS', 'BLOCKING_THREADS', 'MQREADALL', 'MQREADALLCLOB', 'MQRECEIVEALL', 'MQRECEIVEALLCLOB', 'XMLTABLE'],\n  // https://www.ibm.com/docs/en/db2-for-zos/11?topic=functions-row\n  row: ['UNPACK'],\n  // https://www.ibm.com/docs/en/db2-for-zos/12?topic=expressions-olap-specification\n  olap: ['CUME_DIST', 'PERCENT_RANK', 'RANK', 'DENSE_RANK', 'NTILE', 'LAG', 'LEAD', 'ROW_NUMBER', 'FIRST_VALUE', 'LAST_VALUE', 'NTH_VALUE', 'RATIO_TO_REPORT'],\n  // Type casting\n  cast: ['CAST']\n});\n//# sourceMappingURL=db2.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://www.ibm.com/docs/en/db2-for-zos/11?topic=words-reserved#db2z_reservedwords__newresword\n  standard: ['ALL', 'ALLOCATE', 'ALLOW', 'ALTERAND', 'ANY', 'AS', 'ARRAY', 'ARRAY_EXISTS', 'ASENSITIVE', 'ASSOCIATE', 'ASUTIME', 'AT', 'AUDIT', 'AUX', 'AUXILIARY', 'BEFORE', 'BEGIN', 'BETWEEN', 'BUFFERPOOL', 'BY', 'CAPTURE', 'CASCADED', 'CAST', 'CCSID', 'CHARACTER', 'CHECK', 'CLONE', 'CLUSTER', 'COLLECTION', 'COLLID', 'COLUMN', 'CONDITION', 'CONNECTION', 'CONSTRAINT', 'CONTENT', 'CONTINUE', 'CREATE', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_LC_CTYPE', 'CURRENT_PATH', 'CURRENT_SCHEMA', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRVAL', 'CURSOR', 'DATA', 'DATABASE', 'DBINFO', 'DECLARE', 'DEFAULT', 'DESCRIPTOR', 'DETERMINISTIC', 'DISABLE', 'DISALLOW', 'DISTINCT', 'DO', 'DOCUMENT', 'DSSIZE', 'DYNAMIC', 'EDITPROC', 'ELSE', 'ELSEIF', 'ENCODING', 'ENCRYPTION', 'ENDING', 'END-EXEC', 'ERASE', 'ESCAPE', 'EXCEPTION', 'EXISTS', 'EXIT', 'EXTERNAL', 'FENCED', 'FIELDPROC', 'FINAL', 'FIRST', 'FOR', 'FREE', 'FULL', 'FUNCTION', 'GENERATED', 'GET', 'GLOBAL', 'GOTO', 'GROUP', 'HANDLER', 'HOLD', 'HOURS', 'IF', 'IMMEDIATE', 'IN', 'INCLUSIVE', 'INDEX', 'INHERIT', 'INNER', 'INOUT', 'INSENSITIVE', 'INTO', 'IS', 'ISOBID', 'ITERATE', 'JAR', 'KEEP', 'KEY', 'LANGUAGE', 'LAST', 'LC_CTYPE', 'LEAVE', 'LIKE', 'LOCAL', 'LOCALE', 'LOCATOR', 'LOCATORS', 'LOCK', 'LOCKMAX', 'LOCKSIZE', 'LONG', 'LOOP', 'MAINTAINED', 'MATERIALIZED', 'MICROSECONDS', 'MINUTEMINUTES', 'MODIFIES', 'MONTHS', 'NEXT', 'NEXTVAL', 'NO', 'NONE', 'NOT', 'NULL', 'NULLS', 'NUMPARTS', 'OBID', 'OF', 'OLD', 'ON', 'OPTIMIZATION', 'OPTIMIZE', 'ORDER', 'ORGANIZATION', 'OUT', 'OUTER', 'PACKAGE', 'PARAMETER', 'PART', 'PADDED', 'PARTITION', 'PARTITIONED', 'PARTITIONING', 'PATH', 'PIECESIZE', 'PERIOD', 'PLAN', 'PRECISION', 'PREVVAL', 'PRIOR', 'PRIQTY', 'PRIVILEGES', 'PROCEDURE', 'PROGRAM', 'PSID', 'PUBLIC', 'QUERY', 'QUERYNO', 'READS', 'REFERENCES', 'RESIGNAL', 'RESTRICT', 'RESULT', 'RESULT_SET_LOCATOR', 'RETURN', 'RETURNS', 'ROLE', 'ROLLUP', 'ROUND_CEILING', 'ROUND_DOWN', 'ROUND_FLOOR', 'ROUND_HALF_DOWN', 'ROUND_HALF_EVEN', 'ROUND_HALF_UP', 'ROUND_UP', 'ROW', 'ROWSET', 'SCHEMA', 'SCRATCHPAD', 'SECONDS', 'SECQTY', 'SECURITY', 'SEQUENCE', 'SENSITIVE', 'SESSION_USER', 'SIMPLE', 'SOME', 'SOURCE', 'SPECIFIC', 'STANDARD', 'STATIC', 'STATEMENT', 'STAY', 'STOGROUP', 'STORES', 'STYLE', 'SUMMARY', 'SYNONYM', 'SYSDATE', 'SYSTEM', 'SYSTIMESTAMP', 'TABLE', 'TABLESPACE', 'THEN', 'TO', 'TRIGGER', 'TYPE', 'UNDO', 'UNIQUE', 'UNTIL', 'USER', 'USING', 'VALIDPROC', 'VARIABLE', 'VARIANT', 'VCAT', 'VERSIONING', 'VIEW', 'VOLATILE', 'VOLUMES', 'WHILE', 'WLM', 'XMLEXISTS', 'XMLCAST', 'YEARS', 'ZONE']\n});\n//# sourceMappingURL=db2.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './db2.functions.js';\nimport { keywords } from './db2.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY [INPUT SEQUENCE]', 'FETCH FIRST', // Data modification\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'SET', // - merge:\n'MERGE INTO', 'WHEN [NOT] MATCHED [THEN]', 'UPDATE SET', 'INSERT', // Data definition\n'CREATE [OR REPLACE] VIEW', 'CREATE [GLOBAL TEMPORARY] TABLE']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', 'WHERE CURRENT OF', 'WITH {RR | RS | CS | UR}', // - delete:\n'DELETE FROM', // - drop table:\n'DROP TABLE [HIERARCHY]', // alter table:\n'ALTER TABLE', 'ADD [COLUMN]', 'DROP [COLUMN]', 'RENAME [COLUMN]', 'ALTER [COLUMN]', 'SET DATA TYPE', // for alter column\n'SET NOT NULL', // for alter column\n'DROP {IDENTITY | EXPRESSION | DEFAULT | NOT NULL}', // for alter column\n// - truncate:\n'TRUNCATE [TABLE]', // other\n'SET [CURRENT] SCHEMA', 'AFTER', 'GO', // https://www.ibm.com/docs/en/db2-for-zos/11?topic=statements-list-supported\n'ALLOCATE CURSOR', 'ALTER DATABASE', 'ALTER FUNCTION', 'ALTER INDEX', 'ALTER MASK', 'ALTER PERMISSION', 'ALTER PROCEDURE', 'ALTER SEQUENCE', 'ALTER STOGROUP', 'ALTER TABLESPACE', 'ALTER TRIGGER', 'ALTER TRUSTED CONTEXT', 'ALTER VIEW', 'ASSOCIATE LOCATORS', 'BEGIN DECLARE SECTION', 'CALL', 'CLOSE', 'COMMENT', 'COMMIT', 'CONNECT', 'CREATE ALIAS', 'CREATE AUXILIARY TABLE', 'CREATE DATABASE', 'CREATE FUNCTION', 'CREATE GLOBAL TEMPORARY TABLE', 'CREATE INDEX', 'CREATE LOB TABLESPACE', 'CREATE MASK', 'CREATE PERMISSION', 'CREATE PROCEDURE', 'CREATE ROLE', 'CREATE SEQUENCE', 'CREATE STOGROUP', 'CREATE SYNONYM', 'CREATE TABLESPACE', 'CREATE TRIGGER', 'CREATE TRUSTED CONTEXT', 'CREATE TYPE', 'CREATE VARIABLE', 'DECLARE CURSOR', 'DECLARE GLOBAL TEMPORARY TABLE', 'DECLARE STATEMENT', 'DECLARE TABLE', 'DECLARE VARIABLE', 'DESCRIBE CURSOR', 'DESCRIBE INPUT', 'DESCRIBE OUTPUT', 'DESCRIBE PROCEDURE', 'DESCRIBE TABLE', 'DROP', 'END DECLARE SECTION', 'EXCHANGE', 'EXECUTE', 'EXECUTE IMMEDIATE', 'EXPLAIN', 'FETCH', 'FREE LOCATOR', 'GET DIAGNOSTICS', 'GRANT', 'HOLD LOCATOR', 'INCLUDE', 'LABEL', 'LOCK TABLE', 'OPEN', 'PREPARE', 'REFRESH', 'RELEASE', 'RELEASE SAVEPOINT', 'RENAME', 'REVOKE', 'ROLLBACK', 'SAVEPOINT', 'SELECT INTO', 'SET CONNECTION', 'SET CURRENT ACCELERATOR', 'SET CURRENT APPLICATION COMPATIBILITY', 'SET CURRENT APPLICATION ENCODING SCHEME', 'SET CURRENT DEBUG MODE', 'SET CURRENT DECFLOAT ROUNDING MODE', 'SET CURRENT DEGREE', 'SET CURRENT EXPLAIN MODE', 'SET CURRENT GET_ACCEL_ARCHIVE', 'SET CURRENT LOCALE LC_CTYPE', 'SET CURRENT MAINTAINED TABLE TYPES FOR OPTIMIZATION', 'SET CURRENT OPTIMIZATION HINT', 'SET CURRENT PACKAGE PATH', 'SET CURRENT PACKAGESET', 'SET CURRENT PRECISION', 'SET CURRENT QUERY ACCELERATION', 'SET CURRENT QUERY ACCELERATION WAITFORDATA', 'SET CURRENT REFRESH AGE', 'SET CURRENT ROUTINE VERSION', 'SET CURRENT RULES', 'SET CURRENT SQLID', 'SET CURRENT TEMPORAL BUSINESS_TIME', 'SET CURRENT TEMPORAL SYSTEM_TIME', 'SET ENCRYPTION PASSWORD', 'SET PATH', 'SET SESSION TIME ZONE', 'SIGNAL', 'VALUES INTO', 'WHENEVER']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL]', 'EXCEPT [ALL]', 'INTERSECT [ALL]']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN']);\nconst reservedPhrases = expandPhrases(['ON DELETE', 'ON UPDATE', 'SET NULL', '{ROWS | RANGE} BETWEEN']); // https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_72/db2/rbafzintro.htm\n\nexport const db2 = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    stringTypes: [{\n      quote: \"''-qq\",\n      prefixes: ['G', 'N', 'U&']\n    }, {\n      quote: \"''-raw\",\n      prefixes: ['X', 'BX', 'GX', 'UX'],\n      requirePrefix: true\n    }],\n    identTypes: [`\"\"-qq`],\n    identChars: {\n      first: '@#$'\n    },\n    paramTypes: {\n      positional: true,\n      named: [':']\n    },\n    paramChars: {\n      first: '@#$',\n      rest: '@#$'\n    },\n    operators: ['**', '¬=', '¬>', '¬<', '!>', '!<', '||']\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n//# sourceMappingURL=db2.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF\n  math: ['ABS', 'ACOS', 'ASIN', 'ATAN', 'BIN', 'BROUND', 'CBRT', 'CEIL', 'CEILING', 'CONV', 'COS', 'DEGREES', // 'E',\n  'EXP', 'FACTORIAL', 'FLOOR', 'GREATEST', 'HEX', 'LEAST', 'LN', 'LOG', 'LOG10', 'LOG2', 'NEGATIVE', 'PI', 'PMOD', 'POSITIVE', 'POW', 'POWER', 'RADIANS', 'RAND', 'ROUND', 'SHIFTLEFT', 'SHIFTRIGHT', 'SHIFTRIGHTUNSIGNED', 'SIGN', 'SIN', 'SQRT', 'TAN', 'UNHEX', 'WIDTH_BUCKET'],\n  array: ['ARRAY_CONTAINS', 'MAP_KEYS', 'MAP_VALUES', 'SIZE', 'SORT_ARRAY'],\n  conversion: ['BINARY', 'CAST'],\n  date: ['ADD_MONTHS', 'DATE', 'DATE_ADD', 'DATE_FORMAT', 'DATE_SUB', 'DATEDIFF', 'DAY', 'DAYNAME', 'DAYOFMONTH', 'DAYOFYEAR', 'EXTRACT', 'FROM_UNIXTIME', 'FROM_UTC_TIMESTAMP', 'HOUR', 'LAST_DAY', 'MINUTE', 'MONTH', 'MONTHS_BETWEEN', 'NEXT_DAY', 'QUARTER', 'SECOND', 'TIMESTAMP', 'TO_DATE', 'TO_UTC_TIMESTAMP', 'TRUNC', 'UNIX_TIMESTAMP', 'WEEKOFYEAR', 'YEAR'],\n  conditional: ['ASSERT_TRUE', 'COALESCE', 'IF', 'ISNOTNULL', 'ISNULL', 'NULLIF', 'NVL'],\n  string: ['ASCII', 'BASE64', 'CHARACTER_LENGTH', 'CHR', 'CONCAT', 'CONCAT_WS', 'CONTEXT_NGRAMS', 'DECODE', 'ELT', 'ENCODE', 'FIELD', 'FIND_IN_SET', 'FORMAT_NUMBER', 'GET_JSON_OBJECT', 'IN_FILE', 'INITCAP', 'INSTR', 'LCASE', 'LENGTH', 'LEVENSHTEIN', 'LOCATE', 'LOWER', 'LPAD', 'LTRIM', 'NGRAMS', 'OCTET_LENGTH', 'PARSE_URL', 'PRINTF', 'QUOTE', 'REGEXP_EXTRACT', 'REGEXP_REPLACE', 'REPEAT', 'REVERSE', 'RPAD', 'RTRIM', 'SENTENCES', 'SOUNDEX', 'SPACE', 'SPLIT', 'STR_TO_MAP', 'SUBSTR', 'SUBSTRING', 'TRANSLATE', 'TRIM', 'UCASE', 'UNBASE64', 'UPPER'],\n  masking: ['MASK', 'MASK_FIRST_N', 'MASK_HASH', 'MASK_LAST_N', 'MASK_SHOW_FIRST_N', 'MASK_SHOW_LAST_N'],\n  misc: ['AES_DECRYPT', 'AES_ENCRYPT', 'CRC32', 'CURRENT_DATABASE', 'CURRENT_USER', 'HASH', 'JAVA_METHOD', 'LOGGED_IN_USER', 'MD5', 'REFLECT', 'SHA', 'SHA1', 'SHA2', 'SURROGATE_KEY', 'VERSION'],\n  aggregate: ['AVG', 'COLLECT_LIST', 'COLLECT_SET', 'CORR', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'HISTOGRAM_NUMERIC', 'MAX', 'MIN', 'NTILE', 'PERCENTILE', 'PERCENTILE_APPROX', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', 'STDDEV_POP', 'STDDEV_SAMP', 'SUM', 'VAR_POP', 'VAR_SAMP', 'VARIANCE'],\n  table: ['EXPLODE', 'INLINE', 'JSON_TUPLE', 'PARSE_URL_TUPLE', 'POSEXPLODE', 'STACK'],\n  // https://cwiki.apache.org/confluence/display/Hive/LanguageManual+WindowingAndAnalytics\n  window: ['LEAD', 'LAG', 'FIRST_VALUE', 'LAST_VALUE', 'RANK', 'ROW_NUMBER', 'DENSE_RANK', 'CUME_DIST', 'PERCENT_RANK', 'NTILE'],\n  // Parameterized data types\n  // https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=82706456\n  // Though in reality Hive only supports parameters for DECIMAL(),\n  // it doesn't hurt to allow others in here as well.\n  dataTypes: ['DECIMAL', 'NUMERIC', 'VARCHAR', 'CHAR']\n});\n//# sourceMappingURL=hive.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl\n  // Non-reserved keywords have proscribed meanings in. HiveQL, but can still be used as table or column names\n  nonReserved: ['ADD', 'ADMIN', 'AFTER', 'ANALYZE', 'ARCHIVE', 'ASC', 'BEFORE', 'BUCKET', 'BUCKETS', 'CASCADE', 'CHANGE', 'CLUSTER', 'CLUSTERED', 'CLUSTERSTATUS', 'COLLECTION', 'COLUMNS', 'COMMENT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONTINUE', 'DATA', 'DATABASES', 'DATETIME', 'DAY', 'DBPROPERTIES', 'DEFERRED', 'DEFINED', 'DELIMITED', 'DEPENDENCY', 'DESC', 'DIRECTORIES', 'DIRECTORY', 'DISABLE', 'DISTRIBUTE', 'ELEM_TYPE', 'ENABLE', 'ESCAPED', 'EXCLUSIVE', 'EXPLAIN', 'EXPORT', 'FIELDS', 'FILE', 'FILEFORMAT', 'FIRST', 'FORMAT', 'FORMATTED', 'FUNCTIONS', 'HOLD_DDLTIME', 'HOUR', 'IDXPROPERTIES', 'IGNORE', 'INDEX', 'INDEXES', 'INPATH', 'INPUTDRIVER', 'INPUTFORMAT', 'ITEMS', 'JAR', 'KEYS', 'KEY_TYPE', 'LIMIT', 'LINES', 'LOAD', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'LONG', 'MAPJOIN', 'MATERIALIZED', 'METADATA', 'MINUS', 'MINUTE', 'MONTH', 'MSCK', 'NOSCAN', 'NO_DROP', 'OFFLINE', 'OPTION', 'OUTPUTDRIVER', 'OUTPUTFORMAT', 'OVERWRITE', 'OWNER', 'PARTITIONED', 'PARTITIONS', 'PLUS', 'PRETTY', 'PRINCIPALS', 'PROTECTION', 'PURGE', 'READ', 'READONLY', 'REBUILD', 'RECORDREADER', 'RECORDWRITER', 'RELOAD', 'RENAME', 'REPAIR', 'REPLACE', 'REPLICATION', 'RESTRICT', 'REWRITE', 'ROLE', 'ROLES', 'SCHEMA', 'SCHEMAS', 'SECOND', 'SEMI', 'SERDE', 'SERDEPROPERTIES', 'SERVER', 'SETS', 'SHARED', 'SHOW', 'SHOW_DATABASE', 'SKEWED', 'SORT', 'SORTED', 'SSL', 'STATISTICS', 'STORED', 'STREAMTABLE', 'STRING', 'STRUCT', 'TABLES', 'TBLPROPERTIES', 'TEMPORARY', 'TERMINATED', 'TINYINT', 'TOUCH', 'TRANSACTIONS', 'UNARCHIVE', 'UNDO', 'UNIONTYPE', 'UNLOCK', 'UNSET', 'UNSIGNED', 'URI', 'USE', 'UTC', 'UTCTIMESTAMP', 'VALUE_TYPE', 'VIEW', 'WHILE', 'YEAR', 'AUTOCOMMIT', 'ISOLATION', 'LEVEL', 'OFFSET', 'SNAPSHOT', 'TRANSACTION', 'WORK', 'WRITE', 'ABORT', 'KEY', 'LAST', 'NORELY', 'NOVALIDATE', 'NULLS', 'RELY', 'VALIDATE', 'DETAIL', 'DOW', 'EXPRESSION', 'OPERATOR', 'QUARTER', 'SUMMARY', 'VECTORIZATION', 'WEEK', 'YEARS', 'MONTHS', 'WEEKS', 'DAYS', 'HOURS', 'MINUTES', 'SECONDS', 'TIMESTAMPTZ', 'ZONE'],\n  reserved: ['ALL', 'ALTER', 'AND', 'ARRAY', 'AS', 'AUTHORIZATION', 'BETWEEN', 'BIGINT', 'BINARY', 'BOOLEAN', 'BOTH', 'BY', 'CASE', 'CAST', 'CHAR', 'COLUMN', 'CONF', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIMESTAMP', 'CURSOR', 'DATABASE', 'DATE', 'DECIMAL', 'DELETE', 'DESCRIBE', 'DISTINCT', 'DOUBLE', 'DROP', 'ELSE', 'END', 'EXCHANGE', 'EXISTS', 'EXTENDED', 'EXTERNAL', 'FALSE', 'FETCH', 'FLOAT', 'FOLLOWING', 'FOR', 'FROM', 'FULL', 'FUNCTION', 'GRANT', 'GROUP', 'GROUPING', 'HAVING', 'IF', 'IMPORT', 'IN', 'INNER', 'INSERT', 'INT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'JOIN', 'LATERAL', 'LEFT', 'LESS', 'LIKE', 'LOCAL', 'MACRO', 'MAP', 'MORE', 'NONE', 'NOT', 'NULL', 'OF', 'ON', 'OR', 'ORDER', 'OUT', 'OUTER', 'OVER', 'PARTIALSCAN', 'PARTITION', 'PERCENT', 'PRECEDING', 'PRESERVE', 'PROCEDURE', 'RANGE', 'READS', 'REDUCE', 'REVOKE', 'RIGHT', 'ROLLUP', 'ROW', 'ROWS', 'SELECT', 'SET', 'SMALLINT', 'TABLE', 'TABLESAMPLE', 'THEN', 'TIMESTAMP', 'TO', 'TRANSFORM', 'TRIGGER', 'TRUE', 'TRUNCATE', 'UNBOUNDED', 'UNION', 'UNIQUEJOIN', 'UPDATE', 'USER', 'USING', 'UTC_TMESTAMP', 'VALUES', 'VARCHAR', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'COMMIT', 'ONLY', 'REGEXP', 'RLIKE', 'ROLLBACK', 'START', 'CACHE', 'CONSTRAINT', 'FOREIGN', 'PRIMARY', 'REFERENCES', 'DAYOFWEEK', 'EXTRACT', 'FLOOR', 'INTEGER', 'PRECISION', 'VIEWS', 'TIME', 'NUMERIC', 'SYNC'],\n  fileTypes: ['TEXTFILE', 'SEQUENCEFILE', 'ORC', 'CSV', 'TSV', 'PARQUET', 'AVRO', 'RCFILE', 'JSONFILE', 'INPUTFORMAT', 'OUTPUTFORMAT']\n});\n//# sourceMappingURL=hive.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './hive.functions.js';\nimport { keywords } from './hive.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'SORT BY', 'CLUSTER BY', 'DISTRIBUTE BY', 'LIMIT', // Data manipulation\n// - insert:\n//   Hive does not actually support plain INSERT INTO, only INSERT INTO TABLE\n//   but it's a nuisance to not support it, as all other dialects do.\n'INSERT INTO [TABLE]', 'VALUES', // - update:\n'SET', // - merge:\n'MERGE INTO', 'WHEN [NOT] MATCHED [THEN]', 'UPDATE SET', 'INSERT [VALUES]', // - insert overwrite directory:\n//   https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Writingdataintothefilesystemfromqueries\n'INSERT OVERWRITE [LOCAL] DIRECTORY', // - load:\n//   https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Loadingfilesintotables\n'LOAD DATA [LOCAL] INPATH', '[OVERWRITE] INTO TABLE', // Data definition\n'CREATE [MATERIALIZED] VIEW [IF NOT EXISTS]', 'CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS]']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', // - delete:\n'DELETE FROM', // - drop table:\n'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'RENAME TO', // - truncate:\n'TRUNCATE [TABLE]', // other\n'ALTER', 'CREATE', 'USE', 'DESCRIBE', 'DROP', 'FETCH', 'SHOW', 'STORED AS', 'STORED BY', 'ROW FORMAT']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL | DISTINCT]']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', // non-standard joins\n'LEFT SEMI JOIN']);\nconst reservedPhrases = expandPhrases(['{ROWS | RANGE} BETWEEN']); // https://cwiki.apache.org/confluence/display/Hive/LanguageManual\n\nexport const hive = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    extraParens: ['[]'],\n    stringTypes: ['\"\"-bs', \"''-bs\"],\n    identTypes: ['``'],\n    variableTypes: [{\n      quote: '{}',\n      prefixes: ['$'],\n      requirePrefix: true\n    }],\n    operators: ['%', '~', '^', '|', '&', '<=>', '==', '!', '||']\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n//# sourceMappingURL=hive.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://mariadb.com/kb/en/information-schema-keywords-table/\n  all: ['ACCESSIBLE', 'ACCOUNT', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'ALL', 'ALGORITHM', 'ALTER', 'ALWAYS', 'ANALYZE', 'AND', 'ANY', 'AS', 'ASC', 'ASCII', 'ASENSITIVE', 'AT', 'ATOMIC', 'AUTHORS', 'AUTO_INCREMENT', 'AUTOEXTEND_SIZE', 'AUTO', 'AVG', 'AVG_ROW_LENGTH', 'BACKUP', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BINLOG', 'BIT', 'BLOB', 'BLOCK', 'BODY', 'BOOL', 'BOOLEAN', 'BOTH', 'BTREE', 'BY', 'BYTE', 'CACHE', 'CALL', 'CASCADE', 'CASCADED', 'CASE', 'CATALOG_NAME', 'CHAIN', 'CHANGE', 'CHANGED', 'CHAR', 'CHARACTER', 'CHARSET', 'CHECK', 'CHECKPOINT', 'CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLOB', 'CLOSE', 'COALESCE', 'CODE', 'COLLATE', 'COLLATION', 'COLUMN', 'COLUMN_NAME', 'COLUMNS', 'COLUMN_ADD', 'COLUMN_CHECK', 'COLUMN_CREATE', 'COLUMN_DELETE', 'COLUMN_GET', 'COMMENT', 'COMMIT', 'COMMITTED', 'COMPACT', 'COMPLETION', 'COMPRESSED', 'CONCURRENT', 'CONDITION', 'CONNECTION', 'CONSISTENT', 'CONSTRAINT', 'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA', 'CONTAINS', 'CONTEXT', 'CONTINUE', 'CONTRIBUTORS', 'CONVERT', 'CPU', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_POS', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'CURSOR_NAME', 'CYCLE', 'DATA', 'DATABASE', 'DATABASES', 'DATAFILE', 'DATE', 'DATETIME', 'DAY', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFINER', 'DELAYED', 'DELAY_KEY_WRITE', 'DELETE', 'DELETE_DOMAIN_ID', 'DESC', 'DESCRIBE', 'DES_KEY_FILE', 'DETERMINISTIC', 'DIAGNOSTICS', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DISTINCT', 'DISTINCTROW', 'DIV', 'DO', 'DOUBLE', 'DO_DOMAIN_IDS', 'DROP', 'DUAL', 'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'EACH', 'ELSE', 'ELSEIF', 'ELSIF', 'EMPTY', 'ENABLE', 'ENCLOSED', 'END', 'ENDS', 'ENGINE', 'ENGINES', 'ENUM', 'ERROR', 'ERRORS', 'ESCAPE', 'ESCAPED', 'EVENT', 'EVENTS', 'EVERY', 'EXAMINED', 'EXCEPT', 'EXCHANGE', 'EXCLUDE', 'EXECUTE', 'EXCEPTION', 'EXISTS', 'EXIT', 'EXPANSION', 'EXPIRE', 'EXPORT', 'EXPLAIN', 'EXTENDED', 'EXTENT_SIZE', 'FALSE', 'FAST', 'FAULTS', 'FEDERATED', 'FETCH', 'FIELDS', 'FILE', 'FIRST', 'FIXED', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FLUSH', 'FOLLOWING', 'FOLLOWS', 'FOR', 'FORCE', 'FOREIGN', 'FORMAT', 'FOUND', 'FROM', 'FULL', 'FULLTEXT', 'FUNCTION', 'GENERAL', 'GENERATED', 'GET_FORMAT', 'GET', 'GLOBAL', 'GOTO', 'GRANT', 'GRANTS', 'GROUP', 'HANDLER', 'HARD', 'HASH', 'HAVING', 'HELP', 'HIGH_PRIORITY', 'HISTORY', 'HOST', 'HOSTS', 'HOUR', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', // 'ID', // conflicts with common column name\n  'IDENTIFIED', 'IF', 'IGNORE', 'IGNORED', 'IGNORE_DOMAIN_IDS', 'IGNORE_SERVER_IDS', 'IMMEDIATE', 'IMPORT', 'INTERSECT', 'IN', 'INCREMENT', 'INDEX', 'INDEXES', 'INFILE', 'INITIAL_SIZE', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT', 'INSERT_METHOD', 'INSTALL', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', 'INTERVAL', 'INVISIBLE', 'INTO', 'IO', 'IO_THREAD', 'IPC', 'IS', 'ISOLATION', 'ISOPEN', 'ISSUER', 'ITERATE', 'INVOKER', 'JOIN', 'JSON', 'JSON_TABLE', 'KEY', 'KEYS', 'KEY_BLOCK_SIZE', 'KILL', 'LANGUAGE', 'LAST', 'LAST_VALUE', 'LASTVAL', 'LEADING', 'LEAVE', 'LEAVES', 'LEFT', 'LESS', 'LEVEL', 'LIKE', 'LIMIT', 'LINEAR', 'LINES', 'LIST', 'LOAD', 'LOCAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCK', 'LOCKED', 'LOCKS', 'LOGFILE', 'LOGS', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', 'MASTER', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_GTID_POS', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_SERVER_ID', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_SSL_VERIFY_SERVER_CERT', 'MASTER_USER', 'MASTER_USE_GTID', 'MASTER_HEARTBEAT_PERIOD', 'MATCH', 'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_STATEMENT_TIME', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MAXVALUE', 'MEDIUM', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MEMORY', 'MERGE', 'MESSAGE_TEXT', 'MICROSECOND', 'MIDDLEINT', 'MIGRATE', 'MINUS', 'MINUTE', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MINVALUE', 'MIN_ROWS', 'MOD', 'MODE', 'MODIFIES', 'MODIFY', 'MONITOR', 'MONTH', 'MUTEX', 'MYSQL', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NESTED', 'NEVER', 'NEW', 'NEXT', 'NEXTVAL', 'NO', 'NOMAXVALUE', 'NOMINVALUE', 'NOCACHE', 'NOCYCLE', 'NO_WAIT', 'NOWAIT', 'NODEGROUP', 'NONE', 'NOT', 'NOTFOUND', 'NO_WRITE_TO_BINLOG', 'NULL', 'NUMBER', 'NUMERIC', 'NVARCHAR', 'OF', 'OFFSET', 'OLD_PASSWORD', 'ON', 'ONE', 'ONLINE', 'ONLY', 'OPEN', 'OPTIMIZE', 'OPTIONS', 'OPTION', 'OPTIONALLY', 'OR', 'ORDER', 'ORDINALITY', 'OTHERS', 'OUT', 'OUTER', 'OUTFILE', 'OVER', 'OVERLAPS', 'OWNER', 'PACKAGE', 'PACK_KEYS', 'PAGE', 'PAGE_CHECKSUM', 'PARSER', 'PARSE_VCOL_EXPR', 'PATH', 'PERIOD', 'PARTIAL', 'PARTITION', 'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PERSISTENT', 'PHASE', 'PLUGIN', 'PLUGINS', 'PORT', 'PORTION', 'PRECEDES', 'PRECEDING', 'PRECISION', 'PREPARE', 'PRESERVE', 'PREV', 'PREVIOUS', 'PRIMARY', 'PRIVILEGES', 'PROCEDURE', 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'PURGE', 'QUARTER', 'QUERY', 'QUICK', 'RAISE', 'RANGE', 'RAW', 'READ', 'READ_ONLY', 'READ_WRITE', 'READS', 'REAL', 'REBUILD', 'RECOVER', 'RECURSIVE', 'REDO_BUFFER_SIZE', 'REDOFILE', 'REDUNDANT', 'REFERENCES', 'REGEXP', 'RELAY', 'RELAYLOG', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAY_THREAD', 'RELEASE', 'RELOAD', 'REMOVE', 'RENAME', 'REORGANIZE', 'REPAIR', 'REPEATABLE', 'REPLACE', 'REPLAY', 'REPLICA', 'REPLICAS', 'REPLICA_POS', 'REPLICATION', 'REPEAT', 'REQUIRE', 'RESET', 'RESIGNAL', 'RESTART', 'RESTORE', 'RESTRICT', 'RESUME', 'RETURNED_SQLSTATE', 'RETURN', 'RETURNING', 'RETURNS', 'REUSE', 'REVERSE', 'REVOKE', 'RIGHT', 'RLIKE', 'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW', 'ROWCOUNT', 'ROWNUM', 'ROWS', 'ROWTYPE', 'ROW_COUNT', 'ROW_FORMAT', 'RTREE', 'SAVEPOINT', 'SCHEDULE', 'SCHEMA', 'SCHEMA_NAME', 'SCHEMAS', 'SECOND', 'SECOND_MICROSECOND', 'SECURITY', 'SELECT', 'SENSITIVE', 'SEPARATOR', 'SEQUENCE', 'SERIAL', 'SERIALIZABLE', 'SESSION', 'SERVER', 'SET', 'SETVAL', 'SHARE', 'SHOW', 'SHUTDOWN', 'SIGNAL', 'SIGNED', 'SIMPLE', 'SKIP', 'SLAVE', 'SLAVES', 'SLAVE_POS', 'SLOW', 'SNAPSHOT', 'SMALLINT', 'SOCKET', 'SOFT', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'STAGE', 'STORED', 'SPATIAL', 'SPECIFIC', 'REF_SYSTEM_ID', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'SQL_BIG_RESULT', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_CALC_FOUND_ROWS', 'SQL_NO_CACHE', 'SQL_SMALL_RESULT', 'SQL_THREAD', 'SQL_TSI_SECOND', 'SQL_TSI_MINUTE', 'SQL_TSI_HOUR', 'SQL_TSI_DAY', 'SQL_TSI_WEEK', 'SQL_TSI_MONTH', 'SQL_TSI_QUARTER', 'SQL_TSI_YEAR', 'SSL', 'START', 'STARTING', 'STARTS', 'STATEMENT', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STRAIGHT_JOIN', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUPER', 'SUSPEND', 'SWAPS', 'SWITCHES', 'SYSDATE', 'SYSTEM', 'SYSTEM_TIME', 'TABLE', 'TABLE_NAME', 'TABLES', 'TABLESPACE', 'TABLE_CHECKSUM', 'TEMPORARY', 'TEMPTABLE', 'TERMINATED', 'TEXT', 'THAN', 'THEN', 'TIES', 'TIME', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TO', 'TRAILING', 'TRANSACTION', 'TRANSACTIONAL', 'THREADS', 'TRIGGER', 'TRIGGERS', 'TRUE', 'TRUNCATE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO_BUFFER_SIZE', 'UNDOFILE', 'UNDO', 'UNICODE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNINSTALL', 'UNSIGNED', 'UNTIL', 'UPDATE', 'UPGRADE', 'USAGE', 'USE', 'USER', 'USER_RESOURCES', 'USE_FRM', 'USING', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'VALUE', 'VALUES', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARCHAR2', 'VARIABLES', 'VARYING', 'VIA', 'VIEW', 'VIRTUAL', 'VISIBLE', 'VERSIONING', 'WAIT', 'WARNINGS', 'WEEK', 'WEIGHT_STRING', 'WHEN', 'WHERE', 'WHILE', 'WINDOW', 'WITH', 'WITHIN', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'X509', 'XOR', 'XA', 'XML', 'YEAR', 'YEAR_MONTH', 'ZEROFILL']\n});\n//# sourceMappingURL=mariadb.keywords.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://mariadb.com/kb/en/information-schema-sql_functions-table/\n  all: ['ADDDATE', 'ADD_MONTHS', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'CAST', 'COUNT', 'CUME_DIST', 'CURDATE', 'CURTIME', 'DATE_ADD', 'DATE_SUB', 'DATE_FORMAT', 'DECODE', 'DENSE_RANK', 'EXTRACT', 'FIRST_VALUE', 'GROUP_CONCAT', 'JSON_ARRAYAGG', 'JSON_OBJECTAGG', 'LAG', 'LEAD', 'MAX', 'MEDIAN', 'MID', 'MIN', 'NOW', 'NTH_VALUE', 'NTILE', 'POSITION', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'RANK', 'ROW_NUMBER', 'SESSION_USER', 'STD', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'SUBDATE', 'SUBSTR', 'SUBSTRING', 'SUM', 'SYSTEM_USER', 'TRIM', 'TRIM_ORACLE', 'VARIANCE', 'VAR_POP', 'VAR_SAMP', 'ABS', 'ACOS', 'ADDTIME', 'AES_DECRYPT', 'AES_ENCRYPT', 'ASIN', 'ATAN', 'ATAN2', 'BENCHMARK', 'BIN', 'BINLOG_GTID_POS', 'BIT_COUNT', 'BIT_LENGTH', 'CEIL', 'CEILING', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHR', 'COERCIBILITY', 'COLUMN_CHECK', 'COLUMN_EXISTS', 'COLUMN_LIST', 'COLUMN_JSON', 'COMPRESS', 'CONCAT', 'CONCAT_OPERATOR_ORACLE', 'CONCAT_WS', 'CONNECTION_ID', 'CONV', 'CONVERT_TZ', 'COS', 'COT', 'CRC32', 'DATEDIFF', 'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'DEGREES', 'DECODE_HISTOGRAM', 'DECODE_ORACLE', 'DES_DECRYPT', 'DES_ENCRYPT', 'ELT', 'ENCODE', 'ENCRYPT', 'EXP', 'EXPORT_SET', 'EXTRACTVALUE', 'FIELD', 'FIND_IN_SET', 'FLOOR', 'FORMAT', 'FOUND_ROWS', 'FROM_BASE64', 'FROM_DAYS', 'FROM_UNIXTIME', 'GET_LOCK', 'GREATEST', 'HEX', 'IFNULL', 'INSTR', 'ISNULL', 'IS_FREE_LOCK', 'IS_USED_LOCK', 'JSON_ARRAY', 'JSON_ARRAY_APPEND', 'JSON_ARRAY_INSERT', 'JSON_COMPACT', 'JSON_CONTAINS', 'JSON_CONTAINS_PATH', 'JSON_DEPTH', 'JSON_DETAILED', 'JSON_EXISTS', 'JSON_EXTRACT', 'JSON_INSERT', 'JSON_KEYS', 'JSON_LENGTH', 'JSON_LOOSE', 'JSON_MERGE', 'JSON_MERGE_PATCH', 'JSON_MERGE_PRESERVE', 'JSON_QUERY', 'JSON_QUOTE', 'JSON_OBJECT', 'JSON_REMOVE', 'JSON_REPLACE', 'JSON_SET', 'JSON_SEARCH', 'JSON_TYPE', 'JSON_UNQUOTE', 'JSON_VALID', 'JSON_VALUE', 'LAST_DAY', 'LAST_INSERT_ID', 'LCASE', 'LEAST', 'LENGTH', 'LENGTHB', 'LN', 'LOAD_FILE', 'LOCATE', 'LOG', 'LOG10', 'LOG2', 'LOWER', 'LPAD', 'LPAD_ORACLE', 'LTRIM', 'LTRIM_ORACLE', 'MAKEDATE', 'MAKETIME', 'MAKE_SET', 'MASTER_GTID_WAIT', 'MASTER_POS_WAIT', 'MD5', 'MONTHNAME', 'NAME_CONST', 'NVL', 'NVL2', 'OCT', 'OCTET_LENGTH', 'ORD', 'PERIOD_ADD', 'PERIOD_DIFF', 'PI', 'POW', 'POWER', 'QUOTE', 'REGEXP_INSTR', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'RADIANS', 'RAND', 'RELEASE_ALL_LOCKS', 'RELEASE_LOCK', 'REPLACE_ORACLE', 'REVERSE', 'ROUND', 'RPAD', 'RPAD_ORACLE', 'RTRIM', 'RTRIM_ORACLE', 'SEC_TO_TIME', 'SHA', 'SHA1', 'SHA2', 'SIGN', 'SIN', 'SLEEP', 'SOUNDEX', 'SPACE', 'SQRT', 'STRCMP', 'STR_TO_DATE', 'SUBSTR_ORACLE', 'SUBSTRING_INDEX', 'SUBTIME', 'SYS_GUID', 'TAN', 'TIMEDIFF', 'TIME_FORMAT', 'TIME_TO_SEC', 'TO_BASE64', 'TO_CHAR', 'TO_DAYS', 'TO_SECONDS', 'UCASE', 'UNCOMPRESS', 'UNCOMPRESSED_LENGTH', 'UNHEX', 'UNIX_TIMESTAMP', 'UPDATEXML', 'UPPER', 'UUID', 'UUID_SHORT', 'VERSION', 'WEEKDAY', 'WEEKOFYEAR', 'WSREP_LAST_WRITTEN_GTID', 'WSREP_LAST_SEEN_GTID', 'WSREP_SYNC_WAIT_UPTO_GTID', 'YEARWEEK', // CASE expression shorthands\n  'COALESCE', 'NULLIF', // Data types with parameters\n  // https://mariadb.com/kb/en/data-types/\n  'TINYINT', 'SMALLINT', 'MEDIUMINT', 'INT', 'INTEGER', 'BIGINT', 'DECIMAL', 'DEC', 'NUMERIC', 'FIXED', // 'NUMBER', // ?? In oracle mode only\n  'FLOAT', 'DOUBLE', 'DOUBLE PRECISION', 'REAL', 'BIT', 'BINARY', 'BLOB', 'CHAR', 'NATIONAL CHAR', 'CHAR BYTE', 'ENUM', 'VARBINARY', 'VARCHAR', 'NATIONAL VARCHAR', // 'SET' // handled as special-case in postProcess\n  'TIME', 'DATETIME', 'TIMESTAMP', 'YEAR']\n});\n//# sourceMappingURL=mariadb.functions.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { EOF_TOKEN, isToken, TokenType } from '../../lexer/token.js';\nimport { keywords } from './mariadb.keywords.js';\nimport { functions } from './mariadb.functions.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT | DISTINCTROW]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]', 'REPLACE [LOW_PRIORITY | DELAYED] [INTO]', 'VALUES', // - update:\n'SET', // Data definition\n'CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]', 'CREATE [OR REPLACE] [TEMPORARY] TABLE [IF NOT EXISTS]', // other\n'RETURNING']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE [LOW_PRIORITY] [IGNORE]', // - delete:\n'DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM', // - drop table:\n'DROP [TEMPORARY] TABLE [IF EXISTS]', // - alter table:\n'ALTER [ONLINE] [IGNORE] TABLE [IF EXISTS]', 'ADD [COLUMN] [IF NOT EXISTS]', '{CHANGE | MODIFY} [COLUMN] [IF EXISTS]', 'DROP [COLUMN] [IF EXISTS]', 'RENAME [TO]', 'RENAME COLUMN', 'ALTER [COLUMN]', '{SET | DROP} DEFAULT', // for alter column\n'SET {VISIBLE | INVISIBLE}', // for alter column\n// - truncate:\n'TRUNCATE [TABLE]', // https://mariadb.com/docs/reference/mdb/sql-statements/\n'ALTER DATABASE', 'ALTER DATABASE COMMENT', 'ALTER EVENT', 'ALTER FUNCTION', 'ALTER PROCEDURE', 'ALTER SCHEMA', 'ALTER SCHEMA COMMENT', 'ALTER SEQUENCE', 'ALTER SERVER', 'ALTER USER', 'ALTER VIEW', 'ANALYZE', 'ANALYZE TABLE', 'BACKUP LOCK', 'BACKUP STAGE', 'BACKUP UNLOCK', 'BEGIN', 'BINLOG', 'CACHE INDEX', 'CALL', 'CHANGE MASTER TO', 'CHECK TABLE', 'CHECK VIEW', 'CHECKSUM TABLE', 'COMMIT', 'CREATE AGGREGATE FUNCTION', 'CREATE DATABASE', 'CREATE EVENT', 'CREATE FUNCTION', 'CREATE INDEX', 'CREATE PROCEDURE', 'CREATE ROLE', 'CREATE SEQUENCE', 'CREATE SERVER', 'CREATE SPATIAL INDEX', 'CREATE TRIGGER', 'CREATE UNIQUE INDEX', 'CREATE USER', 'DEALLOCATE PREPARE', 'DESCRIBE', 'DROP DATABASE', 'DROP EVENT', 'DROP FUNCTION', 'DROP INDEX', 'DROP PREPARE', 'DROP PROCEDURE', 'DROP ROLE', 'DROP SEQUENCE', 'DROP SERVER', 'DROP TRIGGER', 'DROP USER', 'DROP VIEW', 'EXECUTE', 'EXPLAIN', 'FLUSH', 'GET DIAGNOSTICS', 'GET DIAGNOSTICS CONDITION', 'GRANT', 'HANDLER', 'HELP', 'INSTALL PLUGIN', 'INSTALL SONAME', 'KILL', 'LOAD DATA INFILE', 'LOAD INDEX INTO CACHE', 'LOAD XML INFILE', 'LOCK TABLE', 'OPTIMIZE TABLE', 'PREPARE', 'PURGE BINARY LOGS', 'PURGE MASTER LOGS', 'RELEASE SAVEPOINT', 'RENAME TABLE', 'RENAME USER', 'REPAIR TABLE', 'REPAIR VIEW', 'RESET MASTER', 'RESET QUERY CACHE', 'RESET REPLICA', 'RESET SLAVE', 'RESIGNAL', 'REVOKE', 'ROLLBACK', 'SAVEPOINT', 'SET CHARACTER SET', 'SET DEFAULT ROLE', 'SET GLOBAL TRANSACTION', 'SET NAMES', 'SET PASSWORD', 'SET ROLE', 'SET STATEMENT', 'SET TRANSACTION', 'SHOW', 'SHOW ALL REPLICAS STATUS', 'SHOW ALL SLAVES STATUS', 'SHOW AUTHORS', 'SHOW BINARY LOGS', 'SHOW BINLOG EVENTS', 'SHOW BINLOG STATUS', 'SHOW CHARACTER SET', 'SHOW CLIENT_STATISTICS', 'SHOW COLLATION', 'SHOW COLUMNS', 'SHOW CONTRIBUTORS', 'SHOW CREATE DATABASE', 'SHOW CREATE EVENT', 'SHOW CREATE FUNCTION', 'SHOW CREATE PACKAGE', 'SHOW CREATE PACKAGE BODY', 'SHOW CREATE PROCEDURE', 'SHOW CREATE SEQUENCE', 'SHOW CREATE TABLE', 'SHOW CREATE TRIGGER', 'SHOW CREATE USER', 'SHOW CREATE VIEW', 'SHOW DATABASES', 'SHOW ENGINE', 'SHOW ENGINE INNODB STATUS', 'SHOW ENGINES', 'SHOW ERRORS', 'SHOW EVENTS', 'SHOW EXPLAIN', 'SHOW FUNCTION CODE', 'SHOW FUNCTION STATUS', 'SHOW GRANTS', 'SHOW INDEX', 'SHOW INDEXES', 'SHOW INDEX_STATISTICS', 'SHOW KEYS', 'SHOW LOCALES', 'SHOW MASTER LOGS', 'SHOW MASTER STATUS', 'SHOW OPEN TABLES', 'SHOW PACKAGE BODY CODE', 'SHOW PACKAGE BODY STATUS', 'SHOW PACKAGE STATUS', 'SHOW PLUGINS', 'SHOW PLUGINS SONAME', 'SHOW PRIVILEGES', 'SHOW PROCEDURE CODE', 'SHOW PROCEDURE STATUS', 'SHOW PROCESSLIST', 'SHOW PROFILE', 'SHOW PROFILES', 'SHOW QUERY_RESPONSE_TIME', 'SHOW RELAYLOG EVENTS', 'SHOW REPLICA', 'SHOW REPLICA HOSTS', 'SHOW REPLICA STATUS', 'SHOW SCHEMAS', 'SHOW SLAVE', 'SHOW SLAVE HOSTS', 'SHOW SLAVE STATUS', 'SHOW STATUS', 'SHOW STORAGE ENGINES', 'SHOW TABLE STATUS', 'SHOW TABLES', 'SHOW TRIGGERS', 'SHOW USER_STATISTICS', 'SHOW VARIABLES', 'SHOW WARNINGS', 'SHOW WSREP_MEMBERSHIP', 'SHOW WSREP_STATUS', 'SHUTDOWN', 'SIGNAL', 'START ALL REPLICAS', 'START ALL SLAVES', 'START REPLICA', 'START SLAVE', 'START TRANSACTION', 'STOP ALL REPLICAS', 'STOP ALL SLAVES', 'STOP REPLICA', 'STOP SLAVE', 'UNINSTALL PLUGIN', 'UNINSTALL SONAME', 'UNLOCK TABLE', 'USE', 'XA BEGIN', 'XA COMMIT', 'XA END', 'XA PREPARE', 'XA RECOVER', 'XA ROLLBACK', 'XA START']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]', 'MINUS [ALL | DISTINCT]']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL JOIN', 'NATURAL {LEFT | RIGHT} [OUTER] JOIN', // non-standard joins\n'STRAIGHT_JOIN']);\nconst reservedPhrases = expandPhrases(['ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]', 'CHARACTER SET', '{ROWS | RANGE} BETWEEN']); // For reference: https://mariadb.com/kb/en/sql-statements-structure/\n\nexport const mariadb = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    supportsXor: true,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    // TODO: support _ char set prefixes such as _utf8, _latin1, _binary, _utf8mb4, etc.\n    stringTypes: ['\"\"-qq-bs', \"''-qq-bs\", {\n      quote: \"''-raw\",\n      prefixes: ['B', 'X'],\n      requirePrefix: true\n    }],\n    identTypes: ['``'],\n    identChars: {\n      first: '$',\n      rest: '$',\n      allowFirstCharNumber: true\n    },\n    variableTypes: [{\n      regex: '@@?[A-Za-z0-9_.$]+'\n    }, {\n      quote: '\"\"-qq-bs',\n      prefixes: ['@'],\n      requirePrefix: true\n    }, {\n      quote: \"''-qq-bs\",\n      prefixes: ['@'],\n      requirePrefix: true\n    }, {\n      quote: '``',\n      prefixes: ['@'],\n      requirePrefix: true\n    }],\n    paramTypes: {\n      positional: true\n    },\n    lineCommentTypes: ['--', '#'],\n    operators: ['%', ':=', '&', '|', '^', '~', '<<', '>>', '<=>', '&&', '||', '!'],\n    postProcess\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n\nfunction postProcess(tokens) {\n  return tokens.map((token, i) => {\n    const nextToken = tokens[i + 1] || EOF_TOKEN;\n\n    if (isToken.SET(token) && nextToken.text === '(') {\n      // This is SET datatype, not SET statement\n      return { ...token,\n        type: TokenType.RESERVED_FUNCTION_NAME\n      };\n    }\n\n    return token;\n  });\n}\n//# sourceMappingURL=mariadb.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://dev.mysql.com/doc/refman/8.0/en/keywords.html\n  all: ['ACCESSIBLE', // (R)\n  'ACCOUNT', 'ACTION', 'ACTIVE', 'ADD', // (R)\n  'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'ALGORITHM', 'ALL', // (R)\n  'ALTER', // (R)\n  'ALWAYS', 'ANALYZE', // (R)\n  'AND', // (R)\n  'ANY', 'ARRAY', 'AS', // (R)\n  'ASC', // (R)\n  'ASCII', 'ASENSITIVE', // (R)\n  'AT', 'ATTRIBUTE', 'AUTHENTICATION', 'AUTOEXTEND_SIZE', 'AUTO_INCREMENT', 'AVG', 'AVG_ROW_LENGTH', 'BACKUP', 'BEFORE', // (R)\n  'BEGIN', 'BETWEEN', // (R)\n  'BIGINT', // (R)\n  'BINARY', // (R)\n  'BINLOG', 'BIT', 'BLOB', // (R)\n  'BLOCK', 'BOOL', 'BOOLEAN', 'BOTH', // (R)\n  'BTREE', 'BUCKETS', 'BY', // (R)\n  'BYTE', 'CACHE', 'CALL', // (R)\n  'CASCADE', // (R)\n  'CASCADED', 'CASE', // (R)\n  'CATALOG_NAME', 'CHAIN', 'CHALLENGE_RESPONSE', 'CHANGE', // (R)\n  'CHANGED', 'CHANNEL', 'CHAR', // (R)\n  'CHARACTER', // (R)\n  'CHARSET', 'CHECK', // (R)\n  'CHECKSUM', 'CIPHER', 'CLASS_ORIGIN', 'CLIENT', 'CLONE', 'CLOSE', 'COALESCE', 'CODE', 'COLLATE', // (R)\n  'COLLATION', 'COLUMN', // (R)\n  'COLUMNS', 'COLUMN_FORMAT', 'COLUMN_NAME', 'COMMENT', 'COMMIT', 'COMMITTED', 'COMPACT', 'COMPLETION', 'COMPONENT', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONDITION', // (R)\n  'CONNECTION', 'CONSISTENT', 'CONSTRAINT', // (R)\n  'CONSTRAINT_CATALOG', 'CONSTRAINT_NAME', 'CONSTRAINT_SCHEMA', 'CONTAINS', 'CONTEXT', 'CONTINUE', // (R)\n  'CONVERT', // (R)\n  'CPU', 'CREATE', // (R)\n  'CROSS', // (R)\n  'CUBE', // (R)\n  'CUME_DIST', // (R)\n  'CURRENT', 'CURRENT_DATE', // (R)\n  'CURRENT_TIME', // (R)\n  'CURRENT_TIMESTAMP', // (R)\n  'CURRENT_USER', // (R)\n  'CURSOR', // (R)\n  'CURSOR_NAME', 'DATA', 'DATABASE', // (R)\n  'DATABASES', // (R)\n  'DATAFILE', 'DATE', 'DATETIME', 'DAY', 'DAY_HOUR', // (R)\n  'DAY_MICROSECOND', // (R)\n  'DAY_MINUTE', // (R)\n  'DAY_SECOND', // (R)\n  'DEALLOCATE', 'DEC', // (R)\n  'DECIMAL', // (R)\n  'DECLARE', // (R)\n  'DEFAULT', // (R)\n  'DEFAULT_AUTH', 'DEFINER', 'DEFINITION', 'DELAYED', // (R)\n  'DELAY_KEY_WRITE', 'DELETE', // (R)\n  'DENSE_RANK', // (R)\n  'DESC', // (R)\n  'DESCRIBE', // (R)\n  'DESCRIPTION', 'DETERMINISTIC', // (R)\n  'DIAGNOSTICS', 'DIRECTORY', 'DISABLE', 'DISCARD', 'DISK', 'DISTINCT', // (R)\n  'DISTINCTROW', // (R)\n  'DIV', // (R)\n  'DO', 'DOUBLE', // (R)\n  'DROP', // (R)\n  'DUAL', // (R)\n  'DUMPFILE', 'DUPLICATE', 'DYNAMIC', 'EACH', // (R)\n  'ELSE', // (R)\n  'ELSEIF', // (R)\n  'EMPTY', // (R)\n  'ENABLE', 'ENCLOSED', // (R)\n  'ENCRYPTION', 'END', 'ENDS', 'ENFORCED', 'ENGINE', 'ENGINES', 'ENGINE_ATTRIBUTE', 'ENUM', 'ERROR', 'ERRORS', 'ESCAPE', 'ESCAPED', // (R)\n  'EVENT', 'EVENTS', 'EVERY', 'EXCEPT', // (R)\n  'EXCHANGE', 'EXCLUDE', 'EXECUTE', 'EXISTS', // (R)\n  'EXIT', // (R)\n  'EXPANSION', 'EXPIRE', 'EXPLAIN', // (R)\n  'EXPORT', 'EXTENDED', 'EXTENT_SIZE', 'FACTOR', 'FAILED_LOGIN_ATTEMPTS', 'FALSE', // (R)\n  'FAST', 'FAULTS', 'FETCH', // (R)\n  'FIELDS', 'FILE', 'FILE_BLOCK_SIZE', 'FILTER', 'FINISH', 'FIRST', 'FIRST_VALUE', // (R)\n  'FIXED', 'FLOAT', // (R)\n  'FLOAT4', // (R)\n  'FLOAT8', // (R)\n  'FLUSH', 'FOLLOWING', 'FOLLOWS', 'FOR', // (R)\n  'FORCE', // (R)\n  'FOREIGN', // (R)\n  'FORMAT', 'FOUND', 'FROM', // (R)\n  'FULL', 'FULLTEXT', // (R)\n  'FUNCTION', // (R)\n  'GENERAL', 'GENERATED', // (R)\n  'GEOMCOLLECTION', 'GEOMETRY', 'GEOMETRYCOLLECTION', 'GET', // (R)\n  'GET_FORMAT', 'GET_MASTER_PUBLIC_KEY', 'GET_SOURCE_PUBLIC_KEY', 'GLOBAL', 'GRANT', // (R)\n  'GRANTS', 'GROUP', // (R)\n  'GROUPING', // (R)\n  'GROUPS', // (R)\n  'GROUP_REPLICATION', 'GTID_ONLY', 'HANDLER', 'HASH', 'HAVING', // (R)\n  'HELP', 'HIGH_PRIORITY', // (R)\n  'HISTOGRAM', 'HISTORY', 'HOST', 'HOSTS', 'HOUR', 'HOUR_MICROSECOND', // (R)\n  'HOUR_MINUTE', // (R)\n  'HOUR_SECOND', // (R)\n  'IDENTIFIED', 'IF', // (R)\n  'IGNORE', // (R)\n  'IGNORE_SERVER_IDS', 'IMPORT', 'IN', // (R)\n  'INACTIVE', 'INDEX', // (R)\n  'INDEXES', 'INFILE', // (R)\n  'INITIAL', 'INITIAL_SIZE', 'INITIATE', 'INNER', // (R)\n  'INOUT', // (R)\n  'INSENSITIVE', // (R)\n  'INSERT', // (R)\n  'INSERT_METHOD', 'INSTALL', 'INSTANCE', 'IN', // <-- moved over from functions\n  'INT', // (R)\n  'INT1', // (R)\n  'INT2', // (R)\n  'INT3', // (R)\n  'INT4', // (R)\n  'INT8', // (R)\n  'INTEGER', // (R)\n  'INTERSECT', // (R)\n  'INTERVAL', // (R)\n  'INTO', // (R)\n  'INVISIBLE', 'INVOKER', 'IO', 'IO_AFTER_GTIDS', // (R)\n  'IO_BEFORE_GTIDS', // (R)\n  'IO_THREAD', 'IPC', 'IS', // (R)\n  'ISOLATION', 'ISSUER', 'ITERATE', // (R)\n  'JOIN', // (R)\n  'JSON', 'JSON_TABLE', // (R)\n  'JSON_VALUE', 'KEY', // (R)\n  'KEYRING', 'KEYS', // (R)\n  'KEY_BLOCK_SIZE', 'KILL', // (R)\n  'LAG', // (R)\n  'LANGUAGE', 'LAST', 'LAST_VALUE', // (R)\n  'LATERAL', // (R)\n  'LEAD', // (R)\n  'LEADING', // (R)\n  'LEAVE', // (R)\n  'LEAVES', 'LEFT', // (R)\n  'LESS', 'LEVEL', 'LIKE', // (R)\n  'LIMIT', // (R)\n  'LINEAR', // (R)\n  'LINES', // (R)\n  'LINESTRING', 'LIST', 'LOAD', // (R)\n  'LOCAL', 'LOCALTIME', // (R)\n  'LOCALTIMESTAMP', // (R)\n  'LOCK', // (R)\n  'LOCKED', 'LOCKS', 'LOGFILE', 'LOGS', 'LONG', // (R)\n  'LONGBLOB', // (R)\n  'LONGTEXT', // (R)\n  'LOOP', // (R)\n  'LOW_PRIORITY', // (R)\n  'MASTER', 'MASTER_AUTO_POSITION', 'MASTER_BIND', // (R)\n  'MASTER_COMPRESSION_ALGORITHMS', 'MASTER_CONNECT_RETRY', 'MASTER_DELAY', 'MASTER_HEARTBEAT_PERIOD', 'MASTER_HOST', 'MASTER_LOG_FILE', 'MASTER_LOG_POS', 'MASTER_PASSWORD', 'MASTER_PORT', 'MASTER_PUBLIC_KEY_PATH', 'MASTER_RETRY_COUNT', 'MASTER_SSL', 'MASTER_SSL_CA', 'MASTER_SSL_CAPATH', 'MASTER_SSL_CERT', 'MASTER_SSL_CIPHER', 'MASTER_SSL_CRL', 'MASTER_SSL_CRLPATH', 'MASTER_SSL_KEY', 'MASTER_SSL_VERIFY_SERVER_CERT', // (R)\n  'MASTER_TLS_CIPHERSUITES', 'MASTER_TLS_VERSION', 'MASTER_USER', 'MASTER_ZSTD_COMPRESSION_LEVEL', 'MATCH', // (R)\n  'MAXVALUE', // (R)\n  'MAX_CONNECTIONS_PER_HOUR', 'MAX_QUERIES_PER_HOUR', 'MAX_ROWS', 'MAX_SIZE', 'MAX_UPDATES_PER_HOUR', 'MAX_USER_CONNECTIONS', 'MEDIUM', 'MEDIUMBLOB', // (R)\n  'MEDIUMINT', // (R)\n  'MEDIUMTEXT', // (R)\n  'MEMBER', 'MEMORY', 'MERGE', 'MESSAGE_TEXT', 'MICROSECOND', 'MIDDLEINT', // (R)\n  'MIGRATE', 'MINUTE', 'MINUTE_MICROSECOND', // (R)\n  'MINUTE_SECOND', // (R)\n  'MIN_ROWS', 'MOD', // (R)\n  'MODE', 'MODIFIES', // (R)\n  'MODIFY', 'MONTH', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'MUTEX', 'MYSQL_ERRNO', 'NAME', 'NAMES', 'NATIONAL', 'NATURAL', // (R)\n  'NCHAR', 'NDB', 'NDBCLUSTER', 'NESTED', 'NETWORK_NAMESPACE', 'NEVER', 'NEW', 'NEXT', 'NO', 'NODEGROUP', 'NONE', 'NOT', // (R)\n  'NOWAIT', 'NO_WAIT', 'NO_WRITE_TO_BINLOG', // (R)\n  'NTH_VALUE', // (R)\n  'NTILE', // (R)\n  'NULL', // (R)\n  'NULLS', 'NUMBER', 'NUMERIC', // (R)\n  'NVARCHAR', 'OF', // (R)\n  'OFF', 'OFFSET', 'OJ', 'OLD', 'ON', // (R)\n  'ONE', 'ONLY', 'OPEN', 'OPTIMIZE', // (R)\n  'OPTIMIZER_COSTS', // (R)\n  'OPTION', // (R)\n  'OPTIONAL', 'OPTIONALLY', // (R)\n  'OPTIONS', 'OR', // (R)\n  'ORDER', // (R)\n  'ORDINALITY', 'ORGANIZATION', 'OTHERS', 'OUT', // (R)\n  'OUTER', // (R)\n  'OUTFILE', // (R)\n  'OVER', // (R)\n  'OWNER', 'PACK_KEYS', 'PAGE', 'PARSER', 'PARTIAL', 'PARTITION', // (R)\n  'PARTITIONING', 'PARTITIONS', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PATH', 'PERCENT_RANK', // (R)\n  'PERSIST', 'PERSIST_ONLY', 'PHASE', 'PLUGIN', 'PLUGINS', 'PLUGIN_DIR', 'POINT', 'POLYGON', 'PORT', 'PRECEDES', 'PRECEDING', 'PRECISION', // (R)\n  'PREPARE', 'PRESERVE', 'PREV', 'PRIMARY', // (R)\n  'PRIVILEGES', 'PRIVILEGE_CHECKS_USER', 'PROCEDURE', // (R)\n  'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROXY', 'PURGE', // (R)\n  'QUARTER', 'QUERY', 'QUICK', 'RANDOM', 'RANGE', // (R)\n  'RANK', // (R)\n  'READ', // (R)\n  'READS', // (R)\n  'READ_ONLY', 'READ_WRITE', // (R)\n  'REAL', // (R)\n  'REBUILD', 'RECOVER', 'RECURSIVE', // (R)\n  'REDO_BUFFER_SIZE', 'REDUNDANT', 'REFERENCE', 'REFERENCES', // (R)\n  'REGEXP', // (R)\n  'REGISTRATION', 'RELAY', 'RELAYLOG', 'RELAY_LOG_FILE', 'RELAY_LOG_POS', 'RELAY_THREAD', 'RELEASE', // (R)\n  'RELOAD', 'REMOVE', 'RENAME', // (R)\n  'REORGANIZE', 'REPAIR', 'REPEAT', // (R)\n  'REPEATABLE', 'REPLACE', // (R)\n  'REPLICA', 'REPLICAS', 'REPLICATE_DO_DB', 'REPLICATE_DO_TABLE', 'REPLICATE_IGNORE_DB', 'REPLICATE_IGNORE_TABLE', 'REPLICATE_REWRITE_DB', 'REPLICATE_WILD_DO_TABLE', 'REPLICATE_WILD_IGNORE_TABLE', 'REPLICATION', 'REQUIRE', // (R)\n  'REQUIRE_ROW_FORMAT', 'RESET', 'RESIGNAL', // (R)\n  'RESOURCE', 'RESPECT', 'RESTART', 'RESTORE', 'RESTRICT', // (R)\n  'RESUME', 'RETAIN', 'RETURN', // (R)\n  'RETURNED_SQLSTATE', 'RETURNING', 'RETURNS', 'REUSE', 'REVERSE', 'REVOKE', // (R)\n  'RIGHT', // (R)\n  'RLIKE', // (R)\n  'ROLE', 'ROLLBACK', 'ROLLUP', 'ROTATE', 'ROUTINE', 'ROW', // (R)\n  'ROWS', // (R)\n  'ROW_COUNT', 'ROW_FORMAT', 'ROW_NUMBER', // (R)\n  'RTREE', 'SAVEPOINT', 'SCHEDULE', 'SCHEMA', // (R)\n  'SCHEMAS', // (R)\n  'SCHEMA_NAME', 'SECOND', 'SECONDARY', 'SECONDARY_ENGINE', 'SECONDARY_ENGINE_ATTRIBUTE', 'SECONDARY_LOAD', 'SECONDARY_UNLOAD', 'SECOND_MICROSECOND', // (R)\n  'SECURITY', 'SELECT', // (R)\n  'SENSITIVE', // (R)\n  'SEPARATOR', // (R)\n  'SERIAL', 'SERIALIZABLE', 'SERVER', 'SESSION', 'SET', // (R)\n  'SHARE', 'SHOW', // (R)\n  'SHUTDOWN', 'SIGNAL', // (R)\n  'SIGNED', 'SIMPLE', 'SKIP', 'SLAVE', 'SLOW', 'SMALLINT', // (R)\n  'SNAPSHOT', 'SOCKET', 'SOME', 'SONAME', 'SOUNDS', 'SOURCE', 'SOURCE_AUTO_POSITION', 'SOURCE_BIND', 'SOURCE_COMPRESSION_ALGORITHMS', 'SOURCE_CONNECT_RETRY', 'SOURCE_DELAY', 'SOURCE_HEARTBEAT_PERIOD', 'SOURCE_HOST', 'SOURCE_LOG_FILE', 'SOURCE_LOG_POS', 'SOURCE_PASSWORD', 'SOURCE_PORT', 'SOURCE_PUBLIC_KEY_PATH', 'SOURCE_RETRY_COUNT', 'SOURCE_SSL', 'SOURCE_SSL_CA', 'SOURCE_SSL_CAPATH', 'SOURCE_SSL_CERT', 'SOURCE_SSL_CIPHER', 'SOURCE_SSL_CRL', 'SOURCE_SSL_CRLPATH', 'SOURCE_SSL_KEY', 'SOURCE_SSL_VERIFY_SERVER_CERT', 'SOURCE_TLS_CIPHERSUITES', 'SOURCE_TLS_VERSION', 'SOURCE_USER', 'SOURCE_ZSTD_COMPRESSION_LEVEL', 'SPATIAL', // (R)\n  'SPECIFIC', // (R)\n  'SQL', // (R)\n  'SQLEXCEPTION', // (R)\n  'SQLSTATE', // (R)\n  'SQLWARNING', // (R)\n  'SQL_AFTER_GTIDS', 'SQL_AFTER_MTS_GAPS', 'SQL_BEFORE_GTIDS', 'SQL_BIG_RESULT', // (R)\n  'SQL_BUFFER_RESULT', 'SQL_CALC_FOUND_ROWS', // (R)\n  'SQL_NO_CACHE', 'SQL_SMALL_RESULT', // (R)\n  'SQL_THREAD', 'SQL_TSI_DAY', 'SQL_TSI_HOUR', 'SQL_TSI_MINUTE', 'SQL_TSI_MONTH', 'SQL_TSI_QUARTER', 'SQL_TSI_SECOND', 'SQL_TSI_WEEK', 'SQL_TSI_YEAR', 'SRID', 'SSL', // (R)\n  'STACKED', 'START', 'STARTING', // (R)\n  'STARTS', 'STATS_AUTO_RECALC', 'STATS_PERSISTENT', 'STATS_SAMPLE_PAGES', 'STATUS', 'STOP', 'STORAGE', 'STORED', // (R)\n  'STRAIGHT_JOIN', // (R)\n  'STREAM', 'STRING', 'SUBCLASS_ORIGIN', 'SUBJECT', 'SUBPARTITION', 'SUBPARTITIONS', 'SUPER', 'SUSPEND', 'SWAPS', 'SWITCHES', 'SYSTEM', // (R)\n  'TABLE', // (R)\n  'TABLES', 'TABLESPACE', 'TABLE_CHECKSUM', 'TABLE_NAME', 'TEMPORARY', 'TEMPTABLE', 'TERMINATED', // (R)\n  'TEXT', 'THAN', 'THEN', // (R)\n  'THREAD_PRIORITY', 'TIES', 'TIME', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TINYBLOB', // (R)\n  'TINYINT', // (R)\n  'TINYTEXT', // (R)\n  'TLS', 'TO', // (R)\n  'TRAILING', // (R)\n  'TRANSACTION', 'TRIGGER', // (R)\n  'TRIGGERS', 'TRUE', // (R)\n  'TRUNCATE', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO', // (R)\n  'UNDOFILE', 'UNDO_BUFFER_SIZE', 'UNICODE', 'UNINSTALL', 'UNION', // (R)\n  'UNIQUE', // (R)\n  'UNKNOWN', 'UNLOCK', // (R)\n  'UNREGISTER', 'UNSIGNED', // (R)\n  'UNTIL', 'UPDATE', // (R)\n  'UPGRADE', 'USAGE', // (R)\n  'USE', // (R)\n  'USER', 'USER_RESOURCES', 'USE_FRM', 'USING', // (R)\n  'UTC_DATE', // (R)\n  'UTC_TIME', // (R)\n  'UTC_TIMESTAMP', // (R)\n  'VALIDATION', 'VALUE', 'VALUES', // (R)\n  'VARBINARY', // (R)\n  'VARCHAR', // (R)\n  'VARCHARACTER', // (R)\n  'VARIABLES', 'VARYING', // (R)\n  'VCPU', 'VIEW', 'VIRTUAL', // (R)\n  'VISIBLE', 'WAIT', 'WARNINGS', 'WEEK', 'WEIGHT_STRING', 'WHEN', // (R)\n  'WHERE', // (R)\n  'WHILE', // (R)\n  'WINDOW', // (R)\n  'WITH', // (R)\n  'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', // (R)\n  'X509', 'XA', 'XID', 'XML', 'XOR', // (R)\n  'YEAR', 'YEAR_MONTH', // (R)\n  'ZEROFILL', // (R)\n  'ZONE']\n});\n//# sourceMappingURL=mysql.keywords.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html\n  all: ['ABS', 'ACOS', 'ADDDATE', 'ADDTIME', 'AES_DECRYPT', 'AES_ENCRYPT', // 'AND',\n  'ANY_VALUE', 'ASCII', 'ASIN', 'ATAN', 'ATAN2', 'AVG', 'BENCHMARK', 'BIN', 'BIN_TO_UUID', 'BINARY', 'BIT_AND', 'BIT_COUNT', 'BIT_LENGTH', 'BIT_OR', 'BIT_XOR', 'CAN_ACCESS_COLUMN', 'CAN_ACCESS_DATABASE', 'CAN_ACCESS_TABLE', 'CAN_ACCESS_USER', 'CAN_ACCESS_VIEW', 'CAST', 'CEIL', 'CEILING', 'CHAR', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHARSET', 'COALESCE', 'COERCIBILITY', 'COLLATION', 'COMPRESS', 'CONCAT', 'CONCAT_WS', 'CONNECTION_ID', 'CONV', 'CONVERT', 'CONVERT_TZ', 'COS', 'COT', 'COUNT', 'CRC32', 'CUME_DIST', 'CURDATE', 'CURRENT_DATE', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURTIME', 'DATABASE', 'DATE', 'DATE_ADD', 'DATE_FORMAT', 'DATE_SUB', 'DATEDIFF', 'DAY', 'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'DEFAULT', 'DEGREES', 'DENSE_RANK', 'DIV', 'ELT', 'EXP', 'EXPORT_SET', 'EXTRACT', 'EXTRACTVALUE', 'FIELD', 'FIND_IN_SET', 'FIRST_VALUE', 'FLOOR', 'FORMAT', 'FORMAT_BYTES', 'FORMAT_PICO_TIME', 'FOUND_ROWS', 'FROM_BASE64', 'FROM_DAYS', 'FROM_UNIXTIME', 'GEOMCOLLECTION', 'GEOMETRYCOLLECTION', 'GET_DD_COLUMN_PRIVILEGES', 'GET_DD_CREATE_OPTIONS', 'GET_DD_INDEX_SUB_PART_LENGTH', 'GET_FORMAT', 'GET_LOCK', 'GREATEST', 'GROUP_CONCAT', 'GROUPING', 'GTID_SUBSET', 'GTID_SUBTRACT', 'HEX', 'HOUR', 'ICU_VERSION', 'IF', 'IFNULL', // 'IN',\n  'INET_ATON', 'INET_NTOA', 'INET6_ATON', 'INET6_NTOA', 'INSERT', 'INSTR', 'INTERNAL_AUTO_INCREMENT', 'INTERNAL_AVG_ROW_LENGTH', 'INTERNAL_CHECK_TIME', 'INTERNAL_CHECKSUM', 'INTERNAL_DATA_FREE', 'INTERNAL_DATA_LENGTH', 'INTERNAL_DD_CHAR_LENGTH', 'INTERNAL_GET_COMMENT_OR_ERROR', 'INTERNAL_GET_ENABLED_ROLE_JSON', 'INTERNAL_GET_HOSTNAME', 'INTERNAL_GET_USERNAME', 'INTERNAL_GET_VIEW_WARNING_OR_ERROR', 'INTERNAL_INDEX_COLUMN_CARDINALITY', 'INTERNAL_INDEX_LENGTH', 'INTERNAL_IS_ENABLED_ROLE', 'INTERNAL_IS_MANDATORY_ROLE', 'INTERNAL_KEYS_DISABLED', 'INTERNAL_MAX_DATA_LENGTH', 'INTERNAL_TABLE_ROWS', 'INTERNAL_UPDATE_TIME', 'INTERVAL', 'IS', 'IS_FREE_LOCK', 'IS_IPV4', 'IS_IPV4_COMPAT', 'IS_IPV4_MAPPED', 'IS_IPV6', 'IS NOT', 'IS NOT NULL', 'IS NULL', 'IS_USED_LOCK', 'IS_UUID', 'ISNULL', 'JSON_ARRAY', 'JSON_ARRAY_APPEND', 'JSON_ARRAY_INSERT', 'JSON_ARRAYAGG', 'JSON_CONTAINS', 'JSON_CONTAINS_PATH', 'JSON_DEPTH', 'JSON_EXTRACT', 'JSON_INSERT', 'JSON_KEYS', 'JSON_LENGTH', 'JSON_MERGE', 'JSON_MERGE_PATCH', 'JSON_MERGE_PRESERVE', 'JSON_OBJECT', 'JSON_OBJECTAGG', 'JSON_OVERLAPS', 'JSON_PRETTY', 'JSON_QUOTE', 'JSON_REMOVE', 'JSON_REPLACE', 'JSON_SCHEMA_VALID', 'JSON_SCHEMA_VALIDATION_REPORT', 'JSON_SEARCH', 'JSON_SET', 'JSON_STORAGE_FREE', 'JSON_STORAGE_SIZE', 'JSON_TABLE', 'JSON_TYPE', 'JSON_UNQUOTE', 'JSON_VALID', 'JSON_VALUE', 'LAG', 'LAST_DAY', 'LAST_INSERT_ID', 'LAST_VALUE', 'LCASE', 'LEAD', 'LEAST', 'LEFT', 'LENGTH', 'LIKE', 'LINESTRING', 'LN', 'LOAD_FILE', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATE', 'LOG', 'LOG10', 'LOG2', 'LOWER', 'LPAD', 'LTRIM', 'MAKE_SET', 'MAKEDATE', 'MAKETIME', 'MASTER_POS_WAIT', 'MATCH', 'MAX', 'MBRCONTAINS', 'MBRCOVEREDBY', 'MBRCOVERS', 'MBRDISJOINT', 'MBREQUALS', 'MBRINTERSECTS', 'MBROVERLAPS', 'MBRTOUCHES', 'MBRWITHIN', 'MD5', 'MEMBER OF', 'MICROSECOND', 'MID', 'MIN', 'MINUTE', 'MOD', 'MONTH', 'MONTHNAME', 'MULTILINESTRING', 'MULTIPOINT', 'MULTIPOLYGON', 'NAME_CONST', 'NOT', 'NOT IN', 'NOT LIKE', 'NOT REGEXP', 'NOW', 'NTH_VALUE', 'NTILE', 'NULLIF', 'OCT', 'OCTET_LENGTH', // 'OR',\n  'ORD', 'PERCENT_RANK', 'PERIOD_ADD', 'PERIOD_DIFF', 'PI', 'POINT', 'POLYGON', 'POSITION', 'POW', 'POWER', 'PS_CURRENT_THREAD_ID', 'PS_THREAD_ID', 'QUARTER', 'QUOTE', 'RADIANS', 'RAND', 'RANDOM_BYTES', 'RANK', 'REGEXP', 'REGEXP_INSTR', 'REGEXP_LIKE', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'RELEASE_ALL_LOCKS', 'RELEASE_LOCK', 'REPEAT', 'REPLACE', 'REVERSE', 'RIGHT', 'RLIKE', 'ROLES_GRAPHML', 'ROUND', 'ROW_COUNT', 'ROW_NUMBER', 'RPAD', 'RTRIM', 'SCHEMA', 'SEC_TO_TIME', 'SECOND', 'SESSION_USER', 'SHA1', 'SHA2', 'SIGN', 'SIN', 'SLEEP', 'SOUNDEX', 'SOUNDS LIKE', 'SOURCE_POS_WAIT', 'SPACE', 'SQRT', 'ST_AREA', 'ST_ASBINARY', 'ST_ASGEOJSON', 'ST_ASTEXT', 'ST_BUFFER', 'ST_BUFFER_STRATEGY', 'ST_CENTROID', 'ST_COLLECT', 'ST_CONTAINS', 'ST_CONVEXHULL', 'ST_CROSSES', 'ST_DIFFERENCE', 'ST_DIMENSION', 'ST_DISJOINT', 'ST_DISTANCE', 'ST_DISTANCE_SPHERE', 'ST_ENDPOINT', 'ST_ENVELOPE', 'ST_EQUALS', 'ST_EXTERIORRING', 'ST_FRECHETDISTANCE', 'ST_GEOHASH', 'ST_GEOMCOLLFROMTEXT', 'ST_GEOMCOLLFROMWKB', 'ST_GEOMETRYN', 'ST_GEOMETRYTYPE', 'ST_GEOMFROMGEOJSON', 'ST_GEOMFROMTEXT', 'ST_GEOMFROMWKB', 'ST_HAUSDORFFDISTANCE', 'ST_INTERIORRINGN', 'ST_INTERSECTION', 'ST_INTERSECTS', 'ST_ISCLOSED', 'ST_ISEMPTY', 'ST_ISSIMPLE', 'ST_ISVALID', 'ST_LATFROMGEOHASH', 'ST_LATITUDE', 'ST_LENGTH', 'ST_LINEFROMTEXT', 'ST_LINEFROMWKB', 'ST_LINEINTERPOLATEPOINT', 'ST_LINEINTERPOLATEPOINTS', 'ST_LONGFROMGEOHASH', 'ST_LONGITUDE', 'ST_MAKEENVELOPE', 'ST_MLINEFROMTEXT', 'ST_MLINEFROMWKB', 'ST_MPOINTFROMTEXT', 'ST_MPOINTFROMWKB', 'ST_MPOLYFROMTEXT', 'ST_MPOLYFROMWKB', 'ST_NUMGEOMETRIES', 'ST_NUMINTERIORRING', 'ST_NUMPOINTS', 'ST_OVERLAPS', 'ST_POINTATDISTANCE', 'ST_POINTFROMGEOHASH', 'ST_POINTFROMTEXT', 'ST_POINTFROMWKB', 'ST_POINTN', 'ST_POLYFROMTEXT', 'ST_POLYFROMWKB', 'ST_SIMPLIFY', 'ST_SRID', 'ST_STARTPOINT', 'ST_SWAPXY', 'ST_SYMDIFFERENCE', 'ST_TOUCHES', 'ST_TRANSFORM', 'ST_UNION', 'ST_VALIDATE', 'ST_WITHIN', 'ST_X', 'ST_Y', 'STATEMENT_DIGEST', 'STATEMENT_DIGEST_TEXT', 'STD', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STR_TO_DATE', 'STRCMP', 'SUBDATE', 'SUBSTR', 'SUBSTRING', 'SUBSTRING_INDEX', 'SUBTIME', 'SUM', 'SYSDATE', 'SYSTEM_USER', 'TAN', 'TIME', 'TIME_FORMAT', 'TIME_TO_SEC', 'TIMEDIFF', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TO_BASE64', 'TO_DAYS', 'TO_SECONDS', 'TRIM', 'TRUNCATE', 'UCASE', 'UNCOMPRESS', 'UNCOMPRESSED_LENGTH', 'UNHEX', 'UNIX_TIMESTAMP', 'UPDATEXML', 'UPPER', 'USER', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'UUID', 'UUID_SHORT', 'UUID_TO_BIN', 'VALIDATE_PASSWORD_STRENGTH', 'VALUES', 'VAR_POP', 'VAR_SAMP', 'VARIANCE', 'VERSION', 'WAIT_FOR_EXECUTED_GTID_SET', 'WAIT_UNTIL_SQL_THREAD_AFTER_GTIDS', 'WEEK', 'WEEKDAY', 'WEEKOFYEAR', 'WEIGHT_STRING', // 'XOR',\n  'YEAR', 'YEARWEEK', // Data types with parameters\n  // https://dev.mysql.com/doc/refman/8.0/en/data-types.html\n  'BIT', 'TINYINT', 'SMALLINT', 'MEDIUMINT', 'INT', 'INTEGER', 'BIGINT', 'DECIMAL', 'DEC', 'NUMERIC', 'FIXED', 'FLOAT', 'DOUBLE', 'DOUBLE PRECISION', 'REAL', 'DATETIME', 'TIMESTAMP', 'TIME', 'YEAR', 'CHAR', 'NATIONAL CHAR', 'VARCHAR', 'NATIONAL VARCHAR', 'BINARY', 'VARBINARY', 'BLOB', 'TEXT', 'ENUM' // 'SET' // handled as special-case in postProcess\n  ]\n});\n//# sourceMappingURL=mysql.functions.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { EOF_TOKEN, isToken, TokenType } from '../../lexer/token.js';\nimport { keywords } from './mysql.keywords.js';\nimport { functions } from './mysql.functions.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT | DISTINCTROW]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO]', 'REPLACE [LOW_PRIORITY | DELAYED] [INTO]', 'VALUES', // - update:\n'SET', // Data definition\n'CREATE [OR REPLACE] [SQL SECURITY DEFINER | SQL SECURITY INVOKER] VIEW [IF NOT EXISTS]', 'CREATE [TEMPORARY] TABLE [IF NOT EXISTS]']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE [LOW_PRIORITY] [IGNORE]', // - delete:\n'DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM', // - drop table:\n'DROP [TEMPORARY] TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ADD [COLUMN]', '{CHANGE | MODIFY} [COLUMN]', 'DROP [COLUMN]', 'RENAME [TO | AS]', 'RENAME COLUMN', 'ALTER [COLUMN]', '{SET | DROP} DEFAULT', // for alter column\n// - truncate:\n'TRUNCATE [TABLE]', // https://dev.mysql.com/doc/refman/8.0/en/sql-statements.html\n'ALTER DATABASE', 'ALTER EVENT', 'ALTER FUNCTION', 'ALTER INSTANCE', 'ALTER LOGFILE GROUP', 'ALTER PROCEDURE', 'ALTER RESOURCE GROUP', 'ALTER SERVER', 'ALTER TABLESPACE', 'ALTER USER', 'ALTER VIEW', 'ANALYZE TABLE', 'BINLOG', 'CACHE INDEX', 'CALL', 'CHANGE MASTER TO', 'CHANGE REPLICATION FILTER', 'CHANGE REPLICATION SOURCE TO', 'CHECK TABLE', 'CHECKSUM TABLE', 'CLONE', 'COMMIT', 'CREATE DATABASE', 'CREATE EVENT', 'CREATE FUNCTION', 'CREATE FUNCTION', 'CREATE INDEX', 'CREATE LOGFILE GROUP', 'CREATE PROCEDURE', 'CREATE RESOURCE GROUP', 'CREATE ROLE', 'CREATE SERVER', 'CREATE SPATIAL REFERENCE SYSTEM', 'CREATE TABLESPACE', 'CREATE TRIGGER', 'CREATE USER', 'DEALLOCATE PREPARE', 'DESCRIBE', 'DROP DATABASE', 'DROP EVENT', 'DROP FUNCTION', 'DROP FUNCTION', 'DROP INDEX', 'DROP LOGFILE GROUP', 'DROP PROCEDURE', 'DROP RESOURCE GROUP', 'DROP ROLE', 'DROP SERVER', 'DROP SPATIAL REFERENCE SYSTEM', 'DROP TABLESPACE', 'DROP TRIGGER', 'DROP USER', 'DROP VIEW', 'EXECUTE', 'EXPLAIN', 'FLUSH', 'GRANT', 'HANDLER', 'HELP', 'IMPORT TABLE', 'INSTALL COMPONENT', 'INSTALL PLUGIN', 'KILL', 'LOAD DATA', 'LOAD INDEX INTO CACHE', 'LOAD XML', 'LOCK INSTANCE FOR BACKUP', 'LOCK TABLES', 'MASTER_POS_WAIT', 'OPTIMIZE TABLE', 'PREPARE', 'PURGE BINARY LOGS', 'RELEASE SAVEPOINT', 'RENAME TABLE', 'RENAME USER', 'REPAIR TABLE', 'RESET', 'RESET MASTER', 'RESET PERSIST', 'RESET REPLICA', 'RESET SLAVE', 'RESTART', 'REVOKE', 'ROLLBACK', 'ROLLBACK TO SAVEPOINT', 'SAVEPOINT', 'SET CHARACTER SET', 'SET DEFAULT ROLE', 'SET NAMES', 'SET PASSWORD', 'SET RESOURCE GROUP', 'SET ROLE', 'SET TRANSACTION', 'SHOW', 'SHOW BINARY LOGS', 'SHOW BINLOG EVENTS', 'SHOW CHARACTER SET', 'SHOW COLLATION', 'SHOW COLUMNS', 'SHOW CREATE DATABASE', 'SHOW CREATE EVENT', 'SHOW CREATE FUNCTION', 'SHOW CREATE PROCEDURE', 'SHOW CREATE TABLE', 'SHOW CREATE TRIGGER', 'SHOW CREATE USER', 'SHOW CREATE VIEW', 'SHOW DATABASES', 'SHOW ENGINE', 'SHOW ENGINES', 'SHOW ERRORS', 'SHOW EVENTS', 'SHOW FUNCTION CODE', 'SHOW FUNCTION STATUS', 'SHOW GRANTS', 'SHOW INDEX', 'SHOW MASTER STATUS', 'SHOW OPEN TABLES', 'SHOW PLUGINS', 'SHOW PRIVILEGES', 'SHOW PROCEDURE CODE', 'SHOW PROCEDURE STATUS', 'SHOW PROCESSLIST', 'SHOW PROFILE', 'SHOW PROFILES', 'SHOW RELAYLOG EVENTS', 'SHOW REPLICA STATUS', 'SHOW REPLICAS', 'SHOW SLAVE', 'SHOW SLAVE HOSTS', 'SHOW STATUS', 'SHOW TABLE STATUS', 'SHOW TABLES', 'SHOW TRIGGERS', 'SHOW VARIABLES', 'SHOW WARNINGS', 'SHUTDOWN', 'SOURCE_POS_WAIT', 'START GROUP_REPLICATION', 'START REPLICA', 'START SLAVE', 'START TRANSACTION', 'STOP GROUP_REPLICATION', 'STOP REPLICA', 'STOP SLAVE', 'TABLE', 'UNINSTALL COMPONENT', 'UNINSTALL PLUGIN', 'UNLOCK INSTANCE', 'UNLOCK TABLES', 'USE', 'XA', // flow control\n// 'IF',\n'ITERATE', 'LEAVE', 'LOOP', 'REPEAT', 'RETURN', 'WHILE']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL | DISTINCT]']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT} [OUTER] JOIN', // non-standard joins\n'STRAIGHT_JOIN']);\nconst reservedPhrases = expandPhrases(['ON {UPDATE | DELETE} [SET NULL]', 'CHARACTER SET', '{ROWS | RANGE} BETWEEN']); // https://dev.mysql.com/doc/refman/8.0/en/\n\nexport const mysql = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    supportsXor: true,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    // TODO: support _ char set prefixes such as _utf8, _latin1, _binary, _utf8mb4, etc.\n    stringTypes: ['\"\"-qq-bs', {\n      quote: \"''-qq-bs\",\n      prefixes: ['N']\n    }, {\n      quote: \"''-raw\",\n      prefixes: ['B', 'X'],\n      requirePrefix: true\n    }],\n    identTypes: ['``'],\n    identChars: {\n      first: '$',\n      rest: '$',\n      allowFirstCharNumber: true\n    },\n    variableTypes: [{\n      regex: '@@?[A-Za-z0-9_.$]+'\n    }, {\n      quote: '\"\"-qq-bs',\n      prefixes: ['@'],\n      requirePrefix: true\n    }, {\n      quote: \"''-qq-bs\",\n      prefixes: ['@'],\n      requirePrefix: true\n    }, {\n      quote: '``',\n      prefixes: ['@'],\n      requirePrefix: true\n    }],\n    paramTypes: {\n      positional: true\n    },\n    lineCommentTypes: ['--', '#'],\n    operators: ['%', ':=', '&', '|', '^', '~', '<<', '>>', '<=>', '->', '->>', '&&', '||', '!'],\n    postProcess\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n\nfunction postProcess(tokens) {\n  return tokens.map((token, i) => {\n    const nextToken = tokens[i + 1] || EOF_TOKEN;\n\n    if (isToken.SET(token) && nextToken.text === '(') {\n      // This is SET datatype, not SET statement\n      return { ...token,\n        type: TokenType.RESERVED_FUNCTION_NAME\n      };\n    }\n\n    return token;\n  });\n}\n//# sourceMappingURL=mysql.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/functions.html\n  all: ['ABORT', 'ABS', 'ACOS', 'ADVISOR', 'ARRAY_AGG', 'ARRAY_AGG', 'ARRAY_APPEND', 'ARRAY_AVG', 'ARRAY_BINARY_SEARCH', 'ARRAY_CONCAT', 'ARRAY_CONTAINS', 'ARRAY_COUNT', 'ARRAY_DISTINCT', 'ARRAY_EXCEPT', 'ARRAY_FLATTEN', 'ARRAY_IFNULL', 'ARRAY_INSERT', 'ARRAY_INTERSECT', 'ARRAY_LENGTH', 'ARRAY_MAX', 'ARRAY_MIN', 'ARRAY_MOVE', 'ARRAY_POSITION', 'ARRAY_PREPEND', 'ARRAY_PUT', 'ARRAY_RANGE', 'ARRAY_REMOVE', 'ARRAY_REPEAT', 'ARRAY_REPLACE', 'ARRAY_REVERSE', 'ARRAY_SORT', 'ARRAY_STAR', 'ARRAY_SUM', 'ARRAY_SYMDIFF', 'ARRAY_SYMDIFF1', 'ARRAY_SYMDIFFN', 'ARRAY_UNION', 'ASIN', 'ATAN', 'ATAN2', 'AVG', 'BASE64', 'BASE64_DECODE', 'BASE64_ENCODE', 'BITAND ', 'BITCLEAR ', 'BITNOT ', 'BITOR ', 'BITSET ', 'BITSHIFT ', 'BITTEST ', 'BITXOR ', 'CEIL', 'CLOCK_LOCAL', 'CLOCK_MILLIS', 'CLOCK_STR', 'CLOCK_TZ', 'CLOCK_UTC', 'COALESCE', 'CONCAT', 'CONCAT2', 'CONTAINS', 'CONTAINS_TOKEN', 'CONTAINS_TOKEN_LIKE', 'CONTAINS_TOKEN_REGEXP', 'COS', 'COUNT', 'COUNT', 'COUNTN', 'CUME_DIST', 'CURL', 'DATE_ADD_MILLIS', 'DATE_ADD_STR', 'DATE_DIFF_MILLIS', 'DATE_DIFF_STR', 'DATE_FORMAT_STR', 'DATE_PART_MILLIS', 'DATE_PART_STR', 'DATE_RANGE_MILLIS', 'DATE_RANGE_STR', 'DATE_TRUNC_MILLIS', 'DATE_TRUNC_STR', 'DECODE', 'DECODE_JSON', 'DEGREES', 'DENSE_RANK', 'DURATION_TO_STR', // 'E',\n  'ENCODED_SIZE', 'ENCODE_JSON', 'EXP', 'FIRST_VALUE', 'FLOOR', 'GREATEST', 'HAS_TOKEN', 'IFINF', 'IFMISSING', 'IFMISSINGORNULL', 'IFNAN', 'IFNANORINF', 'IFNULL', 'INITCAP', 'ISARRAY', 'ISATOM', 'ISBITSET', 'ISBOOLEAN', 'ISNUMBER', 'ISOBJECT', 'ISSTRING', 'LAG', 'LAST_VALUE', 'LEAD', 'LEAST', 'LENGTH', 'LN', 'LOG', 'LOWER', 'LTRIM', 'MAX', 'MEAN', 'MEDIAN', 'META', 'MILLIS', 'MILLIS_TO_LOCAL', 'MILLIS_TO_STR', 'MILLIS_TO_TZ', 'MILLIS_TO_UTC', 'MILLIS_TO_ZONE_NAME', 'MIN', 'MISSINGIF', 'NANIF', 'NEGINFIF', 'NOW_LOCAL', 'NOW_MILLIS', 'NOW_STR', 'NOW_TZ', 'NOW_UTC', 'NTH_VALUE', 'NTILE', 'NULLIF', 'NVL', 'NVL2', 'OBJECT_ADD', 'OBJECT_CONCAT', 'OBJECT_INNER_PAIRS', 'OBJECT_INNER_VALUES', 'OBJECT_LENGTH', 'OBJECT_NAMES', 'OBJECT_PAIRS', 'OBJECT_PUT', 'OBJECT_REMOVE', 'OBJECT_RENAME', 'OBJECT_REPLACE', 'OBJECT_UNWRAP', 'OBJECT_VALUES', 'PAIRS', 'PERCENT_RANK', 'PI', 'POLY_LENGTH', 'POSINFIF', 'POSITION', 'POWER', 'RADIANS', 'RANDOM', 'RANK', 'RATIO_TO_REPORT', 'REGEXP_CONTAINS', 'REGEXP_LIKE', 'REGEXP_MATCHES', 'REGEXP_POSITION', 'REGEXP_REPLACE', 'REGEXP_SPLIT', 'REGEX_CONTAINS', 'REGEX_LIKE', 'REGEX_MATCHES', 'REGEX_POSITION', 'REGEX_REPLACE', 'REGEX_SPLIT', 'REPEAT', 'REPLACE', 'REVERSE', 'ROUND', 'ROW_NUMBER', 'RTRIM', 'SEARCH', 'SEARCH_META', 'SEARCH_SCORE', 'SIGN', 'SIN', 'SPLIT', 'SQRT', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STR_TO_DURATION', 'STR_TO_MILLIS', 'STR_TO_TZ', 'STR_TO_UTC', 'STR_TO_ZONE_NAME', 'SUBSTR', 'SUFFIXES', 'SUM', 'TAN', 'TITLE', 'TOARRAY', 'TOATOM', 'TOBOOLEAN', 'TOKENS', 'TOKENS', 'TONUMBER', 'TOOBJECT', 'TOSTRING', 'TRIM', 'TRUNC', // 'TYPE', // disabled\n  'UPPER', 'UUID', 'VARIANCE', 'VARIANCE_POP', 'VARIANCE_SAMP', 'VAR_POP', 'VAR_SAMP', 'WEEKDAY_MILLIS', 'WEEKDAY_STR', // type casting\n  // not implemented in N1QL, but added here now for the sake of tests\n  // https://docs.couchbase.com/server/current/analytics/3_query.html#Vs_SQL-92\n  'CAST']\n});\n//# sourceMappingURL=n1ql.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html\n  all: ['ADVISE', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'AT', 'BEGIN', 'BETWEEN', 'BINARY', 'BOOLEAN', 'BREAK', 'BUCKET', 'BUILD', 'BY', 'CALL', 'CASE', 'CAST', 'CLUSTER', 'COLLATE', 'COLLECTION', 'COMMIT', 'COMMITTED', 'CONNECT', 'CONTINUE', 'CORRELATED', 'COVER', 'CREATE', 'CURRENT', 'DATABASE', 'DATASET', 'DATASTORE', 'DECLARE', 'DECREMENT', 'DELETE', 'DERIVED', 'DESC', 'DESCRIBE', 'DISTINCT', 'DO', 'DROP', 'EACH', 'ELEMENT', 'ELSE', 'END', 'EVERY', 'EXCEPT', 'EXCLUDE', 'EXECUTE', 'EXISTS', 'EXPLAIN', 'FALSE', 'FETCH', 'FILTER', 'FIRST', 'FLATTEN', 'FLUSH', 'FOLLOWING', 'FOR', 'FORCE', 'FROM', 'FTS', 'FUNCTION', 'GOLANG', 'GRANT', 'GROUP', 'GROUPS', 'GSI', 'HASH', 'HAVING', 'IF', 'ISOLATION', 'IGNORE', 'ILIKE', 'IN', 'INCLUDE', 'INCREMENT', 'INDEX', 'INFER', 'INLINE', 'INNER', 'INSERT', 'INTERSECT', 'INTO', 'IS', 'JAVASCRIPT', 'JOIN', 'KEY', 'KEYS', 'KEYSPACE', 'KNOWN', 'LANGUAGE', 'LAST', 'LEFT', 'LET', 'LETTING', 'LEVEL', 'LIKE', 'LIMIT', 'LSM', 'MAP', 'MAPPING', 'MATCHED', 'MATERIALIZED', 'MERGE', 'MINUS', 'MISSING', 'NAMESPACE', 'NEST', 'NL', 'NO', 'NOT', 'NTH_VALUE', 'NULL', 'NULLS', 'NUMBER', 'OBJECT', 'OFFSET', 'ON', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OTHERS', 'OUTER', 'OVER', 'PARSE', 'PARTITION', 'PASSWORD', 'PATH', 'POOL', 'PRECEDING', 'PREPARE', 'PRIMARY', 'PRIVATE', 'PRIVILEGE', 'PROBE', 'PROCEDURE', 'PUBLIC', 'RANGE', 'RAW', 'REALM', 'REDUCE', 'RENAME', 'RESPECT', 'RETURN', 'RETURNING', 'REVOKE', 'RIGHT', 'ROLE', 'ROLLBACK', 'ROW', 'ROWS', 'SATISFIES', 'SAVEPOINT', 'SCHEMA', 'SCOPE', 'SELECT', 'SELF', 'SEMI', 'SET', 'SHOW', 'SOME', 'START', 'STATISTICS', 'STRING', 'SYSTEM', 'THEN', 'TIES', 'TO', 'TRAN', 'TRANSACTION', 'TRIGGER', 'TRUE', 'TRUNCATE', 'UNBOUNDED', 'UNDER', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UNSET', 'UPDATE', 'UPSERT', 'USE', 'USER', 'USING', 'VALIDATE', 'VALUE', 'VALUED', 'VALUES', 'VIA', 'VIEW', 'WHEN', 'WHERE', 'WHILE', 'WINDOW', 'WITH', 'WITHIN', 'WORK', 'XOR']\n});\n//# sourceMappingURL=n1ql.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './n1ql.functions.js';\nimport { keywords } from './n1ql.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'SET', // - merge:\n'MERGE INTO', 'WHEN [NOT] MATCHED THEN', 'UPDATE SET', 'INSERT', // other\n'NEST', 'UNNEST', 'RETURNING']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', // - delete:\n'DELETE FROM', // - set schema:\n'SET SCHEMA', // https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/reservedwords.html\n'ADVISE', 'ALTER INDEX', 'BEGIN TRANSACTION', 'BUILD INDEX', 'COMMIT TRANSACTION', 'CREATE COLLECTION', 'CREATE FUNCTION', 'CREATE INDEX', 'CREATE PRIMARY INDEX', 'CREATE SCOPE', 'DROP COLLECTION', 'DROP FUNCTION', 'DROP INDEX', 'DROP PRIMARY INDEX', 'DROP SCOPE', 'EXECUTE', 'EXECUTE FUNCTION', 'EXPLAIN', 'GRANT', 'INFER', 'PREPARE', 'REVOKE', 'ROLLBACK TRANSACTION', 'SAVEPOINT', 'SET TRANSACTION', 'UPDATE STATISTICS', 'UPSERT', // other\n'LET', 'SET CURRENT SCHEMA', 'SHOW', 'USE [PRIMARY] KEYS']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL]', 'EXCEPT [ALL]', 'INTERSECT [ALL]']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT} [OUTER] JOIN', 'INNER JOIN']);\nconst reservedPhrases = expandPhrases(['{ROWS | RANGE | GROUPS} BETWEEN']); // For reference: http://docs.couchbase.com.s3-website-us-west-1.amazonaws.com/server/6.0/n1ql/n1ql-language-reference/index.html\n\nexport const n1ql = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    supportsXor: true,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    // NOTE: single quotes are actually not supported in N1QL,\n    // but we support them anyway as all other SQL dialects do,\n    // which simplifies writing tests that are shared between all dialects.\n    stringTypes: ['\"\"-bs', \"''-bs\"],\n    identTypes: ['``'],\n    extraParens: ['[]', '{}'],\n    paramTypes: {\n      positional: true,\n      numbered: ['$'],\n      named: ['$']\n    },\n    lineCommentTypes: ['#', '--'],\n    operators: ['%', '==', ':', '||']\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n//# sourceMappingURL=n1ql.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://docs.oracle.com/cd/B19306_01/appdev.102/b14261/reservewords.htm\n  all: [// 'A',\n  'ADD', 'AGENT', 'AGGREGATE', 'ALL', 'ALTER', 'AND', 'ANY', 'ARRAY', 'ARROW', 'AS', 'ASC', 'AT', 'ATTRIBUTE', 'AUTHID', 'AVG', 'BEGIN', 'BETWEEN', 'BFILE_BASE', 'BINARY', 'BLOB_BASE', 'BLOCK', 'BODY', 'BOTH', 'BOUND', 'BULK', 'BY', 'BYTE', // 'C',\n  'CALL', 'CALLING', 'CASCADE', 'CASE', 'CHAR', 'CHAR_BASE', 'CHARACTER', 'CHARSET', 'CHARSETFORM', 'CHARSETID', 'CHECK', 'CLOB_BASE', 'CLOSE', 'CLUSTER', 'CLUSTERS', 'COLAUTH', 'COLLECT', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMMITTED', 'COMPILED', 'COMPRESS', 'CONNECT', 'CONSTANT', 'CONSTRUCTOR', 'CONTEXT', 'CONVERT', 'COUNT', 'CRASH', 'CREATE', 'CURRENT', 'CURSOR', 'CUSTOMDATUM', 'DANGLING', 'DATA', 'DATE', 'DATE_BASE', 'DAY', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFINE', 'DELETE', 'DESC', 'DETERMINISTIC', 'DISTINCT', 'DOUBLE', 'DROP', 'DURATION', 'ELEMENT', 'ELSE', 'ELSIF', 'EMPTY', 'END', 'ESCAPE', 'EXCEPT', 'EXCEPTION', 'EXCEPTIONS', 'EXCLUSIVE', 'EXECUTE', 'EXISTS', 'EXIT', 'EXTERNAL', 'FETCH', 'FINAL', 'FIXED', 'FLOAT', 'FOR', 'FORALL', 'FORCE', 'FORM', 'FROM', 'FUNCTION', 'GENERAL', 'GOTO', 'GRANT', 'GROUP', 'HASH', 'HAVING', 'HEAP', 'HIDDEN', 'HOUR', 'IDENTIFIED', 'IF', 'IMMEDIATE', 'IN', 'INCLUDING', 'INDEX', 'INDEXES', 'INDICATOR', 'INDICES', 'INFINITE', 'INSERT', 'INSTANTIABLE', 'INT', 'INTERFACE', 'INTERSECT', 'INTERVAL', 'INTO', 'INVALIDATE', 'IS', 'ISOLATION', 'JAVA', 'LANGUAGE', 'LARGE', 'LEADING', 'LENGTH', 'LEVEL', 'LIBRARY', 'LIKE', 'LIKE2', 'LIKE4', 'LIKEC', 'LIMIT', 'LIMITED', 'LOCAL', 'LOCK', 'LONG', 'LOOP', 'MAP', 'MAX', 'MAXLEN', 'MEMBER', 'MERGE', 'MIN', 'MINUS', 'MINUTE', 'MOD', 'MODE', 'MODIFY', 'MONTH', 'MULTISET', 'NAME', 'NAN', 'NATIONAL', 'NATIVE', 'NCHAR', 'NEW', 'NOCOMPRESS', 'NOCOPY', 'NOT', 'NOWAIT', 'NULL', 'NUMBER_BASE', 'OBJECT', 'OCICOLL', 'OCIDATE', 'OCIDATETIME', 'OCIDURATION', 'OCIINTERVAL', 'OCILOBLOCATOR', 'OCINUMBER', 'OCIRAW', 'OCIREF', 'OCIREFCURSOR', 'OCIROWID', 'OCISTRING', 'OCITYPE', 'OF', 'ON', 'ONLY', 'OPAQUE', 'OPEN', 'OPERATOR', 'OPTION', 'OR', 'ORACLE', 'ORADATA', 'ORDER', 'OVERLAPS', 'ORGANIZATION', 'ORLANY', 'ORLVARY', 'OTHERS', 'OUT', 'OVERRIDING', 'PACKAGE', 'PARALLEL_ENABLE', 'PARAMETER', 'PARAMETERS', 'PARTITION', 'PASCAL', 'PIPE', 'PIPELINED', 'PRAGMA', 'PRECISION', 'PRIOR', 'PRIVATE', 'PROCEDURE', 'PUBLIC', 'RAISE', 'RANGE', 'RAW', 'READ', 'RECORD', 'REF', 'REFERENCE', 'REM', 'REMAINDER', 'RENAME', 'RESOURCE', 'RESULT', 'RETURN', 'RETURNING', 'REVERSE', 'REVOKE', 'ROLLBACK', 'ROW', 'SAMPLE', 'SAVE', 'SAVEPOINT', 'SB1', 'SB2', 'SB4', 'SECOND', 'SEGMENT', 'SELECT', 'SELF', 'SEPARATE', 'SEQUENCE', 'SERIALIZABLE', 'SET', 'SHARE', 'SHORT', 'SIZE', 'SIZE_T', 'SOME', 'SPARSE', 'SQL', 'SQLCODE', 'SQLDATA', 'SQLNAME', 'SQLSTATE', 'STANDARD', 'START', 'STATIC', 'STDDEV', 'STORED', 'STRING', 'STRUCT', 'STYLE', 'SUBMULTISET', 'SUBPARTITION', 'SUBSTITUTABLE', 'SUBTYPE', 'SUM', 'SYNONYM', 'TABAUTH', 'TABLE', 'TDO', 'THE', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_ABBR', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TIMEZONE_REGION', 'TO', 'TRAILING', 'TRANSAC', 'TRANSACTIONAL', 'TRUSTED', 'TYPE', 'UB1', 'UB2', 'UB4', 'UNDER', 'UNION', 'UNIQUE', 'UNSIGNED', 'UNTRUSTED', 'UPDATE', 'USE', 'USING', 'VALIST', 'VALUE', 'VALUES', 'VARIABLE', 'VARIANCE', 'VARRAY', 'VARYING', 'VIEW', 'VIEWS', 'VOID', 'WHEN', 'WHERE', 'WHILE', 'WITH', 'WORK', 'WRAPPED', 'WRITE', 'YEAR', 'ZONE']\n});\n//# sourceMappingURL=plsql.keywords.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions001.htm\n  numeric: ['ABS', 'ACOS', 'ASIN', 'ATAN', 'ATAN2', 'BITAND', 'CEIL', 'COS', 'COSH', 'EXP', 'FLOOR', 'LN', 'LOG', 'MOD', 'NANVL', 'POWER', 'REMAINDER', 'ROUND', 'SIGN', 'SIN', 'SINH', 'SQRT', 'TAN', 'TANH', 'TRUNC', 'WIDTH_BUCKET'],\n  character: ['CHR', 'CONCAT', 'INITCAP', 'LOWER', 'LPAD', 'LTRIM', 'NLS_INITCAP', 'NLS_LOWER', 'NLSSORT', 'NLS_UPPER', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REPLACE', 'RPAD', 'RTRIM', 'SOUNDEX', 'SUBSTR', 'TRANSLATE', 'TREAT', 'TRIM', 'UPPER', 'NLS_CHARSET_DECL_LEN', 'NLS_CHARSET_ID', 'NLS_CHARSET_NAME', 'ASCII', 'INSTR', 'LENGTH', 'REGEXP_INSTR'],\n  datetime: ['ADD_MONTHS', 'CURRENT_DATE', 'CURRENT_TIMESTAMP', 'DBTIMEZONE', 'EXTRACT', 'FROM_TZ', 'LAST_DAY', 'LOCALTIMESTAMP', 'MONTHS_BETWEEN', 'NEW_TIME', 'NEXT_DAY', 'NUMTODSINTERVAL', 'NUMTOYMINTERVAL', 'ROUND', 'SESSIONTIMEZONE', 'SYS_EXTRACT_UTC', 'SYSDATE', 'SYSTIMESTAMP', 'TO_CHAR', 'TO_TIMESTAMP', 'TO_TIMESTAMP_TZ', 'TO_DSINTERVAL', 'TO_YMINTERVAL', 'TRUNC', 'TZ_OFFSET'],\n  comparison: ['GREATEST', 'LEAST'],\n  conversion: ['ASCIISTR', 'BIN_TO_NUM', 'CAST', 'CHARTOROWID', 'COMPOSE', 'CONVERT', 'DECOMPOSE', 'HEXTORAW', 'NUMTODSINTERVAL', 'NUMTOYMINTERVAL', 'RAWTOHEX', 'RAWTONHEX', 'ROWIDTOCHAR', 'ROWIDTONCHAR', 'SCN_TO_TIMESTAMP', 'TIMESTAMP_TO_SCN', 'TO_BINARY_DOUBLE', 'TO_BINARY_FLOAT', 'TO_CHAR', 'TO_CLOB', 'TO_DATE', 'TO_DSINTERVAL', 'TO_LOB', 'TO_MULTI_BYTE', 'TO_NCHAR', 'TO_NCLOB', 'TO_NUMBER', 'TO_DSINTERVAL', 'TO_SINGLE_BYTE', 'TO_TIMESTAMP', 'TO_TIMESTAMP_TZ', 'TO_YMINTERVAL', 'TO_YMINTERVAL', 'TRANSLATE', 'UNISTR'],\n  largeObject: ['BFILENAME', 'EMPTY_BLOB,', 'EMPTY_CLOB'],\n  collection: ['CARDINALITY', 'COLLECT', 'POWERMULTISET', 'POWERMULTISET_BY_CARDINALITY', 'SET'],\n  hierarchical: ['SYS_CONNECT_BY_PATH'],\n  dataMining: ['CLUSTER_ID', 'CLUSTER_PROBABILITY', 'CLUSTER_SET', 'FEATURE_ID', 'FEATURE_SET', 'FEATURE_VALUE', 'PREDICTION', 'PREDICTION_COST', 'PREDICTION_DETAILS', 'PREDICTION_PROBABILITY', 'PREDICTION_SET'],\n  xml: ['APPENDCHILDXML', 'DELETEXML', 'DEPTH', 'EXTRACT', 'EXISTSNODE', 'EXTRACTVALUE', 'INSERTCHILDXML', 'INSERTXMLBEFORE', 'PATH', 'SYS_DBURIGEN', 'SYS_XMLAGG', 'SYS_XMLGEN', 'UPDATEXML', 'XMLAGG', 'XMLCDATA', 'XMLCOLATTVAL', 'XMLCOMMENT', 'XMLCONCAT', 'XMLFOREST', 'XMLPARSE', 'XMLPI', 'XMLQUERY', 'XMLROOT', 'XMLSEQUENCE', 'XMLSERIALIZE', 'XMLTABLE', 'XMLTRANSFORM'],\n  encoding: ['DECODE', 'DUMP', 'ORA_HASH', 'VSIZE'],\n  nullRelated: ['COALESCE', 'LNNVL', 'NULLIF', 'NVL', 'NVL2'],\n  env: ['SYS_CONTEXT', 'SYS_GUID', 'SYS_TYPEID', 'UID', 'USER', 'USERENV'],\n  aggregate: ['AVG', 'COLLECT', 'CORR', 'CORR_S', 'CORR_K', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'CUME_DIST', 'DENSE_RANK', 'FIRST', 'GROUP_ID', 'GROUPING', 'GROUPING_ID', 'LAST', 'MAX', 'MEDIAN', 'MIN', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'RANK', 'REGR_SLOPE', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_R2', 'REGR_AVGX', 'REGR_AVGY', 'REGR_SXX', 'REGR_SYY', 'REGR_SXY', 'STATS_BINOMIAL_TEST', 'STATS_CROSSTAB', 'STATS_F_TEST', 'STATS_KS_TEST', 'STATS_MODE', 'STATS_MW_TEST', 'STATS_ONE_WAY_ANOVA', 'STATS_T_TEST_ONE', 'STATS_T_TEST_PAIRED', 'STATS_T_TEST_INDEP', 'STATS_T_TEST_INDEPU', 'STATS_WSR_TEST', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'SUM', 'VAR_POP', 'VAR_SAMP', 'VARIANCE'],\n  // Windowing functions (minus the ones already listed in aggregates)\n  window: ['FIRST_VALUE', 'LAG', 'LAST_VALUE', 'LEAD', 'NTILE', 'RATIO_TO_REPORT', 'ROW_NUMBER'],\n  objectReference: ['DEREF', 'MAKE_REF', 'REF', 'REFTOHEX', 'VALUE'],\n  model: ['CV', 'ITERATION_NUMBER', 'PRESENTNNV', 'PRESENTV', 'PREVIOUS'],\n  // Parameterized data types\n  // https://docs.oracle.com/en/database/oracle/oracle-database/19/sqlrf/Data-Types.html\n  dataTypes: [// Oracle builtin data types\n  'VARCHAR2', 'NVARCHAR2', 'NUMBER', 'FLOAT', 'TIMESTAMP', 'INTERVAL YEAR', 'INTERVAL DAY', 'RAW', 'UROWID', 'NCHAR', // ANSI Data Types\n  'CHARACTER', 'CHAR', 'CHARACTER VARYING', 'CHAR VARYING', 'NATIONAL CHARACTER', 'NATIONAL CHAR', 'NATIONAL CHARACTER VARYING', 'NATIONAL CHAR VARYING', 'NCHAR VARYING', 'NUMERIC', 'DECIMAL', 'FLOAT', // SQL/DS and DB2 Data Types\n  'VARCHAR']\n});\n//# sourceMappingURL=plsql.functions.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { EOF_TOKEN, isReserved, isToken, TokenType } from '../../lexer/token.js';\nimport { keywords } from './plsql.keywords.js';\nimport { functions } from './plsql.functions.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT | UNIQUE]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER [SIBLINGS] BY', 'OFFSET', 'FETCH {FIRST | NEXT}', 'FOR UPDATE [OF]', // Data manipulation\n// - insert:\n'INSERT [INTO | ALL INTO]', 'VALUES', // - update:\n'SET', // - merge:\n'MERGE [INTO]', 'WHEN [NOT] MATCHED [THEN]', 'UPDATE SET', // Data definition\n'CREATE [OR REPLACE] [NO FORCE | FORCE] [EDITIONING | EDITIONABLE | EDITIONABLE EDITIONING | NONEDITIONABLE] VIEW', 'CREATE MATERIALIZED VIEW', 'CREATE [GLOBAL TEMPORARY | PRIVATE TEMPORARY | SHARDED | DUPLICATED | IMMUTABLE BLOCKCHAIN | BLOCKCHAIN | IMMUTABLE] TABLE', // other\n'RETURNING']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE [ONLY]', // - delete:\n'DELETE FROM [ONLY]', // - drop table:\n'DROP TABLE', // - alter table:\n'ALTER TABLE', 'ADD', 'DROP {COLUMN | UNUSED COLUMNS | COLUMNS CONTINUE}', 'MODIFY', 'RENAME TO', 'RENAME COLUMN', // - truncate:\n'TRUNCATE TABLE', // other\n'SET SCHEMA', 'BEGIN', 'CONNECT BY', 'DECLARE', 'EXCEPT', 'EXCEPTION', 'LOOP', 'START WITH']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL]', 'EXCEPT', 'INTERSECT']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN', // non-standard joins\n'{CROSS | OUTER} APPLY']);\nconst reservedPhrases = expandPhrases(['ON {UPDATE | DELETE} [SET NULL]', 'ON COMMIT', '{ROWS | RANGE} BETWEEN']);\nexport const plsql = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    supportsXor: true,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    stringTypes: [{\n      quote: \"''-qq\",\n      prefixes: ['N']\n    }, {\n      quote: \"q''\",\n      prefixes: ['N']\n    }],\n    // PL/SQL doesn't actually support escaping of quotes in identifiers,\n    // but for the sake of simpler testing we'll support this anyway\n    // as all other SQL dialects with \"identifiers\" do.\n    identTypes: [`\"\"-qq`],\n    identChars: {\n      rest: '$#'\n    },\n    variableTypes: [{\n      regex: '&{1,2}[A-Za-z][A-Za-z0-9_$#]*'\n    }],\n    paramTypes: {\n      numbered: [':'],\n      named: [':']\n    },\n    paramChars: {},\n    // Empty object used on purpose to not allow $ and # chars as specified in identChars\n    operators: ['**', ':=', '%', '~=', '^=', // '..', // Conflicts with float followed by dot (so \"2..3\" gets parsed as [\"2.\", \".\", \"3\"])\n    '>>', '<<', '=>', '@', '||'],\n    postProcess\n  },\n  formatOptions: {\n    alwaysDenseOperators: ['@'],\n    onelineClauses\n  }\n};\n\nfunction postProcess(tokens) {\n  let previousReservedToken = EOF_TOKEN;\n  return tokens.map(token => {\n    // BY [SET]\n    if (isToken.SET(token) && isToken.BY(previousReservedToken)) {\n      return { ...token,\n        type: TokenType.RESERVED_KEYWORD\n      };\n    }\n\n    if (isReserved(token.type)) {\n      previousReservedToken = token;\n    }\n\n    return token;\n  });\n}\n//# sourceMappingURL=plsql.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://www.postgresql.org/docs/14/functions.html\n  //\n  // https://www.postgresql.org/docs/14/functions-math.html\n  math: ['ABS', 'ACOS', 'ACOSD', 'ACOSH', 'ASIN', 'ASIND', 'ASINH', 'ATAN', 'ATAN2', 'ATAN2D', 'ATAND', 'ATANH', 'CBRT', 'CEIL', 'CEILING', 'COS', 'COSD', 'COSH', 'COT', 'COTD', 'DEGREES', 'DIV', 'EXP', 'FACTORIAL', 'FLOOR', 'GCD', 'LCM', 'LN', 'LOG', 'LOG10', 'MIN_SCALE', 'MOD', 'PI', 'POWER', 'RADIANS', 'RANDOM', 'ROUND', 'SCALE', 'SETSEED', 'SIGN', 'SIN', 'SIND', 'SINH', 'SQRT', 'TAN', 'TAND', 'TANH', 'TRIM_SCALE', 'TRUNC', 'WIDTH_BUCKET'],\n  // https://www.postgresql.org/docs/14/functions-string.html\n  string: ['ABS', 'ASCII', 'BIT_LENGTH', 'BTRIM', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHR', 'CONCAT', 'CONCAT_WS', 'FORMAT', 'INITCAP', 'LEFT', 'LENGTH', 'LOWER', 'LPAD', 'LTRIM', 'MD5', 'NORMALIZE', 'OCTET_LENGTH', 'OVERLAY', 'PARSE_IDENT', 'PG_CLIENT_ENCODING', 'POSITION', 'QUOTE_IDENT', 'QUOTE_LITERAL', 'QUOTE_NULLABLE', 'REGEXP_MATCH', 'REGEXP_MATCHES', 'REGEXP_REPLACE', 'REGEXP_SPLIT_TO_ARRAY', 'REGEXP_SPLIT_TO_TABLE', 'REPEAT', 'REPLACE', 'REVERSE', 'RIGHT', 'RPAD', 'RTRIM', 'SPLIT_PART', 'SPRINTF', 'STARTS_WITH', 'STRING_AGG', 'STRING_TO_ARRAY', 'STRING_TO_TABLE', 'STRPOS', 'SUBSTR', 'SUBSTRING', 'TO_ASCII', 'TO_HEX', 'TRANSLATE', 'TRIM', 'UNISTR', 'UPPER'],\n  // https://www.postgresql.org/docs/14/functions-binarystring.html\n  binary: ['BIT_COUNT', 'BIT_LENGTH', 'BTRIM', 'CONVERT', 'CONVERT_FROM', 'CONVERT_TO', 'DECODE', 'ENCODE', 'GET_BIT', 'GET_BYTE', 'LENGTH', 'LTRIM', 'MD5', 'OCTET_LENGTH', 'OVERLAY', 'POSITION', 'RTRIM', 'SET_BIT', 'SET_BYTE', 'SHA224', 'SHA256', 'SHA384', 'SHA512', 'STRING_AGG', 'SUBSTR', 'SUBSTRING', 'TRIM'],\n  // https://www.postgresql.org/docs/14/functions-bitstring.html\n  bitstring: ['BIT_COUNT', 'BIT_LENGTH', 'GET_BIT', 'LENGTH', 'OCTET_LENGTH', 'OVERLAY', 'POSITION', 'SET_BIT', 'SUBSTRING'],\n  // https://www.postgresql.org/docs/14/functions-matching.html\n  pattern: ['REGEXP_MATCH', 'REGEXP_MATCHES', 'REGEXP_REPLACE', 'REGEXP_SPLIT_TO_ARRAY', 'REGEXP_SPLIT_TO_TABLE'],\n  // https://www.postgresql.org/docs/14/functions-formatting.html\n  datatype: ['TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TO_TIMESTAMP'],\n  // https://www.postgresql.org/docs/14/functions-datetime.html\n  datetime: [// 'AGE',\n  'CLOCK_TIMESTAMP', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'DATE_BIN', 'DATE_PART', 'DATE_TRUNC', 'EXTRACT', 'ISFINITE', 'JUSTIFY_DAYS', 'JUSTIFY_HOURS', 'JUSTIFY_INTERVAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'MAKE_DATE', 'MAKE_INTERVAL', 'MAKE_TIME', 'MAKE_TIMESTAMP', 'MAKE_TIMESTAMPTZ', 'NOW', 'PG_SLEEP', 'PG_SLEEP_FOR', 'PG_SLEEP_UNTIL', 'STATEMENT_TIMESTAMP', 'TIMEOFDAY', 'TO_TIMESTAMP', 'TRANSACTION_TIMESTAMP'],\n  // https://www.postgresql.org/docs/14/functions-enum.html\n  enum: ['ENUM_FIRST', 'ENUM_LAST', 'ENUM_RANGE'],\n  // https://www.postgresql.org/docs/14/functions-geometry.html\n  geometry: ['AREA', 'BOUND_BOX', 'BOX', 'CENTER', 'CIRCLE', 'DIAGONAL', 'DIAMETER', 'HEIGHT', 'ISCLOSED', 'ISOPEN', 'LENGTH', 'LINE', 'LSEG', 'NPOINTS', 'PATH', 'PCLOSE', 'POINT', 'POLYGON', 'POPEN', 'RADIUS', 'SLOPE', 'WIDTH'],\n  // https://www.postgresql.org/docs/14/functions-net.html\n  network: ['ABBREV', 'BROADCAST', 'FAMILY', 'HOST', 'HOSTMASK', 'INET_MERGE', 'INET_SAME_FAMILY', 'MACADDR8_SET7BIT', 'MASKLEN', 'NETMASK', 'NETWORK', 'SET_MASKLEN', 'TEXT', 'TRUNC'],\n  // https://www.postgresql.org/docs/14/functions-textsearch.html\n  textsearch: ['ARRAY_TO_TSVECTOR', 'GET_CURRENT_TS_CONFIG', 'JSONB_TO_TSVECTOR', 'JSON_TO_TSVECTOR', 'LENGTH', 'NUMNODE', 'PHRASETO_TSQUERY', 'PLAINTO_TSQUERY', 'QUERYTREE', 'SETWEIGHT', 'STRIP', 'TO_TSQUERY', 'TO_TSVECTOR', 'TSQUERY_PHRASE', 'TSVECTOR_TO_ARRAY', 'TS_DEBUG', 'TS_DELETE', 'TS_FILTER', 'TS_HEADLINE', 'TS_LEXIZE', 'TS_PARSE', 'TS_RANK', 'TS_RANK_CD', 'TS_REWRITE', 'TS_STAT', 'TS_TOKEN_TYPE', 'WEBSEARCH_TO_TSQUERY'],\n  // https://www.postgresql.org/docs/14/functions-uuid.html\n  uuid: ['UUID'],\n  // https://www.postgresql.org/docs/14/functions-xml.html\n  xml: ['CURSOR_TO_XML', 'CURSOR_TO_XMLSCHEMA', 'DATABASE_TO_XML', 'DATABASE_TO_XMLSCHEMA', 'DATABASE_TO_XML_AND_XMLSCHEMA', 'NEXTVAL', 'QUERY_TO_XML', 'QUERY_TO_XMLSCHEMA', 'QUERY_TO_XML_AND_XMLSCHEMA', 'SCHEMA_TO_XML', 'SCHEMA_TO_XMLSCHEMA', 'SCHEMA_TO_XML_AND_XMLSCHEMA', 'STRING', 'TABLE_TO_XML', 'TABLE_TO_XMLSCHEMA', 'TABLE_TO_XML_AND_XMLSCHEMA', 'XMLAGG', 'XMLCOMMENT', 'XMLCONCAT', 'XMLELEMENT', 'XMLEXISTS', 'XMLFOREST', 'XMLPARSE', 'XMLPI', 'XMLROOT', 'XMLSERIALIZE', 'XMLTABLE', 'XML_IS_WELL_FORMED', 'XML_IS_WELL_FORMED_CONTENT', 'XML_IS_WELL_FORMED_DOCUMENT', 'XPATH', 'XPATH_EXISTS'],\n  // https://www.postgresql.org/docs/14/functions-json.html\n  json: ['ARRAY_TO_JSON', 'JSONB_AGG', 'JSONB_ARRAY_ELEMENTS', 'JSONB_ARRAY_ELEMENTS_TEXT', 'JSONB_ARRAY_LENGTH', 'JSONB_BUILD_ARRAY', 'JSONB_BUILD_OBJECT', 'JSONB_EACH', 'JSONB_EACH_TEXT', 'JSONB_EXTRACT_PATH', 'JSONB_EXTRACT_PATH_TEXT', 'JSONB_INSERT', 'JSONB_OBJECT', 'JSONB_OBJECT_AGG', 'JSONB_OBJECT_KEYS', 'JSONB_PATH_EXISTS', 'JSONB_PATH_EXISTS_TZ', 'JSONB_PATH_MATCH', 'JSONB_PATH_MATCH_TZ', 'JSONB_PATH_QUERY', 'JSONB_PATH_QUERY_ARRAY', 'JSONB_PATH_QUERY_ARRAY_TZ', 'JSONB_PATH_QUERY_FIRST', 'JSONB_PATH_QUERY_FIRST_TZ', 'JSONB_PATH_QUERY_TZ', 'JSONB_POPULATE_RECORD', 'JSONB_POPULATE_RECORDSET', 'JSONB_PRETTY', 'JSONB_SET', 'JSONB_SET_LAX', 'JSONB_STRIP_NULLS', 'JSONB_TO_RECORD', 'JSONB_TO_RECORDSET', 'JSONB_TYPEOF', 'JSON_AGG', 'JSON_ARRAY_ELEMENTS', 'JSON_ARRAY_ELEMENTS_TEXT', 'JSON_ARRAY_LENGTH', 'JSON_BUILD_ARRAY', 'JSON_BUILD_OBJECT', 'JSON_EACH', 'JSON_EACH_TEXT', 'JSON_EXTRACT_PATH', 'JSON_EXTRACT_PATH_TEXT', 'JSON_OBJECT', 'JSON_OBJECT_AGG', 'JSON_OBJECT_KEYS', 'JSON_POPULATE_RECORD', 'JSON_POPULATE_RECORDSET', 'JSON_STRIP_NULLS', 'JSON_TO_RECORD', 'JSON_TO_RECORDSET', 'JSON_TYPEOF', 'ROW_TO_JSON', 'TO_JSON', 'TO_JSONB', 'TO_TIMESTAMP'],\n  // https://www.postgresql.org/docs/14/functions-sequence.html\n  sequence: ['CURRVAL', 'LASTVAL', 'NEXTVAL', 'SETVAL'],\n  // https://www.postgresql.org/docs/14/functions-conditional.html\n  conditional: [// 'CASE',\n  'COALESCE', 'GREATEST', 'LEAST', 'NULLIF'],\n  // https://www.postgresql.org/docs/14/functions-array.html\n  array: ['ARRAY_AGG', 'ARRAY_APPEND', 'ARRAY_CAT', 'ARRAY_DIMS', 'ARRAY_FILL', 'ARRAY_LENGTH', 'ARRAY_LOWER', 'ARRAY_NDIMS', 'ARRAY_POSITION', 'ARRAY_POSITIONS', 'ARRAY_PREPEND', 'ARRAY_REMOVE', 'ARRAY_REPLACE', 'ARRAY_TO_STRING', 'ARRAY_UPPER', 'CARDINALITY', 'STRING_TO_ARRAY', 'TRIM_ARRAY', 'UNNEST'],\n  // https://www.postgresql.org/docs/14/functions-range.html\n  range: ['ISEMPTY', 'LOWER', 'LOWER_INC', 'LOWER_INF', 'MULTIRANGE', 'RANGE_MERGE', 'UPPER', 'UPPER_INC', 'UPPER_INF'],\n  // https://www.postgresql.org/docs/14/functions-aggregate.html\n  aggregate: [// 'ANY',\n  'ARRAY_AGG', 'AVG', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'BOOL_AND', 'BOOL_OR', 'COALESCE', 'CORR', 'COUNT', 'COVAR_POP', 'COVAR_SAMP', 'CUME_DIST', 'DENSE_RANK', 'EVERY', 'GROUPING', 'JSONB_AGG', 'JSONB_OBJECT_AGG', 'JSON_AGG', 'JSON_OBJECT_AGG', 'MAX', 'MIN', 'MODE', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'RANGE_AGG', 'RANGE_INTERSECT_AGG', 'RANK', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', // 'SOME',\n  'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STRING_AGG', 'SUM', 'TO_JSON', 'TO_JSONB', 'VARIANCE', 'VAR_POP', 'VAR_SAMP', 'XMLAGG'],\n  // https://www.postgresql.org/docs/14/functions-window.html\n  window: ['CUME_DIST', 'DENSE_RANK', 'FIRST_VALUE', 'LAG', 'LAST_VALUE', 'LEAD', 'NTH_VALUE', 'NTILE', 'PERCENT_RANK', 'RANK', 'ROW_NUMBER'],\n  // https://www.postgresql.org/docs/14/functions-srf.html\n  set: ['GENERATE_SERIES', 'GENERATE_SUBSCRIPTS'],\n  // https://www.postgresql.org/docs/14/functions-info.html\n  sysInfo: ['ACLDEFAULT', 'ACLEXPLODE', 'COL_DESCRIPTION', 'CURRENT_CATALOG', 'CURRENT_DATABASE', 'CURRENT_QUERY', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_SCHEMAS', 'CURRENT_USER', 'FORMAT_TYPE', 'HAS_ANY_COLUMN_PRIVILEGE', 'HAS_COLUMN_PRIVILEGE', 'HAS_DATABASE_PRIVILEGE', 'HAS_FOREIGN_DATA_WRAPPER_PRIVILEGE', 'HAS_FUNCTION_PRIVILEGE', 'HAS_LANGUAGE_PRIVILEGE', 'HAS_SCHEMA_PRIVILEGE', 'HAS_SEQUENCE_PRIVILEGE', 'HAS_SERVER_PRIVILEGE', 'HAS_TABLESPACE_PRIVILEGE', 'HAS_TABLE_PRIVILEGE', 'HAS_TYPE_PRIVILEGE', 'INET_CLIENT_ADDR', 'INET_CLIENT_PORT', 'INET_SERVER_ADDR', 'INET_SERVER_PORT', 'MAKEACLITEM', 'OBJ_DESCRIPTION', 'PG_BACKEND_PID', 'PG_BLOCKING_PIDS', 'PG_COLLATION_IS_VISIBLE', 'PG_CONF_LOAD_TIME', 'PG_CONTROL_CHECKPOINT', 'PG_CONTROL_INIT', 'PG_CONTROL_SYSTEM', 'PG_CONVERSION_IS_VISIBLE', 'PG_CURRENT_LOGFILE', 'PG_CURRENT_SNAPSHOT', 'PG_CURRENT_XACT_ID', 'PG_CURRENT_XACT_ID_IF_ASSIGNED', 'PG_DESCRIBE_OBJECT', 'PG_FUNCTION_IS_VISIBLE', 'PG_GET_CATALOG_FOREIGN_KEYS', 'PG_GET_CONSTRAINTDEF', 'PG_GET_EXPR', 'PG_GET_FUNCTIONDEF', 'PG_GET_FUNCTION_ARGUMENTS', 'PG_GET_FUNCTION_IDENTITY_ARGUMENTS', 'PG_GET_FUNCTION_RESULT', 'PG_GET_INDEXDEF', 'PG_GET_KEYWORDS', 'PG_GET_OBJECT_ADDRESS', 'PG_GET_OWNED_SEQUENCE', 'PG_GET_RULEDEF', 'PG_GET_SERIAL_SEQUENCE', 'PG_GET_STATISTICSOBJDEF', 'PG_GET_TRIGGERDEF', 'PG_GET_USERBYID', 'PG_GET_VIEWDEF', 'PG_HAS_ROLE', 'PG_IDENTIFY_OBJECT', 'PG_IDENTIFY_OBJECT_AS_ADDRESS', 'PG_INDEXAM_HAS_PROPERTY', 'PG_INDEX_COLUMN_HAS_PROPERTY', 'PG_INDEX_HAS_PROPERTY', 'PG_IS_OTHER_TEMP_SCHEMA', 'PG_JIT_AVAILABLE', 'PG_LAST_COMMITTED_XACT', 'PG_LISTENING_CHANNELS', 'PG_MY_TEMP_SCHEMA', 'PG_NOTIFICATION_QUEUE_USAGE', 'PG_OPCLASS_IS_VISIBLE', 'PG_OPERATOR_IS_VISIBLE', 'PG_OPFAMILY_IS_VISIBLE', 'PG_OPTIONS_TO_TABLE', 'PG_POSTMASTER_START_TIME', 'PG_SAFE_SNAPSHOT_BLOCKING_PIDS', 'PG_SNAPSHOT_XIP', 'PG_SNAPSHOT_XMAX', 'PG_SNAPSHOT_XMIN', 'PG_STATISTICS_OBJ_IS_VISIBLE', 'PG_TABLESPACE_DATABASES', 'PG_TABLESPACE_LOCATION', 'PG_TABLE_IS_VISIBLE', 'PG_TRIGGER_DEPTH', 'PG_TS_CONFIG_IS_VISIBLE', 'PG_TS_DICT_IS_VISIBLE', 'PG_TS_PARSER_IS_VISIBLE', 'PG_TS_TEMPLATE_IS_VISIBLE', 'PG_TYPEOF', 'PG_TYPE_IS_VISIBLE', 'PG_VISIBLE_IN_SNAPSHOT', 'PG_XACT_COMMIT_TIMESTAMP', 'PG_XACT_COMMIT_TIMESTAMP_ORIGIN', 'PG_XACT_STATUS', 'PQSERVERVERSION', 'ROW_SECURITY_ACTIVE', 'SESSION_USER', 'SHOBJ_DESCRIPTION', 'TO_REGCLASS', 'TO_REGCOLLATION', 'TO_REGNAMESPACE', 'TO_REGOPER', 'TO_REGOPERATOR', 'TO_REGPROC', 'TO_REGPROCEDURE', 'TO_REGROLE', 'TO_REGTYPE', 'TXID_CURRENT', 'TXID_CURRENT_IF_ASSIGNED', 'TXID_CURRENT_SNAPSHOT', 'TXID_SNAPSHOT_XIP', 'TXID_SNAPSHOT_XMAX', 'TXID_SNAPSHOT_XMIN', 'TXID_STATUS', 'TXID_VISIBLE_IN_SNAPSHOT', 'USER', 'VERSION'],\n  // https://www.postgresql.org/docs/14/functions-admin.html\n  sysAdmin: ['BRIN_DESUMMARIZE_RANGE', 'BRIN_SUMMARIZE_NEW_VALUES', 'BRIN_SUMMARIZE_RANGE', 'CONVERT_FROM', 'CURRENT_SETTING', 'GIN_CLEAN_PENDING_LIST', 'PG_ADVISORY_LOCK', 'PG_ADVISORY_LOCK_SHARED', 'PG_ADVISORY_UNLOCK', 'PG_ADVISORY_UNLOCK_ALL', 'PG_ADVISORY_UNLOCK_SHARED', 'PG_ADVISORY_XACT_LOCK', 'PG_ADVISORY_XACT_LOCK_SHARED', 'PG_BACKUP_START_TIME', 'PG_CANCEL_BACKEND', 'PG_COLLATION_ACTUAL_VERSION', 'PG_COLUMN_COMPRESSION', 'PG_COLUMN_SIZE', 'PG_COPY_LOGICAL_REPLICATION_SLOT', 'PG_COPY_PHYSICAL_REPLICATION_SLOT', 'PG_CREATE_LOGICAL_REPLICATION_SLOT', 'PG_CREATE_PHYSICAL_REPLICATION_SLOT', 'PG_CREATE_RESTORE_POINT', 'PG_CURRENT_WAL_FLUSH_LSN', 'PG_CURRENT_WAL_INSERT_LSN', 'PG_CURRENT_WAL_LSN', 'PG_DATABASE_SIZE', 'PG_DROP_REPLICATION_SLOT', 'PG_EXPORT_SNAPSHOT', 'PG_FILENODE_RELATION', 'PG_GET_WAL_REPLAY_PAUSE_STATE', 'PG_IMPORT_SYSTEM_COLLATIONS', 'PG_INDEXES_SIZE', 'PG_IS_IN_BACKUP', 'PG_IS_IN_RECOVERY', 'PG_IS_WAL_REPLAY_PAUSED', 'PG_LAST_WAL_RECEIVE_LSN', 'PG_LAST_WAL_REPLAY_LSN', 'PG_LAST_XACT_REPLAY_TIMESTAMP', 'PG_LOGICAL_EMIT_MESSAGE', 'PG_LOGICAL_SLOT_GET_BINARY_CHANGES', 'PG_LOGICAL_SLOT_GET_CHANGES', 'PG_LOGICAL_SLOT_PEEK_BINARY_CHANGES', 'PG_LOGICAL_SLOT_PEEK_CHANGES', 'PG_LOG_BACKEND_MEMORY_CONTEXTS', 'PG_LS_ARCHIVE_STATUSDIR', 'PG_LS_DIR', 'PG_LS_LOGDIR', 'PG_LS_TMPDIR', 'PG_LS_WALDIR', 'PG_PARTITION_ANCESTORS', 'PG_PARTITION_ROOT', 'PG_PARTITION_TREE', 'PG_PROMOTE', 'PG_READ_BINARY_FILE', 'PG_READ_FILE', 'PG_RELATION_FILENODE', 'PG_RELATION_FILEPATH', 'PG_RELATION_SIZE', 'PG_RELOAD_CONF', 'PG_REPLICATION_ORIGIN_ADVANCE', 'PG_REPLICATION_ORIGIN_CREATE', 'PG_REPLICATION_ORIGIN_DROP', 'PG_REPLICATION_ORIGIN_OID', 'PG_REPLICATION_ORIGIN_PROGRESS', 'PG_REPLICATION_ORIGIN_SESSION_IS_SETUP', 'PG_REPLICATION_ORIGIN_SESSION_PROGRESS', 'PG_REPLICATION_ORIGIN_SESSION_RESET', 'PG_REPLICATION_ORIGIN_SESSION_SETUP', 'PG_REPLICATION_ORIGIN_XACT_RESET', 'PG_REPLICATION_ORIGIN_XACT_SETUP', 'PG_REPLICATION_SLOT_ADVANCE', 'PG_ROTATE_LOGFILE', 'PG_SIZE_BYTES', 'PG_SIZE_PRETTY', 'PG_START_BACKUP', 'PG_STAT_FILE', 'PG_STOP_BACKUP', 'PG_SWITCH_WAL', 'PG_TABLESPACE_SIZE', 'PG_TABLE_SIZE', 'PG_TERMINATE_BACKEND', 'PG_TOTAL_RELATION_SIZE', 'PG_TRY_ADVISORY_LOCK', 'PG_TRY_ADVISORY_LOCK_SHARED', 'PG_TRY_ADVISORY_XACT_LOCK', 'PG_TRY_ADVISORY_XACT_LOCK_SHARED', 'PG_WALFILE_NAME', 'PG_WALFILE_NAME_OFFSET', 'PG_WAL_LSN_DIFF', 'PG_WAL_REPLAY_PAUSE', 'PG_WAL_REPLAY_RESUME', 'SET_CONFIG'],\n  // https://www.postgresql.org/docs/14/functions-trigger.html\n  trigger: ['SUPPRESS_REDUNDANT_UPDATES_TRIGGER', 'TSVECTOR_UPDATE_TRIGGER', 'TSVECTOR_UPDATE_TRIGGER_COLUMN'],\n  // https://www.postgresql.org/docs/14/functions-event-triggers.html\n  eventTrigger: ['PG_EVENT_TRIGGER_DDL_COMMANDS', 'PG_EVENT_TRIGGER_DROPPED_OBJECTS', 'PG_EVENT_TRIGGER_TABLE_REWRITE_OID', 'PG_EVENT_TRIGGER_TABLE_REWRITE_REASON', 'PG_GET_OBJECT_ADDRESS'],\n  // https://www.postgresql.org/docs/14/functions-statistics.html\n  stats: ['PG_MCV_LIST_ITEMS'],\n  cast: ['CAST'],\n  // Parameterized data types\n  // https://www.postgresql.org/docs/current/datatype.html\n  dataTypes: ['BIT', 'BIT VARYING', 'CHARACTER', 'CHARACTER VARYING', 'VARCHAR', 'CHAR', 'DECIMAL', 'NUMERIC', 'TIME', 'TIMESTAMP', 'ENUM']\n});\n//# sourceMappingURL=postgresql.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://www.postgresql.org/docs/14/sql-keywords-appendix.html\n  all: ['ABORT', 'ABSOLUTE', 'ACCESS', 'ACTION', 'ADD', 'ADMIN', 'AFTER', 'AGGREGATE', 'ALL', // reserved\n  'ALSO', 'ALTER', 'ALWAYS', 'ANALYSE', // reserved\n  'ANALYZE', // reserved\n  'AND', // reserved\n  'ANY', // reserved\n  'ARRAY', // reserved, requires AS\n  'AS', // reserved, requires AS\n  'ASC', // reserved\n  'ASENSITIVE', 'ASSERTION', 'ASSIGNMENT', 'ASYMMETRIC', // reserved\n  'AT', 'ATOMIC', 'ATTACH', 'ATTRIBUTE', 'AUTHORIZATION', // reserved (can be function or type)\n  'BACKWARD', 'BEFORE', 'BEGIN', 'BETWEEN', // (cannot be function or type)\n  'BIGINT', // (cannot be function or type)\n  'BINARY', // reserved (can be function or type)\n  'BIT', // (cannot be function or type)\n  'BOOLEAN', // (cannot be function or type)\n  'BOTH', // reserved\n  'BREADTH', 'BY', 'CACHE', 'CALL', 'CALLED', 'CASCADE', 'CASCADED', 'CASE', // reserved\n  'CAST', // reserved\n  'CATALOG', 'CHAIN', 'CHAR', // (cannot be function or type), requires AS\n  'CHARACTER', // (cannot be function or type), requires AS\n  'CHARACTERISTICS', 'CHECK', // reserved\n  'CHECKPOINT', 'CLASS', 'CLOSE', 'CLUSTER', 'COALESCE', // (cannot be function or type)\n  'COLLATE', // reserved\n  'COLLATION', // reserved (can be function or type)\n  'COLUMN', // reserved\n  'COLUMNS', 'COMMENT', 'COMMENTS', 'COMMIT', 'COMMITTED', 'COMPRESSION', 'CONCURRENTLY', // reserved (can be function or type)\n  'CONFIGURATION', 'CONFLICT', 'CONNECTION', 'CONSTRAINT', // reserved\n  'CONSTRAINTS', 'CONTENT', 'CONTINUE', 'CONVERSION', 'COPY', 'COST', 'CREATE', // reserved, requires AS\n  'CROSS', // reserved (can be function or type)\n  'CSV', 'CUBE', 'CURRENT', 'CURRENT_CATALOG', // reserved\n  'CURRENT_DATE', // reserved\n  'CURRENT_ROLE', // reserved\n  'CURRENT_SCHEMA', // reserved (can be function or type)\n  'CURRENT_TIME', // reserved\n  'CURRENT_TIMESTAMP', // reserved\n  'CURRENT_USER', // reserved\n  'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DAY', // requires AS\n  'DEALLOCATE', 'DEC', // (cannot be function or type)\n  'DECIMAL', // (cannot be function or type)\n  'DECLARE', 'DEFAULT', // reserved\n  'DEFAULTS', 'DEFERRABLE', // reserved\n  'DEFERRED', 'DEFINER', 'DELETE', 'DELIMITER', 'DELIMITERS', 'DEPENDS', 'DEPTH', 'DESC', // reserved\n  'DETACH', 'DICTIONARY', 'DISABLE', 'DISCARD', 'DISTINCT', // reserved\n  'DO', // reserved\n  'DOCUMENT', 'DOMAIN', 'DOUBLE', 'DROP', 'EACH', 'ELSE', // reserved\n  'ENABLE', 'ENCODING', 'ENCRYPTED', 'END', // reserved\n  'ENUM', 'ESCAPE', 'EVENT', 'EXCEPT', // reserved, requires AS\n  'EXCLUDE', 'EXCLUDING', 'EXCLUSIVE', 'EXECUTE', 'EXISTS', // (cannot be function or type)\n  'EXPLAIN', 'EXPRESSION', 'EXTENSION', 'EXTERNAL', 'EXTRACT', // (cannot be function or type)\n  'FALSE', // reserved\n  'FAMILY', 'FETCH', // reserved, requires AS\n  'FILTER', // requires AS\n  'FINALIZE', 'FIRST', 'FLOAT', // (cannot be function or type)\n  'FOLLOWING', 'FOR', // reserved, requires AS\n  'FORCE', 'FOREIGN', // reserved\n  'FORWARD', 'FREEZE', // reserved (can be function or type)\n  'FROM', // reserved, requires AS\n  'FULL', // reserved (can be function or type)\n  'FUNCTION', 'FUNCTIONS', 'GENERATED', 'GLOBAL', 'GRANT', // reserved, requires AS\n  'GRANTED', 'GREATEST', // (cannot be function or type)\n  'GROUP', // reserved, requires AS\n  'GROUPING', // (cannot be function or type)\n  'GROUPS', 'HANDLER', 'HAVING', // reserved, requires AS\n  'HEADER', 'HOLD', 'HOUR', // requires AS\n  'IDENTITY', 'IF', 'ILIKE', // reserved (can be function or type)\n  'IMMEDIATE', 'IMMUTABLE', 'IMPLICIT', 'IMPORT', 'IN', // reserved\n  'INCLUDE', 'INCLUDING', 'INCREMENT', 'INDEX', 'INDEXES', 'INHERIT', 'INHERITS', 'INITIALLY', // reserved\n  'INLINE', 'INNER', // reserved (can be function or type)\n  'INOUT', // (cannot be function or type)\n  'INPUT', 'INSENSITIVE', 'INSERT', 'INSTEAD', 'INT', // (cannot be function or type)\n  'INTEGER', // (cannot be function or type)\n  'INTERSECT', // reserved, requires AS\n  'INTERVAL', // (cannot be function or type)\n  'INTO', // reserved, requires AS\n  'INVOKER', 'IS', // reserved (can be function or type)\n  'ISNULL', // reserved (can be function or type), requires AS\n  'ISOLATION', 'JOIN', // reserved (can be function or type)\n  'KEY', 'LABEL', 'LANGUAGE', 'LARGE', 'LAST', 'LATERAL', // reserved\n  'LEADING', // reserved\n  'LEAKPROOF', 'LEAST', // (cannot be function or type)\n  'LEFT', // reserved (can be function or type)\n  'LEVEL', 'LIKE', // reserved (can be function or type)\n  'LIMIT', // reserved, requires AS\n  'LISTEN', 'LOAD', 'LOCAL', 'LOCALTIME', // reserved\n  'LOCALTIMESTAMP', // reserved\n  'LOCATION', 'LOCK', 'LOCKED', 'LOGGED', 'MAPPING', 'MATCH', 'MATERIALIZED', 'MAXVALUE', 'METHOD', 'MINUTE', // requires AS\n  'MINVALUE', 'MODE', 'MONTH', // requires AS\n  'MOVE', 'NAME', 'NAMES', 'NATIONAL', // (cannot be function or type)\n  'NATURAL', // reserved (can be function or type)\n  'NCHAR', // (cannot be function or type)\n  'NEW', 'NEXT', 'NFC', 'NFD', 'NFKC', 'NFKD', 'NO', 'NONE', // (cannot be function or type)\n  'NORMALIZE', // (cannot be function or type)\n  'NORMALIZED', 'NOT', // reserved\n  'NOTHING', 'NOTIFY', 'NOTNULL', // reserved (can be function or type), requires AS\n  'NOWAIT', 'NULL', // reserved\n  'NULLIF', // (cannot be function or type)\n  'NULLS', 'NUMERIC', // (cannot be function or type)\n  'OBJECT', 'OF', 'OFF', 'OFFSET', // reserved, requires AS\n  'OIDS', 'OLD', 'ON', // reserved, requires AS\n  'ONLY', // reserved\n  'OPERATOR', 'OPTION', 'OPTIONS', 'OR', // reserved\n  'ORDER', // reserved, requires AS\n  'ORDINALITY', 'OTHERS', 'OUT', // (cannot be function or type)\n  'OUTER', // reserved (can be function or type)\n  'OVER', // requires AS\n  'OVERLAPS', // reserved (can be function or type), requires AS\n  'OVERLAY', // (cannot be function or type)\n  'OVERRIDING', 'OWNED', 'OWNER', 'PARALLEL', 'PARSER', 'PARTIAL', 'PARTITION', 'PASSING', 'PASSWORD', 'PLACING', // reserved\n  'PLANS', 'POLICY', 'POSITION', // (cannot be function or type)\n  'PRECEDING', 'PRECISION', // (cannot be function or type), requires AS\n  'PREPARE', 'PREPARED', 'PRESERVE', 'PRIMARY', // reserved\n  'PRIOR', 'PRIVILEGES', 'PROCEDURAL', 'PROCEDURE', 'PROCEDURES', 'PROGRAM', 'PUBLICATION', 'QUOTE', 'RANGE', 'READ', 'REAL', // (cannot be function or type)\n  'REASSIGN', 'RECHECK', 'RECURSIVE', 'REF', 'REFERENCES', // reserved\n  'REFERENCING', 'REFRESH', 'REINDEX', 'RELATIVE', 'RELEASE', 'RENAME', 'REPEATABLE', 'REPLACE', 'REPLICA', 'RESET', 'RESTART', 'RESTRICT', 'RETURN', 'RETURNING', // reserved, requires AS\n  'RETURNS', 'REVOKE', 'RIGHT', // reserved (can be function or type)\n  'ROLE', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROUTINES', 'ROW', // (cannot be function or type)\n  'ROWS', 'RULE', 'SAVEPOINT', 'SCHEMA', 'SCHEMAS', 'SCROLL', 'SEARCH', 'SECOND', // requires AS\n  'SECURITY', 'SELECT', // reserved\n  'SEQUENCE', 'SEQUENCES', 'SERIALIZABLE', 'SERVER', 'SESSION', 'SESSION_USER', // reserved\n  'SET', 'SETOF', // (cannot be function or type)\n  'SETS', 'SHARE', 'SHOW', 'SIMILAR', // reserved (can be function or type)\n  'SIMPLE', 'SKIP', 'SMALLINT', // (cannot be function or type)\n  'SNAPSHOT', 'SOME', // reserved\n  'SQL', 'STABLE', 'STANDALONE', 'START', 'STATEMENT', 'STATISTICS', 'STDIN', 'STDOUT', 'STORAGE', 'STORED', 'STRICT', 'STRIP', 'SUBSCRIPTION', 'SUBSTRING', // (cannot be function or type)\n  'SUPPORT', 'SYMMETRIC', // reserved\n  'SYSID', 'SYSTEM', 'TABLE', // reserved\n  'TABLES', 'TABLESAMPLE', // reserved (can be function or type)\n  'TABLESPACE', 'TEMP', 'TEMPLATE', 'TEMPORARY', 'TEXT', 'THEN', // reserved\n  'TIES', 'TIME', // (cannot be function or type)\n  'TIMESTAMP', // (cannot be function or type)\n  'TO', // reserved, requires AS\n  'TRAILING', // reserved\n  'TRANSACTION', 'TRANSFORM', 'TREAT', // (cannot be function or type)\n  'TRIGGER', 'TRIM', // (cannot be function or type)\n  'TRUE', // reserved\n  'TRUNCATE', 'TRUSTED', 'TYPE', 'TYPES', 'UESCAPE', 'UNBOUNDED', 'UNCOMMITTED', 'UNENCRYPTED', 'UNION', // reserved, requires AS\n  'UNIQUE', // reserved\n  'UNKNOWN', 'UNLISTEN', 'UNLOGGED', 'UNTIL', 'UPDATE', 'USER', // reserved\n  'USING', // reserved\n  'VACUUM', 'VALID', 'VALIDATE', 'VALIDATOR', 'VALUE', 'VALUES', // (cannot be function or type)\n  'VARCHAR', // (cannot be function or type)\n  'VARIADIC', // reserved\n  'VARYING', // requires AS\n  'VERBOSE', // reserved (can be function or type)\n  'VERSION', 'VIEW', 'VIEWS', 'VOLATILE', 'WHEN', // reserved\n  'WHERE', // reserved, requires AS\n  'WHITESPACE', 'WINDOW', // reserved, requires AS\n  'WITH', // reserved, requires AS\n  'WITHIN', // requires AS\n  'WITHOUT', // requires AS\n  'WORK', 'WRAPPER', 'WRITE', 'XML', 'XMLATTRIBUTES', // (cannot be function or type)\n  'XMLCONCAT', // (cannot be function or type)\n  'XMLELEMENT', // (cannot be function or type)\n  'XMLEXISTS', // (cannot be function or type)\n  'XMLFOREST', // (cannot be function or type)\n  'XMLNAMESPACES', // (cannot be function or type)\n  'XMLPARSE', // (cannot be function or type)\n  'XMLPI', // (cannot be function or type)\n  'XMLROOT', // (cannot be function or type)\n  'XMLSERIALIZE', // (cannot be function or type)\n  'XMLTABLE', // (cannot be function or type)\n  'YEAR', // requires AS\n  'YES', 'ZONE']\n});\n//# sourceMappingURL=postgresql.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './postgresql.functions.js';\nimport { keywords } from './postgresql.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY [ALL | DISTINCT]', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'FETCH {FIRST | NEXT}', 'FOR {UPDATE | NO KEY UPDATE | SHARE | KEY SHARE} [OF]', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'SET', // Data definition\n'CREATE [OR REPLACE] [TEMP | TEMPORARY] [RECURSIVE] VIEW', 'CREATE MATERIALIZED VIEW [IF NOT EXISTS]', 'CREATE [GLOBAL | LOCAL] [TEMPORARY | TEMP | UNLOGGED] TABLE [IF NOT EXISTS]', // other\n'RETURNING']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE [ONLY]', 'WHERE CURRENT OF', // - insert:\n'ON CONFLICT', // - delete:\n'DELETE FROM [ONLY]', // - drop table:\n'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE [IF EXISTS] [ONLY]', 'ALTER TABLE ALL IN TABLESPACE', 'RENAME [COLUMN]', 'RENAME TO', 'ADD [COLUMN] [IF NOT EXISTS]', 'DROP [COLUMN] [IF EXISTS]', 'ALTER [COLUMN]', '[SET DATA] TYPE', // for alter column\n'{SET | DROP} DEFAULT', // for alter column\n'{SET | DROP} NOT NULL', // for alter column\n// - truncate:\n'TRUNCATE [TABLE] [ONLY]', // other\n'SET SCHEMA', 'AFTER', // https://www.postgresql.org/docs/14/sql-commands.html\n'ABORT', 'ALTER AGGREGATE', 'ALTER COLLATION', 'ALTER CONVERSION', 'ALTER DATABASE', 'ALTER DEFAULT PRIVILEGES', 'ALTER DOMAIN', 'ALTER EVENT TRIGGER', 'ALTER EXTENSION', 'ALTER FOREIGN DATA WRAPPER', 'ALTER FOREIGN TABLE', 'ALTER FUNCTION', 'ALTER GROUP', 'ALTER INDEX', 'ALTER LANGUAGE', 'ALTER LARGE OBJECT', 'ALTER MATERIALIZED VIEW', 'ALTER OPERATOR', 'ALTER OPERATOR CLASS', 'ALTER OPERATOR FAMILY', 'ALTER POLICY', 'ALTER PROCEDURE', 'ALTER PUBLICATION', 'ALTER ROLE', 'ALTER ROUTINE', 'ALTER RULE', 'ALTER SCHEMA', 'ALTER SEQUENCE', 'ALTER SERVER', 'ALTER STATISTICS', 'ALTER SUBSCRIPTION', 'ALTER SYSTEM', 'ALTER TABLESPACE', 'ALTER TEXT SEARCH CONFIGURATION', 'ALTER TEXT SEARCH DICTIONARY', 'ALTER TEXT SEARCH PARSER', 'ALTER TEXT SEARCH TEMPLATE', 'ALTER TRIGGER', 'ALTER TYPE', 'ALTER USER', 'ALTER USER MAPPING', 'ALTER VIEW', 'ANALYZE', 'BEGIN', 'CALL', 'CHECKPOINT', 'CLOSE', 'CLUSTER', 'COMMENT', 'COMMIT', 'COMMIT PREPARED', 'COPY', 'CREATE ACCESS METHOD', 'CREATE AGGREGATE', 'CREATE CAST', 'CREATE COLLATION', 'CREATE CONVERSION', 'CREATE DATABASE', 'CREATE DOMAIN', 'CREATE EVENT TRIGGER', 'CREATE EXTENSION', 'CREATE FOREIGN DATA WRAPPER', 'CREATE FOREIGN TABLE', 'CREATE FUNCTION', 'CREATE GROUP', 'CREATE INDEX', 'CREATE LANGUAGE', 'CREATE OPERATOR', 'CREATE OPERATOR CLASS', 'CREATE OPERATOR FAMILY', 'CREATE POLICY', 'CREATE PROCEDURE', 'CREATE PUBLICATION', 'CREATE ROLE', 'CREATE RULE', 'CREATE SCHEMA', 'CREATE SEQUENCE', 'CREATE SERVER', 'CREATE STATISTICS', 'CREATE SUBSCRIPTION', 'CREATE TABLESPACE', 'CREATE TEXT SEARCH CONFIGURATION', 'CREATE TEXT SEARCH DICTIONARY', 'CREATE TEXT SEARCH PARSER', 'CREATE TEXT SEARCH TEMPLATE', 'CREATE TRANSFORM', 'CREATE TRIGGER', 'CREATE TYPE', 'CREATE USER', 'CREATE USER MAPPING', 'DEALLOCATE', 'DECLARE', 'DISCARD', 'DROP ACCESS METHOD', 'DROP AGGREGATE', 'DROP CAST', 'DROP COLLATION', 'DROP CONVERSION', 'DROP DATABASE', 'DROP DOMAIN', 'DROP EVENT TRIGGER', 'DROP EXTENSION', 'DROP FOREIGN DATA WRAPPER', 'DROP FOREIGN TABLE', 'DROP FUNCTION', 'DROP GROUP', 'DROP INDEX', 'DROP LANGUAGE', 'DROP MATERIALIZED VIEW', 'DROP OPERATOR', 'DROP OPERATOR CLASS', 'DROP OPERATOR FAMILY', 'DROP OWNED', 'DROP POLICY', 'DROP PROCEDURE', 'DROP PUBLICATION', 'DROP ROLE', 'DROP ROUTINE', 'DROP RULE', 'DROP SCHEMA', 'DROP SEQUENCE', 'DROP SERVER', 'DROP STATISTICS', 'DROP SUBSCRIPTION', 'DROP TABLESPACE', 'DROP TEXT SEARCH CONFIGURATION', 'DROP TEXT SEARCH DICTIONARY', 'DROP TEXT SEARCH PARSER', 'DROP TEXT SEARCH TEMPLATE', 'DROP TRANSFORM', 'DROP TRIGGER', 'DROP TYPE', 'DROP USER', 'DROP USER MAPPING', 'DROP VIEW', 'EXECUTE', 'EXPLAIN', 'FETCH', 'GRANT', 'IMPORT FOREIGN SCHEMA', 'LISTEN', 'LOAD', 'LOCK', 'MOVE', 'NOTIFY', 'PREPARE', 'PREPARE TRANSACTION', 'REASSIGN OWNED', 'REFRESH MATERIALIZED VIEW', 'REINDEX', 'RELEASE SAVEPOINT', 'RESET', 'REVOKE', 'ROLLBACK', 'ROLLBACK PREPARED', 'ROLLBACK TO SAVEPOINT', 'SAVEPOINT', 'SECURITY LABEL', 'SELECT INTO', 'SET CONSTRAINTS', 'SET ROLE', 'SET SESSION AUTHORIZATION', 'SET TRANSACTION', 'SHOW', 'START TRANSACTION', 'UNLISTEN', 'VACUUM']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nconst reservedPhrases = expandPhrases(['ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]', '{ROWS | RANGE | GROUPS} BETWEEN', // https://www.postgresql.org/docs/current/datatype-datetime.html\n'{TIMESTAMP | TIME} {WITH | WITHOUT} TIME ZONE', // comparison operator\n'IS [NOT] DISTINCT FROM']); // https://www.postgresql.org/docs/14/index.html\n\nexport const postgresql = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    nestedBlockComments: true,\n    extraParens: ['[]'],\n    stringTypes: ['$$', {\n      quote: \"''-qq\",\n      prefixes: ['U&']\n    }, {\n      quote: \"''-bs\",\n      prefixes: ['E'],\n      requirePrefix: true\n    }, {\n      quote: \"''-raw\",\n      prefixes: ['B', 'X'],\n      requirePrefix: true\n    }],\n    identTypes: [{\n      quote: '\"\"-qq',\n      prefixes: ['U&']\n    }],\n    identChars: {\n      rest: '$'\n    },\n    paramTypes: {\n      numbered: ['$']\n    },\n    operators: [// Arithmetic\n    '%', '^', '|/', '||/', '@', // Assignment\n    ':=', // Bitwise\n    '&', '|', '#', '~', '<<', '>>', // Byte comparison\n    '~>~', '~<~', '~>=~', '~<=~', // Geometric\n    '@-@', '@@', '##', '<->', '&&', '&<', '&>', '<<|', '&<|', '|>>', '|&>', '<^', '^>', '?#', '?-', '?|', '?-|', '?||', '@>', '<@', '~=', // JSON\n    '?', '@?', '?&', '->', '->>', '#>', '#>>', '#-', // Named function params\n    '=>', // Network address\n    '>>=', '<<=', // Pattern matching\n    '~~', '~~*', '!~~', '!~~*', // POSIX RegExp\n    '~', '~*', '!~', '!~*', // Range/multirange\n    '-|-', // String concatenation\n    '||', // Text search\n    '@@@', '!!', // Trigram/trigraph\n    '<%', '%>', '<<%', '%>>', '<<->', '<->>', '<<<->', '<->>>', // Type cast\n    '::']\n  },\n  formatOptions: {\n    alwaysDenseOperators: ['::'],\n    onelineClauses\n  }\n};\n//# sourceMappingURL=postgresql.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://docs.aws.amazon.com/redshift/latest/dg/c_Aggregate_Functions.html\n  aggregate: ['ANY_VALUE', 'APPROXIMATE PERCENTILE_DISC', 'AVG', 'COUNT', 'LISTAGG', 'MAX', 'MEDIAN', 'MIN', 'PERCENTILE_CONT', 'STDDEV_SAMP', 'STDDEV_POP', 'SUM', 'VAR_SAMP', 'VAR_POP'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/c_Array_Functions.html\n  array: ['array', 'array_concat', 'array_flatten', 'get_array_length', 'split_to_array', 'subarray'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/c_bitwise_aggregate_functions.html\n  bitwise: ['BIT_AND', 'BIT_OR', 'BOOL_AND', 'BOOL_OR'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/c_conditional_expressions.html\n  conditional: ['COALESCE', 'DECODE', 'GREATEST', 'LEAST', 'NVL', 'NVL2', 'NULLIF'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/Date_functions_header.html\n  dateTime: ['ADD_MONTHS', 'AT TIME ZONE', 'CONVERT_TIMEZONE', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'DATE_CMP', 'DATE_CMP_TIMESTAMP', 'DATE_CMP_TIMESTAMPTZ', 'DATE_PART_YEAR', 'DATEADD', 'DATEDIFF', 'DATE_PART', 'DATE_TRUNC', 'EXTRACT', 'GETDATE', 'INTERVAL_CMP', 'LAST_DAY', 'MONTHS_BETWEEN', 'NEXT_DAY', 'SYSDATE', 'TIMEOFDAY', 'TIMESTAMP_CMP', 'TIMESTAMP_CMP_DATE', 'TIMESTAMP_CMP_TIMESTAMPTZ', 'TIMESTAMPTZ_CMP', 'TIMESTAMPTZ_CMP_DATE', 'TIMESTAMPTZ_CMP_TIMESTAMP', 'TIMEZONE', 'TO_TIMESTAMP', 'TRUNC'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/geospatial-functions.html\n  spatial: ['AddBBox', 'DropBBox', 'GeometryType', 'ST_AddPoint', 'ST_Angle', 'ST_Area', 'ST_AsBinary', 'ST_AsEWKB', 'ST_AsEWKT', 'ST_AsGeoJSON', 'ST_AsText', 'ST_Azimuth', 'ST_Boundary', 'ST_Collect', 'ST_Contains', 'ST_ContainsProperly', 'ST_ConvexHull', 'ST_CoveredBy', 'ST_Covers', 'ST_Crosses', 'ST_Dimension', 'ST_Disjoint', 'ST_Distance', 'ST_DistanceSphere', 'ST_DWithin', 'ST_EndPoint', 'ST_Envelope', 'ST_Equals', 'ST_ExteriorRing', 'ST_Force2D', 'ST_Force3D', 'ST_Force3DM', 'ST_Force3DZ', 'ST_Force4D', 'ST_GeometryN', 'ST_GeometryType', 'ST_GeomFromEWKB', 'ST_GeomFromEWKT', 'ST_GeomFromText', 'ST_GeomFromWKB', 'ST_InteriorRingN', 'ST_Intersects', 'ST_IsPolygonCCW', 'ST_IsPolygonCW', 'ST_IsClosed', 'ST_IsCollection', 'ST_IsEmpty', 'ST_IsSimple', 'ST_IsValid', 'ST_Length', 'ST_LengthSphere', 'ST_Length2D', 'ST_LineFromMultiPoint', 'ST_LineInterpolatePoint', 'ST_M', 'ST_MakeEnvelope', 'ST_MakeLine', 'ST_MakePoint', 'ST_MakePolygon', 'ST_MemSize', 'ST_MMax', 'ST_MMin', 'ST_Multi', 'ST_NDims', 'ST_NPoints', 'ST_NRings', 'ST_NumGeometries', 'ST_NumInteriorRings', 'ST_NumPoints', 'ST_Perimeter', 'ST_Perimeter2D', 'ST_Point', 'ST_PointN', 'ST_Points', 'ST_Polygon', 'ST_RemovePoint', 'ST_Reverse', 'ST_SetPoint', 'ST_SetSRID', 'ST_Simplify', 'ST_SRID', 'ST_StartPoint', 'ST_Touches', 'ST_Within', 'ST_X', 'ST_XMax', 'ST_XMin', 'ST_Y', 'ST_YMax', 'ST_YMin', 'ST_Z', 'ST_ZMax', 'ST_ZMin', 'SupportsBBox'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/hash-functions.html\n  hash: ['CHECKSUM', 'FUNC_SHA1', 'FNV_HASH', 'MD5', 'SHA', 'SHA1', 'SHA2'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/hyperloglog-functions.html\n  hyperLogLog: ['HLL', 'HLL_CREATE_SKETCH', 'HLL_CARDINALITY', 'HLL_COMBINE'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/json-functions.html\n  json: ['IS_VALID_JSON', 'IS_VALID_JSON_ARRAY', 'JSON_ARRAY_LENGTH', 'JSON_EXTRACT_ARRAY_ELEMENT_TEXT', 'JSON_EXTRACT_PATH_TEXT', 'JSON_PARSE', 'JSON_SERIALIZE'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/Math_functions.html\n  math: ['ABS', 'ACOS', 'ASIN', 'ATAN', 'ATAN2', 'CBRT', 'CEILING', 'CEIL', 'COS', 'COT', 'DEGREES', 'DEXP', 'DLOG1', 'DLOG10', 'EXP', 'FLOOR', 'LN', 'LOG', 'MOD', 'PI', 'POWER', 'RADIANS', 'RANDOM', 'ROUND', 'SIN', 'SIGN', 'SQRT', 'TAN', 'TO_HEX', 'TRUNC'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/ml-function.html\n  machineLearning: ['EXPLAIN_MODEL'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/String_functions_header.html\n  string: ['ASCII', 'BPCHARCMP', 'BTRIM', 'BTTEXT_PATTERN_CMP', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHARINDEX', 'CHR', 'COLLATE', 'CONCAT', 'CRC32', 'DIFFERENCE', 'INITCAP', 'LEFT', 'RIGHT', 'LEN', 'LENGTH', 'LOWER', 'LPAD', 'RPAD', 'LTRIM', 'OCTETINDEX', 'OCTET_LENGTH', 'POSITION', 'QUOTE_IDENT', 'QUOTE_LITERAL', 'REGEXP_COUNT', 'REGEXP_INSTR', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REPEAT', 'REPLACE', 'REPLICATE', 'REVERSE', 'RTRIM', 'SOUNDEX', 'SPLIT_PART', 'STRPOS', 'STRTOL', 'SUBSTRING', 'TEXTLEN', 'TRANSLATE', 'TRIM', 'UPPER'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/c_Type_Info_Functions.html\n  superType: ['decimal_precision', 'decimal_scale', 'is_array', 'is_bigint', 'is_boolean', 'is_char', 'is_decimal', 'is_float', 'is_integer', 'is_object', 'is_scalar', 'is_smallint', 'is_varchar', 'json_typeof'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/c_Window_functions.html\n  window: ['AVG', 'COUNT', 'CUME_DIST', 'DENSE_RANK', 'FIRST_VALUE', 'LAST_VALUE', 'LAG', 'LEAD', 'LISTAGG', 'MAX', 'MEDIAN', 'MIN', 'NTH_VALUE', 'NTILE', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'RANK', 'RATIO_TO_REPORT', 'ROW_NUMBER', 'STDDEV_SAMP', 'STDDEV_POP', 'SUM', 'VAR_SAMP', 'VAR_POP'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/r_Data_type_formatting.html\n  dataType: ['CAST', 'CONVERT', 'TO_CHAR', 'TO_DATE', 'TO_NUMBER', 'TEXT_TO_INT_ALT', 'TEXT_TO_NUMERIC_ALT'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/r_System_administration_functions.html\n  sysAdmin: ['CHANGE_QUERY_PRIORITY', 'CHANGE_SESSION_PRIORITY', 'CHANGE_USER_PRIORITY', 'CURRENT_SETTING', 'PG_CANCEL_BACKEND', 'PG_TERMINATE_BACKEND', 'REBOOT_CLUSTER', 'SET_CONFIG'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/r_System_information_functions.html\n  sysInfo: ['CURRENT_AWS_ACCOUNT', 'CURRENT_DATABASE', 'CURRENT_NAMESPACE', 'CURRENT_SCHEMA', 'CURRENT_SCHEMAS', 'CURRENT_USER', 'CURRENT_USER_ID', 'HAS_ASSUMEROLE_PRIVILEGE', 'HAS_DATABASE_PRIVILEGE', 'HAS_SCHEMA_PRIVILEGE', 'HAS_TABLE_PRIVILEGE', 'PG_BACKEND_PID', 'PG_GET_COLS', 'PG_GET_GRANTEE_BY_IAM_ROLE', 'PG_GET_IAM_ROLE_BY_USER', 'PG_GET_LATE_BINDING_VIEW_COLS', 'PG_LAST_COPY_COUNT', 'PG_LAST_COPY_ID', 'PG_LAST_UNLOAD_ID', 'PG_LAST_QUERY_ID', 'PG_LAST_UNLOAD_COUNT', 'SESSION_USER', 'SLICE_NUM', 'USER', 'VERSION'],\n  dataTypes: ['DECIMAL', 'NUMERIC', 'CHAR', 'CHARACTER', 'VARCHAR', 'CHARACTER VARYING', 'NCHAR', 'NVARCHAR', 'VARBYTE']\n});\n//# sourceMappingURL=redshift.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://docs.aws.amazon.com/redshift/latest/dg/r_pg_keywords.html\n  standard: ['AES128', 'AES256', 'ALL', 'ALLOWOVERWRITE', 'ANY', 'ARRAY', 'AS', 'ASC', 'AUTHORIZATION', 'BACKUP', 'BETWEEN', 'BINARY', 'BOTH', 'CHECK', 'COLUMN', 'CONSTRAINT', 'CREATE', 'CROSS', 'DEFAULT', 'DEFERRABLE', 'DEFLATE', 'DEFRAG', 'DESC', 'DISABLE', 'DISTINCT', 'DO', 'ENABLE', 'ENCODE', 'ENCRYPT', 'ENCRYPTION', 'EXPLICIT', 'FALSE', 'FOR', 'FOREIGN', 'FREEZE', 'FROM', 'FULL', 'GLOBALDICT256', 'GLOBALDICT64K', 'GROUP', 'IDENTITY', 'IGNORE', 'ILIKE', 'IN', 'INITIALLY', 'INNER', 'INTO', 'IS', 'ISNULL', 'LANGUAGE', 'LEADING', 'LIKE', 'LIMIT', 'LOCALTIME', 'LOCALTIMESTAMP', 'LUN', 'LUNS', 'MINUS', 'NATURAL', 'NEW', 'NOT', 'NOTNULL', 'NULL', 'NULLS', 'OFF', 'OFFLINE', 'OFFSET', 'OID', 'OLD', 'ON', 'ONLY', 'OPEN', 'ORDER', 'OUTER', 'OVERLAPS', 'PARALLEL', 'PARTITION', 'PERCENT', 'PERMISSIONS', 'PLACING', 'PRIMARY', 'RECOVER', 'REFERENCES', 'REJECTLOG', 'RESORT', 'RESPECT', 'RESTORE', 'SIMILAR', 'SNAPSHOT', 'SOME', 'SYSTEM', 'TABLE', 'TAG', 'TDES', 'THEN', 'TIMESTAMP', 'TO', 'TOP', 'TRAILING', 'TRUE', 'UNIQUE', 'USING', 'VERBOSE', 'WALLET', 'WITHOUT'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html\n  dataConversionParams: ['ACCEPTANYDATE', 'ACCEPTINVCHARS', 'BLANKSASNULL', 'DATEFORMAT', 'EMPTYASNULL', 'ENCODING', 'ESCAPE', 'EXPLICIT_IDS', 'FILLRECORD', 'IGNOREBLANKLINES', 'IGNOREHEADER', 'REMOVEQUOTES', 'ROUNDEC', 'TIMEFORMAT', 'TRIMBLANKS', 'TRUNCATECOLUMNS'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-load.html\n  dataLoadParams: ['COMPROWS', 'COMPUPDATE', 'MAXERROR', 'NOLOAD', 'STATUPDATE'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-format.html\n  dataFormatParams: ['FORMAT', 'CSV', 'DELIMITER', 'FIXEDWIDTH', 'SHAPEFILE', 'AVRO', 'JSON', 'PARQUET', 'ORC'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-authorization.html\n  copyAuthParams: ['ACCESS_KEY_ID', 'CREDENTIALS', 'ENCRYPTED', 'IAM_ROLE', 'MASTER_SYMMETRIC_KEY', 'SECRET_ACCESS_KEY', 'SESSION_TOKEN'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-file-compression.html\n  copyCompressionParams: ['BZIP2', 'GZIP', 'LZOP', 'ZSTD'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/r_COPY-alphabetical-parm-list.html\n  copyMiscParams: ['MANIFEST', 'READRATIO', 'REGION', 'SSH'],\n  // https://docs.aws.amazon.com/redshift/latest/dg/c_Compression_encodings.html\n  compressionEncodings: ['RAW', 'AZ64', 'BYTEDICT', 'DELTA', 'DELTA32K', 'LZO', 'MOSTLY8', 'MOSTLY16', 'MOSTLY32', 'RUNLENGTH', 'TEXT255', 'TEXT32K'],\n  misc: [// CREATE EXTERNAL SCHEMA (https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html)\n  'CATALOG_ROLE', 'SECRET_ARN', 'EXTERNAL', // https://docs.aws.amazon.com/redshift/latest/dg/c_choosing_dist_sort.html\n  'AUTO', 'EVEN', 'KEY', 'PREDICATE', // ANALYZE | ANALYSE (https://docs.aws.amazon.com/redshift/latest/dg/r_ANALYZE.html)\n  // unknown\n  'COMPRESSION'],\n\n  /**\n   * Other keywords not included:\n   * STL: https://docs.aws.amazon.com/redshift/latest/dg/c_intro_STL_tables.html\n   * SVCS: https://docs.aws.amazon.com/redshift/latest/dg/svcs_views.html\n   * SVL: https://docs.aws.amazon.com/redshift/latest/dg/svl_views.html\n   * SVV: https://docs.aws.amazon.com/redshift/latest/dg/svv_views.html\n   */\n  // https://docs.aws.amazon.com/redshift/latest/dg/r_Character_types.html#r_Character_types-text-and-bpchar-types\n  dataTypes: ['BPCHAR', 'TEXT']\n});\n//# sourceMappingURL=redshift.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './redshift.functions.js';\nimport { keywords } from './redshift.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'SET', // Data definition\n'CREATE [OR REPLACE | MATERIALIZED] VIEW', 'CREATE [TEMPORARY | TEMP | LOCAL TEMPORARY | LOCAL TEMP] TABLE [IF NOT EXISTS]']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', // - delete:\n'DELETE [FROM]', // - drop table:\n'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ALTER TABLE APPEND', 'ADD [COLUMN]', 'DROP [COLUMN]', 'RENAME TO', 'RENAME COLUMN', 'ALTER COLUMN', 'TYPE', // for alter column\n'ENCODE', // for alter column\n// - truncate:\n'TRUNCATE [TABLE]', // https://docs.aws.amazon.com/redshift/latest/dg/c_SQL_commands.html\n'ABORT', 'ALTER DATABASE', 'ALTER DATASHARE', 'ALTER DEFAULT PRIVILEGES', 'ALTER GROUP', 'ALTER MATERIALIZED VIEW', 'ALTER PROCEDURE', 'ALTER SCHEMA', 'ALTER USER', 'ANALYSE', 'ANALYZE', 'ANALYSE COMPRESSION', 'ANALYZE COMPRESSION', 'BEGIN', 'CALL', 'CANCEL', 'CLOSE', 'COMMENT', 'COMMIT', 'COPY', 'CREATE DATABASE', 'CREATE DATASHARE', 'CREATE EXTERNAL FUNCTION', 'CREATE EXTERNAL SCHEMA', 'CREATE EXTERNAL TABLE', 'CREATE FUNCTION', 'CREATE GROUP', 'CREATE LIBRARY', 'CREATE MODEL', 'CREATE PROCEDURE', 'CREATE SCHEMA', 'CREATE USER', 'DEALLOCATE', 'DECLARE', 'DESC DATASHARE', 'DROP DATABASE', 'DROP DATASHARE', 'DROP FUNCTION', 'DROP GROUP', 'DROP LIBRARY', 'DROP MODEL', 'DROP MATERIALIZED VIEW', 'DROP PROCEDURE', 'DROP SCHEMA', 'DROP USER', 'DROP VIEW', 'DROP', 'EXECUTE', 'EXPLAIN', 'FETCH', 'GRANT', 'LOCK', 'PREPARE', 'REFRESH MATERIALIZED VIEW', 'RESET', 'REVOKE', 'ROLLBACK', 'SELECT INTO', 'SET SESSION AUTHORIZATION', 'SET SESSION CHARACTERISTICS', 'SHOW', 'SHOW EXTERNAL TABLE', 'SHOW MODEL', 'SHOW DATASHARES', 'SHOW PROCEDURE', 'SHOW TABLE', 'SHOW VIEW', 'START TRANSACTION', 'UNLOAD', 'VACUUM']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL]', 'EXCEPT', 'INTERSECT', 'MINUS']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nconst reservedPhrases = expandPhrases([// https://docs.aws.amazon.com/redshift/latest/dg/copy-parameters-data-conversion.html\n'NULL AS', // https://docs.aws.amazon.com/redshift/latest/dg/r_CREATE_EXTERNAL_SCHEMA.html\n'DATA CATALOG', 'HIVE METASTORE', // in window specifications\n'{ROWS | RANGE} BETWEEN']); // https://docs.aws.amazon.com/redshift/latest/dg/cm_chap_SQLCommandRef.html\n\nexport const redshift = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    stringTypes: [\"''-qq\"],\n    identTypes: [`\"\"-qq`],\n    identChars: {\n      first: '#'\n    },\n    paramTypes: {\n      numbered: ['$']\n    },\n    operators: ['^', '%', '@', '|/', '||/', '&', '|', // '#', conflicts with first char of identifier\n    '~', '<<', '>>', '||', '::']\n  },\n  formatOptions: {\n    alwaysDenseOperators: ['::'],\n    onelineClauses\n  }\n};\n//# sourceMappingURL=redshift.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://deepkb.com/CO_000013/en/kb/IMPORT-fbfa59f0-2bf1-31fe-bb7b-0f9efe9932c6/spark-sql-keywords\n  all: ['ADD', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANTI', 'ANY', 'ARCHIVE', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BETWEEN', 'BOTH', 'BUCKET', 'BUCKETS', 'BY', 'CACHE', 'CASCADE', 'CAST', 'CHANGE', 'CHECK', 'CLEAR', 'CLUSTER', 'CLUSTERED', 'CODEGEN', 'COLLATE', 'COLLECTION', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMPACT', 'COMPACTIONS', 'COMPUTE', 'CONCATENATE', 'CONSTRAINT', 'COST', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATA', 'DATABASE', 'DATABASES', 'DAY', 'DBPROPERTIES', 'DEFINED', 'DELETE', 'DELIMITED', 'DESC', 'DESCRIBE', 'DFS', 'DIRECTORIES', 'DIRECTORY', 'DISTINCT', 'DISTRIBUTE', 'DIV', 'DROP', 'ESCAPE', 'ESCAPED', 'EXCEPT', 'EXCHANGE', 'EXISTS', 'EXPORT', 'EXTENDED', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIELDS', 'FILTER', 'FILEFORMAT', 'FIRST', 'FIRST_VALUE', 'FOLLOWING', 'FOR', 'FOREIGN', 'FORMAT', 'FORMATTED', 'FULL', 'FUNCTION', 'FUNCTIONS', 'GLOBAL', 'GRANT', 'GROUP', 'GROUPING', 'HOUR', 'IF', 'IGNORE', 'IMPORT', 'IN', 'INDEX', 'INDEXES', 'INNER', 'INPATH', 'INPUTFORMAT', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ITEMS', 'KEYS', 'LAST', 'LAST_VALUE', 'LATERAL', 'LAZY', 'LEADING', 'LEFT', 'LIKE', 'LINES', 'LIST', 'LOCAL', 'LOCATION', 'LOCK', 'LOCKS', 'LOGICAL', 'MACRO', 'MAP', 'MATCHED', 'MERGE', 'MINUTE', 'MONTH', 'MSCK', 'NAMESPACE', 'NAMESPACES', 'NATURAL', 'NO', 'NOT', 'NULL', 'NULLS', 'OF', 'ONLY', 'OPTION', 'OPTIONS', 'OR', 'ORDER', 'OUT', 'OUTER', 'OUTPUTFORMAT', 'OVER', 'OVERLAPS', 'OVERLAY', 'OVERWRITE', 'OWNER', 'PARTITION', 'PARTITIONED', 'PARTITIONS', 'PERCENT', 'PLACING', 'POSITION', 'PRECEDING', 'PRIMARY', 'PRINCIPALS', 'PROPERTIES', 'PURGE', 'QUERY', 'RANGE', 'RECORDREADER', 'RECORDWRITER', 'RECOVER', 'REDUCE', 'REFERENCES', 'RENAME', 'REPAIR', 'REPLACE', 'RESPECT', 'RESTRICT', 'REVOKE', 'RIGHT', 'RLIKE', 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SCHEMA', 'SECOND', 'SELECT', 'SEMI', 'SEPARATED', 'SERDE', 'SERDEPROPERTIES', 'SESSION_USER', 'SETS', 'SHOW', 'SKEWED', 'SOME', 'SORT', 'SORTED', 'START', 'STATISTICS', 'STORED', 'STRATIFY', 'STRUCT', 'SUBSTR', 'SUBSTRING', 'TABLE', 'TABLES', 'TBLPROPERTIES', 'TEMPORARY', 'TERMINATED', 'THEN', 'TO', 'TOUCH', 'TRAILING', 'TRANSACTION', 'TRANSACTIONS', 'TRIM', 'TRUE', 'TRUNCATE', 'UNARCHIVE', 'UNBOUNDED', 'UNCACHE', 'UNIQUE', 'UNKNOWN', 'UNLOCK', 'UNSET', 'USE', 'USER', 'USING', 'VIEW', 'WINDOW', 'YEAR', // other\n  'ANALYSE', 'ARRAY_ZIP', 'COALESCE', 'CONTAINS', 'CONVERT', 'DAYS', 'DAY_HOUR', 'DAY_MINUTE', 'DAY_SECOND', 'DECODE', 'DEFAULT', 'DISTINCTROW', 'ENCODE', 'EXPLODE', 'EXPLODE_OUTER', 'FIXED', 'GREATEST', 'GROUP_CONCAT', 'HOURS', 'HOUR_MINUTE', 'HOUR_SECOND', 'IFNULL', 'LEAST', 'LEVEL', 'MINUTE_SECOND', 'NULLIF', 'OFFSET', 'ON', 'OPTIMIZE', 'REGEXP', 'SEPARATOR', 'SIZE', 'STRING', 'TYPE', 'TYPES', 'UNSIGNED', 'VARIABLES', 'YEAR_MONTH']\n});\n//# sourceMappingURL=spark.keywords.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // http://spark.apache.org/docs/latest/sql-ref-functions.html\n  //\n  // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#aggregate-functions\n  aggregate: [// 'ANY',\n  'APPROX_COUNT_DISTINCT', 'APPROX_PERCENTILE', 'AVG', 'BIT_AND', 'BIT_OR', 'BIT_XOR', 'BOOL_AND', 'BOOL_OR', 'COLLECT_LIST', 'COLLECT_SET', 'CORR', 'COUNT', 'COUNT', 'COUNT', 'COUNT_IF', 'COUNT_MIN_SKETCH', 'COVAR_POP', 'COVAR_SAMP', 'EVERY', 'FIRST', 'FIRST_VALUE', 'GROUPING', 'GROUPING_ID', 'KURTOSIS', 'LAST', 'LAST_VALUE', 'MAX', 'MAX_BY', 'MEAN', 'MIN', 'MIN_BY', 'PERCENTILE', 'PERCENTILE', 'PERCENTILE_APPROX', 'SKEWNESS', // 'SOME',\n  'STD', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'SUM', 'VAR_POP', 'VAR_SAMP', 'VARIANCE'],\n  // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#window-functions\n  window: ['CUME_DIST', 'DENSE_RANK', 'LAG', 'LEAD', 'NTH_VALUE', 'NTILE', 'PERCENT_RANK', 'RANK', 'ROW_NUMBER'],\n  // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#array-functions\n  array: ['ARRAY', 'ARRAY_CONTAINS', 'ARRAY_DISTINCT', 'ARRAY_EXCEPT', 'ARRAY_INTERSECT', 'ARRAY_JOIN', 'ARRAY_MAX', 'ARRAY_MIN', 'ARRAY_POSITION', 'ARRAY_REMOVE', 'ARRAY_REPEAT', 'ARRAY_UNION', 'ARRAYS_OVERLAP', 'ARRAYS_ZIP', 'FLATTEN', 'SEQUENCE', 'SHUFFLE', 'SLICE', 'SORT_ARRAY'],\n  // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#map-functions\n  map: ['ELEMENT_AT', 'ELEMENT_AT', 'MAP', 'MAP_CONCAT', 'MAP_ENTRIES', 'MAP_FROM_ARRAYS', 'MAP_FROM_ENTRIES', 'MAP_KEYS', 'MAP_VALUES', 'STR_TO_MAP'],\n  // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#date-and-timestamp-functions\n  datetime: ['ADD_MONTHS', 'CURRENT_DATE', 'CURRENT_DATE', 'CURRENT_TIMESTAMP', 'CURRENT_TIMESTAMP', 'CURRENT_TIMEZONE', 'DATE_ADD', 'DATE_FORMAT', 'DATE_FROM_UNIX_DATE', 'DATE_PART', 'DATE_SUB', 'DATE_TRUNC', 'DATEDIFF', 'DAY', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'EXTRACT', 'FROM_UNIXTIME', 'FROM_UTC_TIMESTAMP', 'HOUR', 'LAST_DAY', 'MAKE_DATE', 'MAKE_DT_INTERVAL', 'MAKE_INTERVAL', 'MAKE_TIMESTAMP', 'MAKE_YM_INTERVAL', 'MINUTE', 'MONTH', 'MONTHS_BETWEEN', 'NEXT_DAY', 'NOW', 'QUARTER', 'SECOND', 'SESSION_WINDOW', 'TIMESTAMP_MICROS', 'TIMESTAMP_MILLIS', 'TIMESTAMP_SECONDS', 'TO_DATE', 'TO_TIMESTAMP', 'TO_UNIX_TIMESTAMP', 'TO_UTC_TIMESTAMP', 'TRUNC', 'UNIX_DATE', 'UNIX_MICROS', 'UNIX_MILLIS', 'UNIX_SECONDS', 'UNIX_TIMESTAMP', 'WEEKDAY', 'WEEKOFYEAR', 'WINDOW', 'YEAR'],\n  // http://spark.apache.org/docs/latest/sql-ref-functions-builtin.html#json-functions\n  json: ['FROM_JSON', 'GET_JSON_OBJECT', 'JSON_ARRAY_LENGTH', 'JSON_OBJECT_KEYS', 'JSON_TUPLE', 'SCHEMA_OF_JSON', 'TO_JSON'],\n  // http://spark.apache.org/docs/latest/api/sql/index.html\n  misc: ['ABS', 'ACOS', 'ACOSH', 'AGGREGATE', 'ARRAY_SORT', 'ASCII', 'ASIN', 'ASINH', 'ASSERT_TRUE', 'ATAN', 'ATAN2', 'ATANH', 'BASE64', 'BIGINT', 'BIN', 'BINARY', 'BIT_COUNT', 'BIT_GET', 'BIT_LENGTH', 'BOOLEAN', 'BROUND', 'BTRIM', 'CARDINALITY', 'CBRT', 'CEIL', 'CEILING', 'CHAR', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'CHR', 'CONCAT', 'CONCAT_WS', 'CONV', 'COS', 'COSH', 'COT', 'CRC32', 'CURRENT_CATALOG', 'CURRENT_DATABASE', 'CURRENT_USER', 'DATE', 'DECIMAL', 'DEGREES', 'DOUBLE', // 'E',\n  'ELT', 'EXP', 'EXPM1', 'FACTORIAL', 'FIND_IN_SET', 'FLOAT', 'FLOOR', 'FORALL', 'FORMAT_NUMBER', 'FORMAT_STRING', 'FROM_CSV', 'GETBIT', 'HASH', 'HEX', 'HYPOT', 'INITCAP', 'INLINE', 'INLINE_OUTER', 'INPUT_FILE_BLOCK_LENGTH', 'INPUT_FILE_BLOCK_START', 'INPUT_FILE_NAME', 'INSTR', 'INT', 'ISNAN', 'ISNOTNULL', 'ISNULL', 'JAVA_METHOD', 'LCASE', 'LEFT', 'LENGTH', 'LEVENSHTEIN', 'LN', 'LOCATE', 'LOG', 'LOG10', 'LOG1P', 'LOG2', 'LOWER', 'LPAD', 'LTRIM', 'MAP_FILTER', 'MAP_ZIP_WITH', 'MD5', 'MOD', 'MONOTONICALLY_INCREASING_ID', 'NAMED_STRUCT', 'NANVL', 'NEGATIVE', 'NVL', 'NVL2', 'OCTET_LENGTH', 'OVERLAY', 'PARSE_URL', 'PI', 'PMOD', 'POSEXPLODE', 'POSEXPLODE_OUTER', 'POSITION', 'POSITIVE', 'POW', 'POWER', 'PRINTF', 'RADIANS', 'RAISE_ERROR', 'RAND', 'RANDN', 'RANDOM', 'REFLECT', 'REGEXP_EXTRACT', 'REGEXP_EXTRACT_ALL', 'REGEXP_LIKE', 'REGEXP_REPLACE', 'REPEAT', 'REPLACE', 'REVERSE', 'RIGHT', 'RINT', 'ROUND', 'RPAD', 'RTRIM', 'SCHEMA_OF_CSV', 'SENTENCES', 'SHA', 'SHA1', 'SHA2', 'SHIFTLEFT', 'SHIFTRIGHT', 'SHIFTRIGHTUNSIGNED', 'SIGN', 'SIGNUM', 'SIN', 'SINH', 'SMALLINT', 'SOUNDEX', 'SPACE', 'SPARK_PARTITION_ID', 'SPLIT', 'SQRT', 'STACK', 'SUBSTR', 'SUBSTRING', 'SUBSTRING_INDEX', 'TAN', 'TANH', 'TIMESTAMP', 'TINYINT', 'TO_CSV', 'TRANSFORM_KEYS', 'TRANSFORM_VALUES', 'TRANSLATE', 'TRIM', 'TRY_ADD', 'TRY_DIVIDE', 'TYPEOF', 'UCASE', 'UNBASE64', 'UNHEX', 'UPPER', 'UUID', 'VERSION', 'WIDTH_BUCKET', 'XPATH', 'XPATH_BOOLEAN', 'XPATH_DOUBLE', 'XPATH_FLOAT', 'XPATH_INT', 'XPATH_LONG', 'XPATH_NUMBER', 'XPATH_SHORT', 'XPATH_STRING', 'XXHASH64', 'ZIP_WITH'],\n  cast: ['CAST'],\n  // Shorthand functions to use in place of CASE expression\n  caseAbbrev: ['COALESCE', 'NULLIF'],\n  // Parameterized data types\n  // https://spark.apache.org/docs/latest/sql-ref-datatypes.html\n  dataTypes: ['DECIMAL', 'DEC', 'NUMERIC', // No varchar type in Spark, only STRING. Added for the sake of tests\n  'VARCHAR']\n});\n//# sourceMappingURL=spark.functions.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { EOF_TOKEN, isToken, TokenType } from '../../lexer/token.js';\nimport { keywords } from './spark.keywords.js';\nimport { functions } from './spark.functions.js'; // http://spark.apache.org/docs/latest/sql-ref-syntax.html\n\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'SORT BY', 'CLUSTER BY', 'DISTRIBUTE BY', 'LIMIT', // Data manipulation\n// - insert:\n'INSERT [INTO | OVERWRITE] [TABLE]', 'VALUES', // - insert overwrite directory:\n//   https://spark.apache.org/docs/latest/sql-ref-syntax-dml-insert-overwrite-directory.html\n'INSERT OVERWRITE [LOCAL] DIRECTORY', // - load:\n//   https://spark.apache.org/docs/latest/sql-ref-syntax-dml-load.html\n'LOAD DATA [LOCAL] INPATH', '[OVERWRITE] INTO TABLE', // Data definition\n'CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS]', 'CREATE [EXTERNAL] TABLE [IF NOT EXISTS]']);\nconst onelineClauses = expandPhrases([// - drop table:\n'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ADD COLUMNS', 'DROP {COLUMN | COLUMNS}', 'RENAME TO', 'RENAME COLUMN', 'ALTER COLUMN', // - truncate:\n'TRUNCATE TABLE', // other\n'LATERAL VIEW', 'ALTER DATABASE', 'ALTER VIEW', 'CREATE DATABASE', 'CREATE FUNCTION', 'DROP DATABASE', 'DROP FUNCTION', 'DROP VIEW', 'REPAIR TABLE', 'USE DATABASE', // Data Retrieval\n'TABLESAMPLE', 'PIVOT', 'TRANSFORM', 'EXPLAIN', // Auxiliary\n'ADD FILE', 'ADD JAR', 'ANALYZE TABLE', 'CACHE TABLE', 'CLEAR CACHE', 'DESCRIBE DATABASE', 'DESCRIBE FUNCTION', 'DESCRIBE QUERY', 'DESCRIBE TABLE', 'LIST FILE', 'LIST JAR', 'REFRESH', 'REFRESH TABLE', 'REFRESH FUNCTION', 'RESET', 'SHOW COLUMNS', 'SHOW CREATE TABLE', 'SHOW DATABASES', 'SHOW FUNCTIONS', 'SHOW PARTITIONS', 'SHOW TABLE EXTENDED', 'SHOW TABLES', 'SHOW TBLPROPERTIES', 'SHOW VIEWS', 'UNCACHE TABLE']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN', // non-standard-joins\n'[LEFT] {ANTI | SEMI} JOIN', 'NATURAL [LEFT] {ANTI | SEMI} JOIN']);\nconst reservedPhrases = expandPhrases(['ON DELETE', 'ON UPDATE', 'CURRENT ROW', '{ROWS | RANGE} BETWEEN']); // http://spark.apache.org/docs/latest/sql-programming-guide.html\n\nexport const spark = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    supportsXor: true,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    extraParens: ['[]'],\n    stringTypes: [\"''-bs\", '\"\"-bs', {\n      quote: \"''-raw\",\n      prefixes: ['R', 'X'],\n      requirePrefix: true\n    }, {\n      quote: '\"\"-raw',\n      prefixes: ['R', 'X'],\n      requirePrefix: true\n    }],\n    identTypes: ['``'],\n    variableTypes: [{\n      quote: '{}',\n      prefixes: ['$'],\n      requirePrefix: true\n    }],\n    operators: ['%', '~', '^', '|', '&', '<=>', '==', '!', '||', '->'],\n    postProcess\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n\nfunction postProcess(tokens) {\n  return tokens.map((token, i) => {\n    const prevToken = tokens[i - 1] || EOF_TOKEN;\n    const nextToken = tokens[i + 1] || EOF_TOKEN; // [WINDOW](...)\n\n    if (isToken.WINDOW(token) && nextToken.type === TokenType.OPEN_PAREN) {\n      // This is a function call, treat it as a reserved function name\n      return { ...token,\n        type: TokenType.RESERVED_FUNCTION_NAME\n      };\n    } // TODO: deprecate this once ITEMS is merged with COLLECTION\n\n\n    if (token.text === 'ITEMS' && token.type === TokenType.RESERVED_KEYWORD) {\n      if (!(prevToken.text === 'COLLECTION' && nextToken.text === 'TERMINATED')) {\n        // this is a word and not COLLECTION ITEMS\n        return { ...token,\n          type: TokenType.IDENTIFIER,\n          text: token.raw\n        };\n      }\n    }\n\n    return token;\n  });\n}\n//# sourceMappingURL=spark.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://www.sqlite.org/lang_corefunc.html\n  scalar: ['ABS', 'CHANGES', 'CHAR', 'COALESCE', 'FORMAT', 'GLOB', 'HEX', 'IFNULL', 'IIF', 'INSTR', 'LAST_INSERT_ROWID', 'LENGTH', 'LIKE', 'LIKELIHOOD', 'LIKELY', 'LOAD_EXTENSION', 'LOWER', 'LTRIM', 'NULLIF', 'PRINTF', 'QUOTE', 'RANDOM', 'RANDOMBLOB', 'REPLACE', 'ROUND', 'RTRIM', 'SIGN', 'SOUNDEX', 'SQLITE_COMPILEOPTION_GET', 'SQLITE_COMPILEOPTION_USED', 'SQLITE_OFFSET', 'SQLITE_SOURCE_ID', 'SQLITE_VERSION', 'SUBSTR', 'SUBSTRING', 'TOTAL_CHANGES', 'TRIM', 'TYPEOF', 'UNICODE', 'UNLIKELY', 'UPPER', 'ZEROBLOB'],\n  // https://www.sqlite.org/lang_aggfunc.html\n  aggregate: ['AVG', 'COUNT', 'GROUP_CONCAT', 'MAX', 'MIN', 'SUM', 'TOTAL'],\n  // https://www.sqlite.org/lang_datefunc.html\n  datetime: ['DATE', 'TIME', 'DATETIME', 'JULIANDAY', 'UNIXEPOCH', 'STRFTIME'],\n  // https://www.sqlite.org/windowfunctions.html#biwinfunc\n  window: ['row_number', 'rank', 'dense_rank', 'percent_rank', 'cume_dist', 'ntile', 'lag', 'lead', 'first_value', 'last_value', 'nth_value'],\n  // https://www.sqlite.org/lang_mathfunc.html\n  math: ['ACOS', 'ACOSH', 'ASIN', 'ASINH', 'ATAN', 'ATAN2', 'ATANH', 'CEIL', 'CEILING', 'COS', 'COSH', 'DEGREES', 'EXP', 'FLOOR', 'LN', 'LOG', 'LOG', 'LOG10', 'LOG2', 'MOD', 'PI', 'POW', 'POWER', 'RADIANS', 'SIN', 'SINH', 'SQRT', 'TAN', 'TANH', 'TRUNC'],\n  // https://www.sqlite.org/json1.html\n  json: ['JSON', 'JSON_ARRAY', 'JSON_ARRAY_LENGTH', 'JSON_ARRAY_LENGTH', 'JSON_EXTRACT', 'JSON_INSERT', 'JSON_OBJECT', 'JSON_PATCH', 'JSON_REMOVE', 'JSON_REPLACE', 'JSON_SET', 'JSON_TYPE', 'JSON_TYPE', 'JSON_VALID', 'JSON_QUOTE', 'JSON_GROUP_ARRAY', 'JSON_GROUP_OBJECT', 'JSON_EACH', 'JSON_TREE'],\n  cast: ['CAST'],\n  // SQLite allows parameters for all data types\n  // Well, in fact it allows any word as a data type, e.g. CREATE TABLE foo (col1 madeupname(123));\n  // https://www.sqlite.org/datatype3.html\n  dataTypes: ['CHARACTER', 'VARCHAR', 'VARYING CHARACTER', 'NCHAR', 'NATIVE CHARACTER', 'NVARCHAR', 'NUMERIC', 'DECIMAL']\n});\n//# sourceMappingURL=sqlite.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://www.sqlite.org/lang_keywords.html\n  all: ['ABORT', 'ACTION', 'ADD', 'AFTER', 'ALL', 'ALTER', 'AND', 'ANY', 'ARE', 'ARRAY', 'ALWAYS', 'ANALYZE', 'AS', 'ASC', 'ATTACH', 'AUTOINCREMENT', 'BEFORE', 'BEGIN', 'BETWEEN', 'BY', 'CASCADE', 'CASE', 'CAST', 'CHECK', 'COLLATE', 'COLUMN', 'COMMIT', 'CONFLICT', 'CONSTRAINT', 'CREATE', 'CROSS', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'DATABASE', 'DEFAULT', 'DEFERRABLE', 'DEFERRED', 'DELETE', 'DESC', 'DETACH', 'DISTINCT', 'DO', 'DROP', 'EACH', 'ELSE', 'END', 'ESCAPE', 'EXCEPT', 'EXCLUDE', 'EXCLUSIVE', 'EXISTS', 'EXPLAIN', 'FAIL', 'FILTER', 'FIRST', 'FOLLOWING', 'FOR', 'FOREIGN', 'FROM', 'FULL', 'GENERATED', 'GLOB', 'GROUP', 'GROUPS', 'HAVING', 'IF', 'IGNORE', 'IMMEDIATE', 'IN', 'INDEX', 'INDEXED', 'INITIALLY', 'INNER', 'INSERT', 'INSTEAD', 'INTERSECT', 'INTO', 'IS', 'ISNULL', 'JOIN', 'KEY', 'LAST', 'LEFT', 'LIKE', 'LIMIT', 'MATCH', 'MATERIALIZED', 'NATURAL', 'NO', 'NOT', 'NOTHING', 'NOTNULL', 'NULL', 'NULLS', 'OF', 'OFFSET', 'ON', 'ONLY', 'OPEN', 'OR', 'ORDER', 'OTHERS', 'OUTER', 'OVER', 'PARTITION', 'PLAN', 'PRAGMA', 'PRECEDING', 'PRIMARY', 'QUERY', 'RAISE', 'RANGE', 'RECURSIVE', 'REFERENCES', 'REGEXP', 'REINDEX', 'RELEASE', 'RENAME', 'REPLACE', 'RESTRICT', 'RETURNING', 'RIGHT', 'ROLLBACK', 'ROW', 'ROWS', 'SAVEPOINT', 'SELECT', 'SET', 'TABLE', 'TEMP', 'TEMPORARY', 'THEN', 'TIES', 'TO', 'TRANSACTION', 'TRIGGER', 'UNBOUNDED', 'UNION', 'UNIQUE', 'UPDATE', 'USING', 'VACUUM', 'VALUES', 'VIEW', 'VIRTUAL', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'WITHOUT']\n});\n//# sourceMappingURL=sqlite.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './sqlite.functions.js';\nimport { keywords } from './sqlite.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK] INTO', 'REPLACE INTO', 'VALUES', // - update:\n'SET', // Data definition\n'CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]', 'CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]', // - insert:\n'ON CONFLICT', // - delete:\n'DELETE FROM', // - drop table:\n'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ADD [COLUMN]', 'DROP [COLUMN]', 'RENAME [COLUMN]', 'RENAME TO', // - set schema\n'SET SCHEMA']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL]', 'EXCEPT', 'INTERSECT']); // joins - https://www.sqlite.org/syntax/join-operator.html\n\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nconst reservedPhrases = expandPhrases(['ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]', '{ROWS | RANGE | GROUPS} BETWEEN']);\nexport const sqlite = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    stringTypes: [\"''-qq\", {\n      quote: \"''-raw\",\n      prefixes: ['X'],\n      requirePrefix: true\n    } // Depending on context SQLite also supports double-quotes for strings,\n    // and single-quotes for identifiers.\n    ],\n    identTypes: [`\"\"-qq`, '``', '[]'],\n    // https://www.sqlite.org/lang_expr.html#parameters\n    paramTypes: {\n      positional: true,\n      numbered: ['?'],\n      named: [':', '@', '$']\n    },\n    operators: ['%', '~', '&', '|', '<<', '>>', '==', '->', '->>', '||']\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n//# sourceMappingURL=sqlite.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_9_set_function_specification\n  set: ['GROUPING'],\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_10_window_function\n  window: ['RANK', 'DENSE_RANK', 'PERCENT_RANK', 'CUME_DIST', 'ROW_NUMBER'],\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_27_numeric_value_function\n  numeric: ['POSITION', 'OCCURRENCES_REGEX', 'POSITION_REGEX', 'EXTRACT', 'CHAR_LENGTH', 'CHARACTER_LENGTH', 'OCTET_LENGTH', 'CARDINALITY', 'ABS', 'MOD', 'LN', 'EXP', 'POWER', 'SQRT', 'FLOOR', 'CEIL', 'CEILING', 'WIDTH_BUCKET'],\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_29_string_value_function\n  string: ['SUBSTRING', 'SUBSTRING_REGEX', 'UPPER', 'LOWER', 'CONVERT', 'TRANSLATE', 'TRANSLATE_REGEX', 'TRIM', 'OVERLAY', 'NORMALIZE', 'SPECIFICTYPE'],\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_31_datetime_value_function\n  datetime: ['CURRENT_DATE', 'CURRENT_TIME', 'LOCALTIME', 'CURRENT_TIMESTAMP', 'LOCALTIMESTAMP'],\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_6_38_multiset_value_function\n  // SET serves multiple roles: a SET() function and a SET keyword e.g. in UPDATE table SET ...\n  // multiset: ['SET'], (disabled for now)\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#_10_9_aggregate_function\n  aggregate: ['COUNT', 'AVG', 'MAX', 'MIN', 'SUM', // 'EVERY',\n  // 'ANY',\n  // 'SOME',\n  'STDDEV_POP', 'STDDEV_SAMP', 'VAR_SAMP', 'VAR_POP', 'COLLECT', 'FUSION', 'INTERSECTION', 'COVAR_POP', 'COVAR_SAMP', 'CORR', 'REGR_SLOPE', 'REGR_INTERCEPT', 'REGR_COUNT', 'REGR_R2', 'REGR_AVGX', 'REGR_AVGY', 'REGR_SXX', 'REGR_SYY', 'REGR_SXY', 'PERCENTILE_CONT', 'PERCENTILE_DISC'],\n  // CAST is a pretty complex case, involving multiple forms:\n  // - CAST(col AS int)\n  // - CAST(...) WITH ...\n  // - CAST FROM int\n  // - CREATE CAST(mycol AS int) WITH ...\n  cast: ['CAST'],\n  // Shorthand functions to use in place of CASE expression\n  caseAbbrev: ['COALESCE', 'NULLIF'],\n  // Non-standard functions that have widespread support\n  nonStandard: ['ROUND', 'SIN', 'COS', 'TAN', 'ASIN', 'ACOS', 'ATAN'],\n  // Data types with parameters like VARCHAR(100)\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#predefined-type\n  dataTypes: ['CHARACTER', 'CHAR', 'CHARACTER VARYING', 'CHAR VARYING', 'VARCHAR', 'CHARACTER LARGE OBJECT', 'CHAR LARGE OBJECT', 'CLOB', 'NATIONAL CHARACTER', 'NATIONAL CHAR', 'NCHAR', 'NATIONAL CHARACTER VARYING', 'NATIONAL CHAR VARYING', 'NCHAR VARYING', 'NATIONAL CHARACTER LARGE OBJECT', 'NCHAR LARGE OBJECT', 'NCLOB', 'BINARY', 'BINARY VARYING', 'VARBINARY', 'BINARY LARGE OBJECT', 'BLOB', 'NUMERIC', 'DECIMAL', 'DEC', 'TIME', 'TIMESTAMP']\n});\n//# sourceMappingURL=sql.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://jakewheat.github.io/sql-overview/sql-2008-foundation-grammar.html#reserved-word\n  all: ['ALL', 'ALLOCATE', 'ALTER', 'ANY', // <- moved over from functions\n  'ARE', 'ARRAY', 'AS', 'ASENSITIVE', 'ASYMMETRIC', 'AT', 'ATOMIC', 'AUTHORIZATION', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', 'BLOB', 'BOOLEAN', 'BOTH', 'BY', 'CALL', 'CALLED', 'CASCADED', 'CAST', 'CHAR', 'CHARACTER', 'CHECK', 'CLOB', 'CLOSE', 'COALESCE', 'COLLATE', 'COLUMN', 'COMMIT', 'CONDITION', 'CONNECT', 'CONSTRAINT', 'CORRESPONDING', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_CATALOG', 'CURRENT_DEFAULT_TRANSFORM_GROUP', 'CURRENT_PATH', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_TRANSFORM_GROUP_FOR_TYPE', 'CURRENT_USER', 'CURSOR', 'CYCLE', 'DATE', 'DAY', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DELETE', 'DEREF', 'DESCRIBE', 'DETERMINISTIC', 'DISCONNECT', 'DISTINCT', 'DOUBLE', 'DROP', 'DYNAMIC', 'EACH', 'ELEMENT', 'END-EXEC', 'ESCAPE', 'EVERY', // <- moved over from functions\n  'EXCEPT', 'EXEC', 'EXECUTE', 'EXISTS', 'EXTERNAL', 'FALSE', 'FETCH', 'FILTER', 'FLOAT', 'FOR', 'FOREIGN', 'FREE', 'FROM', 'FULL', 'FUNCTION', 'GET', 'GLOBAL', 'GRANT', 'GROUP', 'HAVING', 'HOLD', 'HOUR', 'IDENTITY', 'IN', 'INDICATOR', 'INNER', 'INOUT', 'INSENSITIVE', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'LANGUAGE', 'LARGE', 'LATERAL', 'LEADING', 'LEFT', 'LIKE', 'LIKE_REGEX', 'LOCAL', 'MATCH', 'MEMBER', 'MERGE', 'METHOD', 'MINUTE', 'MODIFIES', 'MODULE', 'MONTH', 'MULTISET', 'NATIONAL', 'NATURAL', 'NCHAR', 'NCLOB', 'NEW', 'NO', 'NONE', 'NOT', 'NULL', 'NULLIF', 'NUMERIC', 'OF', 'OLD', 'ON', 'ONLY', 'OPEN', 'ORDER', 'OUT', 'OUTER', 'OVER', 'OVERLAPS', 'PARAMETER', 'PARTITION', 'PRECISION', 'PREPARE', 'PRIMARY', 'PROCEDURE', 'RANGE', 'READS', 'REAL', 'RECURSIVE', 'REF', 'REFERENCES', 'REFERENCING', 'RELEASE', 'RESULT', 'RETURN', 'RETURNS', 'REVOKE', 'RIGHT', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'SAVEPOINT', 'SCOPE', 'SCROLL', 'SEARCH', 'SECOND', 'SELECT', 'SENSITIVE', 'SESSION_USER', 'SET', 'SIMILAR', 'SMALLINT', 'SOME', // <- moved over from functions\n  'SPECIFIC', 'SQL', 'SQLEXCEPTION', 'SQLSTATE', 'SQLWARNING', 'START', 'STATIC', 'SUBMULTISET', 'SYMMETRIC', 'SYSTEM', 'SYSTEM_USER', 'TABLE', 'TABLESAMPLE', 'THEN', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TO', 'TRAILING', 'TRANSLATION', 'TREAT', 'TRIGGER', 'TRUE', 'UESCAPE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNNEST', 'UPDATE', 'USER', 'USING', 'VALUE', 'VALUES', 'VARBINARY', 'VARCHAR', 'VARYING', 'WHENEVER', 'WINDOW', 'WITHIN', 'WITHOUT', 'YEAR']\n});\n//# sourceMappingURL=sql.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './sql.functions.js';\nimport { keywords } from './sql.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY [ALL | DISTINCT]', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'SET', // Data definition\n'CREATE [RECURSIVE] VIEW', 'CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', 'WHERE CURRENT OF', // - delete:\n'DELETE FROM', // - drop table:\n'DROP TABLE', // - alter table:\n'ALTER TABLE', 'ADD COLUMN', 'DROP [COLUMN]', 'RENAME COLUMN', 'RENAME TO', 'ALTER [COLUMN]', '{SET | DROP} DEFAULT', // for alter column\n'ADD SCOPE', // for alter column\n'DROP SCOPE {CASCADE | RESTRICT}', // for alter column\n'RESTART WITH', // for alter column\n// - truncate:\n'TRUNCATE TABLE', // other\n'SET SCHEMA']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nconst reservedPhrases = expandPhrases(['ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]', '{ROWS | RANGE} BETWEEN']);\nexport const sql = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    stringTypes: [{\n      quote: \"''-qq-bs\",\n      prefixes: ['N', 'U&']\n    }, {\n      quote: \"''-raw\",\n      prefixes: ['X'],\n      requirePrefix: true\n    }],\n    identTypes: [`\"\"-qq`, '``'],\n    paramTypes: {\n      positional: true\n    },\n    operators: ['||']\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n//# sourceMappingURL=sql.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://github.com/trinodb/trino/tree/432d2897bdef99388c1a47188743a061c4ac1f34/docs/src/main/sphinx/functions\n  // rg '^\\.\\. function::' ./docs/src/main/sphinx/functions | cut -d' ' -f 3 | cut -d '(' -f 1 | sort | uniq\n  // rg '\\* ' ./docs/src/main/sphinx/functions/list-by-topic.rst | grep    '\\* :func:' | cut -d'`' -f 2\n  // rg '\\* ' ./docs/src/main/sphinx/functions/list-by-topic.rst | grep -v '\\* :func:'\n  // grep -e '^- ' ./docs/src/main/sphinx/functions/list.rst | grep  -e '^- :func:' | cut -d'`' -f2\n  // grep -e '^- ' ./docs/src/main/sphinx/functions/list.rst | grep -ve '^- :func:'\n  all: ['ABS', 'ACOS', 'ALL_MATCH', 'ANY_MATCH', 'APPROX_DISTINCT', 'APPROX_MOST_FREQUENT', 'APPROX_PERCENTILE', 'APPROX_SET', 'ARBITRARY', 'ARRAYS_OVERLAP', 'ARRAY_AGG', 'ARRAY_DISTINCT', 'ARRAY_EXCEPT', 'ARRAY_INTERSECT', 'ARRAY_JOIN', 'ARRAY_MAX', 'ARRAY_MIN', 'ARRAY_POSITION', 'ARRAY_REMOVE', 'ARRAY_SORT', 'ARRAY_UNION', 'ASIN', 'ATAN', 'ATAN2', 'AT_TIMEZONE', 'AVG', 'BAR', 'BETA_CDF', 'BING_TILE', 'BING_TILES_AROUND', 'BING_TILE_AT', 'BING_TILE_COORDINATES', 'BING_TILE_POLYGON', 'BING_TILE_QUADKEY', 'BING_TILE_ZOOM_LEVEL', 'BITWISE_AND', 'BITWISE_AND_AGG', 'BITWISE_LEFT_SHIFT', 'BITWISE_NOT', 'BITWISE_OR', 'BITWISE_OR_AGG', 'BITWISE_RIGHT_SHIFT', 'BITWISE_RIGHT_SHIFT_ARITHMETIC', 'BITWISE_XOR', 'BIT_COUNT', 'BOOL_AND', 'BOOL_OR', 'CARDINALITY', 'CAST', 'CBRT', 'CEIL', 'CEILING', 'CHAR2HEXINT', 'CHECKSUM', 'CHR', 'CLASSIFY', 'COALESCE', 'CODEPOINT', 'COLOR', 'COMBINATIONS', 'CONCAT', 'CONCAT_WS', 'CONTAINS', 'CONTAINS_SEQUENCE', 'CONVEX_HULL_AGG', 'CORR', 'COS', 'COSH', 'COSINE_SIMILARITY', 'COUNT', 'COUNT_IF', 'COVAR_POP', 'COVAR_SAMP', 'CRC32', 'CUME_DIST', 'CURRENT_CATALOG', 'CURRENT_DATE', 'CURRENT_GROUPS', 'CURRENT_SCHEMA', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_TIMEZONE', 'CURRENT_USER', 'DATE', 'DATE_ADD', 'DATE_DIFF', 'DATE_FORMAT', 'DATE_PARSE', 'DATE_TRUNC', 'DAY', 'DAY_OF_MONTH', 'DAY_OF_WEEK', 'DAY_OF_YEAR', 'DEGREES', 'DENSE_RANK', 'DOW', 'DOY', 'E', 'ELEMENT_AT', 'EMPTY_APPROX_SET', 'EVALUATE_CLASSIFIER_PREDICTIONS', 'EVERY', 'EXP', 'EXTRACT', 'FEATURES', 'FILTER', 'FIRST_VALUE', 'FLATTEN', 'FLOOR', 'FORMAT', 'FORMAT_DATETIME', 'FORMAT_NUMBER', 'FROM_BASE', 'FROM_BASE32', 'FROM_BASE64', 'FROM_BASE64URL', 'FROM_BIG_ENDIAN_32', 'FROM_BIG_ENDIAN_64', 'FROM_ENCODED_POLYLINE', 'FROM_GEOJSON_GEOMETRY', 'FROM_HEX', 'FROM_IEEE754_32', 'FROM_IEEE754_64', 'FROM_ISO8601_DATE', 'FROM_ISO8601_TIMESTAMP', 'FROM_ISO8601_TIMESTAMP_NANOS', 'FROM_UNIXTIME', 'FROM_UNIXTIME_NANOS', 'FROM_UTF8', 'GEOMETRIC_MEAN', 'GEOMETRY_FROM_HADOOP_SHAPE', 'GEOMETRY_INVALID_REASON', 'GEOMETRY_NEAREST_POINTS', 'GEOMETRY_TO_BING_TILES', 'GEOMETRY_UNION', 'GEOMETRY_UNION_AGG', 'GREATEST', 'GREAT_CIRCLE_DISTANCE', 'HAMMING_DISTANCE', 'HASH_COUNTS', 'HISTOGRAM', 'HMAC_MD5', 'HMAC_SHA1', 'HMAC_SHA256', 'HMAC_SHA512', 'HOUR', 'HUMAN_READABLE_SECONDS', 'IF', 'INDEX', 'INFINITY', 'INTERSECTION_CARDINALITY', 'INVERSE_BETA_CDF', 'INVERSE_NORMAL_CDF', 'IS_FINITE', 'IS_INFINITE', 'IS_JSON_SCALAR', 'IS_NAN', 'JACCARD_INDEX', 'JSON_ARRAY_CONTAINS', 'JSON_ARRAY_GET', 'JSON_ARRAY_LENGTH', 'JSON_EXISTS', 'JSON_EXTRACT', 'JSON_EXTRACT_SCALAR', 'JSON_FORMAT', 'JSON_PARSE', 'JSON_QUERY', 'JSON_SIZE', 'JSON_VALUE', 'KURTOSIS', 'LAG', 'LAST_DAY_OF_MONTH', 'LAST_VALUE', 'LEAD', 'LEARN_CLASSIFIER', 'LEARN_LIBSVM_CLASSIFIER', 'LEARN_LIBSVM_REGRESSOR', 'LEARN_REGRESSOR', 'LEAST', 'LENGTH', 'LEVENSHTEIN_DISTANCE', 'LINE_INTERPOLATE_POINT', 'LINE_INTERPOLATE_POINTS', 'LINE_LOCATE_POINT', 'LISTAGG', 'LN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOG', 'LOG10', 'LOG2', 'LOWER', 'LPAD', 'LTRIM', 'LUHN_CHECK', 'MAKE_SET_DIGEST', 'MAP', 'MAP_AGG', 'MAP_CONCAT', 'MAP_ENTRIES', 'MAP_FILTER', 'MAP_FROM_ENTRIES', 'MAP_KEYS', 'MAP_UNION', 'MAP_VALUES', 'MAP_ZIP_WITH', 'MAX', 'MAX_BY', 'MD5', 'MERGE', 'MERGE_SET_DIGEST', 'MILLISECOND', 'MIN', 'MINUTE', 'MIN_BY', 'MOD', 'MONTH', 'MULTIMAP_AGG', 'MULTIMAP_FROM_ENTRIES', 'MURMUR3', 'NAN', 'NGRAMS', 'NONE_MATCH', 'NORMALIZE', 'NORMAL_CDF', 'NOW', 'NTH_VALUE', 'NTILE', 'NULLIF', 'NUMERIC_HISTOGRAM', 'OBJECTID', 'OBJECTID_TIMESTAMP', 'PARSE_DATA_SIZE', 'PARSE_DATETIME', 'PARSE_DURATION', 'PERCENT_RANK', 'PI', 'POSITION', 'POW', 'POWER', 'QDIGEST_AGG', 'QUARTER', 'RADIANS', 'RAND', 'RANDOM', 'RANK', 'REDUCE', 'REDUCE_AGG', 'REGEXP_COUNT', 'REGEXP_EXTRACT', 'REGEXP_EXTRACT_ALL', 'REGEXP_LIKE', 'REGEXP_POSITION', 'REGEXP_REPLACE', 'REGEXP_SPLIT', 'REGRESS', 'REGR_INTERCEPT', 'REGR_SLOPE', 'RENDER', 'REPEAT', 'REPLACE', 'REVERSE', 'RGB', 'ROUND', 'ROW_NUMBER', 'RPAD', 'RTRIM', 'SECOND', 'SEQUENCE', 'SHA1', 'SHA256', 'SHA512', 'SHUFFLE', 'SIGN', 'SIMPLIFY_GEOMETRY', 'SIN', 'SKEWNESS', 'SLICE', 'SOUNDEX', 'SPATIAL_PARTITIONING', 'SPATIAL_PARTITIONS', 'SPLIT', 'SPLIT_PART', 'SPLIT_TO_MAP', 'SPLIT_TO_MULTIMAP', 'SPOOKY_HASH_V2_32', 'SPOOKY_HASH_V2_64', 'SQRT', 'STARTS_WITH', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STRPOS', 'ST_AREA', 'ST_ASBINARY', 'ST_ASTEXT', 'ST_BOUNDARY', 'ST_BUFFER', 'ST_CENTROID', 'ST_CONTAINS', 'ST_CONVEXHULL', 'ST_COORDDIM', 'ST_CROSSES', 'ST_DIFFERENCE', 'ST_DIMENSION', 'ST_DISJOINT', 'ST_DISTANCE', 'ST_ENDPOINT', 'ST_ENVELOPE', 'ST_ENVELOPEASPTS', 'ST_EQUALS', 'ST_EXTERIORRING', 'ST_GEOMETRIES', 'ST_GEOMETRYFROMTEXT', 'ST_GEOMETRYN', 'ST_GEOMETRYTYPE', 'ST_GEOMFROMBINARY', 'ST_INTERIORRINGN', 'ST_INTERIORRINGS', 'ST_INTERSECTION', 'ST_INTERSECTS', 'ST_ISCLOSED', 'ST_ISEMPTY', 'ST_ISRING', 'ST_ISSIMPLE', 'ST_ISVALID', 'ST_LENGTH', 'ST_LINEFROMTEXT', 'ST_LINESTRING', 'ST_MULTIPOINT', 'ST_NUMGEOMETRIES', 'ST_NUMINTERIORRING', 'ST_NUMPOINTS', 'ST_OVERLAPS', 'ST_POINT', 'ST_POINTN', 'ST_POINTS', 'ST_POLYGON', 'ST_RELATE', 'ST_STARTPOINT', 'ST_SYMDIFFERENCE', 'ST_TOUCHES', 'ST_UNION', 'ST_WITHIN', 'ST_X', 'ST_XMAX', 'ST_XMIN', 'ST_Y', 'ST_YMAX', 'ST_YMIN', 'SUBSTR', 'SUBSTRING', 'SUM', 'TAN', 'TANH', 'TDIGEST_AGG', 'TIMESTAMP_OBJECTID', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TO_BASE', 'TO_BASE32', 'TO_BASE64', 'TO_BASE64URL', 'TO_BIG_ENDIAN_32', 'TO_BIG_ENDIAN_64', 'TO_CHAR', 'TO_DATE', 'TO_ENCODED_POLYLINE', 'TO_GEOJSON_GEOMETRY', 'TO_GEOMETRY', 'TO_HEX', 'TO_IEEE754_32', 'TO_IEEE754_64', 'TO_ISO8601', 'TO_MILLISECONDS', 'TO_SPHERICAL_GEOGRAPHY', 'TO_TIMESTAMP', 'TO_UNIXTIME', 'TO_UTF8', 'TRANSFORM', 'TRANSFORM_KEYS', 'TRANSFORM_VALUES', 'TRANSLATE', 'TRIM', 'TRIM_ARRAY', 'TRUNCATE', 'TRY', 'TRY_CAST', 'TYPEOF', 'UPPER', 'URL_DECODE', 'URL_ENCODE', 'URL_EXTRACT_FRAGMENT', 'URL_EXTRACT_HOST', 'URL_EXTRACT_PARAMETER', 'URL_EXTRACT_PATH', 'URL_EXTRACT_PORT', 'URL_EXTRACT_PROTOCOL', 'URL_EXTRACT_QUERY', 'UUID', 'VALUES_AT_QUANTILES', 'VALUE_AT_QUANTILE', 'VARIANCE', 'VAR_POP', 'VAR_SAMP', 'VERSION', 'WEEK', 'WEEK_OF_YEAR', 'WIDTH_BUCKET', 'WILSON_INTERVAL_LOWER', 'WILSON_INTERVAL_UPPER', 'WITH_TIMEZONE', 'WORD_STEM', 'XXHASH64', 'YEAR', 'YEAR_OF_WEEK', 'YOW', 'ZIP', 'ZIP_WITH'],\n  // https://trino.io/docs/current/sql/match-recognize.html#row-pattern-recognition-expressions\n  rowPattern: ['CLASSIFIER', 'FIRST', 'LAST', 'MATCH_NUMBER', 'NEXT', 'PERMUTE', 'PREV']\n});\n//# sourceMappingURL=trino.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L858-L1128\n  all: ['ABSENT', 'ADD', 'ADMIN', 'AFTER', 'ALL', 'ALTER', 'ANALYZE', 'AND', 'ANY', 'ARRAY', 'AS', 'ASC', 'AT', 'AUTHORIZATION', 'BERNOULLI', 'BETWEEN', 'BOTH', 'BY', 'CALL', 'CASCADE', 'CASE', 'CATALOGS', 'COLUMN', 'COLUMNS', 'COMMENT', 'COMMIT', 'COMMITTED', 'CONDITIONAL', 'CONSTRAINT', 'COPARTITION', 'CREATE', 'CROSS', 'CUBE', 'CURRENT', 'CURRENT_PATH', 'CURRENT_ROLE', 'DATA', 'DEALLOCATE', 'DEFAULT', 'DEFINE', 'DEFINER', 'DELETE', 'DENY', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DISTINCT', 'DISTRIBUTED', 'DOUBLE', 'DROP', 'ELSE', 'EMPTY', 'ENCODING', 'END', 'ERROR', 'ESCAPE', 'EXCEPT', 'EXCLUDING', 'EXECUTE', 'EXISTS', 'EXPLAIN', 'FALSE', 'FETCH', 'FINAL', 'FIRST', 'FOLLOWING', 'FOR', 'FROM', 'FULL', 'FUNCTIONS', 'GRANT', 'GRANTED', 'GRANTS', 'GRAPHVIZ', 'GROUP', 'GROUPING', 'GROUPS', 'HAVING', 'IGNORE', 'IN', 'INCLUDING', 'INITIAL', 'INNER', 'INPUT', 'INSERT', 'INTERSECT', 'INTERVAL', 'INTO', 'INVOKER', 'IO', 'IS', 'ISOLATION', 'JOIN', 'JSON', 'JSON_ARRAY', 'JSON_OBJECT', 'KEEP', 'KEY', 'KEYS', 'LAST', 'LATERAL', 'LEADING', 'LEFT', 'LEVEL', 'LIKE', 'LIMIT', 'LOCAL', 'LOGICAL', 'MATCH', 'MATCHED', 'MATCHES', 'MATCH_RECOGNIZE', 'MATERIALIZED', 'MEASURES', 'NATURAL', 'NEXT', 'NFC', 'NFD', 'NFKC', 'NFKD', 'NO', 'NONE', 'NOT', 'NULL', 'NULLS', 'OBJECT', 'OF', 'OFFSET', 'OMIT', 'ON', 'ONE', 'ONLY', 'OPTION', 'OR', 'ORDER', 'ORDINALITY', 'OUTER', 'OUTPUT', 'OVER', 'OVERFLOW', 'PARTITION', 'PARTITIONS', 'PASSING', 'PAST', 'PATH', 'PATTERN', 'PER', 'PERMUTE', 'PRECEDING', 'PRECISION', 'PREPARE', 'PRIVILEGES', 'PROPERTIES', 'PRUNE', 'QUOTES', 'RANGE', 'READ', 'RECURSIVE', 'REFRESH', 'RENAME', 'REPEATABLE', 'RESET', 'RESPECT', 'RESTRICT', 'RETURNING', 'REVOKE', 'RIGHT', 'ROLE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROW', 'ROWS', 'RUNNING', 'SCALAR', 'SCHEMA', 'SCHEMAS', 'SECURITY', 'SEEK', 'SELECT', 'SERIALIZABLE', 'SESSION', 'SET', 'SETS', 'SHOW', 'SKIP', 'SOME', 'START', 'STATS', 'STRING', 'SUBSET', 'SYSTEM', 'TABLE', 'TABLES', 'TABLESAMPLE', 'TEXT', 'THEN', 'TIES', 'TIME', 'TIMESTAMP', 'TO', 'TRAILING', 'TRANSACTION', 'TRUE', 'TYPE', 'UESCAPE', 'UNBOUNDED', 'UNCOMMITTED', 'UNCONDITIONAL', 'UNION', 'UNIQUE', 'UNKNOWN', 'UNMATCHED', 'UNNEST', 'UPDATE', 'USE', 'USER', 'USING', 'UTF16', 'UTF32', 'UTF8', 'VALIDATE', 'VALUE', 'VALUES', 'VERBOSE', 'VIEW', 'WHEN', 'WHERE', 'WINDOW', 'WITH', 'WITHIN', 'WITHOUT', 'WORK', 'WRAPPER', 'WRITE', 'ZONE'],\n  // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-main/src/main/java/io/trino/metadata/TypeRegistry.java#L131-L168\n  // or https://trino.io/docs/current/language/types.html\n  types: ['BIGINT', 'INT', 'INTEGER', 'SMALLINT', 'TINYINT', 'BOOLEAN', 'DATE', 'DECIMAL', 'REAL', 'DOUBLE', 'HYPERLOGLOG', 'QDIGEST', 'TDIGEST', 'P4HYPERLOGLOG', 'INTERVAL', 'TIMESTAMP', 'TIME', 'VARBINARY', 'VARCHAR', 'CHAR', 'ROW', 'ARRAY', 'MAP', 'JSON', 'JSON2016', 'IPADDRESS', 'GEOMETRY', 'UUID', 'SETDIGEST', 'JONIREGEXP', 'RE2JREGEXP', 'LIKEPATTERN', 'COLOR', 'CODEPOINTS', 'FUNCTION', 'JSONPATH']\n});\n//# sourceMappingURL=trino.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './trino.functions.js';\nimport { keywords } from './trino.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']); // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L41\n\nconst reservedClauses = expandPhrases([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY [ALL | DISTINCT]', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT INTO', 'VALUES', // - update:\n'SET', // Data definition\n'CREATE [OR REPLACE] [MATERIALIZED] VIEW', 'CREATE TABLE [IF NOT EXISTS]', // MATCH_RECOGNIZE\n'MATCH_RECOGNIZE', 'MEASURES', 'ONE ROW PER MATCH', 'ALL ROWS PER MATCH', 'AFTER MATCH', 'PATTERN', 'SUBSET', 'DEFINE']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', // - delete:\n'DELETE FROM', // - drop table:\n'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE [IF EXISTS]', 'ADD COLUMN [IF NOT EXISTS]', 'DROP COLUMN [IF EXISTS]', 'RENAME COLUMN [IF EXISTS]', 'RENAME TO', 'SET AUTHORIZATION [USER | ROLE]', 'SET PROPERTIES', 'EXECUTE', // - truncate:\n'TRUNCATE TABLE', // other\n'ALTER SCHEMA', 'ALTER MATERIALIZED VIEW', 'ALTER VIEW', 'CREATE SCHEMA', 'CREATE ROLE', 'DROP SCHEMA', 'DROP MATERIALIZED VIEW', 'DROP VIEW', 'DROP ROLE', // Auxiliary\n'EXPLAIN', 'ANALYZE', 'EXPLAIN ANALYZE', 'EXPLAIN ANALYZE VERBOSE', 'USE', 'COMMENT ON TABLE', 'COMMENT ON COLUMN', 'DESCRIBE INPUT', 'DESCRIBE OUTPUT', 'REFRESH MATERIALIZED VIEW', 'RESET SESSION', 'SET SESSION', 'SET PATH', 'SET TIME ZONE', 'SHOW GRANTS', 'SHOW CREATE TABLE', 'SHOW CREATE SCHEMA', 'SHOW CREATE VIEW', 'SHOW CREATE MATERIALIZED VIEW', 'SHOW TABLES', 'SHOW SCHEMAS', 'SHOW CATALOGS', 'SHOW COLUMNS', 'SHOW STATS FOR', 'SHOW ROLES', 'SHOW CURRENT ROLES', 'SHOW ROLE GRANTS', 'SHOW FUNCTIONS', 'SHOW SESSION']); // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L231-L235\n// https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L288-L291\n\nconst reservedSetOperations = expandPhrases(['UNION [ALL | DISTINCT]', 'EXCEPT [ALL | DISTINCT]', 'INTERSECT [ALL | DISTINCT]']); // https://github.com/trinodb/trino/blob/432d2897bdef99388c1a47188743a061c4ac1f34/core/trino-parser/src/main/antlr4/io/trino/sql/parser/SqlBase.g4#L299-L313\n\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL [INNER] JOIN', 'NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN']);\nconst reservedPhrases = expandPhrases(['{ROWS | RANGE | GROUPS} BETWEEN', // comparison operator\n'IS [NOT] DISTINCT FROM']);\nexport const trino = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    // Trino also supports {- ... -} parenthesis.\n    // The formatting of these currently works out as a result of { and -\n    // not getting a space added in-between.\n    // https://trino.io/docs/current/sql/match-recognize.html#row-pattern-syntax\n    extraParens: ['[]', '{}'],\n    // https://trino.io/docs/current/language/types.html#string\n    // https://trino.io/docs/current/language/types.html#varbinary\n    stringTypes: [{\n      quote: \"''-qq\",\n      prefixes: ['U&']\n    }, {\n      quote: \"''-raw\",\n      prefixes: ['X'],\n      requirePrefix: true\n    }],\n    // https://trino.io/docs/current/language/reserved.html\n    identTypes: ['\"\"-qq'],\n    paramTypes: {\n      positional: true\n    },\n    operators: ['%', '->', '=>', ':', '||', // Row pattern syntax\n    '|', '^', '$' // '?', conflicts with positional placeholders\n    ]\n  },\n  formatOptions: {\n    onelineClauses\n  }\n};\n//# sourceMappingURL=trino.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://docs.microsoft.com/en-us/sql/t-sql/functions/functions?view=sql-server-ver15\n  aggregate: ['APPROX_COUNT_DISTINCT', 'AVG', 'CHECKSUM_AGG', 'COUNT', 'COUNT_BIG', 'GROUPING', 'GROUPING_ID', 'MAX', 'MIN', 'STDEV', 'STDEVP', 'SUM', 'VAR', 'VARP'],\n  analytic: ['CUME_DIST', 'FIRST_VALUE', 'LAG', 'LAST_VALUE', 'LEAD', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PERCENT_RANK', 'Collation - COLLATIONPROPERTY', 'Collation - TERTIARY_WEIGHTS'],\n  configuration: ['@@DBTS', '@@LANGID', '@@LANGUAGE', '@@LOCK_TIMEOUT', '@@MAX_CONNECTIONS', '@@MAX_PRECISION', '@@NESTLEVEL', '@@OPTIONS', '@@REMSERVER', '@@SERVERNAME', '@@SERVICENAME', '@@SPID', '@@TEXTSIZE', '@@VERSION'],\n  conversion: ['CAST', 'CONVERT', 'PARSE', 'TRY_CAST', 'TRY_CONVERT', 'TRY_PARSE'],\n  cryptographic: ['ASYMKEY_ID', 'ASYMKEYPROPERTY', 'CERTPROPERTY', 'CERT_ID', 'CRYPT_GEN_RANDOM', 'DECRYPTBYASYMKEY', 'DECRYPTBYCERT', 'DECRYPTBYKEY', 'DECRYPTBYKEYAUTOASYMKEY', 'DECRYPTBYKEYAUTOCERT', 'DECRYPTBYPASSPHRASE', 'ENCRYPTBYASYMKEY', 'ENCRYPTBYCERT', 'ENCRYPTBYKEY', 'ENCRYPTBYPASSPHRASE', 'HASHBYTES', 'IS_OBJECTSIGNED', 'KEY_GUID', 'KEY_ID', 'KEY_NAME', 'SIGNBYASYMKEY', 'SIGNBYCERT', 'SYMKEYPROPERTY', 'VERIFYSIGNEDBYCERT', 'VERIFYSIGNEDBYASYMKEY'],\n  cursor: ['@@CURSOR_ROWS', '@@FETCH_STATUS', 'CURSOR_STATUS'],\n  dataType: ['DATALENGTH', 'IDENT_CURRENT', 'IDENT_INCR', 'IDENT_SEED', 'IDENTITY', 'SQL_VARIANT_PROPERTY'],\n  datetime: ['@@DATEFIRST', 'CURRENT_TIMESTAMP', 'CURRENT_TIMEZONE', 'CURRENT_TIMEZONE_ID', 'DATEADD', 'DATEDIFF', 'DATEDIFF_BIG', 'DATEFROMPARTS', 'DATENAME', 'DATEPART', 'DATETIME2FROMPARTS', 'DATETIMEFROMPARTS', 'DATETIMEOFFSETFROMPARTS', 'DAY', 'EOMONTH', 'GETDATE', 'GETUTCDATE', 'ISDATE', 'MONTH', 'SMALLDATETIMEFROMPARTS', 'SWITCHOFFSET', 'SYSDATETIME', 'SYSDATETIMEOFFSET', 'SYSUTCDATETIME', 'TIMEFROMPARTS', 'TODATETIMEOFFSET', 'YEAR', 'JSON', 'ISJSON', 'JSON_VALUE', 'JSON_QUERY', 'JSON_MODIFY'],\n  mathematical: ['ABS', 'ACOS', 'ASIN', 'ATAN', 'ATN2', 'CEILING', 'COS', 'COT', 'DEGREES', 'EXP', 'FLOOR', 'LOG', 'LOG10', 'PI', 'POWER', 'RADIANS', 'RAND', 'ROUND', 'SIGN', 'SIN', 'SQRT', 'SQUARE', 'TAN', 'CHOOSE', 'GREATEST', 'IIF', 'LEAST'],\n  metadata: ['@@PROCID', 'APP_NAME', 'APPLOCK_MODE', 'APPLOCK_TEST', 'ASSEMBLYPROPERTY', 'COL_LENGTH', 'COL_NAME', 'COLUMNPROPERTY', 'DATABASEPROPERTYEX', 'DB_ID', 'DB_NAME', 'FILE_ID', 'FILE_IDEX', 'FILE_NAME', 'FILEGROUP_ID', 'FILEGROUP_NAME', 'FILEGROUPPROPERTY', 'FILEPROPERTY', 'FILEPROPERTYEX', 'FULLTEXTCATALOGPROPERTY', 'FULLTEXTSERVICEPROPERTY', 'INDEX_COL', 'INDEXKEY_PROPERTY', 'INDEXPROPERTY', 'NEXT VALUE FOR', 'OBJECT_DEFINITION', 'OBJECT_ID', 'OBJECT_NAME', 'OBJECT_SCHEMA_NAME', 'OBJECTPROPERTY', 'OBJECTPROPERTYEX', 'ORIGINAL_DB_NAME', 'PARSENAME', 'SCHEMA_ID', 'SCHEMA_NAME', 'SCOPE_IDENTITY', 'SERVERPROPERTY', 'STATS_DATE', 'TYPE_ID', 'TYPE_NAME', 'TYPEPROPERTY'],\n  ranking: ['DENSE_RANK', 'NTILE', 'RANK', 'ROW_NUMBER', 'PUBLISHINGSERVERNAME'],\n  security: ['CERTENCODED', 'CERTPRIVATEKEY', 'CURRENT_USER', 'DATABASE_PRINCIPAL_ID', 'HAS_DBACCESS', 'HAS_PERMS_BY_NAME', 'IS_MEMBER', 'IS_ROLEMEMBER', 'IS_SRVROLEMEMBER', 'LOGINPROPERTY', 'ORIGINAL_LOGIN', 'PERMISSIONS', 'PWDENCRYPT', 'PWDCOMPARE', 'SESSION_USER', 'SESSIONPROPERTY', 'SUSER_ID', 'SUSER_NAME', 'SUSER_SID', 'SUSER_SNAME', 'SYSTEM_USER', 'USER', 'USER_ID', 'USER_NAME'],\n  string: ['ASCII', 'CHAR', 'CHARINDEX', 'CONCAT', 'CONCAT_WS', 'DIFFERENCE', 'FORMAT', 'LEFT', 'LEN', 'LOWER', 'LTRIM', 'NCHAR', 'PATINDEX', 'QUOTENAME', 'REPLACE', 'REPLICATE', 'REVERSE', 'RIGHT', 'RTRIM', 'SOUNDEX', 'SPACE', 'STR', 'STRING_AGG', 'STRING_ESCAPE', 'STUFF', 'SUBSTRING', 'TRANSLATE', 'TRIM', 'UNICODE', 'UPPER'],\n  system: ['$PARTITION', '@@ERROR', '@@IDENTITY', '@@PACK_RECEIVED', '@@ROWCOUNT', '@@TRANCOUNT', 'BINARY_CHECKSUM', 'CHECKSUM', 'COMPRESS', 'CONNECTIONPROPERTY', 'CONTEXT_INFO', 'CURRENT_REQUEST_ID', 'CURRENT_TRANSACTION_ID', 'DECOMPRESS', 'ERROR_LINE', 'ERROR_MESSAGE', 'ERROR_NUMBER', 'ERROR_PROCEDURE', 'ERROR_SEVERITY', 'ERROR_STATE', 'FORMATMESSAGE', 'GET_FILESTREAM_TRANSACTION_CONTEXT', 'GETANSINULL', 'HOST_ID', 'HOST_NAME', 'ISNULL', 'ISNUMERIC', 'MIN_ACTIVE_ROWVERSION', 'NEWID', 'NEWSEQUENTIALID', 'ROWCOUNT_BIG', 'SESSION_CONTEXT', 'XACT_STATE'],\n  statistical: ['@@CONNECTIONS', '@@CPU_BUSY', '@@IDLE', '@@IO_BUSY', '@@PACK_SENT', '@@PACKET_ERRORS', '@@TIMETICKS', '@@TOTAL_ERRORS', '@@TOTAL_READ', '@@TOTAL_WRITE', 'TEXTPTR', 'TEXTVALID'],\n  trigger: ['COLUMNS_UPDATED', 'EVENTDATA', 'TRIGGER_NESTLEVEL', 'UPDATE'],\n  // Shorthand functions to use in place of CASE expression\n  caseAbbrev: ['COALESCE', 'NULLIF'],\n  // Parameterized types\n  // https://docs.microsoft.com/en-us/sql/t-sql/data-types/data-types-transact-sql?view=sql-server-ver15\n  dataTypes: ['DECIMAL', 'NUMERIC', 'FLOAT', 'REAL', 'DATETIME2', 'DATETIMEOFFSET', 'TIME', 'CHAR', 'VARCHAR', 'NCHAR', 'NVARCHAR', 'BINARY', 'VARBINARY']\n});\n//# sourceMappingURL=transactsql.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://docs.microsoft.com/en-us/sql/t-sql/language-elements/reserved-keywords-transact-sql?view=sql-server-ver15\n  standard: ['ADD', 'ALL', 'ALTER', 'AND', 'ANY', 'AS', 'ASC', 'AUTHORIZATION', 'BACKUP', 'BEGIN', 'BETWEEN', 'BREAK', 'BROWSE', 'BULK', 'BY', 'CASCADE', 'CHECK', 'CHECKPOINT', 'CLOSE', 'CLUSTERED', 'COALESCE', 'COLLATE', 'COLUMN', 'COMMIT', 'COMPUTE', 'CONSTRAINT', 'CONTAINS', 'CONTAINSTABLE', 'CONTINUE', 'CONVERT', 'CREATE', 'CROSS', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'DATABASE', 'DBCC', 'DEALLOCATE', 'DECLARE', 'DEFAULT', 'DELETE', 'DENY', 'DESC', 'DISK', 'DISTINCT', 'DISTRIBUTED', 'DOUBLE', 'DROP', 'DUMP', 'ERRLVL', 'ESCAPE', 'EXEC', 'EXECUTE', 'EXISTS', 'EXIT', 'EXTERNAL', 'FETCH', 'FILE', 'FILLFACTOR', 'FOR', 'FOREIGN', 'FREETEXT', 'FREETEXTTABLE', 'FROM', 'FULL', 'FUNCTION', 'GOTO', 'GRANT', 'GROUP', 'HAVING', 'HOLDLOCK', 'IDENTITY', 'IDENTITYCOL', 'IDENTITY_INSERT', 'IF', 'IN', 'INDEX', 'INNER', 'INSERT', 'INTERSECT', 'INTO', 'IS', 'JOIN', 'KEY', 'KILL', 'LEFT', 'LIKE', 'LINENO', 'LOAD', 'MERGE', 'NATIONAL', 'NOCHECK', 'NONCLUSTERED', 'NOT', 'NULL', 'NULLIF', 'OF', 'OFF', 'OFFSETS', 'ON', 'OPEN', 'OPENDATASOURCE', 'OPENQUERY', 'OPENROWSET', 'OPENXML', 'OPTION', 'OR', 'ORDER', 'OUTER', 'OVER', 'PERCENT', 'PIVOT', 'PLAN', 'PRECISION', 'PRIMARY', 'PRINT', 'PROC', 'PROCEDURE', 'PUBLIC', 'RAISERROR', 'READ', 'READTEXT', 'RECONFIGURE', 'REFERENCES', 'REPLICATION', 'RESTORE', 'RESTRICT', 'RETURN', 'REVERT', 'REVOKE', 'RIGHT', 'ROLLBACK', 'ROWCOUNT', 'ROWGUIDCOL', 'RULE', 'SAVE', 'SCHEMA', 'SECURITYAUDIT', 'SELECT', 'SEMANTICKEYPHRASETABLE', 'SEMANTICSIMILARITYDETAILSTABLE', 'SEMANTICSIMILARITYTABLE', 'SESSION_USER', 'SET', 'SETUSER', 'SHUTDOWN', 'SOME', 'STATISTICS', 'SYSTEM_USER', 'TABLE', 'TABLESAMPLE', 'TEXTSIZE', 'THEN', 'TO', 'TOP', 'TRAN', 'TRANSACTION', 'TRIGGER', 'TRUNCATE', 'TRY_CONVERT', 'TSEQUAL', 'UNION', 'UNIQUE', 'UNPIVOT', 'UPDATE', 'UPDATETEXT', 'USE', 'USER', 'VALUES', 'VARYING', 'VIEW', 'WAITFOR', 'WHERE', 'WHILE', 'WITH', 'WITHIN GROUP', 'WRITETEXT'],\n  odbc: ['ABSOLUTE', 'ACTION', 'ADA', 'ADD', 'ALL', 'ALLOCATE', 'ALTER', 'AND', 'ANY', 'ARE', 'AS', 'ASC', 'ASSERTION', 'AT', 'AUTHORIZATION', 'AVG', 'BEGIN', 'BETWEEN', 'BIT', 'BIT_LENGTH', 'BOTH', 'BY', 'CASCADE', 'CASCADED', 'CAST', 'CATALOG', 'CHAR', 'CHARACTER', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHECK', 'CLOSE', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COMMIT', 'CONNECT', 'CONNECTION', 'CONSTRAINT', 'CONSTRAINTS', 'CONTINUE', 'CONVERT', 'CORRESPONDING', 'COUNT', 'CREATE', 'CROSS', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'DATE', 'DAY', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFERRABLE', 'DEFERRED', 'DELETE', 'DESC', 'DESCRIBE', 'DESCRIPTOR', 'DIAGNOSTICS', 'DISCONNECT', 'DISTINCT', 'DOMAIN', 'DOUBLE', 'DROP', 'END-EXEC', 'ESCAPE', 'EXCEPTION', 'EXEC', 'EXECUTE', 'EXISTS', 'EXTERNAL', 'EXTRACT', 'FALSE', 'FETCH', 'FIRST', 'FLOAT', 'FOR', 'FOREIGN', 'FORTRAN', 'FOUND', 'FROM', 'FULL', 'GET', 'GLOBAL', 'GO', 'GOTO', 'GRANT', 'GROUP', 'HAVING', 'HOUR', 'IDENTITY', 'IMMEDIATE', 'IN', 'INCLUDE', 'INDEX', 'INDICATOR', 'INITIALLY', 'INNER', 'INPUT', 'INSENSITIVE', 'INSERT', 'INT', 'INTEGER', 'INTERSECT', 'INTERVAL', 'INTO', 'IS', 'ISOLATION', 'JOIN', 'KEY', 'LANGUAGE', 'LAST', 'LEADING', 'LEFT', 'LEVEL', 'LIKE', 'LOCAL', 'LOWER', 'MATCH', 'MAX', 'MIN', 'MINUTE', 'MODULE', 'MONTH', 'NAMES', 'NATIONAL', 'NATURAL', 'NCHAR', 'NEXT', 'NO', 'NONE', 'NOT', 'NULL', 'NULLIF', 'NUMERIC', 'OCTET_LENGTH', 'OF', 'ONLY', 'OPEN', 'OPTION', 'OR', 'ORDER', 'OUTER', 'OUTPUT', 'OVERLAPS', 'PAD', 'PARTIAL', 'PASCAL', 'POSITION', 'PRECISION', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRIOR', 'PRIVILEGES', 'PROCEDURE', 'PUBLIC', 'READ', 'REAL', 'REFERENCES', 'RELATIVE', 'RESTRICT', 'REVOKE', 'RIGHT', 'ROLLBACK', 'ROWS', 'SCHEMA', 'SCROLL', 'SECOND', 'SECTION', 'SELECT', 'SESSION', 'SESSION_USER', 'SET', 'SIZE', 'SMALLINT', 'SOME', 'SPACE', 'SQL', 'SQLCA', 'SQLCODE', 'SQLERROR', 'SQLSTATE', 'SQLWARNING', 'SUBSTRING', 'SUM', 'SYSTEM_USER', 'TABLE', 'TEMPORARY', 'TIME', 'TIMESTAMP', 'TIMEZONE_HOUR', 'TIMEZONE_MINUTE', 'TO', 'TRAILING', 'TRANSACTION', 'TRANSLATE', 'TRANSLATION', 'TRIM', 'TRUE', 'UNION', 'UNIQUE', 'UNKNOWN', 'UPDATE', 'UPPER', 'USAGE', 'USER', 'VALUE', 'VALUES', 'VARCHAR', 'VARYING', 'VIEW', 'WHENEVER', 'WHERE', 'WITH', 'WORK', 'WRITE', 'YEAR', 'ZONE']\n});\n//# sourceMappingURL=transactsql.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './transactsql.functions.js';\nimport { keywords } from './transactsql.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH', 'INTO', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'WINDOW', 'PARTITION BY', 'ORDER BY', 'OFFSET', 'FETCH {FIRST | NEXT}', // Data manipulation\n// - insert:\n'INSERT [INTO]', 'VALUES', // - update:\n'SET', // - merge:\n'MERGE [INTO]', 'WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]', 'UPDATE SET', // Data definition\n'CREATE [OR ALTER] [MATERIALIZED] VIEW', 'CREATE TABLE', 'CREATE [OR ALTER] {PROC | PROCEDURE}']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', 'WHERE CURRENT OF', // - delete:\n'DELETE [FROM]', // - drop table:\n'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE', 'ADD', 'DROP COLUMN [IF EXISTS]', 'ALTER COLUMN', // - truncate:\n'TRUNCATE TABLE', // https://docs.microsoft.com/en-us/sql/t-sql/statements/statements?view=sql-server-ver15\n'ADD SENSITIVITY CLASSIFICATION', 'ADD SIGNATURE', 'AGGREGATE', 'ANSI_DEFAULTS', 'ANSI_NULLS', 'ANSI_NULL_DFLT_OFF', 'ANSI_NULL_DFLT_ON', 'ANSI_PADDING', 'ANSI_WARNINGS', 'APPLICATION ROLE', 'ARITHABORT', 'ARITHIGNORE', 'ASSEMBLY', 'ASYMMETRIC KEY', 'AUTHORIZATION', 'AVAILABILITY GROUP', 'BACKUP', 'BACKUP CERTIFICATE', 'BACKUP MASTER KEY', 'BACKUP SERVICE MASTER KEY', 'BEGIN CONVERSATION TIMER', 'BEGIN DIALOG CONVERSATION', 'BROKER PRIORITY', 'BULK INSERT', 'CERTIFICATE', 'CLOSE MASTER KEY', 'CLOSE SYMMETRIC KEY', 'COLLATE', 'COLUMN ENCRYPTION KEY', 'COLUMN MASTER KEY', 'COLUMNSTORE INDEX', 'CONCAT_NULL_YIELDS_NULL', 'CONTEXT_INFO', 'CONTRACT', 'CREDENTIAL', 'CRYPTOGRAPHIC PROVIDER', 'CURSOR_CLOSE_ON_COMMIT', 'DATABASE', 'DATABASE AUDIT SPECIFICATION', 'DATABASE ENCRYPTION KEY', 'DATABASE HADR', 'DATABASE SCOPED CONFIGURATION', 'DATABASE SCOPED CREDENTIAL', 'DATABASE SET', 'DATEFIRST', 'DATEFORMAT', 'DEADLOCK_PRIORITY', 'DENY', 'DENY XML', 'DISABLE TRIGGER', 'ENABLE TRIGGER', 'END CONVERSATION', 'ENDPOINT', 'EVENT NOTIFICATION', 'EVENT SESSION', 'EXECUTE AS', 'EXTERNAL DATA SOURCE', 'EXTERNAL FILE FORMAT', 'EXTERNAL LANGUAGE', 'EXTERNAL LIBRARY', 'EXTERNAL RESOURCE POOL', 'EXTERNAL TABLE', 'FIPS_FLAGGER', 'FMTONLY', 'FORCEPLAN', 'FULLTEXT CATALOG', 'FULLTEXT INDEX', 'FULLTEXT STOPLIST', 'FUNCTION', 'GET CONVERSATION GROUP', 'GET_TRANSMISSION_STATUS', 'GRANT', 'GRANT XML', 'IDENTITY_INSERT', 'IMPLICIT_TRANSACTIONS', 'INDEX', 'LANGUAGE', 'LOCK_TIMEOUT', 'LOGIN', 'MASTER KEY', 'MESSAGE TYPE', 'MOVE CONVERSATION', 'NOCOUNT', 'NOEXEC', 'NUMERIC_ROUNDABORT', 'OFFSETS', 'OPEN MASTER KEY', 'OPEN SYMMETRIC KEY', 'PARSEONLY', 'PARTITION FUNCTION', 'PARTITION SCHEME', 'PROCEDURE', 'QUERY_GOVERNOR_COST_LIMIT', 'QUEUE', 'QUOTED_IDENTIFIER', 'RECEIVE', 'REMOTE SERVICE BINDING', 'REMOTE_PROC_TRANSACTIONS', 'RESOURCE GOVERNOR', 'RESOURCE POOL', 'RESTORE', 'RESTORE FILELISTONLY', 'RESTORE HEADERONLY', 'RESTORE LABELONLY', 'RESTORE MASTER KEY', 'RESTORE REWINDONLY', 'RESTORE SERVICE MASTER KEY', 'RESTORE VERIFYONLY', 'REVERT', 'REVOKE', 'REVOKE XML', 'ROLE', 'ROUTE', 'ROWCOUNT', 'RULE', 'SCHEMA', 'SEARCH PROPERTY LIST', 'SECURITY POLICY', 'SELECTIVE XML INDEX', 'SEND', 'SENSITIVITY CLASSIFICATION', 'SEQUENCE', 'SERVER AUDIT', 'SERVER AUDIT SPECIFICATION', 'SERVER CONFIGURATION', 'SERVER ROLE', 'SERVICE', 'SERVICE MASTER KEY', 'SETUSER', 'SHOWPLAN_ALL', 'SHOWPLAN_TEXT', 'SHOWPLAN_XML', 'SIGNATURE', 'SPATIAL INDEX', 'STATISTICS', 'STATISTICS IO', 'STATISTICS PROFILE', 'STATISTICS TIME', 'STATISTICS XML', 'SYMMETRIC KEY', 'SYNONYM', 'TABLE', 'TABLE IDENTITY', 'TEXTSIZE', 'TRANSACTION ISOLATION LEVEL', 'TRIGGER', 'TYPE', 'UPDATE STATISTICS', 'USER', 'WORKLOAD GROUP', 'XACT_ABORT', 'XML INDEX', 'XML SCHEMA COLLECTION']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL]', 'EXCEPT', 'INTERSECT']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', // non-standard joins\n'{CROSS | OUTER} APPLY']);\nconst reservedPhrases = expandPhrases(['ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]', '{ROWS | RANGE} BETWEEN']); // https://docs.microsoft.com/en-us/sql/t-sql/language-reference?view=sql-server-ver15\n\nexport const transactsql = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    nestedBlockComments: true,\n    stringTypes: [{\n      quote: \"''-qq\",\n      prefixes: ['N']\n    }],\n    identTypes: [`\"\"-qq`, '[]'],\n    identChars: {\n      first: '#@',\n      rest: '#@$'\n    },\n    paramTypes: {\n      named: ['@'],\n      quoted: ['@']\n    },\n    operators: ['%', '&', '|', '^', '~', '!<', '!>', '+=', '-=', '*=', '/=', '%=', '|=', '&=', '^=', '::'] // TODO: Support for money constants\n\n  },\n  formatOptions: {\n    alwaysDenseOperators: ['::'],\n    onelineClauses\n  }\n};\n//# sourceMappingURL=transactsql.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/restricted-keywords/list-of-restricted-keywords.html\n  all: ['ABORT', 'ABSOLUTE', 'ACCESS', 'ACCESSIBLE', 'ACCOUNT', 'ACTION', 'ACTIVE', 'ADD', 'ADMIN', 'AFTER', 'AGAINST', 'AGGREGATE', 'AGGREGATES', 'AGGREGATOR', 'AGGREGATOR_ID', 'AGGREGATOR_PLAN_HASH', 'AGGREGATORS', 'ALGORITHM', 'ALL', 'ALSO', 'ALTER', 'ALWAYS', 'ANALYZE', 'AND', 'ANY', 'ARGHISTORY', 'ARRANGE', 'ARRANGEMENT', 'ARRAY', 'AS', 'ASC', 'ASCII', 'ASENSITIVE', 'ASM', 'ASSERTION', 'ASSIGNMENT', 'AST', 'ASYMMETRIC', 'ASYNC', 'AT', 'ATTACH', 'ATTRIBUTE', 'AUTHORIZATION', 'AUTO', 'AUTO_INCREMENT', 'AUTO_REPROVISION', 'AUTOSTATS', 'AUTOSTATS_CARDINALITY_MODE', 'AUTOSTATS_ENABLED', 'AUTOSTATS_HISTOGRAM_MODE', 'AUTOSTATS_SAMPLING', 'AVAILABILITY', 'AVG', 'AVG_ROW_LENGTH', 'AVRO', 'AZURE', 'BACKGROUND', '_BACKGROUND_THREADS_FOR_CLEANUP', 'BACKUP', 'BACKUP_HISTORY', 'BACKUP_ID', 'BACKWARD', 'BATCH', 'BATCHES', 'BATCH_INTERVAL', '_BATCH_SIZE_LIMIT', 'BEFORE', 'BEGIN', 'BETWEEN', 'BIGINT', 'BINARY', '_BINARY', 'BIT', 'BLOB', 'BOOL', 'BOOLEAN', 'BOOTSTRAP', 'BOTH', '_BT', 'BTREE', 'BUCKET_COUNT', 'BUCKETS', 'BY', 'BYTE', 'BYTE_LENGTH', 'CACHE', 'CALL', 'CALL_FOR_PIPELINE', 'CALLED', 'CAPTURE', 'CASCADE', 'CASCADED', 'CASE', 'CATALOG', 'CHAIN', 'CHANGE', 'CHAR', 'CHARACTER', 'CHARACTERISTICS', 'CHARSET', 'CHECK', 'CHECKPOINT', '_CHECK_CAN_CONNECT', '_CHECK_CONSISTENCY', 'CHECKSUM', '_CHECKSUM', 'CLASS', 'CLEAR', 'CLIENT', 'CLIENT_FOUND_ROWS', 'CLOSE', 'CLUSTER', 'CLUSTERED', 'CNF', 'COALESCE', 'COLLATE', 'COLLATION', 'COLUMN', 'COLUMNAR', 'COLUMNS', 'COLUMNSTORE', 'COLUMNSTORE_SEGMENT_ROWS', 'COMMENT', 'COMMENTS', 'COMMIT', 'COMMITTED', '_COMMIT_LOG_TAIL', 'COMPACT', 'COMPILE', 'COMPRESSED', 'COMPRESSION', 'CONCURRENT', 'CONCURRENTLY', 'CONDITION', 'CONFIGURATION', 'CONNECTION', 'CONNECTIONS', 'CONFIG', 'CONSTRAINT', 'CONTAINS', 'CONTENT', 'CONTINUE', '_CONTINUE_REPLAY', 'CONVERSION', 'CONVERT', 'COPY', '_CORE', 'COST', 'CREATE', 'CREDENTIALS', 'CROSS', 'CUBE', 'CSV', 'CUME_DIST', 'CURRENT', 'CURRENT_CATALOG', 'CURRENT_DATE', 'CURRENT_SCHEMA', 'CURRENT_SECURITY_GROUPS', 'CURRENT_SECURITY_ROLES', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURSOR', 'CYCLE', 'DATA', 'DATABASE', 'DATABASES', 'DATE', 'DATETIME', 'DAY', 'DAY_HOUR', 'DAY_MICROSECOND', 'DAY_MINUTE', 'DAY_SECOND', 'DEALLOCATE', 'DEC', 'DECIMAL', 'DECLARE', 'DEFAULT', 'DEFAULTS', 'DEFERRABLE', 'DEFERRED', 'DEFINED', 'DEFINER', 'DELAYED', 'DELAY_KEY_WRITE', 'DELETE', 'DELIMITER', 'DELIMITERS', 'DENSE_RANK', 'DESC', 'DESCRIBE', 'DETACH', 'DETERMINISTIC', 'DICTIONARY', 'DIFFERENTIAL', 'DIRECTORY', 'DISABLE', 'DISCARD', '_DISCONNECT', 'DISK', 'DISTINCT', 'DISTINCTROW', 'DISTRIBUTED_JOINS', 'DIV', 'DO', 'DOCUMENT', 'DOMAIN', 'DOUBLE', 'DROP', '_DROP_PROFILE', 'DUAL', 'DUMP', 'DUPLICATE', 'DURABILITY', 'DYNAMIC', 'EARLIEST', 'EACH', 'ECHO', 'ELECTION', 'ELSE', 'ELSEIF', 'ENABLE', 'ENCLOSED', 'ENCODING', 'ENCRYPTED', 'END', 'ENGINE', 'ENGINES', 'ENUM', 'ERRORS', 'ESCAPE', 'ESCAPED', 'ESTIMATE', 'EVENT', 'EVENTS', 'EXCEPT', 'EXCLUDE', 'EXCLUDING', 'EXCLUSIVE', 'EXECUTE', 'EXISTS', 'EXIT', 'EXPLAIN', 'EXTENDED', 'EXTENSION', 'EXTERNAL', 'EXTERNAL_HOST', 'EXTERNAL_PORT', 'EXTRACTOR', 'EXTRACTORS', 'EXTRA_JOIN', '_FAILOVER', 'FAILED_LOGIN_ATTEMPTS', 'FAILURE', 'FALSE', 'FAMILY', 'FAULT', 'FETCH', 'FIELDS', 'FILE', 'FILES', 'FILL', 'FIX_ALTER', 'FIXED', 'FLOAT', 'FLOAT4', 'FLOAT8', 'FLUSH', 'FOLLOWING', 'FOR', 'FORCE', 'FORCE_COMPILED_MODE', 'FORCE_INTERPRETER_MODE', 'FOREGROUND', 'FOREIGN', 'FORMAT', 'FORWARD', 'FREEZE', 'FROM', 'FS', '_FSYNC', 'FULL', 'FULLTEXT', 'FUNCTION', 'FUNCTIONS', 'GC', 'GCS', 'GET_FORMAT', '_GC', '_GCX', 'GENERATE', 'GEOGRAPHY', 'GEOGRAPHYPOINT', 'GEOMETRY', 'GEOMETRYPOINT', 'GLOBAL', '_GLOBAL_VERSION_TIMESTAMP', 'GRANT', 'GRANTED', 'GRANTS', 'GROUP', 'GROUPING', 'GROUPS', 'GZIP', 'HANDLE', 'HANDLER', 'HARD_CPU_LIMIT_PERCENTAGE', 'HASH', 'HAS_TEMP_TABLES', 'HAVING', 'HDFS', 'HEADER', 'HEARTBEAT_NO_LOGGING', 'HIGH_PRIORITY', 'HISTOGRAM', 'HOLD', 'HOLDING', 'HOST', 'HOSTS', 'HOUR', 'HOUR_MICROSECOND', 'HOUR_MINUTE', 'HOUR_SECOND', 'IDENTIFIED', 'IDENTITY', 'IF', 'IGNORE', 'ILIKE', 'IMMEDIATE', 'IMMUTABLE', 'IMPLICIT', 'IMPORT', 'IN', 'INCLUDING', 'INCREMENT', 'INCREMENTAL', 'INDEX', 'INDEXES', 'INFILE', 'INHERIT', 'INHERITS', '_INIT_PROFILE', 'INIT', 'INITIALIZE', 'INITIALLY', 'INJECT', 'INLINE', 'INNER', 'INOUT', 'INPUT', 'INSENSITIVE', 'INSERT', 'INSERT_METHOD', 'INSTANCE', 'INSTEAD', 'IN', 'INT', 'INT1', 'INT2', 'INT3', 'INT4', 'INT8', 'INTEGER', '_INTERNAL_DYNAMIC_TYPECAST', 'INTERPRETER_MODE', 'INTERSECT', 'INTERVAL', 'INTO', 'INVOKER', 'ISOLATION', 'ITERATE', 'JOIN', 'JSON', 'KAFKA', 'KEY', 'KEY_BLOCK_SIZE', 'KEYS', 'KILL', 'KILLALL', 'LABEL', 'LAG', 'LANGUAGE', 'LARGE', 'LAST', 'LAST_VALUE', 'LATERAL', 'LATEST', 'LC_COLLATE', 'LC_CTYPE', 'LEAD', 'LEADING', 'LEAF', 'LEAKPROOF', 'LEAVE', 'LEAVES', 'LEFT', 'LEVEL', 'LICENSE', 'LIKE', 'LIMIT', 'LINES', 'LISTEN', 'LLVM', 'LOADDATA_WHERE', 'LOAD', 'LOCAL', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATION', 'LOCK', 'LONG', 'LONGBLOB', 'LONGTEXT', 'LOOP', 'LOW_PRIORITY', '_LS', 'LZ4', 'MANAGEMENT', '_MANAGEMENT_THREAD', 'MAPPING', 'MASTER', 'MATCH', 'MATERIALIZED', 'MAXVALUE', 'MAX_CONCURRENCY', 'MAX_ERRORS', 'MAX_PARTITIONS_PER_BATCH', 'MAX_QUEUE_DEPTH', 'MAX_RETRIES_PER_BATCH_PARTITION', 'MAX_ROWS', 'MBC', 'MPL', 'MEDIUMBLOB', 'MEDIUMINT', 'MEDIUMTEXT', 'MEMBER', 'MEMORY', 'MEMORY_PERCENTAGE', '_MEMSQL_TABLE_ID_LOOKUP', 'MEMSQL', 'MEMSQL_DESERIALIZE', 'MEMSQL_IMITATING_KAFKA', 'MEMSQL_SERIALIZE', 'MERGE', 'METADATA', 'MICROSECOND', 'MIDDLEINT', 'MIN_ROWS', 'MINUS', 'MINUTE_MICROSECOND', 'MINUTE_SECOND', 'MINVALUE', 'MOD', 'MODE', 'MODEL', 'MODIFIES', 'MODIFY', 'MONTH', 'MOVE', 'MPL', 'NAMES', 'NAMED', 'NAMESPACE', 'NATIONAL', 'NATURAL', 'NCHAR', 'NEXT', 'NO', 'NODE', 'NONE', 'NO_QUERY_REWRITE', 'NOPARAM', 'NOT', 'NOTHING', 'NOTIFY', 'NOWAIT', 'NO_WRITE_TO_BINLOG', 'NO_QUERY_REWRITE', 'NORELY', 'NTH_VALUE', 'NTILE', 'NULL', 'NULLCOLS', 'NULLS', 'NUMERIC', 'NVARCHAR', 'OBJECT', 'OF', 'OFF', 'OFFLINE', 'OFFSET', 'OFFSETS', 'OIDS', 'ON', 'ONLINE', 'ONLY', 'OPEN', 'OPERATOR', 'OPTIMIZATION', 'OPTIMIZE', 'OPTIMIZER', 'OPTIMIZER_STATE', 'OPTION', 'OPTIONS', 'OPTIONALLY', 'OR', 'ORDER', 'ORDERED_SERIALIZE', 'ORPHAN', 'OUT', 'OUT_OF_ORDER', 'OUTER', 'OUTFILE', 'OVER', 'OVERLAPS', 'OVERLAY', 'OWNED', 'OWNER', 'PACK_KEYS', 'PAIRED', 'PARSER', 'PARQUET', 'PARTIAL', 'PARTITION', 'PARTITION_ID', 'PARTITIONING', 'PARTITIONS', 'PASSING', 'PASSWORD', 'PASSWORD_LOCK_TIME', 'PAUSE', '_PAUSE_REPLAY', 'PERIODIC', 'PERSISTED', 'PIPELINE', 'PIPELINES', 'PLACING', 'PLAN', 'PLANS', 'PLANCACHE', 'PLUGINS', 'POOL', 'POOLS', 'PORT', 'PRECEDING', 'PRECISION', 'PREPARE', 'PRESERVE', 'PRIMARY', 'PRIOR', 'PRIVILEGES', 'PROCEDURAL', 'PROCEDURE', 'PROCEDURES', 'PROCESS', 'PROCESSLIST', 'PROFILE', 'PROFILES', 'PROGRAM', 'PROMOTE', 'PROXY', 'PURGE', 'QUARTER', 'QUERIES', 'QUERY', 'QUERY_TIMEOUT', 'QUEUE', 'RANGE', 'RANK', 'READ', '_READ', 'READS', 'REAL', 'REASSIGN', 'REBALANCE', 'RECHECK', 'RECORD', 'RECURSIVE', 'REDUNDANCY', 'REDUNDANT', 'REF', 'REFERENCE', 'REFERENCES', 'REFRESH', 'REGEXP', 'REINDEX', 'RELATIVE', 'RELEASE', 'RELOAD', 'RELY', 'REMOTE', 'REMOVE', 'RENAME', 'REPAIR', '_REPAIR_TABLE', 'REPEAT', 'REPEATABLE', '_REPL', '_REPROVISIONING', 'REPLACE', 'REPLICA', 'REPLICATE', 'REPLICATING', 'REPLICATION', 'REQUIRE', 'RESOURCE', 'RESOURCE_POOL', 'RESET', 'RESTART', 'RESTORE', 'RESTRICT', 'RESULT', '_RESURRECT', 'RETRY', 'RETURN', 'RETURNING', 'RETURNS', 'REVERSE', 'RG_POOL', 'REVOKE', 'RIGHT', 'RIGHT_ANTI_JOIN', 'RIGHT_SEMI_JOIN', 'RIGHT_STRAIGHT_JOIN', 'RLIKE', 'ROLES', 'ROLLBACK', 'ROLLUP', 'ROUTINE', 'ROW', 'ROW_COUNT', 'ROW_FORMAT', 'ROW_NUMBER', 'ROWS', 'ROWSTORE', 'RULE', '_RPC', 'RUNNING', 'S3', 'SAFE', 'SAVE', 'SAVEPOINT', 'SCALAR', 'SCHEMA', 'SCHEMAS', 'SCHEMA_BINDING', 'SCROLL', 'SEARCH', 'SECOND', 'SECOND_MICROSECOND', 'SECURITY', 'SELECT', 'SEMI_JOIN', '_SEND_THREADS', 'SENSITIVE', 'SEPARATOR', 'SEQUENCE', 'SEQUENCES', 'SERIAL', 'SERIALIZABLE', 'SERIES', 'SERVICE_USER', 'SERVER', 'SESSION', 'SESSION_USER', 'SET', 'SETOF', 'SECURITY_LISTS_INTERSECT', 'SHA', 'SHARD', 'SHARDED', 'SHARDED_ID', 'SHARE', 'SHOW', 'SHUTDOWN', 'SIGNAL', 'SIGNED', 'SIMILAR', 'SIMPLE', 'SITE', 'SKIP', 'SKIPPED_BATCHES', '__SLEEP', 'SMALLINT', 'SNAPSHOT', '_SNAPSHOT', '_SNAPSHOTS', 'SOFT_CPU_LIMIT_PERCENTAGE', 'SOME', 'SONAME', 'SPARSE', 'SPATIAL', 'SPATIAL_CHECK_INDEX', 'SPECIFIC', 'SQL', 'SQL_BIG_RESULT', 'SQL_BUFFER_RESULT', 'SQL_CACHE', 'SQL_CALC_FOUND_ROWS', 'SQLEXCEPTION', 'SQL_MODE', 'SQL_NO_CACHE', 'SQL_NO_LOGGING', 'SQL_SMALL_RESULT', 'SQLSTATE', 'SQLWARNING', 'STDIN', 'STDOUT', 'STOP', 'STORAGE', 'STRAIGHT_JOIN', 'STRICT', 'STRING', 'STRIP', 'SUCCESS', 'SUPER', 'SYMMETRIC', 'SYNC_SNAPSHOT', 'SYNC', '_SYNC', '_SYNC2', '_SYNC_PARTITIONS', '_SYNC_SNAPSHOT', 'SYNCHRONIZE', 'SYSID', 'SYSTEM', 'TABLE', 'TABLE_CHECKSUM', 'TABLES', 'TABLESPACE', 'TAGS', 'TARGET_SIZE', 'TASK', 'TEMP', 'TEMPLATE', 'TEMPORARY', 'TEMPTABLE', '_TERM_BUMP', 'TERMINATE', 'TERMINATED', 'TEXT', 'THEN', 'TIME', 'TIMEOUT', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIMEZONE', 'TINYBLOB', 'TINYINT', 'TINYTEXT', 'TO', 'TRACELOGS', 'TRADITIONAL', 'TRAILING', 'TRANSFORM', 'TRANSACTION', '_TRANSACTIONS_EXPERIMENTAL', 'TREAT', 'TRIGGER', 'TRIGGERS', 'TRUE', 'TRUNC', 'TRUNCATE', 'TRUSTED', 'TWO_PHASE', '_TWOPCID', 'TYPE', 'TYPES', 'UNBOUNDED', 'UNCOMMITTED', 'UNDEFINED', 'UNDO', 'UNENCRYPTED', 'UNENFORCED', 'UNHOLD', 'UNICODE', 'UNION', 'UNIQUE', '_UNITTEST', 'UNKNOWN', 'UNLISTEN', '_UNLOAD', 'UNLOCK', 'UNLOGGED', 'UNPIVOT', 'UNSIGNED', 'UNTIL', 'UPDATE', 'UPGRADE', 'USAGE', 'USE', 'USER', 'USERS', 'USING', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', '_UTF8', 'VACUUM', 'VALID', 'VALIDATE', 'VALIDATOR', 'VALUE', 'VALUES', 'VARBINARY', 'VARCHAR', 'VARCHARACTER', 'VARIABLES', 'VARIADIC', 'VARYING', 'VERBOSE', 'VIEW', 'VOID', 'VOLATILE', 'VOTING', 'WAIT', '_WAKE', 'WARNINGS', 'WEEK', 'WHEN', 'WHERE', 'WHILE', 'WHITESPACE', 'WINDOW', 'WITH', 'WITHOUT', 'WITHIN', '_WM_HEARTBEAT', 'WORK', 'WORKLOAD', 'WRAPPER', 'WRITE', 'XACT_ID', 'XOR', 'YEAR', 'YEAR_MONTH', 'YES', 'ZEROFILL', 'ZONE']\n});\n//# sourceMappingURL=singlestoredb.keywords.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/vector-functions/vector-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/window-functions/window-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/string-functions/string-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/conditional-functions/conditional-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/numeric-functions/numeric-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/geospatial-functions/geospatial-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/json-functions/json-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/information-functions/information-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/aggregate-functions/aggregate-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/time-series-functions/time-series-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/identifier-generation-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/date-and-time-functions/date-and-time-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/distinct-count-estimation-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/full-text-search-functions/full-text-search-functions.html\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/regular-expression-functions.html\n  all: ['ABS', 'ACOS', 'ADDDATE', 'ADDTIME', 'AES_DECRYPT', 'AES_ENCRYPT', 'ANY_VALUE', 'APPROX_COUNT_DISTINCT', 'APPROX_COUNT_DISTINCT_ACCUMULATE', 'APPROX_COUNT_DISTINCT_COMBINE', 'APPROX_COUNT_DISTINCT_ESTIMATE', 'APPROX_GEOGRAPHY_INTERSECTS', 'APPROX_PERCENTILE', 'ASCII', 'ASIN', 'ATAN', 'ATAN2', 'AVG', 'BIN', 'BINARY', 'BIT_AND', 'BIT_COUNT', 'BIT_OR', 'BIT_XOR', 'CAST', 'CEIL', 'CEILING', 'CHAR', 'CHARACTER_LENGTH', 'CHAR_LENGTH', 'CHARSET', 'COALESCE', 'COERCIBILITY', 'COLLATION', 'COLLECT', 'CONCAT', 'CONCAT_WS', 'CONNECTION_ID', 'CONV', 'CONVERT', 'CONVERT_TZ', 'COS', 'COT', 'COUNT', 'CUME_DIST', 'CURDATE', 'CURRENT_DATE', 'CURRENT_ROLE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'CURTIME', 'DATABASE', 'DATE', 'DATE_ADD', 'DATEDIFF', 'DATE_FORMAT', 'DATE_SUB', 'DATE_TRUNC', 'DAY', 'DAYNAME', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFYEAR', 'DECODE', 'DEFAULT', 'DEGREES', 'DENSE_RANK', 'DIV', 'DOT_PRODUCT', 'ELT', 'EUCLIDEAN_DISTANCE', 'EXP', 'EXTRACT', 'FIELD', 'FIRST', 'FIRST_VALUE', 'FLOOR', 'FORMAT', 'FOUND_ROWS', 'FROM_BASE64', 'FROM_DAYS', 'FROM_UNIXTIME', 'GEOGRAPHY_AREA', 'GEOGRAPHY_CONTAINS', 'GEOGRAPHY_DISTANCE', 'GEOGRAPHY_INTERSECTS', 'GEOGRAPHY_LATITUDE', 'GEOGRAPHY_LENGTH', 'GEOGRAPHY_LONGITUDE', 'GEOGRAPHY_POINT', 'GEOGRAPHY_WITHIN_DISTANCE', 'GEOMETRY_AREA', 'GEOMETRY_CONTAINS', 'GEOMETRY_DISTANCE', 'GEOMETRY_FILTER', 'GEOMETRY_INTERSECTS', 'GEOMETRY_LENGTH', 'GEOMETRY_POINT', 'GEOMETRY_WITHIN_DISTANCE', 'GEOMETRY_X', 'GEOMETRY_Y', 'GREATEST', 'GROUPING', 'GROUP_CONCAT', 'HEX', 'HIGHLIGHT', 'HOUR', 'ICU_VERSION', 'IF', 'IFNULL', 'INET_ATON', 'INET_NTOA', 'INET6_ATON', 'INET6_NTOA', 'INITCAP', 'INSERT', 'INSTR', 'INTERVAL', 'IS', 'IS NULL', 'JSON_AGG', 'JSON_ARRAY_CONTAINS_DOUBLE', 'JSON_ARRAY_CONTAINS_JSON', 'JSON_ARRAY_CONTAINS_STRING', 'JSON_ARRAY_PUSH_DOUBLE', 'JSON_ARRAY_PUSH_JSON', 'JSON_ARRAY_PUSH_STRING', 'JSON_DELETE_KEY', 'JSON_EXTRACT_DOUBLE', 'JSON_EXTRACT_JSON', 'JSON_EXTRACT_STRING', 'JSON_EXTRACT_BIGINT', 'JSON_GET_TYPE', 'JSON_LENGTH', 'JSON_SET_DOUBLE', 'JSON_SET_JSON', 'JSON_SET_STRING', 'JSON_SPLICE_DOUBLE', 'JSON_SPLICE_JSON', 'JSON_SPLICE_STRING', 'LAG', 'LAST_DAY', 'LAST_VALUE', 'LCASE', 'LEAD', 'LEAST', 'LEFT', 'LENGTH', 'LIKE', 'LN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOCATE', 'LOG', 'LOG10', 'LOG2', 'LPAD', 'LTRIM', 'MATCH', 'MAX', 'MD5', 'MEDIAN', 'MICROSECOND', 'MIN', 'MINUTE', 'MOD', 'MONTH', 'MONTHNAME', 'MONTHS_BETWEEN', 'NOT', 'NOW', 'NTH_VALUE', 'NTILE', 'NULLIF', 'OCTET_LENGTH', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PI', 'PIVOT', 'POSITION', 'POW', 'POWER', 'QUARTER', 'QUOTE', 'RADIANS', 'RAND', 'RANK', 'REGEXP', 'REPEAT', 'REPLACE', 'REVERSE', 'RIGHT', 'RLIKE', 'ROUND', 'ROW_COUNT', 'ROW_NUMBER', 'RPAD', 'RTRIM', 'SCALAR', 'SCHEMA', 'SEC_TO_TIME', 'SHA1', 'SHA2', 'SIGMOID', 'SIGN', 'SIN', 'SLEEP', 'SPLIT', 'SOUNDEX', 'SOUNDS LIKE', 'SOURCE_POS_WAIT', 'SPACE', 'SQRT', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STR_TO_DATE', 'SUBDATE', 'SUBSTR', 'SUBSTRING', 'SUBSTRING_INDEX', 'SUM', 'SYS_GUID', 'TAN', 'TIME', 'TIMEDIFF', 'TIME_BUCKET', 'TIME_FORMAT', 'TIMESTAMP', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TIME_TO_SEC', 'TO_BASE64', 'TO_CHAR', 'TO_DAYS', 'TO_JSON', 'TO_NUMBER', 'TO_SECONDS', 'TO_TIMESTAMP', 'TRIM', 'TRUNC', 'TRUNCATE', 'UCASE', 'UNHEX', 'UNIX_TIMESTAMP', 'UPDATEXML', 'UPPER', 'USER', 'UTC_DATE', 'UTC_TIME', 'UTC_TIMESTAMP', 'UUID', 'VALUES', 'VARIANCE', 'VAR_POP', 'VAR_SAMP', 'VECTOR_SUB', 'VERSION', 'WEEK', 'WEEKDAY', 'WEEKOFYEAR', 'YEAR', // Data types with parameters\n  // https://docs.singlestore.com/managed-service/en/reference/sql-reference/data-types.html\n  'BIT', 'TINYINT', 'SMALLINT', 'MEDIUMINT', 'INT', 'INTEGER', 'BIGINT', 'DECIMAL', 'DEC', 'NUMERIC', 'FIXED', 'FLOAT', 'DOUBLE', 'DOUBLE PRECISION', 'REAL', 'DATETIME', 'TIMESTAMP', 'TIME', 'YEAR', 'CHAR', 'NATIONAL CHAR', 'VARCHAR', 'NATIONAL VARCHAR', 'BINARY', 'VARBINARY', 'BLOB', 'TEXT', 'ENUM']\n});\n//# sourceMappingURL=singlestoredb.functions.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { EOF_TOKEN, isToken, TokenType } from '../../lexer/token.js';\nimport { keywords } from './singlestoredb.keywords.js';\nimport { functions } from './singlestoredb.functions.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT | DISTINCTROW]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY', 'LIMIT', 'OFFSET', // Data manipulation\n// - insert:\n'INSERT [IGNORE] [INTO]', 'VALUES', 'REPLACE [INTO]', // - update:\n'SET', // Data definition\n'CREATE VIEW', 'CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]', 'CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]', 'CREATE [OR REPLACE] [EXTERNAL] FUNCTION']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', // - delete:\n'DELETE [FROM]', // - drop table:\n'DROP [TEMPORARY] TABLE [IF EXISTS]', // - alter table:\n'ALTER [ONLINE] TABLE', 'ADD [COLUMN]', 'ADD [UNIQUE] {INDEX | KEY}', 'DROP [COLUMN]', 'MODIFY [COLUMN]', 'CHANGE', 'RENAME [TO | AS]', // - truncate:\n'TRUNCATE [TABLE]', // https://docs.singlestore.com/managed-service/en/reference/sql-reference.html\n'ADD AGGREGATOR', 'ADD LEAF', 'AGGREGATOR SET AS MASTER', 'ALTER DATABASE', 'ALTER PIPELINE', 'ALTER RESOURCE POOL', 'ALTER USER', 'ALTER VIEW', 'ANALYZE TABLE', 'ATTACH DATABASE', 'ATTACH LEAF', 'ATTACH LEAF ALL', 'BACKUP DATABASE', 'BINLOG', 'BOOTSTRAP AGGREGATOR', 'CACHE INDEX', 'CALL', 'CHANGE', 'CHANGE MASTER TO', 'CHANGE REPLICATION FILTER', 'CHANGE REPLICATION SOURCE TO', 'CHECK BLOB CHECKSUM', 'CHECK TABLE', 'CHECKSUM TABLE', 'CLEAR ORPHAN DATABASES', 'CLONE', 'COMMIT', 'CREATE DATABASE', 'CREATE GROUP', 'CREATE INDEX', 'CREATE LINK', 'CREATE MILESTONE', 'CREATE PIPELINE', 'CREATE RESOURCE POOL', 'CREATE ROLE', 'CREATE USER', 'DEALLOCATE PREPARE', 'DESCRIBE', 'DETACH DATABASE', 'DETACH PIPELINE', 'DROP DATABASE', 'DROP FUNCTION', 'DROP INDEX', 'DROP LINK', 'DROP PIPELINE', 'DROP PROCEDURE', 'DROP RESOURCE POOL', 'DROP ROLE', 'DROP USER', 'DROP VIEW', 'EXECUTE', 'EXPLAIN', 'FLUSH', 'FORCE', 'GRANT', 'HANDLER', 'HELP', 'KILL CONNECTION', 'KILLALL QUERIES', 'LOAD DATA', 'LOAD INDEX INTO CACHE', 'LOAD XML', 'LOCK INSTANCE FOR BACKUP', 'LOCK TABLES', 'MASTER_POS_WAIT', 'OPTIMIZE TABLE', 'PREPARE', 'PURGE BINARY LOGS', 'REBALANCE PARTITIONS', 'RELEASE SAVEPOINT', 'REMOVE AGGREGATOR', 'REMOVE LEAF', 'REPAIR TABLE', 'REPLACE', 'REPLICATE DATABASE', 'RESET', 'RESET MASTER', 'RESET PERSIST', 'RESET REPLICA', 'RESET SLAVE', 'RESTART', 'RESTORE DATABASE', 'RESTORE REDUNDANCY', 'REVOKE', 'ROLLBACK', 'ROLLBACK TO SAVEPOINT', 'SAVEPOINT', 'SET CHARACTER SET', 'SET DEFAULT ROLE', 'SET NAMES', 'SET PASSWORD', 'SET RESOURCE GROUP', 'SET ROLE', 'SET TRANSACTION', 'SHOW', 'SHOW CHARACTER SET', 'SHOW COLLATION', 'SHOW COLUMNS', 'SHOW CREATE DATABASE', 'SHOW CREATE FUNCTION', 'SHOW CREATE PIPELINE', 'SHOW CREATE PROCEDURE', 'SHOW CREATE TABLE', 'SHOW CREATE USER', 'SHOW CREATE VIEW', 'SHOW DATABASES', 'SHOW ENGINE', 'SHOW ENGINES', 'SHOW ERRORS', 'SHOW FUNCTION CODE', 'SHOW FUNCTION STATUS', 'SHOW GRANTS', 'SHOW INDEX', 'SHOW MASTER STATUS', 'SHOW OPEN TABLES', 'SHOW PLUGINS', 'SHOW PRIVILEGES', 'SHOW PROCEDURE CODE', 'SHOW PROCEDURE STATUS', 'SHOW PROCESSLIST', 'SHOW PROFILE', 'SHOW PROFILES', 'SHOW RELAYLOG EVENTS', 'SHOW REPLICA STATUS', 'SHOW REPLICAS', 'SHOW SLAVE', 'SHOW SLAVE HOSTS', 'SHOW STATUS', 'SHOW TABLE STATUS', 'SHOW TABLES', 'SHOW VARIABLES', 'SHOW WARNINGS', 'SHUTDOWN', 'SNAPSHOT DATABASE', 'SOURCE_POS_WAIT', 'START GROUP_REPLICATION', 'START PIPELINE', 'START REPLICA', 'START SLAVE', 'START TRANSACTION', 'STOP GROUP_REPLICATION', 'STOP PIPELINE', 'STOP REPLICA', 'STOP REPLICATING', 'STOP SLAVE', 'TEST PIPELINE', 'UNLOCK INSTANCE', 'UNLOCK TABLES', 'USE', 'XA', // flow control\n'ITERATE', 'LEAVE', 'LOOP', 'REPEAT', 'RETURN', 'WHILE']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL | DISTINCT]', 'EXCEPT', 'INTERSECT', 'MINUS']);\nconst reservedJoins = expandPhrases(['JOIN', '{LEFT | RIGHT | FULL} [OUTER] JOIN', '{INNER | CROSS} JOIN', 'NATURAL {LEFT | RIGHT} [OUTER] JOIN', // non-standard joins\n'STRAIGHT_JOIN']);\nconst reservedPhrases = expandPhrases(['ON DELETE', 'ON UPDATE', 'CHARACTER SET', '{ROWS | RANGE} BETWEEN']);\nexport const singlestoredb = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    // TODO: support _binary\"some string\" prefix\n    stringTypes: ['\"\"-qq-bs', \"''-qq-bs\", {\n      quote: \"''-raw\",\n      prefixes: ['B', 'X'],\n      requirePrefix: true\n    }],\n    identTypes: ['``'],\n    identChars: {\n      first: '$',\n      rest: '$',\n      allowFirstCharNumber: true\n    },\n    variableTypes: [{\n      regex: '@@?[A-Za-z0-9_$]+'\n    }, {\n      quote: '``',\n      prefixes: ['@'],\n      requirePrefix: true\n    }],\n    lineCommentTypes: ['--', '#'],\n    operators: [':=', '&', '|', '^', '~', '<<', '>>', '<=>', '&&', '||', '::', '::$', '::%', ':>', '!:>'],\n    postProcess\n  },\n  formatOptions: {\n    alwaysDenseOperators: ['::', '::$', '::%'],\n    onelineClauses\n  }\n};\n\nfunction postProcess(tokens) {\n  return tokens.map((token, i) => {\n    const nextToken = tokens[i + 1] || EOF_TOKEN;\n\n    if (isToken.SET(token) && nextToken.text === '(') {\n      // This is SET datatype, not SET statement\n      return { ...token,\n        type: TokenType.RESERVED_FUNCTION_NAME\n      };\n    }\n\n    return token;\n  });\n}\n//# sourceMappingURL=singlestoredb.formatter.js.map","import { flatKeywordList } from '../../utils.js';\nexport const functions = flatKeywordList({\n  // https://docs.snowflake.com/en/sql-reference-functions.html\n  //\n  // https://docs.snowflake.com/en/sql-reference/functions-all.html\n  // 1. run in console on this page: $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue)\n  // 2. split all lines that contain ',' or '/' into multiple lines\n  // 3. remove all '— Deprecated' parts from the strings\n  // 4. delete all strings that end with '<object_type>', they are already covered in the list\n  // 5. remove all strings that contain '[', they are operators not functions\n  // 6. fix all values that contain '*'\n  // 7. delete operatos ':', '::', '||'\n  //\n  // Steps 1-5 can be combined by the following script in the developer console:\n  // $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue) // Step 1\n  //   .map(x => x.split(x.includes(',') ? ',' : '/')).flat().map(x => x.trim()) // Step 2\n  //   .map(x => x.replace('— Deprecated', '')) // Step 3\n  //   .filter(x => !x.endsWith('<object_type>')) // Step 4\n  //   .filter(x => !x.includes('[')) // Step 5\n  all: ['ABS', 'ACOS', 'ACOSH', 'ADD_MONTHS', 'ALL_USER_NAMES', 'ANY_VALUE', 'APPROX_COUNT_DISTINCT', 'APPROX_PERCENTILE', 'APPROX_PERCENTILE_ACCUMULATE', 'APPROX_PERCENTILE_COMBINE', 'APPROX_PERCENTILE_ESTIMATE', 'APPROX_TOP_K', 'APPROX_TOP_K_ACCUMULATE', 'APPROX_TOP_K_COMBINE', 'APPROX_TOP_K_ESTIMATE', 'APPROXIMATE_JACCARD_INDEX', 'APPROXIMATE_SIMILARITY', 'ARRAY_AGG', 'ARRAY_APPEND', 'ARRAY_CAT', 'ARRAY_COMPACT', 'ARRAY_CONSTRUCT', 'ARRAY_CONSTRUCT_COMPACT', 'ARRAY_CONTAINS', 'ARRAY_INSERT', 'ARRAY_INTERSECTION', 'ARRAY_POSITION', 'ARRAY_PREPEND', 'ARRAY_SIZE', 'ARRAY_SLICE', 'ARRAY_TO_STRING', 'ARRAY_UNION_AGG', 'ARRAY_UNIQUE_AGG', 'ARRAYS_OVERLAP', 'AS_ARRAY', 'AS_BINARY', 'AS_BOOLEAN', 'AS_CHAR', 'AS_VARCHAR', 'AS_DATE', 'AS_DECIMAL', 'AS_NUMBER', 'AS_DOUBLE', 'AS_REAL', 'AS_INTEGER', 'AS_OBJECT', 'AS_TIME', 'AS_TIMESTAMP_LTZ', 'AS_TIMESTAMP_NTZ', 'AS_TIMESTAMP_TZ', 'ASCII', 'ASIN', 'ASINH', 'ATAN', 'ATAN2', 'ATANH', 'AUTO_REFRESH_REGISTRATION_HISTORY', 'AUTOMATIC_CLUSTERING_HISTORY', 'AVG', 'BASE64_DECODE_BINARY', 'BASE64_DECODE_STRING', 'BASE64_ENCODE', 'BIT_LENGTH', 'BITAND', 'BITAND_AGG', 'BITMAP_BIT_POSITION', 'BITMAP_BUCKET_NUMBER', 'BITMAP_CONSTRUCT_AGG', 'BITMAP_COUNT', 'BITMAP_OR_AGG', 'BITNOT', 'BITOR', 'BITOR_AGG', 'BITSHIFTLEFT', 'BITSHIFTRIGHT', 'BITXOR', 'BITXOR_AGG', 'BOOLAND', 'BOOLAND_AGG', 'BOOLNOT', 'BOOLOR', 'BOOLOR_AGG', 'BOOLXOR', 'BOOLXOR_AGG', 'BUILD_SCOPED_FILE_URL', 'BUILD_STAGE_FILE_URL', 'CASE', 'CAST', 'CBRT', 'CEIL', 'CHARINDEX', 'CHECK_JSON', 'CHECK_XML', 'CHR', 'CHAR', 'COALESCE', 'COLLATE', 'COLLATION', 'COMPLETE_TASK_GRAPHS', 'COMPRESS', 'CONCAT', 'CONCAT_WS', 'CONDITIONAL_CHANGE_EVENT', 'CONDITIONAL_TRUE_EVENT', 'CONTAINS', 'CONVERT_TIMEZONE', 'COPY_HISTORY', 'CORR', 'COS', 'COSH', 'COT', 'COUNT', 'COUNT_IF', 'COVAR_POP', 'COVAR_SAMP', 'CUME_DIST', 'CURRENT_ACCOUNT', 'CURRENT_AVAILABLE_ROLES', 'CURRENT_CLIENT', 'CURRENT_DATABASE', 'CURRENT_DATE', 'CURRENT_IP_ADDRESS', 'CURRENT_REGION', 'CURRENT_ROLE', 'CURRENT_SCHEMA', 'CURRENT_SCHEMAS', 'CURRENT_SECONDARY_ROLES', 'CURRENT_SESSION', 'CURRENT_STATEMENT', 'CURRENT_TASK_GRAPHS', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_TRANSACTION', 'CURRENT_USER', 'CURRENT_VERSION', 'CURRENT_WAREHOUSE', 'DATA_TRANSFER_HISTORY', 'DATABASE_REFRESH_HISTORY', 'DATABASE_REFRESH_PROGRESS', 'DATABASE_REFRESH_PROGRESS_BY_JOB', 'DATABASE_STORAGE_USAGE_HISTORY', 'DATE_FROM_PARTS', 'DATE_PART', 'DATE_TRUNC', 'DATEADD', 'DATEDIFF', 'DAYNAME', 'DECODE', 'DECOMPRESS_BINARY', 'DECOMPRESS_STRING', 'DECRYPT', 'DECRYPT_RAW', 'DEGREES', 'DENSE_RANK', 'DIV0', 'EDITDISTANCE', 'ENCRYPT', 'ENCRYPT_RAW', 'ENDSWITH', 'EQUAL_NULL', 'EXP', 'EXPLAIN_JSON', 'EXTERNAL_FUNCTIONS_HISTORY', 'EXTERNAL_TABLE_FILES', 'EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY', 'EXTRACT', 'EXTRACT_SEMANTIC_CATEGORIES', 'FACTORIAL', 'FIRST_VALUE', 'FLATTEN', 'FLOOR', 'GENERATE_COLUMN_DESCRIPTION', 'GENERATOR', 'GET', 'GET_ABSOLUTE_PATH', 'GET_DDL', 'GET_IGNORE_CASE', 'GET_OBJECT_REFERENCES', 'GET_PATH', 'GET_PRESIGNED_URL', 'GET_RELATIVE_PATH', 'GET_STAGE_LOCATION', 'GETBIT', 'GREATEST', 'GROUPING', 'GROUPING_ID', 'HASH', 'HASH_AGG', 'HAVERSINE', 'HEX_DECODE_BINARY', 'HEX_DECODE_STRING', 'HEX_ENCODE', 'HLL', 'HLL_ACCUMULATE', 'HLL_COMBINE', 'HLL_ESTIMATE', 'HLL_EXPORT', 'HLL_IMPORT', 'HOUR', 'MINUTE', 'SECOND', 'IFF', 'IFNULL', 'ILIKE', 'ILIKE ANY', 'INFER_SCHEMA', 'INITCAP', 'INSERT', 'INVOKER_ROLE', 'INVOKER_SHARE', 'IS_ARRAY', 'IS_BINARY', 'IS_BOOLEAN', 'IS_CHAR', 'IS_VARCHAR', 'IS_DATE', 'IS_DATE_VALUE', 'IS_DECIMAL', 'IS_DOUBLE', 'IS_REAL', 'IS_GRANTED_TO_INVOKER_ROLE', 'IS_INTEGER', 'IS_NULL_VALUE', 'IS_OBJECT', 'IS_ROLE_IN_SESSION', 'IS_TIME', 'IS_TIMESTAMP_LTZ', 'IS_TIMESTAMP_NTZ', 'IS_TIMESTAMP_TZ', 'JAROWINKLER_SIMILARITY', 'JSON_EXTRACT_PATH_TEXT', 'KURTOSIS', 'LAG', 'LAST_DAY', 'LAST_QUERY_ID', 'LAST_TRANSACTION', 'LAST_VALUE', 'LEAD', 'LEAST', 'LEFT', 'LENGTH', 'LEN', 'LIKE', 'LIKE ALL', 'LIKE ANY', 'LISTAGG', 'LN', 'LOCALTIME', 'LOCALTIMESTAMP', 'LOG', 'LOGIN_HISTORY', 'LOGIN_HISTORY_BY_USER', 'LOWER', 'LPAD', 'LTRIM', 'MATERIALIZED_VIEW_REFRESH_HISTORY', 'MD5', 'MD5_HEX', 'MD5_BINARY', 'MD5_NUMBER — Obsoleted', 'MD5_NUMBER_LOWER64', 'MD5_NUMBER_UPPER64', 'MEDIAN', 'MIN', 'MAX', 'MINHASH', 'MINHASH_COMBINE', 'MOD', 'MODE', 'MONTHNAME', 'MONTHS_BETWEEN', 'NEXT_DAY', 'NORMAL', 'NTH_VALUE', 'NTILE', 'NULLIF', 'NULLIFZERO', 'NVL', 'NVL2', 'OBJECT_AGG', 'OBJECT_CONSTRUCT', 'OBJECT_CONSTRUCT_KEEP_NULL', 'OBJECT_DELETE', 'OBJECT_INSERT', 'OBJECT_KEYS', 'OBJECT_PICK', 'OCTET_LENGTH', 'PARSE_IP', 'PARSE_JSON', 'PARSE_URL', 'PARSE_XML', 'PERCENT_RANK', 'PERCENTILE_CONT', 'PERCENTILE_DISC', 'PI', 'PIPE_USAGE_HISTORY', 'POLICY_CONTEXT', 'POLICY_REFERENCES', 'POSITION', 'POW', 'POWER', 'PREVIOUS_DAY', 'QUERY_ACCELERATION_HISTORY', 'QUERY_HISTORY', 'QUERY_HISTORY_BY_SESSION', 'QUERY_HISTORY_BY_USER', 'QUERY_HISTORY_BY_WAREHOUSE', 'RADIANS', 'RANDOM', 'RANDSTR', 'RANK', 'RATIO_TO_REPORT', 'REGEXP', 'REGEXP_COUNT', 'REGEXP_INSTR', 'REGEXP_LIKE', 'REGEXP_REPLACE', 'REGEXP_SUBSTR', 'REGEXP_SUBSTR_ALL', 'REGR_AVGX', 'REGR_AVGY', 'REGR_COUNT', 'REGR_INTERCEPT', 'REGR_R2', 'REGR_SLOPE', 'REGR_SXX', 'REGR_SXY', 'REGR_SYY', 'REGR_VALX', 'REGR_VALY', 'REPEAT', 'REPLACE', 'REPLICATION_GROUP_REFRESH_HISTORY', 'REPLICATION_GROUP_REFRESH_PROGRESS', 'REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB', 'REPLICATION_GROUP_USAGE_HISTORY', 'REPLICATION_USAGE_HISTORY', 'REST_EVENT_HISTORY', 'RESULT_SCAN', 'REVERSE', 'RIGHT', 'RLIKE', 'ROUND', 'ROW_NUMBER', 'RPAD', 'RTRIM', 'RTRIMMED_LENGTH', 'SEARCH_OPTIMIZATION_HISTORY', 'SEQ1', 'SEQ2', 'SEQ4', 'SEQ8', 'SERVERLESS_TASK_HISTORY', 'SHA1', 'SHA1_HEX', 'SHA1_BINARY', 'SHA2', 'SHA2_HEX', 'SHA2_BINARY', 'SIGN', 'SIN', 'SINH', 'SKEW', 'SOUNDEX', 'SPACE', 'SPLIT', 'SPLIT_PART', 'SPLIT_TO_TABLE', 'SQRT', 'SQUARE', 'ST_AREA', 'ST_ASEWKB', 'ST_ASEWKT', 'ST_ASGEOJSON', 'ST_ASWKB', 'ST_ASBINARY', 'ST_ASWKT', 'ST_ASTEXT', 'ST_AZIMUTH', 'ST_CENTROID', 'ST_COLLECT', 'ST_CONTAINS', 'ST_COVEREDBY', 'ST_COVERS', 'ST_DIFFERENCE', 'ST_DIMENSION', 'ST_DISJOINT', 'ST_DISTANCE', 'ST_DWITHIN', 'ST_ENDPOINT', 'ST_ENVELOPE', 'ST_GEOGFROMGEOHASH', 'ST_GEOGPOINTFROMGEOHASH', 'ST_GEOGRAPHYFROMWKB', 'ST_GEOGRAPHYFROMWKT', 'ST_GEOHASH', 'ST_GEOMETRYFROMWKB', 'ST_GEOMETRYFROMWKT', 'ST_HAUSDORFFDISTANCE', 'ST_INTERSECTION', 'ST_INTERSECTS', 'ST_LENGTH', 'ST_MAKEGEOMPOINT', 'ST_GEOM_POINT', 'ST_MAKELINE', 'ST_MAKEPOINT', 'ST_POINT', 'ST_MAKEPOLYGON', 'ST_POLYGON', 'ST_NPOINTS', 'ST_NUMPOINTS', 'ST_PERIMETER', 'ST_POINTN', 'ST_SETSRID', 'ST_SIMPLIFY', 'ST_SRID', 'ST_STARTPOINT', 'ST_SYMDIFFERENCE', 'ST_UNION', 'ST_WITHIN', 'ST_X', 'ST_XMAX', 'ST_XMIN', 'ST_Y', 'ST_YMAX', 'ST_YMIN', 'STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY', 'STAGE_STORAGE_USAGE_HISTORY', 'STARTSWITH', 'STDDEV', 'STDDEV_POP', 'STDDEV_SAMP', 'STRIP_NULL_VALUE', 'STRTOK', 'STRTOK_SPLIT_TO_TABLE', 'STRTOK_TO_ARRAY', 'SUBSTR', 'SUBSTRING', 'SUM', 'SYSDATE', 'SYSTEM$ABORT_SESSION', 'SYSTEM$ABORT_TRANSACTION', 'SYSTEM$AUTHORIZE_PRIVATELINK', 'SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS', 'SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS', 'SYSTEM$CANCEL_ALL_QUERIES', 'SYSTEM$CANCEL_QUERY', 'SYSTEM$CLUSTERING_DEPTH', 'SYSTEM$CLUSTERING_INFORMATION', 'SYSTEM$CLUSTERING_RATIO ', 'SYSTEM$CURRENT_USER_TASK_NAME', 'SYSTEM$DATABASE_REFRESH_HISTORY ', 'SYSTEM$DATABASE_REFRESH_PROGRESS', 'SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB ', 'SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE', 'SYSTEM$DISABLE_DATABASE_REPLICATION', 'SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE', 'SYSTEM$ESTIMATE_QUERY_ACCELERATION', 'SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS', 'SYSTEM$EXPLAIN_JSON_TO_TEXT', 'SYSTEM$EXPLAIN_PLAN_JSON', 'SYSTEM$EXTERNAL_TABLE_PIPE_STATUS', 'SYSTEM$GENERATE_SAML_CSR', 'SYSTEM$GENERATE_SCIM_ACCESS_TOKEN', 'SYSTEM$GET_AWS_SNS_IAM_POLICY', 'SYSTEM$GET_PREDECESSOR_RETURN_VALUE', 'SYSTEM$GET_PRIVATELINK', 'SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS', 'SYSTEM$GET_PRIVATELINK_CONFIG', 'SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO', 'SYSTEM$GET_TAG', 'SYSTEM$GET_TAG_ALLOWED_VALUES', 'SYSTEM$GET_TAG_ON_CURRENT_COLUMN', 'SYSTEM$GET_TAG_ON_CURRENT_TABLE', 'SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER', 'SYSTEM$LAST_CHANGE_COMMIT_TIME', 'SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME', 'SYSTEM$MIGRATE_SAML_IDP_REGISTRATION', 'SYSTEM$PIPE_FORCE_RESUME', 'SYSTEM$PIPE_STATUS', 'SYSTEM$REVOKE_PRIVATELINK', 'SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS', 'SYSTEM$SET_RETURN_VALUE', 'SYSTEM$SHOW_OAUTH_CLIENT_SECRETS', 'SYSTEM$STREAM_GET_TABLE_TIMESTAMP', 'SYSTEM$STREAM_HAS_DATA', 'SYSTEM$TASK_DEPENDENTS_ENABLE', 'SYSTEM$TYPEOF', 'SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS', 'SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN', 'SYSTEM$WAIT', 'SYSTEM$WHITELIST', 'SYSTEM$WHITELIST_PRIVATELINK', 'TAG_REFERENCES', 'TAG_REFERENCES_ALL_COLUMNS', 'TAG_REFERENCES_WITH_LINEAGE', 'TAN', 'TANH', 'TASK_DEPENDENTS', 'TASK_HISTORY', 'TIME_FROM_PARTS', 'TIME_SLICE', 'TIMEADD', 'TIMEDIFF', 'TIMESTAMP_FROM_PARTS', 'TIMESTAMPADD', 'TIMESTAMPDIFF', 'TO_ARRAY', 'TO_BINARY', 'TO_BOOLEAN', 'TO_CHAR', 'TO_VARCHAR', 'TO_DATE', 'DATE', 'TO_DECIMAL', 'TO_NUMBER', 'TO_NUMERIC', 'TO_DOUBLE', 'TO_GEOGRAPHY', 'TO_GEOMETRY', 'TO_JSON', 'TO_OBJECT', 'TO_TIME', 'TIME', 'TO_TIMESTAMP', 'TO_TIMESTAMP_LTZ', 'TO_TIMESTAMP_NTZ', 'TO_TIMESTAMP_TZ', 'TO_VARIANT', 'TO_XML', 'TRANSLATE', 'TRIM', 'TRUNCATE', 'TRUNC', 'TRUNC', 'TRY_BASE64_DECODE_BINARY', 'TRY_BASE64_DECODE_STRING', 'TRY_CAST', 'TRY_HEX_DECODE_BINARY', 'TRY_HEX_DECODE_STRING', 'TRY_PARSE_JSON', 'TRY_TO_BINARY', 'TRY_TO_BOOLEAN', 'TRY_TO_DATE', 'TRY_TO_DECIMAL', 'TRY_TO_NUMBER', 'TRY_TO_NUMERIC', 'TRY_TO_DOUBLE', 'TRY_TO_GEOGRAPHY', 'TRY_TO_GEOMETRY', 'TRY_TO_TIME', 'TRY_TO_TIMESTAMP', 'TRY_TO_TIMESTAMP_LTZ', 'TRY_TO_TIMESTAMP_NTZ', 'TRY_TO_TIMESTAMP_TZ', 'TYPEOF', 'UNICODE', 'UNIFORM', 'UPPER', 'UUID_STRING', 'VALIDATE', 'VALIDATE_PIPE_LOAD', 'VAR_POP', 'VAR_SAMP', 'VARIANCE', 'VARIANCE_SAMP', 'VARIANCE_POP', 'WAREHOUSE_LOAD_HISTORY', 'WAREHOUSE_METERING_HISTORY', 'WIDTH_BUCKET', 'XMLGET', 'YEAR', 'YEAROFWEEK', 'YEAROFWEEKISO', 'DAY', 'DAYOFMONTH', 'DAYOFWEEK', 'DAYOFWEEKISO', 'DAYOFYEAR', 'WEEK', 'WEEK', 'WEEKOFYEAR', 'WEEKISO', 'MONTH', 'QUARTER', 'ZEROIFNULL', 'ZIPF']\n});\n//# sourceMappingURL=snowflake.functions.js.map","import { flatKeywordList } from '../../utils.js';\nexport const keywords = flatKeywordList({\n  // https://docs.snowflake.com/en/sql-reference/reserved-keywords.html\n  //\n  // run in console on this page: $x('//tbody/tr/*[1]/p/text()').map(x => x.nodeValue)\n  all: ['ACCOUNT', 'ALL', 'ALTER', 'AND', 'ANY', 'AS', 'BETWEEN', 'BY', 'CASE', 'CAST', 'CHECK', 'COLUMN', 'CONNECT', 'CONNECTION', 'CONSTRAINT', 'CREATE', 'CROSS', 'CURRENT', 'CURRENT_DATE', 'CURRENT_TIME', 'CURRENT_TIMESTAMP', 'CURRENT_USER', 'DATABASE', 'DELETE', 'DISTINCT', 'DROP', 'ELSE', 'EXISTS', 'FALSE', 'FOLLOWING', 'FOR', 'FROM', 'FULL', 'GRANT', 'GROUP', 'GSCLUSTER', 'HAVING', 'ILIKE', 'IN', 'INCREMENT', 'INNER', 'INSERT', 'INTERSECT', 'INTO', 'IS', 'ISSUE', 'JOIN', 'LATERAL', 'LEFT', 'LIKE', 'LOCALTIME', 'LOCALTIMESTAMP', 'MINUS', 'NATURAL', 'NOT', 'NULL', 'OF', 'ON', 'OR', 'ORDER', 'ORGANIZATION', 'QUALIFY', 'REGEXP', 'REVOKE', 'RIGHT', 'RLIKE', 'ROW', 'ROWS', 'SAMPLE', 'SCHEMA', 'SELECT', 'SET', 'SOME', 'START', 'TABLE', 'TABLESAMPLE', 'THEN', 'TO', 'TRIGGER', 'TRUE', 'TRY_CAST', 'UNION', 'UNIQUE', 'UPDATE', 'USING', 'VALUES', 'VIEW', 'WHEN', 'WHENEVER', 'WHERE', 'WITH']\n});\n//# sourceMappingURL=snowflake.keywords.js.map","import { expandPhrases } from '../../expandPhrases.js';\nimport { functions } from './snowflake.functions.js';\nimport { keywords } from './snowflake.keywords.js';\nconst reservedSelect = expandPhrases(['SELECT [ALL | DISTINCT]']);\nconst reservedClauses = expandPhrases([// queries\n'WITH [RECURSIVE]', 'FROM', 'WHERE', 'GROUP BY', 'HAVING', 'PARTITION BY', 'ORDER BY', 'QUALIFY', 'LIMIT', 'OFFSET', 'FETCH [FIRST | NEXT]', // Data manipulation\n// - insert:\n'INSERT [OVERWRITE] [ALL INTO | INTO | ALL | FIRST]', '{THEN | ELSE} INTO', 'VALUES', // - update:\n'SET', // Data definition\n// - view\n'CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS]', // - create/drop/merge table\n'CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]', 'CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]', 'CLUSTER BY', '[WITH] {MASKING POLICY | TAG | ROW ACCESS POLICY}', 'COPY GRANTS', 'USING TEMPLATE', 'MERGE INTO', 'WHEN MATCHED [AND]', 'THEN {UPDATE SET | DELETE}', 'WHEN NOT MATCHED THEN INSERT']);\nconst onelineClauses = expandPhrases([// - update:\n'UPDATE', // - delete:\n'DELETE FROM', // - drop table:\n'DROP TABLE [IF EXISTS]', // - alter table:\n'ALTER TABLE [IF EXISTS]', 'RENAME TO', 'SWAP WITH', '[SUSPEND | RESUME] RECLUSTER', 'DROP CLUSTERING KEY', 'ADD [COLUMN]', 'RENAME COLUMN', '{ALTER | MODIFY} [COLUMN]', 'DROP [COLUMN]', '{ADD | ALTER | MODIFY | DROP} [CONSTRAINT]', 'RENAME CONSTRAINT', '{ADD | DROP} SEARCH OPTIMIZATION', '{SET | UNSET} TAG', // Actually TAG is optional, but that conflicts with UPDATE..SET statement\n'{ADD | DROP} ROW ACCESS POLICY', 'DROP ALL ROW ACCESS POLICIES', '{SET | DROP} DEFAULT', // for alter column\n'{SET | DROP} NOT NULL', // for alter column\n'[SET DATA] TYPE', // for alter column\n'[UNSET] COMMENT', // for alter column\n'{SET | UNSET} MASKING POLICY', // for alter column\n// - truncate:\n'TRUNCATE [TABLE] [IF EXISTS]', // other\n// https://docs.snowflake.com/en/sql-reference/sql-all.html\n//\n// 1. run in console on this page: $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue)\n// 2. delete all lines that contain a sting like '(.*)', they are already covered in the list\n// 3. delete all lines that contain a sting like '<.*>', they are already covered in the list\n// 4. delete all lines that contain '…', they are part of a regex statement that can't be covered here\n// 5. Manually add 'COPY INTO'\n// 6. Remove all lines that are already in `reservedClauses`\n//\n// Steps 1-4 can be combined by the following script in the developer console:\n// $x('//tbody/tr/*[1]//a/span/text()').map(x => x.nodeValue) // Step 1\n//   filter(x => !x.match(/\\(.*\\)/) && !x.match(/…/) && !x.match(/<.*>/)) // Step 2-4\n'ALTER ACCOUNT', 'ALTER API INTEGRATION', 'ALTER CONNECTION', 'ALTER DATABASE', 'ALTER EXTERNAL TABLE', 'ALTER FAILOVER GROUP', 'ALTER FILE FORMAT', 'ALTER FUNCTION', 'ALTER INTEGRATION', 'ALTER MASKING POLICY', 'ALTER MATERIALIZED VIEW', 'ALTER NETWORK POLICY', 'ALTER NOTIFICATION INTEGRATION', 'ALTER PIPE', 'ALTER PROCEDURE', 'ALTER REPLICATION GROUP', 'ALTER RESOURCE MONITOR', 'ALTER ROLE', 'ALTER ROW ACCESS POLICY', 'ALTER SCHEMA', 'ALTER SECURITY INTEGRATION', 'ALTER SEQUENCE', 'ALTER SESSION', 'ALTER SESSION POLICY', 'ALTER SHARE', 'ALTER STAGE', 'ALTER STORAGE INTEGRATION', 'ALTER STREAM', 'ALTER TAG', 'ALTER TASK', 'ALTER USER', 'ALTER VIEW', 'ALTER WAREHOUSE', 'BEGIN', 'CALL', 'COMMIT', 'COPY INTO', 'CREATE ACCOUNT', 'CREATE API INTEGRATION', 'CREATE CONNECTION', 'CREATE DATABASE', 'CREATE EXTERNAL FUNCTION', 'CREATE EXTERNAL TABLE', 'CREATE FAILOVER GROUP', 'CREATE FILE FORMAT', 'CREATE FUNCTION', 'CREATE INTEGRATION', 'CREATE MANAGED ACCOUNT', 'CREATE MASKING POLICY', 'CREATE MATERIALIZED VIEW', 'CREATE NETWORK POLICY', 'CREATE NOTIFICATION INTEGRATION', 'CREATE PIPE', 'CREATE PROCEDURE', 'CREATE REPLICATION GROUP', 'CREATE RESOURCE MONITOR', 'CREATE ROLE', 'CREATE ROW ACCESS POLICY', 'CREATE SCHEMA', 'CREATE SECURITY INTEGRATION', 'CREATE SEQUENCE', 'CREATE SESSION POLICY', 'CREATE SHARE', 'CREATE STAGE', 'CREATE STORAGE INTEGRATION', 'CREATE STREAM', 'CREATE TAG', 'CREATE TASK', 'CREATE USER', 'CREATE WAREHOUSE', 'DELETE', 'DESCRIBE DATABASE', 'DESCRIBE EXTERNAL TABLE', 'DESCRIBE FILE FORMAT', 'DESCRIBE FUNCTION', 'DESCRIBE INTEGRATION', 'DESCRIBE MASKING POLICY', 'DESCRIBE MATERIALIZED VIEW', 'DESCRIBE NETWORK POLICY', 'DESCRIBE PIPE', 'DESCRIBE PROCEDURE', 'DESCRIBE RESULT', 'DESCRIBE ROW ACCESS POLICY', 'DESCRIBE SCHEMA', 'DESCRIBE SEQUENCE', 'DESCRIBE SESSION POLICY', 'DESCRIBE SHARE', 'DESCRIBE STAGE', 'DESCRIBE STREAM', 'DESCRIBE TABLE', 'DESCRIBE TASK', 'DESCRIBE TRANSACTION', 'DESCRIBE USER', 'DESCRIBE VIEW', 'DESCRIBE WAREHOUSE', 'DROP CONNECTION', 'DROP DATABASE', 'DROP EXTERNAL TABLE', 'DROP FAILOVER GROUP', 'DROP FILE FORMAT', 'DROP FUNCTION', 'DROP INTEGRATION', 'DROP MANAGED ACCOUNT', 'DROP MASKING POLICY', 'DROP MATERIALIZED VIEW', 'DROP NETWORK POLICY', 'DROP PIPE', 'DROP PROCEDURE', 'DROP REPLICATION GROUP', 'DROP RESOURCE MONITOR', 'DROP ROLE', 'DROP ROW ACCESS POLICY', 'DROP SCHEMA', 'DROP SEQUENCE', 'DROP SESSION POLICY', 'DROP SHARE', 'DROP STAGE', 'DROP STREAM', 'DROP TAG', 'DROP TASK', 'DROP USER', 'DROP VIEW', 'DROP WAREHOUSE', 'EXECUTE IMMEDIATE', 'EXECUTE TASK', 'EXPLAIN', 'GET', 'GRANT OWNERSHIP', 'GRANT ROLE', 'INSERT', 'LIST', 'MERGE', 'PUT', 'REMOVE', 'REVOKE ROLE', 'ROLLBACK', 'SHOW COLUMNS', 'SHOW CONNECTIONS', 'SHOW DATABASES', 'SHOW DATABASES IN FAILOVER GROUP', 'SHOW DATABASES IN REPLICATION GROUP', 'SHOW DELEGATED AUTHORIZATIONS', 'SHOW EXTERNAL FUNCTIONS', 'SHOW EXTERNAL TABLES', 'SHOW FAILOVER GROUPS', 'SHOW FILE FORMATS', 'SHOW FUNCTIONS', 'SHOW GLOBAL ACCOUNTS', 'SHOW GRANTS', 'SHOW INTEGRATIONS', 'SHOW LOCKS', 'SHOW MANAGED ACCOUNTS', 'SHOW MASKING POLICIES', 'SHOW MATERIALIZED VIEWS', 'SHOW NETWORK POLICIES', 'SHOW OBJECTS', 'SHOW ORGANIZATION ACCOUNTS', 'SHOW PARAMETERS', 'SHOW PIPES', 'SHOW PRIMARY KEYS', 'SHOW PROCEDURES', 'SHOW REGIONS', 'SHOW REPLICATION ACCOUNTS', 'SHOW REPLICATION DATABASES', 'SHOW REPLICATION GROUPS', 'SHOW RESOURCE MONITORS', 'SHOW ROLES', 'SHOW ROW ACCESS POLICIES', 'SHOW SCHEMAS', 'SHOW SEQUENCES', 'SHOW SESSION POLICIES', 'SHOW SHARES', 'SHOW SHARES IN FAILOVER GROUP', 'SHOW SHARES IN REPLICATION GROUP', 'SHOW STAGES', 'SHOW STREAMS', 'SHOW TABLES', 'SHOW TAGS', 'SHOW TASKS', 'SHOW TRANSACTIONS', 'SHOW USER FUNCTIONS', 'SHOW USERS', 'SHOW VARIABLES', 'SHOW VIEWS', 'SHOW WAREHOUSES', 'TRUNCATE MATERIALIZED VIEW', 'UNDROP DATABASE', 'UNDROP SCHEMA', 'UNDROP TABLE', 'UNDROP TAG', 'UNSET', 'USE DATABASE', 'USE ROLE', 'USE SCHEMA', 'USE SECONDARY ROLES', 'USE WAREHOUSE']);\nconst reservedSetOperations = expandPhrases(['UNION [ALL]', 'MINUS', 'EXCEPT', 'INTERSECT']);\nconst reservedJoins = expandPhrases(['[INNER] JOIN', '[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN', '{CROSS | NATURAL} JOIN']);\nconst reservedPhrases = expandPhrases(['{ROWS | RANGE} BETWEEN', 'ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]']);\nexport const snowflake = {\n  tokenizerOptions: {\n    reservedSelect,\n    reservedClauses: [...reservedClauses, ...onelineClauses],\n    reservedSetOperations,\n    reservedJoins,\n    reservedPhrases,\n    reservedKeywords: keywords,\n    reservedFunctionNames: functions,\n    stringTypes: ['$$', `''-qq-bs`],\n    identTypes: ['\"\"-qq'],\n    variableTypes: [// for accessing columns at certain positons in the table\n    {\n      regex: '[$][1-9]\\\\d*'\n    }, // identifier style syntax\n    {\n      regex: '[$][_a-zA-Z][_a-zA-Z0-9$]*'\n    }],\n    extraParens: ['[]'],\n    identChars: {\n      rest: '$'\n    },\n    lineCommentTypes: ['--', '//'],\n    operators: [// Modulo\n    '%', // Type cast\n    '::', // String concat\n    '||', // Get Path\n    ':', // Generators: https://docs.snowflake.com/en/sql-reference/functions/generator.html#generator\n    '=>']\n  },\n  formatOptions: {\n    alwaysDenseOperators: [':', '::'],\n    onelineClauses\n  }\n};\n//# sourceMappingURL=snowflake.formatter.js.map","// Escapes regex special chars\nexport const escapeRegExp = string => string.replace(/[.*+?^${}()|[\\]\\\\]/gu, '\\\\$&');\nexport const WHITESPACE_REGEX = /\\s+/uy;\nexport const patternToRegex = pattern => new RegExp(`(?:${pattern})`, 'uy'); // Converts \"ab\" to \"[Aa][Bb]\"\n\nexport const toCaseInsensitivePattern = prefix => prefix.split('').map(char => / /gu.test(char) ? '\\\\s+' : `[${char.toUpperCase()}${char.toLowerCase()}]`).join('');\nexport const withDashes = pattern => pattern + '(?:-' + pattern + ')*'; // Converts [\"a\", \"b\"] to \"(?:[Aa]|[Bb]|)\" or \"(?:[Aa]|[Bb])\" when required = true\n\nexport const prefixesPattern = ({\n  prefixes,\n  requirePrefix\n}) => `(?:${prefixes.map(toCaseInsensitivePattern).join('|')}${requirePrefix ? '' : '|'})`;\n//# sourceMappingURL=regexUtil.js.map","import { sortByLengthDesc } from '../utils.js';\nimport { escapeRegExp, patternToRegex, prefixesPattern, withDashes } from './regexUtil.js';\n/**\n * Builds a RegExp for valid line comments in a SQL dialect\n * @param {string[]} lineCommentTypes - list of character strings that denote line comments\n */\n\nexport const lineComment = lineCommentTypes => new RegExp(`(?:${lineCommentTypes.map(escapeRegExp).join('|')}).*?(?=\\r\\n|\\r|\\n|$)`, 'uy');\n/**\n * Builds a RegExp for matching either open- or close-parenthesis patterns\n */\n\nexport const parenthesis = (kind, extraParens = []) => {\n  const index = kind === 'open' ? 0 : 1;\n  const parens = ['()', ...extraParens].map(pair => pair[index]);\n  return patternToRegex(parens.map(escapeRegExp).join('|'));\n};\n/**\n * Builds a RegExp containing all operators for a SQL dialect\n */\n\nexport const operator = operators => patternToRegex(`${sortByLengthDesc(operators).map(escapeRegExp).join('|')}`); // Negative lookahead to avoid matching a keyword that's actually part of identifier,\n// which can happen when identifier allows word-boundary characters inside it.\n//\n// For example \"SELECT$ME\" should be tokenized as:\n// - [\"SELECT$ME\"] when $ is allowed inside identifiers\n// - [\"SELECT\", \"$\", \"ME\"] when $ can't be part of identifiers.\n\nconst rejectIdentCharsPattern = ({\n  rest,\n  dashes\n}) => rest || dashes ? `(?![${rest || ''}${dashes ? '-' : ''}])` : '';\n/**\n * Builds a RegExp for all Reserved Keywords in a SQL dialect\n */\n\n\nexport const reservedWord = (reservedKeywords, identChars = {}) => {\n  if (reservedKeywords.length === 0) {\n    return /^\\b$/u;\n  }\n\n  const avoidIdentChars = rejectIdentCharsPattern(identChars);\n  const reservedKeywordsPattern = sortByLengthDesc(reservedKeywords).map(escapeRegExp).join('|').replace(/ /gu, '\\\\s+');\n  return new RegExp(`(?:${reservedKeywordsPattern})${avoidIdentChars}\\\\b`, 'iuy');\n};\n/**\n * Builds a RegExp for parameter placeholder patterns\n * @param {string[]} paramTypes - list of strings that denote placeholder types\n * @param {string} pattern - string that denotes placeholder pattern\n */\n\nexport const parameter = (paramTypes, pattern) => {\n  if (!paramTypes.length) {\n    return undefined;\n  }\n\n  const typesRegex = paramTypes.map(escapeRegExp).join('|');\n  return patternToRegex(`(?:${typesRegex})(?:${pattern})`);\n};\n\nconst buildQStringPatterns = () => {\n  const specialDelimiterMap = {\n    '<': '>',\n    '[': ']',\n    '(': ')',\n    '{': '}'\n  }; // base pattern for special delimiters, left must correspond with right\n\n  const singlePattern = \"{left}(?:(?!{right}').)*?{right}\"; // replace {left} and {right} with delimiters, collect as array\n\n  const patternList = Object.entries(specialDelimiterMap).map(([left, right]) => singlePattern.replace(/{left}/g, escapeRegExp(left)).replace(/{right}/g, escapeRegExp(right)));\n  const specialDelimiters = escapeRegExp(Object.keys(specialDelimiterMap).join('')); // standard pattern for common delimiters, ignores special delimiters\n\n  const standardDelimiterPattern = String.raw`(?<tag>[^\\s${specialDelimiters}])(?:(?!\\k<tag>').)*?\\k<tag>`; // constructs final pattern by joining all cases\n\n  const qStringPattern = `[Qq]'(?:${standardDelimiterPattern}|${patternList.join('|')})'`;\n  return qStringPattern;\n}; // Regex patterns for all supported quote styles.\n//\n// Most of them have a single escaping-style built in,\n// but \"\" and '' support multiple versions of escapes,\n// which must be selected with suffixes: -qq, -bs, -qq-bs, -raw\n\n\nexport const quotePatterns = {\n  // - backtick quoted (using `` to escape)\n  '``': '(?:`[^`]*`)+',\n  // - Transact-SQL square bracket quoted (using ]] to escape)\n  '[]': String.raw`(?:\\[[^\\]]*\\])(?:\\][^\\]]*\\])*`,\n  // double-quoted\n  '\"\"-qq': String.raw`(?:\"[^\"]*\")+`,\n  // with repeated quote escapes\n  '\"\"-bs': String.raw`(?:\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\")`,\n  // with backslash escapes\n  '\"\"-qq-bs': String.raw`(?:\"[^\"\\\\]*(?:\\\\.[^\"\\\\]*)*\")+`,\n  // with repeated quote or backslash escapes\n  '\"\"-raw': String.raw`(?:\"[^\"]*\")`,\n  // no escaping\n  // single-quoted\n  \"''-qq\": String.raw`(?:'[^']*')+`,\n  // with repeated quote escapes\n  \"''-bs\": String.raw`(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*')`,\n  // with backslash escapes\n  \"''-qq-bs\": String.raw`(?:'[^'\\\\]*(?:\\\\.[^'\\\\]*)*')+`,\n  // with repeated quote or backslash escapes\n  \"''-raw\": String.raw`(?:'[^']*')`,\n  // no escaping\n  // PostgreSQL dollar-quoted\n  '$$': String.raw`(?<tag>\\$\\w*\\$)[\\s\\S]*?\\k<tag>`,\n  // BigQuery '''triple-quoted''' (using \\' to escape)\n  \"'''..'''\": String.raw`'''[^\\\\]*?(?:\\\\.[^\\\\]*?)*?'''`,\n  // BigQuery \"\"\"triple-quoted\"\"\" (using \\\" to escape)\n  '\"\"\"..\"\"\"': String.raw`\"\"\"[^\\\\]*?(?:\\\\.[^\\\\]*?)*?\"\"\"`,\n  // Hive and Spark variables: ${name}\n  '{}': String.raw`(?:\\{[^\\}]*\\})`,\n  // Oracle q'' strings: q'<text>' q'|text|' ...\n  \"q''\": buildQStringPatterns()\n};\n\nconst singleQuotePattern = quoteTypes => {\n  if (typeof quoteTypes === 'string') {\n    return quotePatterns[quoteTypes];\n  } else if ('regex' in quoteTypes) {\n    return quoteTypes.regex;\n  } else {\n    return prefixesPattern(quoteTypes) + quotePatterns[quoteTypes.quote];\n  }\n};\n/** Builds a RegExp for matching variables */\n\n\nexport const variable = varTypes => patternToRegex(varTypes.map(varType => 'regex' in varType ? varType.regex : singleQuotePattern(varType)).join('|'));\n/** Builds a quote-delimited pattern for matching all given quote types */\n\nexport const stringPattern = quoteTypes => quoteTypes.map(singleQuotePattern).join('|');\n/** Builds a RegExp for matching quote-delimited patterns */\n\nexport const string = quoteTypes => patternToRegex(stringPattern(quoteTypes));\n/**\n * Builds a RegExp for valid identifiers in a SQL dialect\n */\n\nexport const identifier = (specialChars = {}) => patternToRegex(identifierPattern(specialChars));\n/**\n * Builds a RegExp string for valid identifiers in a SQL dialect\n */\n\nexport const identifierPattern = ({\n  first,\n  rest,\n  dashes,\n  allowFirstCharNumber\n} = {}) => {\n  // Unicode letters, diacritical marks and underscore\n  const letter = '\\\\p{Alphabetic}\\\\p{Mark}_'; // Numbers 0..9, plus various unicode numbers\n\n  const number = '\\\\p{Decimal_Number}';\n  const firstChars = escapeRegExp(first ?? '');\n  const restChars = escapeRegExp(rest ?? '');\n  const pattern = allowFirstCharNumber ? `[${letter}${number}${firstChars}][${letter}${number}${restChars}]*` : `[${letter}${firstChars}][${letter}${number}${restChars}]*`;\n  return dashes ? withDashes(pattern) : pattern;\n};\n//# sourceMappingURL=regexFactory.js.map","/**\n * Determines line and column number of character index in source code.\n */\nexport function lineColFromIndex(source, index) {\n  const lines = source.slice(0, index).split(/\\n/);\n  return {\n    line: lines.length,\n    col: lines[lines.length - 1].length + 1\n  };\n}\n//# sourceMappingURL=lineColFromIndex.js.map","import { lineColFromIndex } from './lineColFromIndex.js';\nimport { WHITESPACE_REGEX } from './regexUtil.js';\nexport default class TokenizerEngine {\n  input = ''; // The input SQL string to process\n\n  index = 0; // Current position in string\n\n  constructor(rules) {\n    this.rules = rules;\n  }\n  /**\n   * Takes a SQL string and breaks it into tokens.\n   * Each token is an object with type and value.\n   *\n   * @param {string} input - The SQL string\n   * @returns {Token[]} output token stream\n   */\n\n\n  tokenize(input) {\n    this.input = input;\n    this.index = 0;\n    const tokens = [];\n    let token; // Keep processing the string until end is reached\n\n    while (this.index < this.input.length) {\n      // skip any preceding whitespace\n      const precedingWhitespace = this.getWhitespace();\n\n      if (this.index < this.input.length) {\n        // Get the next token and the token type\n        token = this.getNextToken();\n\n        if (!token) {\n          throw this.createParseError();\n        }\n\n        tokens.push({ ...token,\n          precedingWhitespace\n        });\n      }\n    }\n\n    return tokens;\n  }\n\n  createParseError() {\n    const text = this.input.slice(this.index, this.index + 10);\n    const {\n      line,\n      col\n    } = lineColFromIndex(this.input, this.index);\n    return new Error(`Parse error: Unexpected \"${text}\" at line ${line} column ${col}`);\n  }\n\n  getWhitespace() {\n    WHITESPACE_REGEX.lastIndex = this.index;\n    const matches = WHITESPACE_REGEX.exec(this.input);\n\n    if (matches) {\n      // Advance current position by matched whitespace length\n      this.index += matches[0].length;\n      return matches[0];\n    }\n\n    return undefined;\n  }\n\n  getNextToken() {\n    for (const rule of this.rules) {\n      const token = this.match(rule);\n\n      if (token) {\n        return token;\n      }\n    }\n\n    return undefined;\n  } // Attempts to match token rule regex at current position in input\n\n\n  match(rule) {\n    rule.regex.lastIndex = this.index;\n    const matches = rule.regex.exec(this.input);\n\n    if (matches) {\n      const matchedText = matches[0];\n      const token = {\n        type: rule.type,\n        raw: matchedText,\n        text: rule.text ? rule.text(matchedText) : matchedText,\n        start: this.index\n      };\n\n      if (rule.key) {\n        token.key = rule.key(matchedText);\n      } // Advance current position by matched token length\n\n\n      this.index += matchedText.length;\n      return token;\n    }\n\n    return undefined;\n  }\n\n}\n//# sourceMappingURL=TokenizerEngine.js.map","/* eslint-disable no-cond-assign */\nconst START = /\\/\\*/uy; // matches: /*\n\nconst MIDDLE = /([^/*]|\\*[^/]|\\/[^*])+/uy; // matches text NOT containing /* or */\n\nconst END = /\\*\\//uy; // matches: */\n\n/**\n * An object mimicking a regular expression,\n * for matching nested block-comments.\n */\n\nexport class NestedComment {\n  lastIndex = 0;\n\n  exec(input) {\n    let result = '';\n    let match;\n    let nestLevel = 0;\n\n    if (match = this.matchSection(START, input)) {\n      result += match;\n      nestLevel++;\n    } else {\n      return null;\n    }\n\n    while (nestLevel > 0) {\n      if (match = this.matchSection(START, input)) {\n        result += match;\n        nestLevel++;\n      } else if (match = this.matchSection(END, input)) {\n        result += match;\n        nestLevel--;\n      } else if (match = this.matchSection(MIDDLE, input)) {\n        result += match;\n      } else {\n        return null;\n      }\n    }\n\n    return [result];\n  }\n\n  matchSection(regex, input) {\n    regex.lastIndex = this.lastIndex;\n    const matches = regex.exec(input);\n\n    if (matches) {\n      this.lastIndex += matches[0].length;\n    }\n\n    return matches ? matches[0] : null;\n  }\n\n}\n//# sourceMappingURL=NestedComment.js.map","import { TokenType } from './token.js';\nimport * as regex from './regexFactory.js';\nimport TokenizerEngine from './TokenizerEngine.js';\nimport { escapeRegExp, patternToRegex } from './regexUtil.js';\nimport { equalizeWhitespace } from '../utils.js';\nimport { NestedComment } from './NestedComment.js';\nexport default class Tokenizer {\n  constructor(cfg) {\n    this.cfg = cfg;\n    this.rulesBeforeParams = this.buildRulesBeforeParams(cfg);\n    this.rulesAfterParams = this.buildRulesAfterParams(cfg);\n  }\n\n  tokenize(input, paramTypesOverrides) {\n    const rules = [...this.rulesBeforeParams, ...this.buildParamRules(this.cfg, paramTypesOverrides), ...this.rulesAfterParams];\n    const tokens = new TokenizerEngine(rules).tokenize(input);\n    return this.cfg.postProcess ? this.cfg.postProcess(tokens) : tokens;\n  } // These rules can be cached as they only depend on\n  // the Tokenizer config options specified for each SQL dialect\n\n\n  buildRulesBeforeParams(cfg) {\n    return this.validRules([{\n      type: TokenType.BLOCK_COMMENT,\n      regex: cfg.nestedBlockComments ? new NestedComment() : /(\\/\\*[^]*?\\*\\/)/uy\n    }, {\n      type: TokenType.LINE_COMMENT,\n      regex: regex.lineComment(cfg.lineCommentTypes ?? ['--'])\n    }, {\n      type: TokenType.QUOTED_IDENTIFIER,\n      regex: regex.string(cfg.identTypes)\n    }, {\n      type: TokenType.NUMBER,\n      regex: /(?:0x[0-9a-fA-F]+|0b[01]+|(?:-\\s*)?[0-9]+(?:\\.[0-9]*)?(?:[eE][-+]?[0-9]+(?:\\.[0-9]+)?)?)(?!\\w)/uy\n    }, // RESERVED_PHRASE is matched before all other keyword tokens\n    // to e.g. prioritize matching \"TIMESTAMP WITH TIME ZONE\" phrase over \"WITH\" clause.\n    {\n      type: TokenType.RESERVED_PHRASE,\n      regex: regex.reservedWord(cfg.reservedPhrases ?? [], cfg.identChars),\n      text: toCanonical\n    }, {\n      type: TokenType.CASE,\n      regex: /CASE\\b/iuy,\n      text: toCanonical\n    }, {\n      type: TokenType.END,\n      regex: /END\\b/iuy,\n      text: toCanonical\n    }, {\n      type: TokenType.BETWEEN,\n      regex: /BETWEEN\\b/iuy,\n      text: toCanonical\n    }, {\n      type: TokenType.LIMIT,\n      regex: cfg.reservedClauses.includes('LIMIT') ? /LIMIT\\b/iuy : undefined,\n      text: toCanonical\n    }, {\n      type: TokenType.RESERVED_CLAUSE,\n      regex: regex.reservedWord(cfg.reservedClauses, cfg.identChars),\n      text: toCanonical\n    }, {\n      type: TokenType.RESERVED_SELECT,\n      regex: regex.reservedWord(cfg.reservedSelect, cfg.identChars),\n      text: toCanonical\n    }, {\n      type: TokenType.RESERVED_SET_OPERATION,\n      regex: regex.reservedWord(cfg.reservedSetOperations, cfg.identChars),\n      text: toCanonical\n    }, {\n      type: TokenType.WHEN,\n      regex: /WHEN\\b/iuy,\n      text: toCanonical\n    }, {\n      type: TokenType.ELSE,\n      regex: /ELSE\\b/iuy,\n      text: toCanonical\n    }, {\n      type: TokenType.THEN,\n      regex: /THEN\\b/iuy,\n      text: toCanonical\n    }, {\n      type: TokenType.RESERVED_JOIN,\n      regex: regex.reservedWord(cfg.reservedJoins, cfg.identChars),\n      text: toCanonical\n    }, {\n      type: TokenType.AND,\n      regex: /AND\\b/iuy,\n      text: toCanonical\n    }, {\n      type: TokenType.OR,\n      regex: /OR\\b/iuy,\n      text: toCanonical\n    }, {\n      type: TokenType.XOR,\n      regex: cfg.supportsXor ? /XOR\\b/iuy : undefined,\n      text: toCanonical\n    }, {\n      type: TokenType.RESERVED_FUNCTION_NAME,\n      regex: regex.reservedWord(cfg.reservedFunctionNames, cfg.identChars),\n      text: toCanonical\n    }, {\n      type: TokenType.RESERVED_KEYWORD,\n      regex: regex.reservedWord(cfg.reservedKeywords, cfg.identChars),\n      text: toCanonical\n    }]);\n  } // These rules can also be cached as they only depend on\n  // the Tokenizer config options specified for each SQL dialect\n\n\n  buildRulesAfterParams(cfg) {\n    return this.validRules([{\n      type: TokenType.VARIABLE,\n      regex: cfg.variableTypes ? regex.variable(cfg.variableTypes) : undefined\n    }, {\n      type: TokenType.STRING,\n      regex: regex.string(cfg.stringTypes)\n    }, {\n      type: TokenType.IDENTIFIER,\n      regex: regex.identifier(cfg.identChars)\n    }, {\n      type: TokenType.DELIMITER,\n      regex: /[;]/uy\n    }, {\n      type: TokenType.COMMA,\n      regex: /[,]/y\n    }, {\n      type: TokenType.OPEN_PAREN,\n      regex: regex.parenthesis('open', cfg.extraParens)\n    }, {\n      type: TokenType.CLOSE_PAREN,\n      regex: regex.parenthesis('close', cfg.extraParens)\n    }, {\n      type: TokenType.OPERATOR,\n      regex: regex.operator([// standard operators\n      '+', '-', '/', '>', '<', '=', '<>', '<=', '>=', '!=', ...(cfg.operators ?? [])])\n    }, {\n      type: TokenType.ASTERISK,\n      regex: /[*]/uy\n    }, {\n      type: TokenType.DOT,\n      regex: /[.]/uy\n    }]);\n  } // These rules can't be blindly cached as the paramTypesOverrides object\n  // can differ on each invocation of the format() function.\n\n\n  buildParamRules(cfg, paramTypesOverrides) {\n    var _cfg$paramTypes, _cfg$paramTypes2, _cfg$paramTypes3, _cfg$paramTypes4, _cfg$paramTypes5;\n\n    // Each dialect has its own default parameter types (if any),\n    // but these can be overriden by the user of the library.\n    const paramTypes = {\n      named: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.named) || ((_cfg$paramTypes = cfg.paramTypes) === null || _cfg$paramTypes === void 0 ? void 0 : _cfg$paramTypes.named) || [],\n      quoted: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.quoted) || ((_cfg$paramTypes2 = cfg.paramTypes) === null || _cfg$paramTypes2 === void 0 ? void 0 : _cfg$paramTypes2.quoted) || [],\n      numbered: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.numbered) || ((_cfg$paramTypes3 = cfg.paramTypes) === null || _cfg$paramTypes3 === void 0 ? void 0 : _cfg$paramTypes3.numbered) || [],\n      positional: typeof (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.positional) === 'boolean' ? paramTypesOverrides.positional : (_cfg$paramTypes4 = cfg.paramTypes) === null || _cfg$paramTypes4 === void 0 ? void 0 : _cfg$paramTypes4.positional,\n      custom: (paramTypesOverrides === null || paramTypesOverrides === void 0 ? void 0 : paramTypesOverrides.custom) || ((_cfg$paramTypes5 = cfg.paramTypes) === null || _cfg$paramTypes5 === void 0 ? void 0 : _cfg$paramTypes5.custom) || []\n    };\n    return this.validRules([{\n      type: TokenType.NAMED_PARAMETER,\n      regex: regex.parameter(paramTypes.named, regex.identifierPattern(cfg.paramChars || cfg.identChars)),\n      key: v => v.slice(1)\n    }, {\n      type: TokenType.QUOTED_PARAMETER,\n      regex: regex.parameter(paramTypes.quoted, regex.stringPattern(cfg.identTypes)),\n      key: v => (({\n        tokenKey,\n        quoteChar\n      }) => tokenKey.replace(new RegExp(escapeRegExp('\\\\' + quoteChar), 'gu'), quoteChar))({\n        tokenKey: v.slice(2, -1),\n        quoteChar: v.slice(-1)\n      })\n    }, {\n      type: TokenType.NUMBERED_PARAMETER,\n      regex: regex.parameter(paramTypes.numbered, '[0-9]+'),\n      key: v => v.slice(1)\n    }, {\n      type: TokenType.POSITIONAL_PARAMETER,\n      regex: paramTypes.positional ? /[?]/y : undefined\n    }, ...paramTypes.custom.map(customParam => ({\n      type: TokenType.CUSTOM_PARAMETER,\n      regex: patternToRegex(customParam.regex),\n      key: customParam.key ?? (v => v)\n    }))]);\n  } // filters out rules for token types whose regex is undefined\n\n\n  validRules(rules) {\n    return rules.filter(rule => Boolean(rule.regex));\n  }\n\n}\n/**\n * Converts keywords (and keyword sequences) to canonical form:\n * - in uppercase\n * - single spaces between words\n */\n\nconst toCanonical = v => equalizeWhitespace(v.toUpperCase());\n//# sourceMappingURL=Tokenizer.js.map","import Tokenizer from './lexer/Tokenizer.js';\nconst cache = new Map();\n/**\n * Factory function for building Dialect objects.\n * When called repeatedly with same options object returns the cached Dialect,\n * to avoid the cost of creating it again.\n */\n\nexport const createDialect = options => {\n  let dialect = cache.get(options);\n\n  if (!dialect) {\n    dialect = dialectFromOptions(options);\n    cache.set(options, dialect);\n  }\n\n  return dialect;\n};\n\nconst dialectFromOptions = dialectOptions => ({\n  tokenizer: new Tokenizer(dialectOptions.tokenizerOptions),\n  formatOptions: processDialectFormatOptions(dialectOptions.formatOptions)\n});\n\nconst processDialectFormatOptions = options => ({\n  alwaysDenseOperators: options.alwaysDenseOperators || [],\n  onelineClauses: Object.fromEntries(options.onelineClauses.map(name => [name, true]))\n});\n//# sourceMappingURL=dialect.js.map","// Utility functions for config options\n\n/**\n * Creates a string to use for one step of indentation.\n */\nexport function indentString(cfg) {\n  if (cfg.indentStyle === 'tabularLeft' || cfg.indentStyle === 'tabularRight') {\n    return ' '.repeat(10);\n  }\n\n  if (cfg.useTabs) {\n    return '\\t';\n  }\n\n  return ' '.repeat(cfg.tabWidth);\n}\n/**\n * True when indentStyle is one of the tabular ones.\n */\n\nexport function isTabularStyle(cfg) {\n  return cfg.indentStyle === 'tabularLeft' || cfg.indentStyle === 'tabularRight';\n}\n//# sourceMappingURL=config.js.map","/**\n * Handles placeholder replacement with given params.\n */\nexport default class Params {\n  constructor(params) {\n    this.params = params;\n    this.index = 0;\n  }\n  /**\n   * Returns param value that matches given placeholder with param key.\n   */\n\n\n  get({\n    key,\n    text\n  }) {\n    if (!this.params) {\n      return text;\n    }\n\n    if (key) {\n      return this.params[key];\n    }\n\n    return this.params[this.index++];\n  }\n  /**\n   * Returns index of current positional parameter.\n   */\n\n\n  getPositionalParameterIndex() {\n    return this.index;\n  }\n  /**\n   * Sets index of current positional parameter.\n   */\n\n\n  setPositionalParameterIndex(i) {\n    this.index = i;\n  }\n\n}\n//# sourceMappingURL=Params.js.map","(function(root, factory) {\n    if (typeof module === 'object' && module.exports) {\n        module.exports = factory();\n    } else {\n        root.nearley = factory();\n    }\n}(this, function() {\n\n    function Rule(name, symbols, postprocess) {\n        this.id = ++Rule.highestId;\n        this.name = name;\n        this.symbols = symbols;        // a list of literal | regex class | nonterminal\n        this.postprocess = postprocess;\n        return this;\n    }\n    Rule.highestId = 0;\n\n    Rule.prototype.toString = function(withCursorAt) {\n        var symbolSequence = (typeof withCursorAt === \"undefined\")\n                             ? this.symbols.map(getSymbolShortDisplay).join(' ')\n                             : (   this.symbols.slice(0, withCursorAt).map(getSymbolShortDisplay).join(' ')\n                                 + \" ● \"\n                                 + this.symbols.slice(withCursorAt).map(getSymbolShortDisplay).join(' ')     );\n        return this.name + \" → \" + symbolSequence;\n    }\n\n\n    // a State is a rule at a position from a given starting point in the input stream (reference)\n    function State(rule, dot, reference, wantedBy) {\n        this.rule = rule;\n        this.dot = dot;\n        this.reference = reference;\n        this.data = [];\n        this.wantedBy = wantedBy;\n        this.isComplete = this.dot === rule.symbols.length;\n    }\n\n    State.prototype.toString = function() {\n        return \"{\" + this.rule.toString(this.dot) + \"}, from: \" + (this.reference || 0);\n    };\n\n    State.prototype.nextState = function(child) {\n        var state = new State(this.rule, this.dot + 1, this.reference, this.wantedBy);\n        state.left = this;\n        state.right = child;\n        if (state.isComplete) {\n            state.data = state.build();\n            // Having right set here will prevent the right state and its children\n            // form being garbage collected\n            state.right = undefined;\n        }\n        return state;\n    };\n\n    State.prototype.build = function() {\n        var children = [];\n        var node = this;\n        do {\n            children.push(node.right.data);\n            node = node.left;\n        } while (node.left);\n        children.reverse();\n        return children;\n    };\n\n    State.prototype.finish = function() {\n        if (this.rule.postprocess) {\n            this.data = this.rule.postprocess(this.data, this.reference, Parser.fail);\n        }\n    };\n\n\n    function Column(grammar, index) {\n        this.grammar = grammar;\n        this.index = index;\n        this.states = [];\n        this.wants = {}; // states indexed by the non-terminal they expect\n        this.scannable = []; // list of states that expect a token\n        this.completed = {}; // states that are nullable\n    }\n\n\n    Column.prototype.process = function(nextColumn) {\n        var states = this.states;\n        var wants = this.wants;\n        var completed = this.completed;\n\n        for (var w = 0; w < states.length; w++) { // nb. we push() during iteration\n            var state = states[w];\n\n            if (state.isComplete) {\n                state.finish();\n                if (state.data !== Parser.fail) {\n                    // complete\n                    var wantedBy = state.wantedBy;\n                    for (var i = wantedBy.length; i--; ) { // this line is hot\n                        var left = wantedBy[i];\n                        this.complete(left, state);\n                    }\n\n                    // special-case nullables\n                    if (state.reference === this.index) {\n                        // make sure future predictors of this rule get completed.\n                        var exp = state.rule.name;\n                        (this.completed[exp] = this.completed[exp] || []).push(state);\n                    }\n                }\n\n            } else {\n                // queue scannable states\n                var exp = state.rule.symbols[state.dot];\n                if (typeof exp !== 'string') {\n                    this.scannable.push(state);\n                    continue;\n                }\n\n                // predict\n                if (wants[exp]) {\n                    wants[exp].push(state);\n\n                    if (completed.hasOwnProperty(exp)) {\n                        var nulls = completed[exp];\n                        for (var i = 0; i < nulls.length; i++) {\n                            var right = nulls[i];\n                            this.complete(state, right);\n                        }\n                    }\n                } else {\n                    wants[exp] = [state];\n                    this.predict(exp);\n                }\n            }\n        }\n    }\n\n    Column.prototype.predict = function(exp) {\n        var rules = this.grammar.byName[exp] || [];\n\n        for (var i = 0; i < rules.length; i++) {\n            var r = rules[i];\n            var wantedBy = this.wants[exp];\n            var s = new State(r, 0, this.index, wantedBy);\n            this.states.push(s);\n        }\n    }\n\n    Column.prototype.complete = function(left, right) {\n        var copy = left.nextState(right);\n        this.states.push(copy);\n    }\n\n\n    function Grammar(rules, start) {\n        this.rules = rules;\n        this.start = start || this.rules[0].name;\n        var byName = this.byName = {};\n        this.rules.forEach(function(rule) {\n            if (!byName.hasOwnProperty(rule.name)) {\n                byName[rule.name] = [];\n            }\n            byName[rule.name].push(rule);\n        });\n    }\n\n    // So we can allow passing (rules, start) directly to Parser for backwards compatibility\n    Grammar.fromCompiled = function(rules, start) {\n        var lexer = rules.Lexer;\n        if (rules.ParserStart) {\n          start = rules.ParserStart;\n          rules = rules.ParserRules;\n        }\n        var rules = rules.map(function (r) { return (new Rule(r.name, r.symbols, r.postprocess)); });\n        var g = new Grammar(rules, start);\n        g.lexer = lexer; // nb. storing lexer on Grammar is iffy, but unavoidable\n        return g;\n    }\n\n\n    function StreamLexer() {\n      this.reset(\"\");\n    }\n\n    StreamLexer.prototype.reset = function(data, state) {\n        this.buffer = data;\n        this.index = 0;\n        this.line = state ? state.line : 1;\n        this.lastLineBreak = state ? -state.col : 0;\n    }\n\n    StreamLexer.prototype.next = function() {\n        if (this.index < this.buffer.length) {\n            var ch = this.buffer[this.index++];\n            if (ch === '\\n') {\n              this.line += 1;\n              this.lastLineBreak = this.index;\n            }\n            return {value: ch};\n        }\n    }\n\n    StreamLexer.prototype.save = function() {\n      return {\n        line: this.line,\n        col: this.index - this.lastLineBreak,\n      }\n    }\n\n    StreamLexer.prototype.formatError = function(token, message) {\n        // nb. this gets called after consuming the offending token,\n        // so the culprit is index-1\n        var buffer = this.buffer;\n        if (typeof buffer === 'string') {\n            var lines = buffer\n                .split(\"\\n\")\n                .slice(\n                    Math.max(0, this.line - 5), \n                    this.line\n                );\n\n            var nextLineBreak = buffer.indexOf('\\n', this.index);\n            if (nextLineBreak === -1) nextLineBreak = buffer.length;\n            var col = this.index - this.lastLineBreak;\n            var lastLineDigits = String(this.line).length;\n            message += \" at line \" + this.line + \" col \" + col + \":\\n\\n\";\n            message += lines\n                .map(function(line, i) {\n                    return pad(this.line - lines.length + i + 1, lastLineDigits) + \" \" + line;\n                }, this)\n                .join(\"\\n\");\n            message += \"\\n\" + pad(\"\", lastLineDigits + col) + \"^\\n\";\n            return message;\n        } else {\n            return message + \" at index \" + (this.index - 1);\n        }\n\n        function pad(n, length) {\n            var s = String(n);\n            return Array(length - s.length + 1).join(\" \") + s;\n        }\n    }\n\n    function Parser(rules, start, options) {\n        if (rules instanceof Grammar) {\n            var grammar = rules;\n            var options = start;\n        } else {\n            var grammar = Grammar.fromCompiled(rules, start);\n        }\n        this.grammar = grammar;\n\n        // Read options\n        this.options = {\n            keepHistory: false,\n            lexer: grammar.lexer || new StreamLexer,\n        };\n        for (var key in (options || {})) {\n            this.options[key] = options[key];\n        }\n\n        // Setup lexer\n        this.lexer = this.options.lexer;\n        this.lexerState = undefined;\n\n        // Setup a table\n        var column = new Column(grammar, 0);\n        var table = this.table = [column];\n\n        // I could be expecting anything.\n        column.wants[grammar.start] = [];\n        column.predict(grammar.start);\n        // TODO what if start rule is nullable?\n        column.process();\n        this.current = 0; // token index\n    }\n\n    // create a reserved token for indicating a parse fail\n    Parser.fail = {};\n\n    Parser.prototype.feed = function(chunk) {\n        var lexer = this.lexer;\n        lexer.reset(chunk, this.lexerState);\n\n        var token;\n        while (true) {\n            try {\n                token = lexer.next();\n                if (!token) {\n                    break;\n                }\n            } catch (e) {\n                // Create the next column so that the error reporter\n                // can display the correctly predicted states.\n                var nextColumn = new Column(this.grammar, this.current + 1);\n                this.table.push(nextColumn);\n                var err = new Error(this.reportLexerError(e));\n                err.offset = this.current;\n                err.token = e.token;\n                throw err;\n            }\n            // We add new states to table[current+1]\n            var column = this.table[this.current];\n\n            // GC unused states\n            if (!this.options.keepHistory) {\n                delete this.table[this.current - 1];\n            }\n\n            var n = this.current + 1;\n            var nextColumn = new Column(this.grammar, n);\n            this.table.push(nextColumn);\n\n            // Advance all tokens that expect the symbol\n            var literal = token.text !== undefined ? token.text : token.value;\n            var value = lexer.constructor === StreamLexer ? token.value : token;\n            var scannable = column.scannable;\n            for (var w = scannable.length; w--; ) {\n                var state = scannable[w];\n                var expect = state.rule.symbols[state.dot];\n                // Try to consume the token\n                // either regex or literal\n                if (expect.test ? expect.test(value) :\n                    expect.type ? expect.type === token.type\n                                : expect.literal === literal) {\n                    // Add it\n                    var next = state.nextState({data: value, token: token, isToken: true, reference: n - 1});\n                    nextColumn.states.push(next);\n                }\n            }\n\n            // Next, for each of the rules, we either\n            // (a) complete it, and try to see if the reference row expected that\n            //     rule\n            // (b) predict the next nonterminal it expects by adding that\n            //     nonterminal's start state\n            // To prevent duplication, we also keep track of rules we have already\n            // added\n\n            nextColumn.process();\n\n            // If needed, throw an error:\n            if (nextColumn.states.length === 0) {\n                // No states at all! This is not good.\n                var err = new Error(this.reportError(token));\n                err.offset = this.current;\n                err.token = token;\n                throw err;\n            }\n\n            // maybe save lexer state\n            if (this.options.keepHistory) {\n              column.lexerState = lexer.save()\n            }\n\n            this.current++;\n        }\n        if (column) {\n          this.lexerState = lexer.save()\n        }\n\n        // Incrementally keep track of results\n        this.results = this.finish();\n\n        // Allow chaining, for whatever it's worth\n        return this;\n    };\n\n    Parser.prototype.reportLexerError = function(lexerError) {\n        var tokenDisplay, lexerMessage;\n        // Planning to add a token property to moo's thrown error\n        // even on erroring tokens to be used in error display below\n        var token = lexerError.token;\n        if (token) {\n            tokenDisplay = \"input \" + JSON.stringify(token.text[0]) + \" (lexer error)\";\n            lexerMessage = this.lexer.formatError(token, \"Syntax error\");\n        } else {\n            tokenDisplay = \"input (lexer error)\";\n            lexerMessage = lexerError.message;\n        }\n        return this.reportErrorCommon(lexerMessage, tokenDisplay);\n    };\n\n    Parser.prototype.reportError = function(token) {\n        var tokenDisplay = (token.type ? token.type + \" token: \" : \"\") + JSON.stringify(token.value !== undefined ? token.value : token);\n        var lexerMessage = this.lexer.formatError(token, \"Syntax error\");\n        return this.reportErrorCommon(lexerMessage, tokenDisplay);\n    };\n\n    Parser.prototype.reportErrorCommon = function(lexerMessage, tokenDisplay) {\n        var lines = [];\n        lines.push(lexerMessage);\n        var lastColumnIndex = this.table.length - 2;\n        var lastColumn = this.table[lastColumnIndex];\n        var expectantStates = lastColumn.states\n            .filter(function(state) {\n                var nextSymbol = state.rule.symbols[state.dot];\n                return nextSymbol && typeof nextSymbol !== \"string\";\n            });\n\n        if (expectantStates.length === 0) {\n            lines.push('Unexpected ' + tokenDisplay + '. I did not expect any more input. Here is the state of my parse table:\\n');\n            this.displayStateStack(lastColumn.states, lines);\n        } else {\n            lines.push('Unexpected ' + tokenDisplay + '. Instead, I was expecting to see one of the following:\\n');\n            // Display a \"state stack\" for each expectant state\n            // - which shows you how this state came to be, step by step.\n            // If there is more than one derivation, we only display the first one.\n            var stateStacks = expectantStates\n                .map(function(state) {\n                    return this.buildFirstStateStack(state, []) || [state];\n                }, this);\n            // Display each state that is expecting a terminal symbol next.\n            stateStacks.forEach(function(stateStack) {\n                var state = stateStack[0];\n                var nextSymbol = state.rule.symbols[state.dot];\n                var symbolDisplay = this.getSymbolDisplay(nextSymbol);\n                lines.push('A ' + symbolDisplay + ' based on:');\n                this.displayStateStack(stateStack, lines);\n            }, this);\n        }\n        lines.push(\"\");\n        return lines.join(\"\\n\");\n    }\n    \n    Parser.prototype.displayStateStack = function(stateStack, lines) {\n        var lastDisplay;\n        var sameDisplayCount = 0;\n        for (var j = 0; j < stateStack.length; j++) {\n            var state = stateStack[j];\n            var display = state.rule.toString(state.dot);\n            if (display === lastDisplay) {\n                sameDisplayCount++;\n            } else {\n                if (sameDisplayCount > 0) {\n                    lines.push('    ^ ' + sameDisplayCount + ' more lines identical to this');\n                }\n                sameDisplayCount = 0;\n                lines.push('    ' + display);\n            }\n            lastDisplay = display;\n        }\n    };\n\n    Parser.prototype.getSymbolDisplay = function(symbol) {\n        return getSymbolLongDisplay(symbol);\n    };\n\n    /*\n    Builds a the first state stack. You can think of a state stack as the call stack\n    of the recursive-descent parser which the Nearley parse algorithm simulates.\n    A state stack is represented as an array of state objects. Within a\n    state stack, the first item of the array will be the starting\n    state, with each successive item in the array going further back into history.\n\n    This function needs to be given a starting state and an empty array representing\n    the visited states, and it returns an single state stack.\n\n    */\n    Parser.prototype.buildFirstStateStack = function(state, visited) {\n        if (visited.indexOf(state) !== -1) {\n            // Found cycle, return null\n            // to eliminate this path from the results, because\n            // we don't know how to display it meaningfully\n            return null;\n        }\n        if (state.wantedBy.length === 0) {\n            return [state];\n        }\n        var prevState = state.wantedBy[0];\n        var childVisited = [state].concat(visited);\n        var childResult = this.buildFirstStateStack(prevState, childVisited);\n        if (childResult === null) {\n            return null;\n        }\n        return [state].concat(childResult);\n    };\n\n    Parser.prototype.save = function() {\n        var column = this.table[this.current];\n        column.lexerState = this.lexerState;\n        return column;\n    };\n\n    Parser.prototype.restore = function(column) {\n        var index = column.index;\n        this.current = index;\n        this.table[index] = column;\n        this.table.splice(index + 1);\n        this.lexerState = column.lexerState;\n\n        // Incrementally keep track of results\n        this.results = this.finish();\n    };\n\n    // nb. deprecated: use save/restore instead!\n    Parser.prototype.rewind = function(index) {\n        if (!this.options.keepHistory) {\n            throw new Error('set option `keepHistory` to enable rewinding')\n        }\n        // nb. recall column (table) indicies fall between token indicies.\n        //        col 0   --   token 0   --   col 1\n        this.restore(this.table[index]);\n    };\n\n    Parser.prototype.finish = function() {\n        // Return the possible parsings\n        var considerations = [];\n        var start = this.grammar.start;\n        var column = this.table[this.table.length - 1]\n        column.states.forEach(function (t) {\n            if (t.rule.name === start\n                    && t.dot === t.rule.symbols.length\n                    && t.reference === 0\n                    && t.data !== Parser.fail) {\n                considerations.push(t);\n            }\n        });\n        return considerations.map(function(c) {return c.data; });\n    };\n\n    function getSymbolLongDisplay(symbol) {\n        var type = typeof symbol;\n        if (type === \"string\") {\n            return symbol;\n        } else if (type === \"object\") {\n            if (symbol.literal) {\n                return JSON.stringify(symbol.literal);\n            } else if (symbol instanceof RegExp) {\n                return 'character matching ' + symbol;\n            } else if (symbol.type) {\n                return symbol.type + ' token';\n            } else if (symbol.test) {\n                return 'token matching ' + String(symbol.test);\n            } else {\n                throw new Error('Unknown symbol type: ' + symbol);\n            }\n        }\n    }\n\n    function getSymbolShortDisplay(symbol) {\n        var type = typeof symbol;\n        if (type === \"string\") {\n            return symbol;\n        } else if (type === \"object\") {\n            if (symbol.literal) {\n                return JSON.stringify(symbol.literal);\n            } else if (symbol instanceof RegExp) {\n                return symbol.toString();\n            } else if (symbol.type) {\n                return '%' + symbol.type;\n            } else if (symbol.test) {\n                return '<' + String(symbol.test) + '>';\n            } else {\n                throw new Error('Unknown symbol type: ' + symbol);\n            }\n        }\n    }\n\n    return {\n        Parser: Parser,\n        Grammar: Grammar,\n        Rule: Rule,\n    };\n\n}));\n","import { isReserved, TokenType } from './token.js';\n/**\n * Ensures that no keyword token (RESERVED_*) is preceded by dot (.).\n *\n * Ensures that all RESERVED_FUNCTION_NAME tokens are followed by \"(\".\n * If they're not, converts the token to RESERVED_KEYWORD.\n *\n * When IDENTIFIER and RESERVED_KEYWORD token is followed by \"[\"\n * converts it to ARRAY_IDENTIFIER or ARRAY_KEYWORD accordingly.\n *\n * This is needed to avoid ambiguity in parser which expects function names\n * to always be followed by open-paren, and to distinguish between\n * array accessor `foo[1]` and array literal `[1, 2, 3]`.\n */\n\nexport function disambiguateTokens(tokens) {\n  return tokens.map(dotKeywordToIdent).map(funcNameToKeyword).map(identToArrayIdent).map(keywordToArrayKeyword);\n}\n\nconst dotKeywordToIdent = (token, i, tokens) => {\n  if (isReserved(token.type)) {\n    const prevToken = prevNonCommentToken(tokens, i);\n\n    if (prevToken && prevToken.text === '.') {\n      return { ...token,\n        type: TokenType.IDENTIFIER,\n        text: token.raw\n      };\n    }\n  }\n\n  return token;\n};\n\nconst funcNameToKeyword = (token, i, tokens) => {\n  if (token.type === TokenType.RESERVED_FUNCTION_NAME) {\n    const nextToken = nextNonCommentToken(tokens, i);\n\n    if (!nextToken || !isOpenParen(nextToken)) {\n      return { ...token,\n        type: TokenType.RESERVED_KEYWORD\n      };\n    }\n  }\n\n  return token;\n};\n\nconst identToArrayIdent = (token, i, tokens) => {\n  if (token.type === TokenType.IDENTIFIER) {\n    const nextToken = nextNonCommentToken(tokens, i);\n\n    if (nextToken && isOpenBracket(nextToken)) {\n      return { ...token,\n        type: TokenType.ARRAY_IDENTIFIER\n      };\n    }\n  }\n\n  return token;\n};\n\nconst keywordToArrayKeyword = (token, i, tokens) => {\n  if (token.type === TokenType.RESERVED_KEYWORD) {\n    const nextToken = nextNonCommentToken(tokens, i);\n\n    if (nextToken && isOpenBracket(nextToken)) {\n      return { ...token,\n        type: TokenType.ARRAY_KEYWORD\n      };\n    }\n  }\n\n  return token;\n};\n\nconst prevNonCommentToken = (tokens, index) => nextNonCommentToken(tokens, index, -1);\n\nconst nextNonCommentToken = (tokens, index, dir = 1) => {\n  let i = 1;\n\n  while (tokens[index + i * dir] && isComment(tokens[index + i * dir])) {\n    i++;\n  }\n\n  return tokens[index + i * dir];\n};\n\nconst isOpenParen = t => t.type === TokenType.OPEN_PAREN && t.text === '(';\n\nconst isOpenBracket = t => t.type === TokenType.OPEN_PAREN && t.text === '[';\n\nconst isComment = t => t.type === TokenType.BLOCK_COMMENT || t.type === TokenType.LINE_COMMENT;\n//# sourceMappingURL=disambiguateTokens.js.map","import { lineColFromIndex } from '../lexer/lineColFromIndex.js';\nimport { TokenType } from '../lexer/token.js'; // Nearly type definitions say that Token must have a value field,\n// which however is wrong.  Instead Nearley expects a text field.\n\nexport default class LexerAdapter {\n  index = 0;\n  tokens = [];\n  input = '';\n\n  constructor(tokenize) {\n    this.tokenize = tokenize;\n  }\n\n  reset(chunk, _info) {\n    this.input = chunk;\n    this.index = 0;\n    this.tokens = this.tokenize(chunk);\n  }\n\n  next() {\n    return this.tokens[this.index++];\n  }\n\n  save() {}\n\n  formatError(token) {\n    const {\n      line,\n      col\n    } = lineColFromIndex(this.input, token.start);\n    return `Parse error at token: ${token.text} at line ${line} column ${col}`;\n  }\n\n  has(name) {\n    return name in TokenType;\n  }\n\n}\n//# sourceMappingURL=LexerAdapter.js.map","export let NodeType;\n\n(function (NodeType) {\n  NodeType[\"statement\"] = \"statement\";\n  NodeType[\"clause\"] = \"clause\";\n  NodeType[\"set_operation\"] = \"set_operation\";\n  NodeType[\"function_call\"] = \"function_call\";\n  NodeType[\"array_subscript\"] = \"array_subscript\";\n  NodeType[\"property_access\"] = \"property_access\";\n  NodeType[\"parenthesis\"] = \"parenthesis\";\n  NodeType[\"between_predicate\"] = \"between_predicate\";\n  NodeType[\"case_expression\"] = \"case_expression\";\n  NodeType[\"case_when\"] = \"case_when\";\n  NodeType[\"case_else\"] = \"case_else\";\n  NodeType[\"limit_clause\"] = \"limit_clause\";\n  NodeType[\"all_columns_asterisk\"] = \"all_columns_asterisk\";\n  NodeType[\"literal\"] = \"literal\";\n  NodeType[\"identifier\"] = \"identifier\";\n  NodeType[\"keyword\"] = \"keyword\";\n  NodeType[\"parameter\"] = \"parameter\";\n  NodeType[\"operator\"] = \"operator\";\n  NodeType[\"comma\"] = \"comma\";\n  NodeType[\"line_comment\"] = \"line_comment\";\n  NodeType[\"block_comment\"] = \"block_comment\";\n})(NodeType || (NodeType = {}));\n//# sourceMappingURL=ast.js.map","// Generated automatically by nearley, version 2.20.1\n// http://github.com/Hardmath123/nearley\n// Bypasses TS6133. Allow declared but unused functions.\n// @ts-ignore\nfunction id(d) {\n  return d[0];\n}\n\nimport LexerAdapter from './LexerAdapter.js';\nimport { NodeType } from './ast.js';\nimport { TokenType } from '../lexer/token.js'; // The lexer here is only to provide the has() method,\n// that's used inside the generated grammar definition.\n// A proper lexer gets passed to Nearley Parser constructor.\n\nconst lexer = new LexerAdapter(chunk => []); // Used for unwrapping grammar rules like:\n//\n//   rule -> ( foo | bar | baz )\n//\n// which otherwise produce single element nested inside two arrays\n\nconst unwrap = ([[el]]) => el;\n\nconst toKeywordNode = token => ({\n  type: NodeType.keyword,\n  tokenType: token.type,\n  text: token.text,\n  raw: token.raw\n});\n\nconst addComments = (node, {\n  leading,\n  trailing\n}) => {\n  if (leading !== null && leading !== void 0 && leading.length) {\n    node = { ...node,\n      leadingComments: leading\n    };\n  }\n\n  if (trailing !== null && trailing !== void 0 && trailing.length) {\n    node = { ...node,\n      trailingComments: trailing\n    };\n  }\n\n  return node;\n};\n\nconst addCommentsToArray = (nodes, {\n  leading,\n  trailing\n}) => {\n  if (leading !== null && leading !== void 0 && leading.length) {\n    const [first, ...rest] = nodes;\n    nodes = [addComments(first, {\n      leading\n    }), ...rest];\n  }\n\n  if (trailing !== null && trailing !== void 0 && trailing.length) {\n    const lead = nodes.slice(0, -1);\n    const last = nodes[nodes.length - 1];\n    nodes = [...lead, addComments(last, {\n      trailing\n    })];\n  }\n\n  return nodes;\n};\n\n;\n;\n;\n;\nconst grammar = {\n  Lexer: lexer,\n  ParserRules: [{\n    \"name\": \"main$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"main$ebnf$1\",\n    \"symbols\": [\"main$ebnf$1\", \"statement\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"main\",\n    \"symbols\": [\"main$ebnf$1\"],\n    \"postprocess\": ([statements]) => {\n      const last = statements[statements.length - 1];\n\n      if (last && !last.hasSemicolon) {\n        // we have fully parsed the whole file\n        // discard the last statement when it's empty\n        return last.children.length > 0 ? statements : statements.slice(0, -1);\n      } else {\n        // parsing still in progress, do nothing\n        return statements;\n      }\n    }\n  }, {\n    \"name\": \"statement$subexpression$1\",\n    \"symbols\": [lexer.has(\"DELIMITER\") ? {\n      type: \"DELIMITER\"\n    } : DELIMITER]\n  }, {\n    \"name\": \"statement$subexpression$1\",\n    \"symbols\": [lexer.has(\"EOF\") ? {\n      type: \"EOF\"\n    } : EOF]\n  }, {\n    \"name\": \"statement\",\n    \"symbols\": [\"expressions_or_clauses\", \"statement$subexpression$1\"],\n    \"postprocess\": ([children, [delimiter]]) => ({\n      type: NodeType.statement,\n      children,\n      hasSemicolon: delimiter.type === TokenType.DELIMITER\n    })\n  }, {\n    \"name\": \"expressions_or_clauses$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"expressions_or_clauses$ebnf$1\",\n    \"symbols\": [\"expressions_or_clauses$ebnf$1\", \"free_form_sql\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"expressions_or_clauses$ebnf$2\",\n    \"symbols\": []\n  }, {\n    \"name\": \"expressions_or_clauses$ebnf$2\",\n    \"symbols\": [\"expressions_or_clauses$ebnf$2\", \"clause\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"expressions_or_clauses\",\n    \"symbols\": [\"expressions_or_clauses$ebnf$1\", \"expressions_or_clauses$ebnf$2\"],\n    \"postprocess\": ([expressions, clauses]) => [...expressions, ...clauses]\n  }, {\n    \"name\": \"clause$subexpression$1\",\n    \"symbols\": [\"limit_clause\"]\n  }, {\n    \"name\": \"clause$subexpression$1\",\n    \"symbols\": [\"select_clause\"]\n  }, {\n    \"name\": \"clause$subexpression$1\",\n    \"symbols\": [\"other_clause\"]\n  }, {\n    \"name\": \"clause$subexpression$1\",\n    \"symbols\": [\"set_operation\"]\n  }, {\n    \"name\": \"clause\",\n    \"symbols\": [\"clause$subexpression$1\"],\n    \"postprocess\": unwrap\n  }, {\n    \"name\": \"limit_clause$ebnf$1$subexpression$1$ebnf$1\",\n    \"symbols\": [\"free_form_sql\"]\n  }, {\n    \"name\": \"limit_clause$ebnf$1$subexpression$1$ebnf$1\",\n    \"symbols\": [\"limit_clause$ebnf$1$subexpression$1$ebnf$1\", \"free_form_sql\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"limit_clause$ebnf$1$subexpression$1\",\n    \"symbols\": [lexer.has(\"COMMA\") ? {\n      type: \"COMMA\"\n    } : COMMA, \"limit_clause$ebnf$1$subexpression$1$ebnf$1\"]\n  }, {\n    \"name\": \"limit_clause$ebnf$1\",\n    \"symbols\": [\"limit_clause$ebnf$1$subexpression$1\"],\n    \"postprocess\": id\n  }, {\n    \"name\": \"limit_clause$ebnf$1\",\n    \"symbols\": [],\n    \"postprocess\": () => null\n  }, {\n    \"name\": \"limit_clause\",\n    \"symbols\": [lexer.has(\"LIMIT\") ? {\n      type: \"LIMIT\"\n    } : LIMIT, \"_\", \"expression_chain_\", \"limit_clause$ebnf$1\"],\n    \"postprocess\": ([limitToken, _, exp1, optional]) => {\n      if (optional) {\n        const [comma, exp2] = optional;\n        return {\n          type: NodeType.limit_clause,\n          limitKw: addComments(toKeywordNode(limitToken), {\n            trailing: _\n          }),\n          offset: exp1,\n          count: exp2\n        };\n      } else {\n        return {\n          type: NodeType.limit_clause,\n          limitKw: addComments(toKeywordNode(limitToken), {\n            trailing: _\n          }),\n          count: exp1\n        };\n      }\n    }\n  }, {\n    \"name\": \"select_clause$subexpression$1$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"select_clause$subexpression$1$ebnf$1\",\n    \"symbols\": [\"select_clause$subexpression$1$ebnf$1\", \"free_form_sql\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"select_clause$subexpression$1\",\n    \"symbols\": [\"all_columns_asterisk\", \"select_clause$subexpression$1$ebnf$1\"]\n  }, {\n    \"name\": \"select_clause$subexpression$1$ebnf$2\",\n    \"symbols\": []\n  }, {\n    \"name\": \"select_clause$subexpression$1$ebnf$2\",\n    \"symbols\": [\"select_clause$subexpression$1$ebnf$2\", \"free_form_sql\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"select_clause$subexpression$1\",\n    \"symbols\": [\"asteriskless_free_form_sql\", \"select_clause$subexpression$1$ebnf$2\"]\n  }, {\n    \"name\": \"select_clause\",\n    \"symbols\": [lexer.has(\"RESERVED_SELECT\") ? {\n      type: \"RESERVED_SELECT\"\n    } : RESERVED_SELECT, \"select_clause$subexpression$1\"],\n    \"postprocess\": ([nameToken, [exp, expressions]]) => ({\n      type: NodeType.clause,\n      nameKw: toKeywordNode(nameToken),\n      children: [exp, ...expressions]\n    })\n  }, {\n    \"name\": \"select_clause\",\n    \"symbols\": [lexer.has(\"RESERVED_SELECT\") ? {\n      type: \"RESERVED_SELECT\"\n    } : RESERVED_SELECT],\n    \"postprocess\": ([nameToken]) => ({\n      type: NodeType.clause,\n      nameKw: toKeywordNode(nameToken),\n      children: []\n    })\n  }, {\n    \"name\": \"all_columns_asterisk\",\n    \"symbols\": [lexer.has(\"ASTERISK\") ? {\n      type: \"ASTERISK\"\n    } : ASTERISK],\n    \"postprocess\": () => ({\n      type: NodeType.all_columns_asterisk\n    })\n  }, {\n    \"name\": \"other_clause$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"other_clause$ebnf$1\",\n    \"symbols\": [\"other_clause$ebnf$1\", \"free_form_sql\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"other_clause\",\n    \"symbols\": [lexer.has(\"RESERVED_CLAUSE\") ? {\n      type: \"RESERVED_CLAUSE\"\n    } : RESERVED_CLAUSE, \"other_clause$ebnf$1\"],\n    \"postprocess\": ([nameToken, children]) => ({\n      type: NodeType.clause,\n      nameKw: toKeywordNode(nameToken),\n      children\n    })\n  }, {\n    \"name\": \"set_operation$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"set_operation$ebnf$1\",\n    \"symbols\": [\"set_operation$ebnf$1\", \"free_form_sql\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"set_operation\",\n    \"symbols\": [lexer.has(\"RESERVED_SET_OPERATION\") ? {\n      type: \"RESERVED_SET_OPERATION\"\n    } : RESERVED_SET_OPERATION, \"set_operation$ebnf$1\"],\n    \"postprocess\": ([nameToken, children]) => ({\n      type: NodeType.set_operation,\n      nameKw: toKeywordNode(nameToken),\n      children\n    })\n  }, {\n    \"name\": \"expression_chain_$ebnf$1\",\n    \"symbols\": [\"expression_with_comments_\"]\n  }, {\n    \"name\": \"expression_chain_$ebnf$1\",\n    \"symbols\": [\"expression_chain_$ebnf$1\", \"expression_with_comments_\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"expression_chain_\",\n    \"symbols\": [\"expression_chain_$ebnf$1\"],\n    \"postprocess\": id\n  }, {\n    \"name\": \"expression_chain$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"expression_chain$ebnf$1\",\n    \"symbols\": [\"expression_chain$ebnf$1\", \"_expression_with_comments\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"expression_chain\",\n    \"symbols\": [\"expression\", \"expression_chain$ebnf$1\"],\n    \"postprocess\": ([expr, chain]) => [expr, ...chain]\n  }, {\n    \"name\": \"andless_expression_chain$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"andless_expression_chain$ebnf$1\",\n    \"symbols\": [\"andless_expression_chain$ebnf$1\", \"_andless_expression_with_comments\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"andless_expression_chain\",\n    \"symbols\": [\"andless_expression\", \"andless_expression_chain$ebnf$1\"],\n    \"postprocess\": ([expr, chain]) => [expr, ...chain]\n  }, {\n    \"name\": \"expression_with_comments_\",\n    \"symbols\": [\"expression\", \"_\"],\n    \"postprocess\": ([expr, _]) => addComments(expr, {\n      trailing: _\n    })\n  }, {\n    \"name\": \"_expression_with_comments\",\n    \"symbols\": [\"_\", \"expression\"],\n    \"postprocess\": ([_, expr]) => addComments(expr, {\n      leading: _\n    })\n  }, {\n    \"name\": \"_andless_expression_with_comments\",\n    \"symbols\": [\"_\", \"andless_expression\"],\n    \"postprocess\": ([_, expr]) => addComments(expr, {\n      leading: _\n    })\n  }, {\n    \"name\": \"free_form_sql$subexpression$1\",\n    \"symbols\": [\"asteriskless_free_form_sql\"]\n  }, {\n    \"name\": \"free_form_sql$subexpression$1\",\n    \"symbols\": [\"asterisk\"]\n  }, {\n    \"name\": \"free_form_sql\",\n    \"symbols\": [\"free_form_sql$subexpression$1\"],\n    \"postprocess\": unwrap\n  }, {\n    \"name\": \"asteriskless_free_form_sql$subexpression$1\",\n    \"symbols\": [\"asteriskless_andless_expression\"]\n  }, {\n    \"name\": \"asteriskless_free_form_sql$subexpression$1\",\n    \"symbols\": [\"logic_operator\"]\n  }, {\n    \"name\": \"asteriskless_free_form_sql$subexpression$1\",\n    \"symbols\": [\"between_predicate\"]\n  }, {\n    \"name\": \"asteriskless_free_form_sql$subexpression$1\",\n    \"symbols\": [\"comma\"]\n  }, {\n    \"name\": \"asteriskless_free_form_sql$subexpression$1\",\n    \"symbols\": [\"comment\"]\n  }, {\n    \"name\": \"asteriskless_free_form_sql$subexpression$1\",\n    \"symbols\": [\"other_keyword\"]\n  }, {\n    \"name\": \"asteriskless_free_form_sql\",\n    \"symbols\": [\"asteriskless_free_form_sql$subexpression$1\"],\n    \"postprocess\": unwrap\n  }, {\n    \"name\": \"expression$subexpression$1\",\n    \"symbols\": [\"andless_expression\"]\n  }, {\n    \"name\": \"expression$subexpression$1\",\n    \"symbols\": [\"logic_operator\"]\n  }, {\n    \"name\": \"expression\",\n    \"symbols\": [\"expression$subexpression$1\"],\n    \"postprocess\": unwrap\n  }, {\n    \"name\": \"andless_expression$subexpression$1\",\n    \"symbols\": [\"asteriskless_andless_expression\"]\n  }, {\n    \"name\": \"andless_expression$subexpression$1\",\n    \"symbols\": [\"asterisk\"]\n  }, {\n    \"name\": \"andless_expression\",\n    \"symbols\": [\"andless_expression$subexpression$1\"],\n    \"postprocess\": unwrap\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"array_subscript\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"case_expression\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"function_call\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"property_access\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"parenthesis\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"curly_braces\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"square_brackets\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"operator\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"identifier\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"parameter\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"literal\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression$subexpression$1\",\n    \"symbols\": [\"keyword\"]\n  }, {\n    \"name\": \"asteriskless_andless_expression\",\n    \"symbols\": [\"asteriskless_andless_expression$subexpression$1\"],\n    \"postprocess\": unwrap\n  }, {\n    \"name\": \"array_subscript\",\n    \"symbols\": [lexer.has(\"ARRAY_IDENTIFIER\") ? {\n      type: \"ARRAY_IDENTIFIER\"\n    } : ARRAY_IDENTIFIER, \"_\", \"square_brackets\"],\n    \"postprocess\": ([arrayToken, _, brackets]) => ({\n      type: NodeType.array_subscript,\n      array: addComments({\n        type: NodeType.identifier,\n        text: arrayToken.text\n      }, {\n        trailing: _\n      }),\n      parenthesis: brackets\n    })\n  }, {\n    \"name\": \"array_subscript\",\n    \"symbols\": [lexer.has(\"ARRAY_KEYWORD\") ? {\n      type: \"ARRAY_KEYWORD\"\n    } : ARRAY_KEYWORD, \"_\", \"square_brackets\"],\n    \"postprocess\": ([arrayToken, _, brackets]) => ({\n      type: NodeType.array_subscript,\n      array: addComments(toKeywordNode(arrayToken), {\n        trailing: _\n      }),\n      parenthesis: brackets\n    })\n  }, {\n    \"name\": \"function_call\",\n    \"symbols\": [lexer.has(\"RESERVED_FUNCTION_NAME\") ? {\n      type: \"RESERVED_FUNCTION_NAME\"\n    } : RESERVED_FUNCTION_NAME, \"_\", \"parenthesis\"],\n    \"postprocess\": ([nameToken, _, parens]) => ({\n      type: NodeType.function_call,\n      nameKw: addComments(toKeywordNode(nameToken), {\n        trailing: _\n      }),\n      parenthesis: parens\n    })\n  }, {\n    \"name\": \"parenthesis\",\n    \"symbols\": [{\n      \"literal\": \"(\"\n    }, \"expressions_or_clauses\", {\n      \"literal\": \")\"\n    }],\n    \"postprocess\": ([open, children, close]) => ({\n      type: NodeType.parenthesis,\n      children: children,\n      openParen: \"(\",\n      closeParen: \")\"\n    })\n  }, {\n    \"name\": \"curly_braces$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"curly_braces$ebnf$1\",\n    \"symbols\": [\"curly_braces$ebnf$1\", \"free_form_sql\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"curly_braces\",\n    \"symbols\": [{\n      \"literal\": \"{\"\n    }, \"curly_braces$ebnf$1\", {\n      \"literal\": \"}\"\n    }],\n    \"postprocess\": ([open, children, close]) => ({\n      type: NodeType.parenthesis,\n      children: children,\n      openParen: \"{\",\n      closeParen: \"}\"\n    })\n  }, {\n    \"name\": \"square_brackets$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"square_brackets$ebnf$1\",\n    \"symbols\": [\"square_brackets$ebnf$1\", \"free_form_sql\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"square_brackets\",\n    \"symbols\": [{\n      \"literal\": \"[\"\n    }, \"square_brackets$ebnf$1\", {\n      \"literal\": \"]\"\n    }],\n    \"postprocess\": ([open, children, close]) => ({\n      type: NodeType.parenthesis,\n      children: children,\n      openParen: \"[\",\n      closeParen: \"]\"\n    })\n  }, {\n    \"name\": \"property_access$subexpression$1\",\n    \"symbols\": [\"identifier\"]\n  }, {\n    \"name\": \"property_access$subexpression$1\",\n    \"symbols\": [\"array_subscript\"]\n  }, {\n    \"name\": \"property_access$subexpression$1\",\n    \"symbols\": [\"all_columns_asterisk\"]\n  }, {\n    \"name\": \"property_access\",\n    \"symbols\": [\"expression\", \"_\", lexer.has(\"DOT\") ? {\n      type: \"DOT\"\n    } : DOT, \"_\", \"property_access$subexpression$1\"],\n    \"postprocess\": // Allowing property to be <array_subscript> is currently a hack.\n    // A better way would be to allow <property_access> on the left side of array_subscript,\n    // but we currently can't do that because of another hack that requires\n    // %ARRAY_IDENTIFIER on the left side of <array_subscript>.\n    ([object, _1, dot, _2, [property]]) => {\n      return {\n        type: NodeType.property_access,\n        object: addComments(object, {\n          trailing: _1\n        }),\n        property: addComments(property, {\n          leading: _2\n        })\n      };\n    }\n  }, {\n    \"name\": \"between_predicate\",\n    \"symbols\": [lexer.has(\"BETWEEN\") ? {\n      type: \"BETWEEN\"\n    } : BETWEEN, \"_\", \"andless_expression_chain\", \"_\", lexer.has(\"AND\") ? {\n      type: \"AND\"\n    } : AND, \"_\", \"andless_expression\"],\n    \"postprocess\": ([betweenToken, _1, expr1, _2, andToken, _3, expr2]) => ({\n      type: NodeType.between_predicate,\n      betweenKw: toKeywordNode(betweenToken),\n      expr1: addCommentsToArray(expr1, {\n        leading: _1,\n        trailing: _2\n      }),\n      andKw: toKeywordNode(andToken),\n      expr2: [addComments(expr2, {\n        leading: _3\n      })]\n    })\n  }, {\n    \"name\": \"case_expression$ebnf$1\",\n    \"symbols\": [\"expression_chain_\"],\n    \"postprocess\": id\n  }, {\n    \"name\": \"case_expression$ebnf$1\",\n    \"symbols\": [],\n    \"postprocess\": () => null\n  }, {\n    \"name\": \"case_expression$ebnf$2\",\n    \"symbols\": []\n  }, {\n    \"name\": \"case_expression$ebnf$2\",\n    \"symbols\": [\"case_expression$ebnf$2\", \"case_clause\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"case_expression\",\n    \"symbols\": [lexer.has(\"CASE\") ? {\n      type: \"CASE\"\n    } : CASE, \"_\", \"case_expression$ebnf$1\", \"case_expression$ebnf$2\", lexer.has(\"END\") ? {\n      type: \"END\"\n    } : END],\n    \"postprocess\": ([caseToken, _, expr, clauses, endToken]) => ({\n      type: NodeType.case_expression,\n      caseKw: addComments(toKeywordNode(caseToken), {\n        trailing: _\n      }),\n      endKw: toKeywordNode(endToken),\n      expr: expr || [],\n      clauses\n    })\n  }, {\n    \"name\": \"case_clause\",\n    \"symbols\": [lexer.has(\"WHEN\") ? {\n      type: \"WHEN\"\n    } : WHEN, \"_\", \"expression_chain_\", lexer.has(\"THEN\") ? {\n      type: \"THEN\"\n    } : THEN, \"_\", \"expression_chain_\"],\n    \"postprocess\": ([whenToken, _1, cond, thenToken, _2, expr]) => ({\n      type: NodeType.case_when,\n      whenKw: addComments(toKeywordNode(whenToken), {\n        trailing: _1\n      }),\n      thenKw: addComments(toKeywordNode(thenToken), {\n        trailing: _2\n      }),\n      condition: cond,\n      result: expr\n    })\n  }, {\n    \"name\": \"case_clause\",\n    \"symbols\": [lexer.has(\"ELSE\") ? {\n      type: \"ELSE\"\n    } : ELSE, \"_\", \"expression_chain_\"],\n    \"postprocess\": ([elseToken, _, expr]) => ({\n      type: NodeType.case_else,\n      elseKw: addComments(toKeywordNode(elseToken), {\n        trailing: _\n      }),\n      result: expr\n    })\n  }, {\n    \"name\": \"comma$subexpression$1\",\n    \"symbols\": [lexer.has(\"COMMA\") ? {\n      type: \"COMMA\"\n    } : COMMA]\n  }, {\n    \"name\": \"comma\",\n    \"symbols\": [\"comma$subexpression$1\"],\n    \"postprocess\": ([[token]]) => ({\n      type: NodeType.comma\n    })\n  }, {\n    \"name\": \"asterisk$subexpression$1\",\n    \"symbols\": [lexer.has(\"ASTERISK\") ? {\n      type: \"ASTERISK\"\n    } : ASTERISK]\n  }, {\n    \"name\": \"asterisk\",\n    \"symbols\": [\"asterisk$subexpression$1\"],\n    \"postprocess\": ([[token]]) => ({\n      type: NodeType.operator,\n      text: token.text\n    })\n  }, {\n    \"name\": \"operator$subexpression$1\",\n    \"symbols\": [lexer.has(\"OPERATOR\") ? {\n      type: \"OPERATOR\"\n    } : OPERATOR]\n  }, {\n    \"name\": \"operator\",\n    \"symbols\": [\"operator$subexpression$1\"],\n    \"postprocess\": ([[token]]) => ({\n      type: NodeType.operator,\n      text: token.text\n    })\n  }, {\n    \"name\": \"identifier$subexpression$1\",\n    \"symbols\": [lexer.has(\"IDENTIFIER\") ? {\n      type: \"IDENTIFIER\"\n    } : IDENTIFIER]\n  }, {\n    \"name\": \"identifier$subexpression$1\",\n    \"symbols\": [lexer.has(\"QUOTED_IDENTIFIER\") ? {\n      type: \"QUOTED_IDENTIFIER\"\n    } : QUOTED_IDENTIFIER]\n  }, {\n    \"name\": \"identifier$subexpression$1\",\n    \"symbols\": [lexer.has(\"VARIABLE\") ? {\n      type: \"VARIABLE\"\n    } : VARIABLE]\n  }, {\n    \"name\": \"identifier\",\n    \"symbols\": [\"identifier$subexpression$1\"],\n    \"postprocess\": ([[token]]) => ({\n      type: NodeType.identifier,\n      text: token.text\n    })\n  }, {\n    \"name\": \"parameter$subexpression$1\",\n    \"symbols\": [lexer.has(\"NAMED_PARAMETER\") ? {\n      type: \"NAMED_PARAMETER\"\n    } : NAMED_PARAMETER]\n  }, {\n    \"name\": \"parameter$subexpression$1\",\n    \"symbols\": [lexer.has(\"QUOTED_PARAMETER\") ? {\n      type: \"QUOTED_PARAMETER\"\n    } : QUOTED_PARAMETER]\n  }, {\n    \"name\": \"parameter$subexpression$1\",\n    \"symbols\": [lexer.has(\"NUMBERED_PARAMETER\") ? {\n      type: \"NUMBERED_PARAMETER\"\n    } : NUMBERED_PARAMETER]\n  }, {\n    \"name\": \"parameter$subexpression$1\",\n    \"symbols\": [lexer.has(\"POSITIONAL_PARAMETER\") ? {\n      type: \"POSITIONAL_PARAMETER\"\n    } : POSITIONAL_PARAMETER]\n  }, {\n    \"name\": \"parameter$subexpression$1\",\n    \"symbols\": [lexer.has(\"CUSTOM_PARAMETER\") ? {\n      type: \"CUSTOM_PARAMETER\"\n    } : CUSTOM_PARAMETER]\n  }, {\n    \"name\": \"parameter\",\n    \"symbols\": [\"parameter$subexpression$1\"],\n    \"postprocess\": ([[token]]) => ({\n      type: NodeType.parameter,\n      key: token.key,\n      text: token.text\n    })\n  }, {\n    \"name\": \"literal$subexpression$1\",\n    \"symbols\": [lexer.has(\"NUMBER\") ? {\n      type: \"NUMBER\"\n    } : NUMBER]\n  }, {\n    \"name\": \"literal$subexpression$1\",\n    \"symbols\": [lexer.has(\"STRING\") ? {\n      type: \"STRING\"\n    } : STRING]\n  }, {\n    \"name\": \"literal\",\n    \"symbols\": [\"literal$subexpression$1\"],\n    \"postprocess\": ([[token]]) => ({\n      type: NodeType.literal,\n      text: token.text\n    })\n  }, {\n    \"name\": \"keyword$subexpression$1\",\n    \"symbols\": [lexer.has(\"RESERVED_KEYWORD\") ? {\n      type: \"RESERVED_KEYWORD\"\n    } : RESERVED_KEYWORD]\n  }, {\n    \"name\": \"keyword$subexpression$1\",\n    \"symbols\": [lexer.has(\"RESERVED_PHRASE\") ? {\n      type: \"RESERVED_PHRASE\"\n    } : RESERVED_PHRASE]\n  }, {\n    \"name\": \"keyword$subexpression$1\",\n    \"symbols\": [lexer.has(\"RESERVED_JOIN\") ? {\n      type: \"RESERVED_JOIN\"\n    } : RESERVED_JOIN]\n  }, {\n    \"name\": \"keyword\",\n    \"symbols\": [\"keyword$subexpression$1\"],\n    \"postprocess\": ([[token]]) => toKeywordNode(token)\n  }, {\n    \"name\": \"logic_operator$subexpression$1\",\n    \"symbols\": [lexer.has(\"AND\") ? {\n      type: \"AND\"\n    } : AND]\n  }, {\n    \"name\": \"logic_operator$subexpression$1\",\n    \"symbols\": [lexer.has(\"OR\") ? {\n      type: \"OR\"\n    } : OR]\n  }, {\n    \"name\": \"logic_operator$subexpression$1\",\n    \"symbols\": [lexer.has(\"XOR\") ? {\n      type: \"XOR\"\n    } : XOR]\n  }, {\n    \"name\": \"logic_operator\",\n    \"symbols\": [\"logic_operator$subexpression$1\"],\n    \"postprocess\": ([[token]]) => toKeywordNode(token)\n  }, {\n    \"name\": \"other_keyword$subexpression$1\",\n    \"symbols\": [lexer.has(\"WHEN\") ? {\n      type: \"WHEN\"\n    } : WHEN]\n  }, {\n    \"name\": \"other_keyword$subexpression$1\",\n    \"symbols\": [lexer.has(\"THEN\") ? {\n      type: \"THEN\"\n    } : THEN]\n  }, {\n    \"name\": \"other_keyword$subexpression$1\",\n    \"symbols\": [lexer.has(\"ELSE\") ? {\n      type: \"ELSE\"\n    } : ELSE]\n  }, {\n    \"name\": \"other_keyword$subexpression$1\",\n    \"symbols\": [lexer.has(\"END\") ? {\n      type: \"END\"\n    } : END]\n  }, {\n    \"name\": \"other_keyword\",\n    \"symbols\": [\"other_keyword$subexpression$1\"],\n    \"postprocess\": ([[token]]) => toKeywordNode(token)\n  }, {\n    \"name\": \"_$ebnf$1\",\n    \"symbols\": []\n  }, {\n    \"name\": \"_$ebnf$1\",\n    \"symbols\": [\"_$ebnf$1\", \"comment\"],\n    \"postprocess\": d => d[0].concat([d[1]])\n  }, {\n    \"name\": \"_\",\n    \"symbols\": [\"_$ebnf$1\"],\n    \"postprocess\": ([comments]) => comments\n  }, {\n    \"name\": \"comment\",\n    \"symbols\": [lexer.has(\"LINE_COMMENT\") ? {\n      type: \"LINE_COMMENT\"\n    } : LINE_COMMENT],\n    \"postprocess\": ([token]) => ({\n      type: NodeType.line_comment,\n      text: token.text,\n      precedingWhitespace: token.precedingWhitespace\n    })\n  }, {\n    \"name\": \"comment\",\n    \"symbols\": [lexer.has(\"BLOCK_COMMENT\") ? {\n      type: \"BLOCK_COMMENT\"\n    } : BLOCK_COMMENT],\n    \"postprocess\": ([token]) => ({\n      type: NodeType.block_comment,\n      text: token.text,\n      precedingWhitespace: token.precedingWhitespace\n    })\n  }],\n  ParserStart: \"main\"\n};\nexport default grammar;\n//# sourceMappingURL=grammar.js.map","import nearley from 'nearley';\nimport { disambiguateTokens } from '../lexer/disambiguateTokens.js';\nimport grammar from './grammar.js';\nimport LexerAdapter from './LexerAdapter.js';\nimport { createEofToken } from '../lexer/token.js';\nconst {\n  Parser: NearleyParser,\n  Grammar\n} = nearley;\n\n/**\n * Creates a parser object which wraps the setup of Nearley parser\n */\nexport function createParser(tokenizer) {\n  let paramTypesOverrides = {};\n  const lexer = new LexerAdapter(chunk => [...disambiguateTokens(tokenizer.tokenize(chunk, paramTypesOverrides)), createEofToken(chunk.length)]);\n  const parser = new NearleyParser(Grammar.fromCompiled(grammar), {\n    lexer\n  });\n  return {\n    parse: (sql, paramTypes) => {\n      // share paramTypesOverrides with Tokenizer\n      paramTypesOverrides = paramTypes;\n      const {\n        results\n      } = parser.feed(sql);\n\n      if (results.length === 1) {\n        return results[0];\n      } else if (results.length === 0) {\n        // Ideally we would report a line number where the parser failed,\n        // but I haven't found a way to get this info from Nearley :(\n        throw new Error('Parse error: Invalid SQL');\n      } else {\n        throw new Error(`Parse error: Ambiguous grammar\\n${JSON.stringify(results, undefined, 2)}`);\n      }\n    }\n  };\n}\n//# sourceMappingURL=createParser.js.map","import { maxLength } from '../utils.js';\nconst PRECEDING_WHITESPACE_REGEX = /^\\s+/u;\n/**\n * Handles comma placement - either before, after or tabulated\n */\n\nexport default function formatCommaPositions(query, commaPosition, indent) {\n  return groupCommaDelimitedLines(query.split('\\n')).flatMap(commaLines => {\n    if (commaLines.length === 1) {\n      return commaLines;\n    } else if (commaPosition === 'tabular') {\n      return formatTabular(commaLines);\n    } else if (commaPosition === 'before') {\n      return formatBefore(commaLines, indent);\n    } else {\n      throw new Error(`Unexpected commaPosition: ${commaPosition}`);\n    }\n  }).join('\\n');\n}\n/**\n * Given lines like this:\n *\n *     [\n *       'SELECT',\n *       '  foo,',\n *       '  bar, --comment',\n *       '  baz',\n *       'FROM'\n *     ]\n *\n * Returns groups like this:\n *\n *     [\n *       ['SELECT'],\n *       ['  foo,', '  bar, --comment', '  baz'],\n *       ['FROM']\n *     ]\n */\n\nfunction groupCommaDelimitedLines(lines) {\n  const groups = [];\n\n  for (let i = 0; i < lines.length; i++) {\n    const group = [lines[i]]; // when line ends with comma,\n    // gather together all following lines that also end with comma,\n    // plus one (which doesn't end with comma)\n\n    while (lines[i].match(/.*,(\\s*(--.*)?$)/)) {\n      i++;\n      group.push(lines[i]);\n    }\n\n    groups.push(group);\n  }\n\n  return groups;\n} // makes all lines the same length by appending spaces before comma\n\n\nfunction formatTabular(commaLines) {\n  const commaPosition = maxLength(trimTrailingComments(commaLines)) - 1;\n  return commaLines.map((line, i) => {\n    if (i === commaLines.length - 1) {\n      return line; // do not add comma for last item\n    }\n\n    return indentComma(line, commaPosition);\n  });\n}\n\nfunction indentComma(line, commaPosition) {\n  const [, code, comment] = line.match(/^(.*?),(\\s*--.*)?$/) || [];\n  const spaces = ' '.repeat(commaPosition - code.length);\n  return `${code}${spaces},${comment ?? ''}`;\n}\n\nfunction formatBefore(commaLines, indent) {\n  return trimTrailingCommas(commaLines).map((line, i) => {\n    if (i === 0) {\n      return line; // do not add comma for first item\n    }\n\n    const [whitespace] = line.match(PRECEDING_WHITESPACE_REGEX) || [''];\n    return removeLastIndent(whitespace, indent) + indent.replace(/ {2}$/, ', ') + // add comma to the end of last indent\n    line.trimStart();\n  });\n}\n\nfunction removeLastIndent(whitespace, indent) {\n  return whitespace.replace(new RegExp(indent + '$'), '');\n}\n\nfunction trimTrailingCommas(lines) {\n  return lines.map(line => line.replace(/,(\\s*(--.*)?$)/, '$1'));\n}\n\nfunction trimTrailingComments(lines) {\n  return lines.map(line => line.replace(/\\s*--.*/, ''));\n}\n//# sourceMappingURL=formatCommaPositions.js.map","import { maxLength } from '../utils.js';\n/**\n * Handles select alias placement - tabulates if enabled\n */\n\nexport default function formatAliasPositions(query) {\n  const lines = query.split('\\n');\n  let newQuery = [];\n\n  for (let i = 0; i < lines.length; i++) {\n    // find SELECT rows with trailing comma, if no comma (only one row) - no-op\n    if (lines[i].match(/^\\s*SELECT/i)) {\n      let aliasLines = [];\n\n      if (lines[i].match(/.*,$/)) {\n        aliasLines = [lines[i]]; // add select to aliasLines in case of tabular formats\n      } else {\n        newQuery.push(lines[i]); // add select to new query\n\n        if (lines[i].match(/^\\s*SELECT\\s+.+(?!,$)/i)) {\n          continue;\n        }\n\n        aliasLines.push(lines[++i]);\n      } // get all lines in SELECT clause\n\n\n      while (lines[i++].match(/.*,$/)) {\n        aliasLines.push(lines[i]);\n      } // break lines into alias with optional AS, and all preceding text\n\n\n      const splitLines = aliasLines.map(line => ({\n        line,\n        matches: line.match(/(^.*?\\S) (AS )?(\\S+,?$)/i)\n      })).map(({\n        line,\n        matches\n      }) => {\n        if (!matches) {\n          return {\n            precedingText: line\n          };\n        }\n\n        return {\n          precedingText: matches[1],\n          as: matches[2],\n          alias: matches[3]\n        };\n      }); // get longest of precedingText, trim trailing comma for non-alias columns\n\n      const aliasMaxLength = maxLength(splitLines.map(({\n        precedingText\n      }) => precedingText.replace(/\\s*,\\s*$/, ''))); // re-construct line, aligning by inserting space before AS or alias\n\n      aliasLines = splitLines.map(({\n        precedingText,\n        as,\n        alias\n      }) => precedingText + (alias ? ' '.repeat(aliasMaxLength - precedingText.length + 1) + (as ?? '') + alias : ''));\n      newQuery = [...newQuery, ...aliasLines];\n    }\n\n    newQuery.push(lines[i]);\n  }\n\n  return newQuery.join('\\n');\n}\n//# sourceMappingURL=formatAliasPositions.js.map","import { last } from '../utils.js';\n\n/** Whitespace modifiers to be used with add() method */\nexport let WS;\n\n(function (WS) {\n  WS[WS[\"SPACE\"] = 0] = \"SPACE\";\n  WS[WS[\"NO_SPACE\"] = 1] = \"NO_SPACE\";\n  WS[WS[\"NO_NEWLINE\"] = 2] = \"NO_NEWLINE\";\n  WS[WS[\"NEWLINE\"] = 3] = \"NEWLINE\";\n  WS[WS[\"MANDATORY_NEWLINE\"] = 4] = \"MANDATORY_NEWLINE\";\n  WS[WS[\"INDENT\"] = 5] = \"INDENT\";\n  WS[WS[\"SINGLE_INDENT\"] = 6] = \"SINGLE_INDENT\";\n})(WS || (WS = {}));\n\n/**\n * API for constructing SQL string (especially the whitespace part).\n *\n * It hides the internal implementation.\n * Originally it used plain string concatenation, which was expensive.\n * Now it's storing items to array and builds the string only in the end.\n */\nexport default class Layout {\n  items = [];\n\n  constructor(indentation) {\n    this.indentation = indentation;\n  }\n  /**\n   * Appends token strings and whitespace modifications to SQL string.\n   */\n\n\n  add(...items) {\n    for (const item of items) {\n      switch (item) {\n        case WS.SPACE:\n          this.items.push(WS.SPACE);\n          break;\n\n        case WS.NO_SPACE:\n          this.trimHorizontalWhitespace();\n          break;\n\n        case WS.NO_NEWLINE:\n          this.trimWhitespace();\n          break;\n\n        case WS.NEWLINE:\n          this.trimHorizontalWhitespace();\n          this.addNewline(WS.NEWLINE);\n          break;\n\n        case WS.MANDATORY_NEWLINE:\n          this.trimHorizontalWhitespace();\n          this.addNewline(WS.MANDATORY_NEWLINE);\n          break;\n\n        case WS.INDENT:\n          this.addIndentation();\n          break;\n\n        case WS.SINGLE_INDENT:\n          this.items.push(WS.SINGLE_INDENT);\n          break;\n\n        default:\n          this.items.push(item);\n      }\n    }\n  }\n\n  trimHorizontalWhitespace() {\n    while (isHorizontalWhitespace(last(this.items))) {\n      this.items.pop();\n    }\n  }\n\n  trimWhitespace() {\n    while (isRemovableWhitespace(last(this.items))) {\n      this.items.pop();\n    }\n  }\n\n  addNewline(newline) {\n    if (this.items.length > 0) {\n      switch (last(this.items)) {\n        case WS.NEWLINE:\n          this.items.pop();\n          this.items.push(newline);\n          break;\n\n        case WS.MANDATORY_NEWLINE:\n          // keep as is\n          break;\n\n        default:\n          this.items.push(newline);\n          break;\n      }\n    }\n  }\n\n  addIndentation() {\n    for (let i = 0; i < this.indentation.getLevel(); i++) {\n      this.items.push(WS.SINGLE_INDENT);\n    }\n  }\n  /**\n   * Returns the final SQL string.\n   */\n\n\n  toString() {\n    return this.items.map(item => this.itemToString(item)).join('');\n  }\n  /**\n   * Returns the internal layout data\n   */\n\n\n  getLayoutItems() {\n    return this.items;\n  }\n\n  itemToString(item) {\n    switch (item) {\n      case WS.SPACE:\n        return ' ';\n\n      case WS.NEWLINE:\n      case WS.MANDATORY_NEWLINE:\n        return '\\n';\n\n      case WS.SINGLE_INDENT:\n        return this.indentation.getSingleIndent();\n\n      default:\n        return item;\n    }\n  }\n\n}\n\nconst isHorizontalWhitespace = item => item === WS.SPACE || item === WS.SINGLE_INDENT;\n\nconst isRemovableWhitespace = item => item === WS.SPACE || item === WS.SINGLE_INDENT || item === WS.NEWLINE;\n//# sourceMappingURL=Layout.js.map","import { isLogicalOperator, TokenType } from '../lexer/token.js';\n/**\n * When tabular style enabled,\n * produces a 10-char wide version of token text.\n */\n\nexport default function toTabularFormat(tokenText, indentStyle) {\n  if (indentStyle === 'standard') {\n    return tokenText;\n  }\n\n  let tail = []; // rest of keyword\n\n  if (tokenText.length >= 10 && tokenText.includes(' ')) {\n    // split for long keywords like INNER JOIN or UNION DISTINCT\n    [tokenText, ...tail] = tokenText.split(' ');\n  }\n\n  if (indentStyle === 'tabularLeft') {\n    tokenText = tokenText.padEnd(9, ' ');\n  } else {\n    tokenText = tokenText.padStart(9, ' ');\n  }\n\n  return tokenText + ['', ...tail].join(' ');\n}\n/**\n * True when the token can be formatted in tabular style\n */\n\nexport function isTabularToken(type) {\n  return isLogicalOperator(type) || type === TokenType.RESERVED_CLAUSE || type === TokenType.RESERVED_SELECT || type === TokenType.RESERVED_SET_OPERATION || type === TokenType.RESERVED_JOIN || type === TokenType.LIMIT;\n}\n//# sourceMappingURL=tabularStyle.js.map","import { last } from '../utils.js';\nconst INDENT_TYPE_TOP_LEVEL = 'top-level';\nconst INDENT_TYPE_BLOCK_LEVEL = 'block-level';\n/**\n * Manages indentation levels.\n *\n * There are two types of indentation levels:\n *\n * - BLOCK_LEVEL : increased by open-parenthesis\n * - TOP_LEVEL : increased by RESERVED_CLAUSE words\n */\n\nexport default class Indentation {\n  indentTypes = [];\n  /**\n   * @param {string} indent A string to indent with\n   */\n\n  constructor(indent) {\n    this.indent = indent;\n  }\n  /**\n   * Returns indentation string for single indentation step.\n   */\n\n\n  getSingleIndent() {\n    return this.indent;\n  }\n  /**\n   * Returns current indentation level\n   */\n\n\n  getLevel() {\n    return this.indentTypes.length;\n  }\n  /**\n   * Increases indentation by one top-level indent.\n   */\n\n\n  increaseTopLevel() {\n    this.indentTypes.push(INDENT_TYPE_TOP_LEVEL);\n  }\n  /**\n   * Increases indentation by one block-level indent.\n   */\n\n\n  increaseBlockLevel() {\n    this.indentTypes.push(INDENT_TYPE_BLOCK_LEVEL);\n  }\n  /**\n   * Decreases indentation by one top-level indent.\n   * Does nothing when the previous indent is not top-level.\n   */\n\n\n  decreaseTopLevel() {\n    if (this.indentTypes.length > 0 && last(this.indentTypes) === INDENT_TYPE_TOP_LEVEL) {\n      this.indentTypes.pop();\n    }\n  }\n  /**\n   * Decreases indentation by one block-level indent.\n   * If there are top-level indents within the block-level indent,\n   * throws away these as well.\n   */\n\n\n  decreaseBlockLevel() {\n    while (this.indentTypes.length > 0) {\n      const type = this.indentTypes.pop();\n\n      if (type !== INDENT_TYPE_TOP_LEVEL) {\n        break;\n      }\n    }\n  }\n\n}\n//# sourceMappingURL=Indentation.js.map","// eslint-disable-next-line max-classes-per-file\nimport Indentation from './Indentation.js';\nimport Layout, { WS } from './Layout.js';\n/**\n * Like Layout, but only formats single-line expressions.\n *\n * Throws InlineLayoutError:\n * - when encountering a newline\n * - when exceeding configured expressionWidth\n */\n\nexport default class InlineLayout extends Layout {\n  length = 0; // Keeps track of the trailing whitespace,\n  // so that we can decrease length when encountering WS.NO_SPACE,\n  // but only when there actually is a space to remove.\n\n  trailingSpace = false;\n\n  constructor(expressionWidth) {\n    super(new Indentation('')); // no indentation in inline layout\n\n    this.expressionWidth = expressionWidth;\n  }\n\n  add(...items) {\n    items.forEach(item => this.addToLength(item));\n\n    if (this.length > this.expressionWidth) {\n      // We have exceeded the allowable width\n      throw new InlineLayoutError();\n    }\n\n    super.add(...items);\n  }\n\n  addToLength(item) {\n    if (typeof item === 'string') {\n      this.length += item.length;\n      this.trailingSpace = false;\n    } else if (item === WS.MANDATORY_NEWLINE || item === WS.NEWLINE) {\n      // newlines not allowed within inline block\n      throw new InlineLayoutError();\n    } else if (item === WS.INDENT || item === WS.SINGLE_INDENT || item === WS.SPACE) {\n      if (!this.trailingSpace) {\n        this.length++;\n        this.trailingSpace = true;\n      }\n    } else if (item === WS.NO_NEWLINE || item === WS.NO_SPACE) {\n      if (this.trailingSpace) {\n        this.trailingSpace = false;\n        this.length--;\n      }\n    }\n  }\n\n}\n/**\n * Thrown when block of SQL can't be formatted as a single line.\n */\n\nexport class InlineLayoutError extends Error {}\n//# sourceMappingURL=InlineLayout.js.map","import { equalizeWhitespace, isMultiline, last } from '../utils.js';\nimport { isTabularStyle } from './config.js';\nimport { TokenType } from '../lexer/token.js';\nimport { NodeType } from '../parser/ast.js';\nimport { WS } from './Layout.js';\nimport toTabularFormat, { isTabularToken } from './tabularStyle.js';\nimport InlineLayout, { InlineLayoutError } from './InlineLayout.js';\n\n/** Formats a generic SQL expression */\nexport default class ExpressionFormatter {\n  inline = false;\n  nodes = [];\n  index = -1;\n\n  constructor({\n    cfg,\n    dialectCfg,\n    params,\n    layout,\n    inline = false\n  }) {\n    this.cfg = cfg;\n    this.dialectCfg = dialectCfg;\n    this.inline = inline;\n    this.params = params;\n    this.layout = layout;\n  }\n\n  format(nodes) {\n    this.nodes = nodes;\n\n    for (this.index = 0; this.index < this.nodes.length; this.index++) {\n      this.formatNode(this.nodes[this.index]);\n    }\n\n    return this.layout;\n  }\n\n  formatNode(node) {\n    this.formatComments(node.leadingComments);\n    this.formatNodeWithoutComments(node);\n    this.formatComments(node.trailingComments);\n  }\n\n  formatNodeWithoutComments(node) {\n    switch (node.type) {\n      case NodeType.function_call:\n        return this.formatFunctionCall(node);\n\n      case NodeType.array_subscript:\n        return this.formatArraySubscript(node);\n\n      case NodeType.property_access:\n        return this.formatPropertyAccess(node);\n\n      case NodeType.parenthesis:\n        return this.formatParenthesis(node);\n\n      case NodeType.between_predicate:\n        return this.formatBetweenPredicate(node);\n\n      case NodeType.case_expression:\n        return this.formatCaseExpression(node);\n\n      case NodeType.case_when:\n        return this.formatCaseWhen(node);\n\n      case NodeType.case_else:\n        return this.formatCaseElse(node);\n\n      case NodeType.clause:\n        return this.formatClause(node);\n\n      case NodeType.set_operation:\n        return this.formatSetOperation(node);\n\n      case NodeType.limit_clause:\n        return this.formatLimitClause(node);\n\n      case NodeType.all_columns_asterisk:\n        return this.formatAllColumnsAsterisk(node);\n\n      case NodeType.literal:\n        return this.formatLiteral(node);\n\n      case NodeType.identifier:\n        return this.formatIdentifier(node);\n\n      case NodeType.parameter:\n        return this.formatParameter(node);\n\n      case NodeType.operator:\n        return this.formatOperator(node);\n\n      case NodeType.comma:\n        return this.formatComma(node);\n\n      case NodeType.line_comment:\n        return this.formatLineComment(node);\n\n      case NodeType.block_comment:\n        return this.formatBlockComment(node);\n\n      case NodeType.keyword:\n        return this.formatKeywordNode(node);\n    }\n  }\n\n  formatFunctionCall(node) {\n    this.withComments(node.nameKw, () => {\n      this.layout.add(this.showKw(node.nameKw));\n    });\n    this.formatNode(node.parenthesis);\n  }\n\n  formatArraySubscript(node) {\n    this.withComments(node.array, () => {\n      this.layout.add(node.array.type === NodeType.keyword ? this.showKw(node.array) : node.array.text);\n    });\n    this.formatNode(node.parenthesis);\n  }\n\n  formatPropertyAccess(node) {\n    this.formatNode(node.object);\n    this.layout.add(WS.NO_SPACE, '.');\n    this.formatNode(node.property);\n  }\n\n  formatParenthesis(node) {\n    const inlineLayout = this.formatInlineExpression(node.children);\n\n    if (inlineLayout) {\n      this.layout.add(node.openParen);\n      this.layout.add(...inlineLayout.getLayoutItems());\n      this.layout.add(WS.NO_SPACE, node.closeParen, WS.SPACE);\n    } else {\n      this.layout.add(node.openParen, WS.NEWLINE);\n\n      if (isTabularStyle(this.cfg)) {\n        this.layout.add(WS.INDENT);\n        this.layout = this.formatSubExpression(node.children);\n      } else {\n        this.layout.indentation.increaseBlockLevel();\n        this.layout.add(WS.INDENT);\n        this.layout = this.formatSubExpression(node.children);\n        this.layout.indentation.decreaseBlockLevel();\n      }\n\n      this.layout.add(WS.NEWLINE, WS.INDENT, node.closeParen, WS.SPACE);\n    }\n  }\n\n  formatBetweenPredicate(node) {\n    this.layout.add(this.showKw(node.betweenKw), WS.SPACE);\n    this.layout = this.formatSubExpression(node.expr1);\n    this.layout.add(WS.NO_SPACE, WS.SPACE, this.showNonTabularKw(node.andKw), WS.SPACE);\n    this.layout = this.formatSubExpression(node.expr2);\n    this.layout.add(WS.SPACE);\n  }\n\n  formatCaseExpression(node) {\n    this.formatNode(node.caseKw);\n    this.layout.indentation.increaseBlockLevel();\n    this.layout = this.formatSubExpression(node.expr);\n    this.layout = this.formatSubExpression(node.clauses);\n    this.layout.indentation.decreaseBlockLevel();\n    this.layout.add(WS.NEWLINE, WS.INDENT);\n    this.formatNode(node.endKw);\n  }\n\n  formatCaseWhen(node) {\n    this.layout.add(WS.NEWLINE, WS.INDENT);\n    this.formatNode(node.whenKw);\n    this.layout = this.formatSubExpression(node.condition);\n    this.formatNode(node.thenKw);\n    this.layout = this.formatSubExpression(node.result);\n  }\n\n  formatCaseElse(node) {\n    this.layout.add(WS.NEWLINE, WS.INDENT);\n    this.formatNode(node.elseKw);\n    this.layout = this.formatSubExpression(node.result);\n  }\n\n  formatClause(node) {\n    if (this.isOnelineClause(node)) {\n      this.formatClauseInOnelineStyle(node);\n    } else if (isTabularStyle(this.cfg)) {\n      this.formatClauseInTabularStyle(node);\n    } else {\n      this.formatClauseInIndentedStyle(node);\n    }\n  }\n\n  isOnelineClause(node) {\n    return this.dialectCfg.onelineClauses[node.nameKw.text];\n  }\n\n  formatClauseInIndentedStyle(node) {\n    this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node.nameKw), WS.NEWLINE);\n    this.layout.indentation.increaseTopLevel();\n    this.layout.add(WS.INDENT);\n    this.layout = this.formatSubExpression(node.children);\n    this.layout.indentation.decreaseTopLevel();\n  }\n\n  formatClauseInOnelineStyle(node) {\n    this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node.nameKw), WS.SPACE);\n    this.layout = this.formatSubExpression(node.children);\n  }\n\n  formatClauseInTabularStyle(node) {\n    this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node.nameKw), WS.SPACE);\n    this.layout.indentation.increaseTopLevel();\n    this.layout = this.formatSubExpression(node.children);\n    this.layout.indentation.decreaseTopLevel();\n  }\n\n  formatSetOperation(node) {\n    this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node.nameKw), WS.NEWLINE);\n    this.layout.add(WS.INDENT);\n    this.layout = this.formatSubExpression(node.children);\n  }\n\n  formatLimitClause(node) {\n    this.withComments(node.limitKw, () => {\n      this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node.limitKw));\n    });\n    this.layout.indentation.increaseTopLevel();\n\n    if (isTabularStyle(this.cfg)) {\n      this.layout.add(WS.SPACE);\n    } else {\n      this.layout.add(WS.NEWLINE, WS.INDENT);\n    }\n\n    if (node.offset) {\n      this.layout = this.formatSubExpression(node.offset);\n      this.layout.add(WS.NO_SPACE, ',', WS.SPACE);\n      this.layout = this.formatSubExpression(node.count);\n    } else {\n      this.layout = this.formatSubExpression(node.count);\n    }\n\n    this.layout.indentation.decreaseTopLevel();\n  }\n\n  formatAllColumnsAsterisk(_node) {\n    this.layout.add('*', WS.SPACE);\n  }\n\n  formatLiteral(node) {\n    this.layout.add(node.text, WS.SPACE);\n  }\n\n  formatIdentifier(node) {\n    this.layout.add(node.text, WS.SPACE);\n  }\n\n  formatParameter(node) {\n    this.layout.add(this.params.get(node), WS.SPACE);\n  }\n\n  formatOperator({\n    text\n  }) {\n    if (this.cfg.denseOperators || this.dialectCfg.alwaysDenseOperators.includes(text)) {\n      this.layout.add(WS.NO_SPACE, text);\n    } else if (text === ':') {\n      this.layout.add(WS.NO_SPACE, text, WS.SPACE);\n    } else {\n      this.layout.add(text, WS.SPACE);\n    }\n  }\n\n  formatComma(_node) {\n    if (!this.inline) {\n      this.layout.add(WS.NO_SPACE, ',', WS.NEWLINE, WS.INDENT);\n    } else {\n      this.layout.add(WS.NO_SPACE, ',', WS.SPACE);\n    }\n  }\n\n  withComments(node, fn) {\n    this.formatComments(node.leadingComments);\n    fn();\n    this.formatComments(node.trailingComments);\n  }\n\n  formatComments(comments) {\n    if (!comments) {\n      return;\n    }\n\n    comments.forEach(com => {\n      if (com.type === NodeType.line_comment) {\n        this.formatLineComment(com);\n      } else {\n        this.formatBlockComment(com);\n      }\n    });\n  }\n\n  formatLineComment(node) {\n    if (isMultiline(node.precedingWhitespace || '')) {\n      this.layout.add(WS.NEWLINE, WS.INDENT, node.text, WS.MANDATORY_NEWLINE, WS.INDENT);\n    } else if (this.layout.getLayoutItems().length > 0) {\n      this.layout.add(WS.NO_NEWLINE, WS.SPACE, node.text, WS.MANDATORY_NEWLINE, WS.INDENT);\n    } else {\n      // comment is the first item in code - no need to add preceding spaces\n      this.layout.add(node.text, WS.MANDATORY_NEWLINE, WS.INDENT);\n    }\n  }\n\n  formatBlockComment(node) {\n    if (this.isMultilineBlockComment(node)) {\n      this.splitBlockComment(node.text).forEach(line => {\n        this.layout.add(WS.NEWLINE, WS.INDENT, line);\n      });\n      this.layout.add(WS.NEWLINE, WS.INDENT);\n    } else {\n      this.layout.add(node.text, WS.SPACE);\n    }\n  }\n\n  isMultilineBlockComment(node) {\n    return isMultiline(node.text) || isMultiline(node.precedingWhitespace || '');\n  }\n\n  isDocComment(comment) {\n    const lines = comment.split(/\\n/);\n    return (// first line starts with /* or /**\n      /^\\/\\*\\*?$/.test(lines[0]) && // intermediate lines start with *\n      lines.slice(1, lines.length - 1).every(line => /^\\s*\\*/.test(line)) && // last line ends with */\n      /^\\s*\\*\\/$/.test(last(lines))\n    );\n  } // Breaks up block comment to multiple lines.\n  // For example this doc-comment (dots representing leading whitespace):\n  //\n  //   ..../**\n  //   .....* Some description here\n  //   .....* and here too\n  //   .....*/\n  //\n  // gets broken to this array (note the leading single spaces):\n  //\n  //   [ '/**',\n  //     '.* Some description here',\n  //     '.* and here too',\n  //     '.*/' ]\n  //\n  // However, a normal comment (non-doc-comment) like this:\n  //\n  //   ..../*\n  //   ....Some description here\n  //   ....*/\n  //\n  // gets broken to this array (no leading spaces):\n  //\n  //   [ '/*',\n  //     'Some description here',\n  //     '*/' ]\n  //\n\n\n  splitBlockComment(comment) {\n    if (this.isDocComment(comment)) {\n      return comment.split(/\\n/).map(line => {\n        if (/^\\s*\\*/.test(line)) {\n          return ' ' + line.replace(/^\\s*/, '');\n        } else {\n          return line;\n        }\n      });\n    } else {\n      return comment.split(/\\n/).map(line => line.replace(/^\\s*/, ''));\n    }\n  }\n\n  formatSubExpression(nodes) {\n    return new ExpressionFormatter({\n      cfg: this.cfg,\n      dialectCfg: this.dialectCfg,\n      params: this.params,\n      layout: this.layout,\n      inline: this.inline\n    }).format(nodes);\n  }\n\n  formatInlineExpression(nodes) {\n    const oldParamIndex = this.params.getPositionalParameterIndex();\n\n    try {\n      return new ExpressionFormatter({\n        cfg: this.cfg,\n        dialectCfg: this.dialectCfg,\n        params: this.params,\n        layout: new InlineLayout(this.cfg.expressionWidth),\n        inline: true\n      }).format(nodes);\n    } catch (e) {\n      if (e instanceof InlineLayoutError) {\n        // While formatting, some of the positional parameters might have\n        // been consumed, which increased the current parameter index.\n        // We reset the index to an earlier state, so we can run the\n        // formatting again and re-consume these parameters in non-inline mode.\n        this.params.setPositionalParameterIndex(oldParamIndex);\n        return undefined;\n      } else {\n        // forward all unexpected errors\n        throw e;\n      }\n    }\n  }\n\n  formatKeywordNode(node) {\n    switch (node.tokenType) {\n      case TokenType.RESERVED_JOIN:\n        return this.formatJoin(node);\n\n      case TokenType.AND:\n      case TokenType.OR:\n      case TokenType.XOR:\n        return this.formatLogicalOperator(node);\n\n      default:\n        return this.formatKeyword(node);\n    }\n  }\n\n  formatJoin(node) {\n    if (isTabularStyle(this.cfg)) {\n      // in tabular style JOINs are at the same level as clauses\n      this.layout.indentation.decreaseTopLevel();\n      this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node), WS.SPACE);\n      this.layout.indentation.increaseTopLevel();\n    } else {\n      this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node), WS.SPACE);\n    }\n  }\n\n  formatKeyword(node) {\n    this.layout.add(this.showKw(node), WS.SPACE);\n  }\n\n  formatLogicalOperator(node) {\n    if (this.cfg.logicalOperatorNewline === 'before') {\n      if (isTabularStyle(this.cfg)) {\n        // In tabular style AND/OR is placed on the same level as clauses\n        this.layout.indentation.decreaseTopLevel();\n        this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node), WS.SPACE);\n        this.layout.indentation.increaseTopLevel();\n      } else {\n        this.layout.add(WS.NEWLINE, WS.INDENT, this.showKw(node), WS.SPACE);\n      }\n    } else {\n      this.layout.add(this.showKw(node), WS.NEWLINE, WS.INDENT);\n    }\n  }\n\n  showKw(node) {\n    if (isTabularToken(node.tokenType)) {\n      return toTabularFormat(this.showNonTabularKw(node), this.cfg.indentStyle);\n    } else {\n      return this.showNonTabularKw(node);\n    }\n  } // Like showKw(), but skips tabular formatting\n\n\n  showNonTabularKw(node) {\n    switch (this.cfg.keywordCase) {\n      case 'preserve':\n        return equalizeWhitespace(node.raw);\n\n      case 'upper':\n        return node.text;\n\n      case 'lower':\n        return node.text.toLowerCase();\n    }\n  }\n\n}\n//# sourceMappingURL=ExpressionFormatter.js.map","import { indentString } from './config.js';\nimport Params from './Params.js';\nimport { createParser } from '../parser/createParser.js';\nimport formatCommaPositions from './formatCommaPositions.js';\nimport formatAliasPositions from './formatAliasPositions.js';\nimport ExpressionFormatter from './ExpressionFormatter.js';\nimport Layout, { WS } from './Layout.js';\nimport Indentation from './Indentation.js';\n/** Main formatter class that produces a final output string from list of tokens */\n\nexport default class Formatter {\n  constructor(dialect, cfg) {\n    this.dialect = dialect;\n    this.cfg = cfg;\n    this.params = new Params(this.cfg.params);\n  }\n  /**\n   * Formats an SQL query.\n   * @param {string} query - The SQL query string to be formatted\n   * @return {string} The formatter query\n   */\n\n\n  format(query) {\n    const ast = this.parse(query);\n    const formattedQuery = this.formatAst(ast);\n    const finalQuery = this.postFormat(formattedQuery);\n    return finalQuery.trimEnd();\n  }\n\n  parse(query) {\n    return createParser(this.dialect.tokenizer).parse(query, this.cfg.paramTypes || {});\n  }\n\n  formatAst(statements) {\n    return statements.map(stat => this.formatStatement(stat)).join('\\n'.repeat(this.cfg.linesBetweenQueries + 1));\n  }\n\n  formatStatement(statement) {\n    const layout = new ExpressionFormatter({\n      cfg: this.cfg,\n      dialectCfg: this.dialect.formatOptions,\n      params: this.params,\n      layout: new Layout(new Indentation(indentString(this.cfg)))\n    }).format(statement.children);\n\n    if (!statement.hasSemicolon) {// do nothing\n    } else if (this.cfg.newlineBeforeSemicolon) {\n      layout.add(WS.NEWLINE, ';');\n    } else {\n      layout.add(WS.NO_NEWLINE, ';');\n    }\n\n    return layout.toString();\n  }\n\n  postFormat(query) {\n    if (this.cfg.tabulateAlias) {\n      query = formatAliasPositions(query);\n    }\n\n    if (this.cfg.commaPosition === 'before' || this.cfg.commaPosition === 'tabular') {\n      query = formatCommaPositions(query, this.cfg.commaPosition, indentString(this.cfg));\n    }\n\n    return query;\n  }\n\n}\n//# sourceMappingURL=Formatter.js.map","export class ConfigError extends Error {}\nexport function validateConfig(cfg) {\n  if ('multilineLists' in cfg) {\n    throw new ConfigError('multilineLists config is no more supported.');\n  }\n\n  if ('newlineBeforeOpenParen' in cfg) {\n    throw new ConfigError('newlineBeforeOpenParen config is no more supported.');\n  }\n\n  if ('newlineBeforeCloseParen' in cfg) {\n    throw new ConfigError('newlineBeforeCloseParen config is no more supported.');\n  }\n\n  if ('aliasAs' in cfg) {\n    throw new ConfigError('aliasAs config is no more supported.');\n  }\n\n  if (cfg.expressionWidth <= 0) {\n    throw new ConfigError(`expressionWidth config must be positive number. Received ${cfg.expressionWidth} instead.`);\n  }\n\n  if (cfg.commaPosition === 'before' && cfg.useTabs) {\n    throw new ConfigError('commaPosition: before does not work when tabs are used for indentation.');\n  }\n\n  if (cfg.params && !validateParams(cfg.params)) {\n    // eslint-disable-next-line no-console\n    console.warn('WARNING: All \"params\" option values should be strings.');\n  }\n\n  return cfg;\n}\n\nfunction validateParams(params) {\n  const paramValues = params instanceof Array ? params : Object.values(params);\n  return paramValues.every(p => typeof p === 'string');\n}\n//# sourceMappingURL=validateConfig.js.map","import * as allDialects from './allDialects.js';\nimport { createDialect } from './dialect.js';\nimport Formatter from './formatter/Formatter.js';\nimport { ConfigError, validateConfig } from './validateConfig.js';\nconst dialectNameMap = {\n  bigquery: 'bigquery',\n  db2: 'db2',\n  hive: 'hive',\n  mariadb: 'mariadb',\n  mysql: 'mysql',\n  n1ql: 'n1ql',\n  plsql: 'plsql',\n  postgresql: 'postgresql',\n  redshift: 'redshift',\n  spark: 'spark',\n  sqlite: 'sqlite',\n  sql: 'sql',\n  trino: 'trino',\n  transactsql: 'transactsql',\n  tsql: 'transactsql',\n  // alias for transactsq\n  singlestoredb: 'singlestoredb',\n  snowflake: 'snowflake'\n};\nexport const supportedDialects = Object.keys(dialectNameMap);\nconst defaultOptions = {\n  tabWidth: 2,\n  useTabs: false,\n  keywordCase: 'preserve',\n  indentStyle: 'standard',\n  logicalOperatorNewline: 'before',\n  tabulateAlias: false,\n  commaPosition: 'after',\n  expressionWidth: 50,\n  linesBetweenQueries: 1,\n  denseOperators: false,\n  newlineBeforeSemicolon: false\n};\n/**\n * Format whitespace in a query to make it easier to read.\n *\n * @param {string} query - input SQL query string\n * @param {FormatOptionsWithLanguage} cfg Configuration options (see docs in README)\n * @return {string} formatted query\n */\n\nexport const format = (query, cfg = {}) => {\n  if (typeof cfg.language === 'string' && !supportedDialects.includes(cfg.language)) {\n    throw new ConfigError(`Unsupported SQL dialect: ${cfg.language}`);\n  }\n\n  const canonicalDialectName = dialectNameMap[cfg.language || 'sql'];\n  return formatDialect(query, { ...cfg,\n    dialect: allDialects[canonicalDialectName]\n  });\n};\n/**\n * Like the above format(), but language parameter is mandatory\n * and must be a Dialect object instead of a string.\n *\n * @param {string} query - input SQL query string\n * @param {FormatOptionsWithDialect} cfg Configuration options (see docs in README)\n * @return {string} formatted query\n */\n\nexport const formatDialect = (query, {\n  dialect,\n  ...cfg\n}) => {\n  if (typeof query !== 'string') {\n    throw new Error('Invalid query argument. Expected string, instead got ' + typeof query);\n  }\n\n  const options = validateConfig({ ...defaultOptions,\n    ...cfg\n  });\n  return new Formatter(createDialect(dialect), options).format(query);\n};\n//# sourceMappingURL=sqlFormatter.js.map","import { Navigate, Route, Routes } from \"react-router-dom\";\nimport { format as formatSQL } from \"sql-formatter\";\nimport JsonViewer from \"~/telemetry/components/shared/JsonViewer\";\nimport { getFormattedDuration } from \"~/telemetry/utils/duration\";\nimport { isErrorEvent } from \"~/telemetry/utils/sentry\";\nimport { createTab } from \"~/telemetry/utils/tabs\";\nimport { DB_SPAN_REGEX } from \"../../../constants\";\nimport useSentryStore from \"../../../store\";\nimport type { Span } from \"../../../types\";\nimport TelemetryTabs from \"../../TelemetryTabs\";\nimport EventList from \"../../events/EventList\";\nimport LogsList from \"../../log/LogsList\";\nimport { ContextView } from \"../../shared/ContextView\";\nimport DateTime from \"../../shared/DateTime\";\n\nfunction DBSpanDescription({ desc, dbType }: { desc: string; dbType?: string }) {\n  if (desc.startsWith(\"{\") || dbType === \"mongodb\") {\n    // looks like JSON?\n    try {\n      return <JsonViewer data={JSON.parse(desc)} />;\n    } catch (_err) {\n      // pass\n    }\n  }\n\n  let description = desc;\n  if (desc.match(/^(SELECT|INSERT|UPDATE|DELETE|TRUNCATE|ALTER) /i)) {\n    try {\n      description = formatSQL(desc.replace(/([\\s,(])(%[a-z])([\\s,)])/gim, \"$1?$3\"), { language: dbType || \"sql\" });\n    } catch (err) {\n      console.error(err);\n    }\n  }\n\n  return <pre className=\"text-primary-300 whitespace-pre-wrap break-words font-mono text-sm\">{description}</pre>;\n}\n\nfunction SpanDescription({ span }: { span: Span }) {\n  let body = null;\n  let headerText = null;\n  if (span.op && DB_SPAN_REGEX.test(span.op) && span.description) {\n    headerText = \"Query\";\n    body = <DBSpanDescription desc={span.description} dbType={span.data?.[\"db.system\"] as string} />;\n  } else if (span.description) {\n    headerText = \"Description\";\n    body = <pre className=\"text-primary-300 whitespace-pre-wrap break-words font-mono text-sm\">{span.description}</pre>;\n  } else {\n    body = <div className=\"text-primary-300\">No description recorded for this span.</div>;\n  }\n  return (\n    <div className=\"space-y-4 px-6 py-4\">\n      {headerText && <h2 className=\"mb-2 font-bold uppercase\">{headerText}</h2>}\n      {body}\n    </div>\n  );\n}\n\nexport function SpanContext({ span }: { span: Span }) {\n  const contextEntries: [string, Record<string, unknown>][] = span.data ? [[\"data\", span.data]] : [];\n  return (\n    <>\n      <div className=\"space-y-6 p-6\">\n        <div className=\"text-primary-300 flex flex-1 items-center gap-x-1\">\n          <DateTime date={span.start_timestamp} />\n          <span>&mdash;</span>\n          <span>\n            <strong>{getFormattedDuration(span.timestamp - span.start_timestamp)}</strong> duration\n          </span>\n        </div>\n        <div className=\"flex-1\">\n          <div className=\"border-primary-800 relative h-8 border py-1\">\n            <div\n              className=\"bg-primary-800 absolute bottom-0 top-0 -m-0.5 flex w-full items-center p-0.5\"\n              style={{\n                left: 0,\n                width: \"100%\",\n              }}\n            >\n              <span className=\"whitespace-nowrap\">{getFormattedDuration(span.timestamp - span.start_timestamp)}</span>\n            </div>\n          </div>\n        </div>\n      </div>\n      <div className=\"space-y-4 px-6 py-4\">\n        <h2 className=\"mb-2 font-bold uppercase\">ID</h2>\n        {span.span_id}\n      </div>\n      <SpanDescription span={span} />\n      <ContextView context={contextEntries} tags={span.tags} />\n    </>\n  );\n}\n\nexport default function SpanDetails({\n  span,\n}: {\n  span: Span;\n}) {\n  const getEventsByTrace = useSentryStore(state => state.getEventsByTrace);\n\n  // TODO: try to narrow errors to the span and its children?\n  const errors = span.trace_id ? getEventsByTrace(span.trace_id).filter(isErrorEvent) : [];\n  const errorCount = errors.length;\n\n  const tabs = [\n    createTab(\"context\", \"Context\"),\n    // TODO: Narrow down logs to the span and its children\n    createTab(\"logs\", \"Logs\"),\n    createTab(\"errors\", \"Errors\", {\n      notificationCount: {\n        count: errorCount,\n        severe: errorCount > 0,\n      },\n    }),\n  ];\n\n  return (\n    <>\n      <TelemetryTabs tabs={tabs} nested />\n      <div className=\"flex flex-1 flex-col overflow-y-auto overflow-x-hidden\">\n        <Routes>\n          <Route path=\"context\" element={<SpanContext span={span} />} />\n          <Route path=\"errors\" element={<EventList traceId={span.trace_id} />} />\n          <Route path=\"logs\" element={<LogsList traceId={span.trace_id} />} />\n          <Route path=\"logs/:id\" element={<LogsList traceId={span.trace_id} />} />\n          {/* Default tab */}\n          <Route path=\"*\" element={<Navigate to=\"context\" replace />} />\n        </Routes>\n      </div>\n    </>\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'/%3e%3cline%20x1='12'%20x2='12'%20y1='8'%20y2='12'/%3e%3cline%20x1='12'%20x2='12.01'%20y1='16'%20y2='16'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='10'/%3e%3cpolyline%20points='12%206%2012%2012%2016%2014'/%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='currentColor'%20stroke-width='2'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cline%20x1='4'%20x2='20'%20y1='9'%20y2='9'/%3e%3cline%20x1='4'%20x2='20'%20y1='15'%20y2='15'/%3e%3cline%20x1='10'%20x2='8'%20y1='3'%20y2='21'/%3e%3cline%20x1='16'%20x2='14'%20y1='3'%20y2='21'/%3e%3c/svg%3e\"","import { type ElementType, useCallback, useMemo } from \"react\";\nimport { ReactComponent as AlertCircle } from \"~/assets/alertCircle.svg\";\nimport { ReactComponent as Branch } from \"~/assets/branch.svg\";\nimport { ReactComponent as Clock } from \"~/assets/clock.svg\";\nimport { ReactComponent as Filter } from \"~/assets/filter.svg\";\nimport { ReactComponent as Hash } from \"~/assets/hash.svg\";\nimport type { Trace } from \"../types\";\nimport { getRootTransactionMethod, getRootTransactionName } from \"../utils/traces\";\n\ninterface TraceProperties {\n  transactionName: string;\n  method: string | null;\n  startTimestamp: number;\n  status: string;\n  duration: number;\n  spansSize: number;\n}\n\nconst DURATION_THRESHOLDS = {\n  FAST_RESPONSE_MAX: 100,\n  SLOW_RESPONSE_MIN: 1000,\n} as const;\n\nconst PERFORMANCE_FILTER_VALUES = {\n  ZERO_SPANS: \"No spans (0)\",\n  HAS_SPANS: \"With spans (>0)\",\n  FAST_RESPONSE: \"Fast (<100ms)\",\n  MEDIUM_RESPONSE: \"Medium (100ms-1s)\",\n  SLOW_RESPONSE: \"Slow (>1s)\",\n} as const;\n\nconst PERFORMANCE_FILTER_OPTIONS: FilterOption[] = Object.entries(PERFORMANCE_FILTER_VALUES).map(([, label]) => ({\n  label,\n  value: label,\n}));\n\nconst PERFORMANCE_FILTER_SET = new Set(Object.values(PERFORMANCE_FILTER_VALUES));\n\nconst TIME_FILTER_VALUES = {\n  LAST_MINUTE: \"Last minute\",\n  LAST_5_MINUTES: \"Last 5 minutes\",\n  LAST_15_MINUTES: \"Last 15 minutes\",\n  LAST_30_MINUTES: \"Last 30 minutes\",\n  LAST_1_HOUR: \"Last 1 hour\",\n  LAST_4_HOURS: \"Last 4 hours\",\n  TODAY: \"Today\",\n  YESTERDAY: \"Yesterday\",\n  LAST_24_HOURS: \"Last 24 hours\",\n  LAST_7_DAYS: \"Last 7 days\",\n  BEYOND_7_DAYS: \"Older than 7 days\",\n} as const;\n\nconst TIME_FILTER_OPTIONS = Object.entries(TIME_FILTER_VALUES).map(([, label]) => ({\n  value: label,\n  label,\n}));\n\nconst TIME_FILTER_SET = new Set(Object.values(TIME_FILTER_VALUES));\n\nconst FILTER_TYPES = {\n  TRANSACTION: \"transaction\",\n  METHOD: \"method\",\n  STATUS: \"status\",\n  TIME: \"time\",\n  PERFORMANCE: \"performance\",\n} as const;\n\nconst FILTER_CONFIG_METADATA = {\n  [FILTER_TYPES.TRANSACTION]: {\n    label: \"Transaction\",\n  },\n  [FILTER_TYPES.METHOD]: {\n    label: \"Method\",\n  },\n  [FILTER_TYPES.STATUS]: {\n    label: \"Status\",\n  },\n  [FILTER_TYPES.TIME]: {\n    label: \"Time\",\n  },\n  [FILTER_TYPES.PERFORMANCE]: {\n    label: \"Performance\",\n  },\n} as const;\n\nconst FILTER_ICONS = {\n  [FILTER_TYPES.TRANSACTION]: Filter,\n  [FILTER_TYPES.METHOD]: Hash,\n  [FILTER_TYPES.STATUS]: AlertCircle,\n  [FILTER_TYPES.TIME]: Clock,\n  [FILTER_TYPES.PERFORMANCE]: Branch,\n} as const;\n\ninterface FilterOption {\n  label: string;\n  value: string;\n}\n\ninterface FilterConfig {\n  icon: ElementType;\n  label: string;\n  options: FilterOption[];\n  show: boolean;\n  type: \"checkbox\" | \"radio\";\n}\n\nexport interface FilterConfigs {\n  [FILTER_TYPES.TRANSACTION]: FilterConfig;\n  [FILTER_TYPES.METHOD]: FilterConfig;\n  [FILTER_TYPES.STATUS]: FilterConfig;\n  [FILTER_TYPES.TIME]: FilterConfig;\n  [FILTER_TYPES.PERFORMANCE]: FilterConfig;\n}\n\ninterface FilterConfigData {\n  transactionOptions: FilterOption[];\n  methodOptions: FilterOption[];\n  statusOptions: FilterOption[];\n}\n\ninterface GroupedFilters {\n  [FILTER_TYPES.TRANSACTION]: Set<string>;\n  [FILTER_TYPES.METHOD]: Set<string>;\n  [FILTER_TYPES.STATUS]: Set<string>;\n  [FILTER_TYPES.TIME]: Set<string>;\n  [FILTER_TYPES.PERFORMANCE]: Set<string>;\n}\n\nconst createFilterOptionsFromSet = (items: Set<string>): FilterOption[] =>\n  Array.from(items).map(item => ({ label: item, value: item }));\n\nconst groupFiltersByType = (activeFilters: string[], availableOptions: FilterConfigData): GroupedFilters => {\n  const grouped: GroupedFilters = {\n    [FILTER_TYPES.TRANSACTION]: new Set(),\n    [FILTER_TYPES.METHOD]: new Set(),\n    [FILTER_TYPES.STATUS]: new Set(),\n    [FILTER_TYPES.TIME]: new Set(),\n    [FILTER_TYPES.PERFORMANCE]: new Set(),\n  };\n\n  const transactionValues = new Set(availableOptions.transactionOptions.map(opt => opt.value));\n  const methodValues = new Set(availableOptions.methodOptions.map(opt => opt.value));\n  const statusValues = new Set(availableOptions.statusOptions.map(opt => opt.value));\n\n  for (const filter of activeFilters) {\n    if (transactionValues.has(filter)) {\n      grouped[FILTER_TYPES.TRANSACTION].add(filter);\n    } else if (methodValues.has(filter)) {\n      grouped[FILTER_TYPES.METHOD].add(filter);\n    } else if (statusValues.has(filter)) {\n      grouped[FILTER_TYPES.STATUS].add(filter);\n    } else if (TIME_FILTER_SET.has(filter as typeof TIME_FILTER_SET extends Set<infer T> ? T : never)) {\n      grouped[FILTER_TYPES.TIME].add(filter);\n    } else if (PERFORMANCE_FILTER_SET.has(filter as typeof PERFORMANCE_FILTER_SET extends Set<infer T> ? T : never)) {\n      grouped[FILTER_TYPES.PERFORMANCE].add(filter);\n    }\n  }\n\n  return grouped;\n};\n\nconst matchesPerformanceFilter = (traceProperties: TraceProperties, filterValue: string): boolean => {\n  const { spansSize, duration } = traceProperties;\n  switch (filterValue) {\n    case PERFORMANCE_FILTER_VALUES.ZERO_SPANS:\n      return spansSize === 0;\n    case PERFORMANCE_FILTER_VALUES.HAS_SPANS:\n      return spansSize > 0;\n    case PERFORMANCE_FILTER_VALUES.FAST_RESPONSE:\n      return duration < DURATION_THRESHOLDS.FAST_RESPONSE_MAX;\n    case PERFORMANCE_FILTER_VALUES.MEDIUM_RESPONSE:\n      return duration >= DURATION_THRESHOLDS.FAST_RESPONSE_MAX && duration <= DURATION_THRESHOLDS.SLOW_RESPONSE_MIN;\n    case PERFORMANCE_FILTER_VALUES.SLOW_RESPONSE:\n      return duration > DURATION_THRESHOLDS.SLOW_RESPONSE_MIN;\n    default:\n      return false;\n  }\n};\n\nconst matchesTimeFilter = (traceProperties: TraceProperties, filterValue: string): boolean => {\n  const { startTimestamp } = traceProperties;\n  const now = Date.now();\n\n  switch (filterValue) {\n    case TIME_FILTER_VALUES.LAST_MINUTE:\n      return startTimestamp >= now - 60 * 1000;\n    case TIME_FILTER_VALUES.LAST_5_MINUTES:\n      return startTimestamp >= now - 5 * 60 * 1000;\n    case TIME_FILTER_VALUES.LAST_15_MINUTES:\n      return startTimestamp >= now - 15 * 60 * 1000;\n    case TIME_FILTER_VALUES.LAST_30_MINUTES:\n      return startTimestamp >= now - 30 * 60 * 1000;\n    case TIME_FILTER_VALUES.LAST_1_HOUR:\n      return startTimestamp >= now - 60 * 60 * 1000;\n    case TIME_FILTER_VALUES.LAST_4_HOURS:\n      return startTimestamp >= now - 4 * 60 * 60 * 1000;\n    case TIME_FILTER_VALUES.TODAY: {\n      const startOfToday = new Date();\n      startOfToday.setHours(0, 0, 0, 0);\n      return startTimestamp >= startOfToday.getTime();\n    }\n    case TIME_FILTER_VALUES.YESTERDAY: {\n      const today = new Date();\n      today.setHours(0, 0, 0, 0);\n      const startOfYesterday = new Date(today);\n      startOfYesterday.setDate(today.getDate() - 1);\n      return startTimestamp >= startOfYesterday.getTime() && startTimestamp < today.getTime();\n    }\n    case TIME_FILTER_VALUES.LAST_24_HOURS:\n      return startTimestamp >= now - 24 * 60 * 60 * 1000;\n    case TIME_FILTER_VALUES.LAST_7_DAYS:\n      return startTimestamp >= now - 7 * 24 * 60 * 60 * 1000;\n    case TIME_FILTER_VALUES.BEYOND_7_DAYS:\n      return startTimestamp < now - 7 * 24 * 60 * 60 * 1000;\n    default:\n      return false;\n  }\n};\n\nconst matchesFilterGroup = (traceProps: TraceProperties, filterType: string, filterValues: Set<string>): boolean => {\n  if (filterValues.size === 0) return true;\n\n  for (const filterValue of filterValues) {\n    switch (filterType) {\n      case FILTER_TYPES.TRANSACTION:\n        if (traceProps.transactionName === filterValue) return true;\n        break;\n      case FILTER_TYPES.METHOD:\n        if (traceProps.method === filterValue) return true;\n        break;\n      case FILTER_TYPES.STATUS:\n        if (traceProps.status === filterValue) return true;\n        break;\n      case FILTER_TYPES.TIME:\n        if (matchesTimeFilter(traceProps, filterValue)) return true;\n        break;\n      case FILTER_TYPES.PERFORMANCE:\n        if (matchesPerformanceFilter(traceProps, filterValue)) return true;\n        break;\n    }\n  }\n\n  return false;\n};\n\nconst useTraceFiltering = (visibleTraces: Trace[], activeFilters: string[], searchQuery: string) => {\n  const filterConfigData = useMemo((): FilterConfigData => {\n    if (!visibleTraces.length) {\n      return {\n        transactionOptions: [],\n        methodOptions: [],\n        statusOptions: [],\n      };\n    }\n\n    const uniqueTransactionNames = new Set<string>();\n    const uniqueMethodNames = new Set<string>();\n    const uniqueStatusLabels = new Set<string>();\n\n    for (const trace of visibleTraces) {\n      const transactionName = getRootTransactionName(trace);\n      if (transactionName) uniqueTransactionNames.add(transactionName);\n\n      const method = getRootTransactionMethod(trace);\n      if (method) uniqueMethodNames.add(method);\n\n      const status = trace.status;\n      if (status) uniqueStatusLabels.add(status);\n    }\n\n    return {\n      transactionOptions: createFilterOptionsFromSet(uniqueTransactionNames),\n      methodOptions: createFilterOptionsFromSet(uniqueMethodNames),\n      statusOptions: createFilterOptionsFromSet(uniqueStatusLabels),\n    };\n  }, [visibleTraces]);\n\n  const TRACE_FILTER_CONFIGS: FilterConfigs = useMemo(\n    () => ({\n      [FILTER_TYPES.TRANSACTION]: {\n        icon: FILTER_ICONS[FILTER_TYPES.TRANSACTION],\n        label: FILTER_CONFIG_METADATA[FILTER_TYPES.TRANSACTION].label,\n        options: filterConfigData.transactionOptions,\n        show: filterConfigData.transactionOptions.length > 0,\n        type: \"checkbox\",\n      },\n      [FILTER_TYPES.METHOD]: {\n        icon: FILTER_ICONS[FILTER_TYPES.METHOD],\n        label: FILTER_CONFIG_METADATA[FILTER_TYPES.METHOD].label,\n        options: filterConfigData.methodOptions,\n        show: filterConfigData.methodOptions.length > 0,\n        type: \"checkbox\",\n      },\n      [FILTER_TYPES.STATUS]: {\n        icon: FILTER_ICONS[FILTER_TYPES.STATUS],\n        label: FILTER_CONFIG_METADATA[FILTER_TYPES.STATUS].label,\n        options: filterConfigData.statusOptions,\n        show: filterConfigData.statusOptions.length > 0,\n        type: \"checkbox\",\n      },\n      [FILTER_TYPES.TIME]: {\n        icon: FILTER_ICONS[FILTER_TYPES.TIME],\n        label: FILTER_CONFIG_METADATA[FILTER_TYPES.TIME].label,\n        options: TIME_FILTER_OPTIONS,\n        show: true,\n        type: \"radio\",\n      },\n      [FILTER_TYPES.PERFORMANCE]: {\n        icon: FILTER_ICONS[FILTER_TYPES.PERFORMANCE],\n        label: FILTER_CONFIG_METADATA[FILTER_TYPES.PERFORMANCE].label,\n        options: PERFORMANCE_FILTER_OPTIONS,\n        show: true,\n        type: \"checkbox\",\n      },\n    }),\n    [filterConfigData],\n  );\n\n  const applyTraceFilters = useCallback(() => {\n    if (!visibleTraces.length) {\n      return [];\n    }\n\n    const normalizedSearchQuery = searchQuery?.toLowerCase();\n    const hasSearchCriteria = Boolean(normalizedSearchQuery);\n    const hasActiveFilters = activeFilters.length > 0;\n\n    if (!hasSearchCriteria && !hasActiveFilters) {\n      return visibleTraces;\n    }\n    const groupedFilters = hasActiveFilters ? groupFiltersByType(activeFilters, filterConfigData) : null;\n\n    const filteredTraces = visibleTraces.filter(trace => {\n      if (hasSearchCriteria) {\n        const transactionName = getRootTransactionName(trace);\n        const matchesSearchQuery =\n          transactionName.toLowerCase().includes(normalizedSearchQuery) ||\n          trace.trace_id.toLowerCase().includes(normalizedSearchQuery);\n\n        if (!matchesSearchQuery) return false;\n      }\n\n      if (!hasActiveFilters || !groupedFilters) return true;\n\n      const traceProperties: TraceProperties = {\n        transactionName: getRootTransactionName(trace),\n        method: getRootTransactionMethod(trace),\n        startTimestamp: trace.start_timestamp,\n        status: trace.status || \"\",\n        spansSize: trace?.spans?.size || 0,\n        duration: trace.timestamp - trace.start_timestamp || 0,\n      };\n\n      return (\n        matchesFilterGroup(traceProperties, FILTER_TYPES.TRANSACTION, groupedFilters[FILTER_TYPES.TRANSACTION]) &&\n        matchesFilterGroup(traceProperties, FILTER_TYPES.METHOD, groupedFilters[FILTER_TYPES.METHOD]) &&\n        matchesFilterGroup(traceProperties, FILTER_TYPES.STATUS, groupedFilters[FILTER_TYPES.STATUS]) &&\n        matchesFilterGroup(traceProperties, FILTER_TYPES.TIME, groupedFilters[FILTER_TYPES.TIME]) &&\n        matchesFilterGroup(traceProperties, FILTER_TYPES.PERFORMANCE, groupedFilters[FILTER_TYPES.PERFORMANCE])\n      );\n    });\n\n    return filteredTraces;\n  }, [visibleTraces, activeFilters, searchQuery, filterConfigData]);\n\n  return {\n    TRACE_FILTER_CONFIGS,\n    filteredTraces: applyTraceFilters() || [],\n  };\n};\n\nexport default useTraceFiltering;\n","import { useCallback, useRef, useState } from \"react\";\nimport { Route, Routes } from \"react-router-dom\";\nimport { cn } from \"~/lib/cn\";\nimport AITranscription from \"../components/insights/aiTraces/AITranscription\";\nimport { hasAISpans } from \"../components/insights/aiTraces/sdks/aiLibraries\";\nimport Resizer from \"../components/shared/Resizer\";\nimport TraceDetails from \"../components/traces/TraceDetails\";\nimport TraceTreeview from \"../components/traces/TraceDetails/components/TraceTreeview\";\nimport TraceItem from \"../components/traces/TraceItem\";\nimport TraceList from \"../components/traces/TraceList\";\nimport TraceListFilter from \"../components/traces/TraceListFilter\";\nimport SpanDetails from \"../components/traces/spans/SpanDetails\";\nimport { SentryEventsContextProvider } from \"../data/sentryEventsContext\";\nimport { useSentryTraces } from \"../data/useSentrySpans\";\nimport useTraceFiltering from \"../hooks/useTraceFiltering\";\nimport type { Span, Trace } from \"../types\"; // Ensure Trace type is available\n\nconst MIN_PANEL_WIDTH_PERCENT = 20;\nconst MAX_PANEL_WIDTH_PERCENT = 80;\nconst DEFAULT_PANEL_WIDTH_PERCENT = 50;\n\ninterface TraceSplitViewLayoutProps {\n  trace: Trace;\n  span?: Span | null;\n  aiConfig: {\n    mode: boolean;\n    onToggle: () => void;\n  };\n}\n\nexport function AITraceToggle({ trace, aiConfig }: { trace: Trace; aiConfig: TraceSplitViewLayoutProps[\"aiConfig\"] }) {\n  if (!hasAISpans(trace)) {\n    return null;\n  }\n\n  return (\n    <div className=\"flex items-center px-8\">\n      <span\n        id=\"ai-mode-label\"\n        className=\"text-primary-200 mr-3 text-sm font-medium cursor-pointer\"\n        onClick={aiConfig.onToggle}\n      >\n        AI Mode\n      </span>\n      <button\n        type=\"button\"\n        role=\"switch\"\n        aria-checked={aiConfig.mode}\n        aria-labelledby=\"ai-mode-label\"\n        onClick={aiConfig.onToggle}\n        className={cn(\n          \"relative inline-flex h-6 w-11 shrink-0 cursor-pointer rounded-full border-2 border-transparent transition-colors duration-200 ease-in-out focus:outline-hidden focus:ring-2 focus:ring-offset-2\",\n          aiConfig.mode ? \"bg-blue-500 focus:ring-blue-400\" : \"bg-primary-700 focus:ring-primary-600\",\n        )}\n      >\n        <span\n          aria-hidden=\"true\"\n          className={cn(\n            \"pointer-events-none inline-block h-5 w-5 transform rounded-full bg-white shadow ring-0 transition duration-200 ease-in-out\",\n            aiConfig.mode ? \"translate-x-5\" : \"translate-x-0\",\n          )}\n        />\n      </button>\n    </div>\n  );\n}\n\nexport function TraceSplitViewLayout({ trace, span, aiConfig }: TraceSplitViewLayoutProps) {\n  const [leftPanelWidth, setLeftPanelWidth] = useState(DEFAULT_PANEL_WIDTH_PERCENT);\n  const [isResizing, setIsResizing] = useState(false);\n  const containerRef = useRef<HTMLDivElement>(null);\n  const leftPanelRef = useRef<HTMLDivElement>(null);\n\n  const handleResize = useCallback((e: MouseEvent) => {\n    if (!containerRef.current) return;\n\n    const containerRect = containerRef.current.getBoundingClientRect();\n    const newLeftPanelWidth = ((e.clientX - containerRect.left) / containerRect.width) * 100;\n\n    const clampedWidth = Math.max(MIN_PANEL_WIDTH_PERCENT, Math.min(MAX_PANEL_WIDTH_PERCENT, newLeftPanelWidth));\n    setLeftPanelWidth(clampedWidth);\n  }, []);\n\n  if (!trace) {\n    return <div className=\"text-primary-300 p-6\">Trace not found. 🤔</div>;\n  }\n\n  return (\n    <div className=\"flex h-full w-full flex-col overflow-hidden \">\n      {trace ? (\n        <div className=\"border-b-primary-700 bg-primary-900 border-b transition-colors duration-150\">\n          <div className=\"flex items-center bg-primary-800\">\n            <div className=\"flex-1\">\n              <TraceItem trace={trace} className=\"hover:bg-transparent\" />\n            </div>\n\n            {/* AI Mode Toggle */}\n            <AITraceToggle trace={trace} aiConfig={aiConfig} />\n          </div>\n        </div>\n      ) : null}\n\n      {/* split panel below */}\n      <div ref={containerRef} className=\"flex h-full w-full flex-1 overflow-hidden\">\n        {/* left panel - vertically split: tree/transcription + trace list */}\n        <div\n          ref={leftPanelRef}\n          className=\"flex flex-col shrink-0 overflow-y-auto\"\n          style={{ width: `${leftPanelWidth}%` }}\n        >\n          {/* Top part of left panel -> TreeView/AITranscription */}\n          {trace && (\n            <div className=\"border-b-primary-700 bg-primary-950 border-b shrink-0\">\n              {aiConfig.mode && hasAISpans(trace) ? (\n                <AITranscription />\n              ) : (\n                <div className=\"px-2\">\n                  <TraceTreeview traceId={trace.trace_id} />\n                </div>\n              )}\n            </div>\n          )}\n        </div>\n\n        {/* Resizer */}\n        <Resizer\n          handleResize={handleResize}\n          isResizing={isResizing}\n          setIsResizing={setIsResizing}\n          direction=\"column\"\n          className=\"w-1 shrink-0 cursor-col-resize bg-gray-600 hover:bg-blue-500\"\n        />\n\n        {/* right panel - selected trace content */}\n        <div className=\"flex-1 overflow-hidden\" style={{ width: `${100 - leftPanelWidth}%` }}>\n          {span && !aiConfig.mode ? <SpanDetails span={span} /> : <TraceDetails trace={trace} aiConfig={aiConfig} />}\n        </div>\n      </div>\n    </div>\n  );\n}\n\nexport default function TracesTab() {\n  const traces = useSentryTraces();\n  const [searchQuery, setSearchQuery] = useState(\"\");\n  const [activeFilters, setActiveFilters] = useState<string[]>([]);\n  const { TRACE_FILTER_CONFIGS, filteredTraces } = useTraceFiltering(traces, activeFilters, searchQuery);\n\n  const traceData = {\n    filtered: filteredTraces,\n    all: traces,\n  };\n\n  return (\n    <SentryEventsContextProvider>\n      <div className=\"flex h-full flex-col overflow-hidden\">\n        <TraceListFilter\n          searchQuery={searchQuery}\n          setSearchQuery={setSearchQuery}\n          activeFilters={activeFilters}\n          setActiveFilters={setActiveFilters}\n          filterConfigs={TRACE_FILTER_CONFIGS}\n        />\n        <div className=\"flex-1 overflow-auto\">\n          <Routes>\n            <Route path=\"/:traceId/spans/:spanId/*\" element={<TraceList traceData={traceData} />} />\n            <Route path=\"/:traceId/spans/:spanId\" element={<TraceList traceData={traceData} />} />\n            <Route path=\"/:traceId/*\" element={<TraceList traceData={traceData} />} />\n            <Route path=\"/\" element={<TraceList traceData={traceData} />} />\n          </Routes>\n        </div>\n      </div>\n    </SentryEventsContextProvider>\n  );\n}\n","export default \"data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20x='0px'%20y='0px'%20width='100'%20height='100'%20viewBox='0%200%2048%2048'%3e%3cpath%20d='M%2022%201%20C%2019.802666%201%2018%202.8026661%2018%205%20L%2018%206%20L%209%206%20C%207.3555411%206%206%207.3544268%206%209%20L%206%2011%20C%206%2012.645573%207.3555411%2014%209%2014%20L%2033%2014%20A%201.0001%201.0001%200%201%200%2033%2012%20L%209%2012%20C%208.4364589%2012%208%2011.564427%208%2011%20L%208%209%20C%208%208.4355732%208.4364589%208%209%208%20L%2019%208%20A%201.0001%201.0001%200%200%200%2020%207%20L%2020%205%20C%2020%203.8833339%2020.883334%203%2022%203%20L%2026%203%20C%2027.116666%203%2028%203.8833339%2028%205%20L%2028%207%20A%201.0001%201.0001%200%200%200%2029%208%20L%2039%208%20C%2039.563541%208%2040%208.4355732%2040%209%20L%2040%2011%20C%2040%2011.564427%2039.563541%2012%2039%2012%20L%2038%2012%20A%201.0001%201.0001%200%200%200%2037%2013.003906%20L%2037.105469%2040.080078%20C%2037.060923%2041.715433%2035.743427%2043%2034.107422%2043%20L%2014.025391%2043%20C%2012.348977%2043%2011.014814%2041.656796%2011.025391%2039.980469%20A%201.0001%201.0001%200%200%200%2011.025391%2039.974609%20L%2011%2016.998047%20A%201.0001%201.0001%200%201%200%209%2017.001953%20L%209.0253906%2039.96875%20C%209.0079668%2042.730423%2011.263804%2045%2014.025391%2045%20L%2034.107422%2045%20C%2036.805417%2045%2039.032014%2042.831411%2039.105469%2040.134766%20A%201.0001%201.0001%200%200%200%2039.105469%2040.103516%20L%2039.003906%2013.998047%20C%2040.646254%2013.995478%2042%2012.64401%2042%2011%20L%2042%209%20C%2042%207.3544268%2040.644459%206%2039%206%20L%2030%206%20L%2030%205%20C%2030%202.8026661%2028.197334%201%2026%201%20L%2022%201%20z%20M%2016.984375%2019.986328%20A%201.0001%201.0001%200%200%200%2016%2021%20L%2016%2038%20A%201.0001%201.0001%200%201%200%2018%2038%20L%2018%2021%20A%201.0001%201.0001%200%200%200%2016.984375%2019.986328%20z%20M%2023.984375%2019.986328%20A%201.0001%201.0001%200%200%200%2023%2021%20L%2023%2038%20A%201.0001%201.0001%200%201%200%2025%2038%20L%2025%2021%20A%201.0001%201.0001%200%200%200%2023.984375%2019.986328%20z%20M%2030.984375%2019.986328%20A%201.0001%201.0001%200%200%200%2030%2021%20L%2030%2038%20A%201.0001%201.0001%200%201%200%2032%2038%20L%2032%2021%20A%201.0001%201.0001%200%200%200%2030.984375%2019.986328%20z'%3e%3c/path%3e%3c/svg%3e\"","export default \"data:image/svg+xml,%3csvg%20width='256'%20height='256'%20viewBox='0%200%20256%20256'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20width='256'%20height='256'%20fill='none'/%3e%3cpath%20d='M121.678%2068.6777C140.081%2050.2742%20169.919%2050.2742%20188.322%2068.6777C206.726%2087.0811%20206.726%20116.919%20188.322%20135.322C169.919%20153.726%20140.081%20153.726%20121.678%20135.322C120.734%20134.378%20119.733%20133.525%20118.686%20132.764C108.865%20124.59%2094.2507%20125.11%2085.0381%20134.322L57.5381%20161.822C47.775%20171.585%2047.775%20187.415%2057.5381%20197.178C67.3012%20206.941%2083.1303%20206.941%2092.8934%20197.178L104.862%20185.209C142.205%20207.751%20191.449%20202.907%20223.678%20170.678C261.607%20132.748%20261.607%2071.252%20223.678%2033.3223C185.748%20-4.60732%20124.252%20-4.60732%2086.3223%2033.3223C77.5523%2042.0923%2070.7787%2052.1712%2066.0472%2062.9564C60.5003%2075.6003%2066.2535%2090.3468%2078.8974%2095.8938C91.5413%20101.441%20106.288%2095.6875%20111.835%2083.0436C114.109%2077.8604%20117.374%2072.9809%20121.678%2068.6777Z'%20fill='currentColor'/%3e%3cpath%20d='M59%20224C59%20238.359%2047.3594%20250%2033%20250C18.6406%20250%207%20238.359%207%20224C7%20209.641%2018.6406%20198%2033%20198C47.3594%20198%2059%20209.641%2059%20224Z'%20fill='currentColor'/%3e%3cpath%20d='M155%20130C170.464%20130%20183%20117.464%20183%20102C183%2086.536%20170.464%2074%20155%2074C139.536%2074%20127%2086.536%20127%20102C127%20117.464%20139.536%20130%20155%20130Z'%20fill='currentColor'/%3e%3c/svg%3e\"","import { useCallback } from \"react\";\nimport { Link, useLocation } from \"react-router-dom\";\nimport { ReactComponent as DeleteIcon } from \"~/assets/deleteIcon.svg\";\nimport { ReactComponent as Logo } from \"~/assets/glyph.svg\";\nimport { cn } from \"~/lib/cn\";\nimport type { NotificationCount } from \"~/types\";\nimport { Badge } from \"~/ui/badge\";\nimport useSentryStore from \"../store\";\nimport { useSpotlightContext } from \"~/lib/useSpotlightContext\";\n\ninterface TelemetrySidebarProps {\n  errorCount: number;\n  traceCount: number;\n  logCount: number;\n  isOnline: boolean;\n}\n\nfunction NavigationLink({\n  to,\n  title,\n  notificationCount,\n  isActive,\n  isSubItem = false,\n}: {\n  to: string;\n  title: string;\n  notificationCount?: NotificationCount;\n  isActive: boolean;\n  isSubItem?: boolean;\n}) {\n  return (\n    <Link\n      to={to}\n      className={`relative flex items-center gap-x-2 p-3 font-medium transition ${isSubItem ? \"pl-6\" : \"\"} ${\n        isActive ? \"text-white bg-primary-600\" : \"text-primary-300 hover:bg-primary-800 hover:text-primary-100\"\n      }`}\n    >\n      {title}\n      {notificationCount && notificationCount.count > 0 && (\n        <Badge variant={notificationCount.severe ? \"destructive\" : \"default\"}>{notificationCount.count}</Badge>\n      )}\n    </Link>\n  );\n}\n\nexport default function TelemetrySidebar({ errorCount, traceCount, logCount, isOnline }: TelemetrySidebarProps) {\n  const location = useLocation();\n  const pathname = location.pathname;\n  const { getSidecarUrl } = useSpotlightContext();\n  const clearEventsUrl = getSidecarUrl(\"/clear\");\n\n  const clearEvents = useCallback(async () => {\n    \n    try {\n      await fetch(clearEventsUrl, {\n        method: \"DELETE\",\n        mode: \"cors\",\n      });\n    } catch (err) {\n      console.error(`Spotlight can't connect to Sidecar is it running?`, err);\n      return;\n    }\n\n    useSentryStore.getState().resetData();\n  }, [clearEventsUrl]);\n\n  const isActive = (path: string) => {\n    // case for primary path\n    if (path === \"traces\") {\n      return pathname === \"/telemetry\" || pathname.startsWith(\"/telemetry/traces\");\n    }\n    // case for all other paths\n    return pathname.startsWith(`/telemetry/${path}`);\n  };\n\n  const isInsightsActive = pathname.startsWith(\"/telemetry/insights\");\n\n  // This is used to determine if the overlay is running inside electron\n  const isElectron = globalThis.IN_DESKTOP_ENV;\n\n  return (\n    <nav\n      className=\"flex flex-col border-r border-primary-700\"\n      style={{ width: \"240px\", minWidth: \"240px\" }}\n      aria-label=\"Navigation\"\n    >\n      <header className={cn(\"p-4\", isElectron && \"mt-4\")}>\n        <div className=\"text-primary-200 flex flex-col gap-x-2\">\n          <div className=\"inline-flex items-center gap-x-2\">\n            <Logo height={24} width={24} />\n            <div className=\"text-xl font-light uppercase leading-7 tracking-wider\">Spotlight</div>\n          </div>\n          <div className=\"text-primary-300 flex items-center gap-x-1 text-xs ml-[calc(24px+0.5rem)]\">\n            <span>by</span>\n            <a\n              rel=\"noreferrer noopener\"\n              href=\"https://sentry.io\"\n              target=\"_blank\"\n              className=\"font-semibold hover:underline\"\n            >\n              Sentry\n            </a>\n          </div>\n        </div>\n      </header>\n\n      <div className=\"flex-1 overflow-y-auto\">\n        <NavigationLink\n          to=\"traces\"\n          title=\"Traces\"\n          notificationCount={{ count: traceCount }}\n          isActive={isActive(\"traces\")}\n        />\n        <NavigationLink\n          to=\"errors\"\n          title=\"Errors\"\n          notificationCount={{ count: errorCount, severe: errorCount > 0 }}\n          isActive={isActive(\"errors\")}\n        />\n        <NavigationLink to=\"logs\" title=\"Logs\" notificationCount={{ count: logCount }} isActive={isActive(\"logs\")} />\n\n        {/* Insights section */}\n        <div\n          className={`px-3 py-2 text-md font-semibold tracking-wide ${\n            isInsightsActive ? \"text-white\" : \"text-primary-200\"\n          }`}\n        >\n          Insights\n        </div>\n        <NavigationLink to=\"insights/queries\" title=\"Queries\" isActive={isActive(\"insights/queries\")} isSubItem />\n        <NavigationLink\n          to=\"insights/webvitals\"\n          title=\"Web Vitals\"\n          isActive={isActive(\"insights/webvitals\")}\n          isSubItem\n        />\n        <NavigationLink to=\"insights/resources\" title=\"Resources\" isActive={isActive(\"insights/resources\")} isSubItem />\n        <NavigationLink to=\"insights/profiles\" title=\"Profiles\" isActive={isActive(\"insights/profiles\")} isSubItem />\n        <NavigationLink to=\"insights/envelopes\" title=\"Envelopes\" isActive={isActive(\"insights/envelopes\")} isSubItem />\n        <NavigationLink to=\"insights/sdks\" title=\"SDKs\" isActive={isActive(\"insights/sdks\")} isSubItem />\n        <NavigationLink to=\"insights/aitraces\" title=\"AI Traces\" isActive={isActive(\"insights/aitraces\")} isSubItem />\n      </div>\n\n      <footer className=\"p-4 border-t border-primary-700\">\n        {/* GitHub and Discord links */}\n        <div className=\"flex items-center justify-center gap-x-3 pb-3 mb-3 border-b border-primary-700\">\n          <a\n            href=\"https://github.com/getsentry/spotlight\"\n            target=\"_blank\"\n            rel=\"noreferrer noopener\"\n            className=\"text-primary-300 hover:text-primary-100\"\n          >\n            <span className=\"sr-only\">GitHub</span>\n            <svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n              <path d=\"M12 .3a12 12 0 0 0-3.8 23.38c.6.12.83-.26.83-.57L9 21.07c-3.34.72-4.04-1.61-4.04-1.61-.55-1.39-1.34-1.76-1.34-1.76-1.08-.74.09-.73.09-.73 1.2.09 1.83 1.24 1.83 1.24 1.08 1.83 2.81 1.3 3.5 1 .1-.78.42-1.31.76-1.61-2.67-.3-5.47-1.33-5.47-5.93 0-1.31.47-2.38 1.24-3.22-.14-.3-.54-1.52.1-3.18 0 0 1-.32 3.3 1.23a11.5 11.5 0 0 1 6 0c2.28-1.55 3.29-1.23 3.29-1.23.64 1.66.24 2.88.12 3.18a4.65 4.65 0 0 1 1.23 3.22c0 4.61-2.8 5.63-5.48 5.92.42.36.81 1.1.81 2.22l-.01 3.29c0 .31.2.69.82.57A12 12 0 0 0 12 .3Z\" />\n            </svg>\n          </a>\n          <a\n            href=\"https://discord.gg/EJjqM3XtXQ\"\n            target=\"_blank\"\n            rel=\"noreferrer noopener\"\n            className=\"text-primary-300 hover:text-primary-100\"\n          >\n            <span className=\"sr-only\">Discord</span>\n            <svg aria-hidden=\"true\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n              <path d=\"M20.32 4.37a19.8 19.8 0 0 0-4.93-1.51 13.78 13.78 0 0 0-.64 1.28 18.27 18.27 0 0 0-5.5 0 12.64 12.64 0 0 0-.64-1.28h-.05A19.74 19.74 0 0 0 3.64 4.4 20.26 20.26 0 0 0 .11 18.09l.02.02a19.9 19.9 0 0 0 6.04 3.03l.04-.02a14.24 14.24 0 0 0 1.23-2.03.08.08 0 0 0-.05-.07 13.1 13.1 0 0 1-1.9-.92.08.08 0 0 1 .02-.1 10.2 10.2 0 0 0 .41-.31h.04a14.2 14.2 0 0 0 12.1 0l.04.01a9.63 9.63 0 0 0 .4.32.08.08 0 0 1-.03.1 12.29 12.29 0 0 1-1.9.91.08.08 0 0 0-.02.1 15.97 15.97 0 0 0 1.27 2.01h.04a19.84 19.84 0 0 0 6.03-3.05v-.03a20.12 20.12 0 0 0-3.57-13.69ZM8.02 15.33c-1.18 0-2.16-1.08-2.16-2.42 0-1.33.96-2.42 2.16-2.42 1.21 0 2.18 1.1 2.16 2.42 0 1.34-.96 2.42-2.16 2.42Zm7.97 0c-1.18 0-2.15-1.08-2.15-2.42 0-1.33.95-2.42 2.15-2.42 1.22 0 2.18 1.1 2.16 2.42 0 1.34-.94 2.42-2.16 2.42Z\" />\n            </svg>\n          </a>\n        </div>\n\n        {/* Clear Events Button */}\n        <button\n          className=\"bg-primary-800 text-primary-100 hover:bg-primary-700 mb-3 flex w-full items-center gap-2 rounded-md px-3 py-2 transition-colors\"\n          type=\"button\"\n          onClick={clearEvents}\n        >\n          <DeleteIcon width={16} height={16} className=\"fill-red-400 stroke-red-400\" />\n          <span className=\"text-sm\">Clear Events</span>\n        </button>\n\n        {/* Connection Status */}\n        <div className={cn(\"flex items-center gap-x-2 text-xs\", isOnline ? \"\" : \"text-red-400\")}>\n          <div className={cn(\"block h-2 w-2 rounded-full\", isOnline ? \"bg-green-400\" : \"animate-pulse bg-red-400\")} />\n          {isOnline ? \"Connected to Sidecar\" : \"Not connected to Sidecar\"}\n        </div>\n      </footer>\n    </nav>\n  );\n}\n\n","import { useEffect } from \"react\";\nimport { Route, Routes, useLocation } from \"react-router-dom\";\nimport { cn } from \"~/lib/cn\";\nimport { log } from \"~/lib/logger\";\nimport { getRouteStorageKey } from \"~/lib/routePersistence\";\nimport useSentryStore from \"../store\";\nimport ErrorsTab from \"../tabs/ErrorsTab\";\nimport InsightsTab from \"../tabs/InsightsTab\";\nimport LogsTab from \"../tabs/LogsTab\";\nimport TracesTab from \"../tabs/TracesTab\";\nimport { isErrorEvent } from \"../utils/sentry\";\nimport TelemetrySidebar from \"./TelemetrySidebar\";\n\nexport default function TelemetryView({\n  isOnline,\n  contextId,\n}: {\n  isOnline: boolean;\n  contextId: string;\n}) {\n  const location = useLocation();\n  const store = useSentryStore();\n\n  useEffect(() => {\n    try {\n      sessionStorage.setItem(getRouteStorageKey(contextId), location.pathname);\n    } catch (error) {\n      log(\"Failed to set current route to browser storage\", {\n        error,\n        currentPath: location.pathname,\n      });\n    }\n  }, [location.pathname, contextId]);\n\n  // Calculate notification counts for Sentry tabs\n  const errorCount = store.getEvents().reduce((sum, e) => sum + Number(isErrorEvent(e)), 0);\n\n  const traceCount = store.getTraces().length;\n\n  const logCount = store.getLogs().length;\n\n  const isElectron = globalThis.IN_DESKTOP_ENV;\n\n  return (\n    <div className=\"from-primary-900 to-primary-950 flex h-full overflow-hidden bg-gradient-to-br from-0% to-20% font-sans text-white\">\n      <TelemetrySidebar errorCount={errorCount} traceCount={traceCount} logCount={logCount} isOnline={isOnline} />\n      <div className={cn(\"flex-1 overflow-auto\", isElectron && \"pt-8\")}>\n        <Routes>\n          <Route path=\"not-found\" element={<p>Not Found - How'd you manage to get here?</p>} key=\"not-found\" />\n          <Route path=\"traces/*\" element={<TracesTab />} key=\"traces\" />\n          <Route path=\"errors/*\" element={<ErrorsTab />} key=\"errors\" />\n          <Route path=\"logs/*\" element={<LogsTab />} key=\"logs\" />\n          <Route path=\"insights/*\" element={<InsightsTab />} key=\"insights\" />\n          <Route path=\"\" element={<TracesTab />} key=\"default\" />\n        </Routes>\n      </div>\n    </div>\n  );\n}\n","import { SENTRY_CONTENT_TYPE } from \"@spotlightjs/sidecar/constants\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { removeURLSuffix } from \"~/lib/removeURLSuffix\";\nimport { log } from \"../lib/logger\";\nimport { connectToSidecar } from \"../sidecar\";\nimport TelemetryView from \"./components/TelemetryView\";\nimport useSentryStore from \"./store\";\n\nexport function setSidecarUrlInStore(url: string) {\n  const store = useSentryStore.getState();\n  const baseSidecarUrl = removeURLSuffix(url, \"/stream\");\n  store.setSidecarUrl(baseSidecarUrl);\n  log(\"Set sidecar URL for telemetry:\", baseSidecarUrl);\n}\n\ntype TelemetryRouteProps = {\n  sidecarUrl: string;\n};\n\nexport function Telemetry({ sidecarUrl }: TelemetryRouteProps) {\n  const [isOnline, setOnline] = useState(false);\n\n  log(\"TelemetryRoute render\", { isOnline });\n\n  const listener = useCallback((event: string): void => {\n    log(`Received new ${SENTRY_CONTENT_TYPE} event`);\n    const envelope = typeof event === \"string\" ? JSON.parse(event) : event;\n    useSentryStore.getState().pushEnvelope(envelope);\n  }, []);\n\n  const contentTypeListeners = useMemo(() => {\n    log(\"Adding listener for\", SENTRY_CONTENT_TYPE);\n\n    const result: Record<string, (event: string) => void> = Object.create(null);\n    result[SENTRY_CONTENT_TYPE] = listener;\n    result[`${SENTRY_CONTENT_TYPE};base64`] = event => listener(event);\n    return result;\n  }, [listener]);\n\n  useEffect(() => {\n    setSidecarUrlInStore(sidecarUrl);\n  }, [sidecarUrl]);\n\n  useEffect(\n    () => connectToSidecar(sidecarUrl, contentTypeListeners, setOnline) as () => undefined,\n    [sidecarUrl, contentTypeListeners],\n  );\n\n  return <TelemetryView isOnline={isOnline} contextId={sidecarUrl} />;\n}\n","import { Navigate, Route, Routes } from \"react-router-dom\";\nimport { ShikiProvider } from \"./ShikiProvider\";\n// TODO: we'll lazy load this in case of multiple routes\nimport { Telemetry } from \"./telemetry\";\n\ntype AppProps = {\n  sidecarUrl: string;\n};\n\nexport default function App({ sidecarUrl }: AppProps) {\n  return (\n    <ShikiProvider>\n      <Routes>\n        {/* Default route redirects to telemetry */}\n        <Route path=\"/\" element={<Navigate to=\"/telemetry\" replace />} />\n\n        <Route path=\"/telemetry/*\" element={<Telemetry sidecarUrl={sidecarUrl} />} />\n      </Routes>\n    </ShikiProvider>\n  );\n}\n","import type { ReactNode } from \"react\";\nimport { BrowserRouter, HashRouter } from \"react-router-dom\";\n\ninterface RouterProps {\n  children: ReactNode;\n}\n\n/**\n * Router that chooses the appropriate router based on the environment:\n * - BrowserRouter for standalone web apps (clean URLs)\n * - HashRouter for Electron apps (file:// protocol)\n */\nexport function Router({ children }: RouterProps) {\n  // Detect if we're running in Electron (file:// protocol)\n  const isElectron = typeof window !== \"undefined\" && window.location.protocol === \"file:\";\n\n  if (isElectron) {\n    return <HashRouter>{children}</HashRouter>;\n  }\n\n  return <BrowserRouter>{children}</BrowserRouter>;\n}\n","import { GLOBAL_OBJ, getOriginalFunction, markFunctionWrapped, addNonEnumerableProperty, withScope, addExceptionTypeValue, addExceptionMechanism, captureException, getLocationHref } from '@sentry/core';\n\nconst WINDOW = GLOBAL_OBJ ;\n\nlet ignoreOnError = 0;\n\n/**\n * @hidden\n */\nfunction shouldIgnoreOnError() {\n  return ignoreOnError > 0;\n}\n\n/**\n * @hidden\n */\nfunction ignoreNextOnError() {\n  // onerror should trigger before setTimeout\n  ignoreOnError++;\n  setTimeout(() => {\n    ignoreOnError--;\n  });\n}\n\n// eslint-disable-next-line @typescript-eslint/ban-types\n\n/**\n * Instruments the given function and sends an event to Sentry every time the\n * function throws an exception.\n *\n * @param fn A function to wrap. It is generally safe to pass an unbound function, because the returned wrapper always\n * has a correct `this` context.\n * @returns The wrapped function.\n * @hidden\n */\nfunction wrap(\n  fn,\n  options\n\n = {},\n) {\n  // for future readers what this does is wrap a function and then create\n  // a bi-directional wrapping between them.\n  //\n  // example: wrapped = wrap(original);\n  //  original.__sentry_wrapped__ -> wrapped\n  //  wrapped.__sentry_original__ -> original\n\n  function isFunction(fn) {\n    return typeof fn === 'function';\n  }\n\n  if (!isFunction(fn)) {\n    return fn;\n  }\n\n  try {\n    // if we're dealing with a function that was previously wrapped, return\n    // the original wrapper.\n    const wrapper = (fn ).__sentry_wrapped__;\n    if (wrapper) {\n      if (typeof wrapper === 'function') {\n        return wrapper;\n      } else {\n        // If we find that the `__sentry_wrapped__` function is not a function at the time of accessing it, it means\n        // that something messed with it. In that case we want to return the originally passed function.\n        return fn;\n      }\n    }\n\n    // We don't wanna wrap it twice\n    if (getOriginalFunction(fn)) {\n      return fn;\n    }\n  } catch {\n    // Just accessing custom props in some Selenium environments\n    // can cause a \"Permission denied\" exception (see raven-js#495).\n    // Bail on wrapping and return the function as-is (defers to window.onerror).\n    return fn;\n  }\n\n  // Wrap the function itself\n  // It is important that `sentryWrapped` is not an arrow function to preserve the context of `this`\n  const sentryWrapped = function ( ...args) {\n    try {\n      // Also wrap arguments that are themselves functions\n      const wrappedArguments = args.map(arg => wrap(arg, options));\n\n      // Attempt to invoke user-land function\n      // NOTE: If you are a Sentry user, and you are seeing this stack frame, it\n      //       means the sentry.javascript SDK caught an error invoking your application code. This\n      //       is expected behavior and NOT indicative of a bug with sentry.javascript.\n      return fn.apply(this, wrappedArguments);\n    } catch (ex) {\n      ignoreNextOnError();\n\n      withScope(scope => {\n        scope.addEventProcessor(event => {\n          if (options.mechanism) {\n            addExceptionTypeValue(event, undefined, undefined);\n            addExceptionMechanism(event, options.mechanism);\n          }\n\n          event.extra = {\n            ...event.extra,\n            arguments: args,\n          };\n\n          return event;\n        });\n\n        captureException(ex);\n      });\n\n      throw ex;\n    }\n  } ;\n\n  // Wrap the wrapped function in a proxy, to ensure any other properties of the original function remain available\n  try {\n    for (const property in fn) {\n      if (Object.prototype.hasOwnProperty.call(fn, property)) {\n        sentryWrapped[property ] = fn[property ];\n      }\n    }\n  } catch {\n    // Accessing some objects may throw\n    // ref: https://github.com/getsentry/sentry-javascript/issues/1168\n  }\n\n  // Signal that this function has been wrapped/filled already\n  // for both debugging and to prevent it to being wrapped/filled twice\n  markFunctionWrapped(sentryWrapped, fn);\n\n  addNonEnumerableProperty(fn, '__sentry_wrapped__', sentryWrapped);\n\n  // Restore original function name (not all browsers allow that)\n  try {\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    const descriptor = Object.getOwnPropertyDescriptor(sentryWrapped, 'name');\n    if (descriptor.configurable) {\n      Object.defineProperty(sentryWrapped, 'name', {\n        get() {\n          return fn.name;\n        },\n      });\n    }\n  } catch {\n    // This may throw if e.g. the descriptor does not exist, or a browser does not allow redefining `name`.\n    // to save some bytes we simply try-catch this\n  }\n\n  return sentryWrapped;\n}\n\n/**\n * Get HTTP request data from the current page.\n */\nfunction getHttpRequestData() {\n  // grab as much info as exists and add it to the event\n  const url = getLocationHref();\n  const { referrer } = WINDOW.document || {};\n  const { userAgent } = WINDOW.navigator || {};\n\n  const headers = {\n    ...(referrer && { Referer: referrer }),\n    ...(userAgent && { 'User-Agent': userAgent }),\n  };\n  const request = {\n    url,\n    headers,\n  };\n\n  return request;\n}\n\nexport { WINDOW, getHttpRequestData, ignoreNextOnError, shouldIgnoreOnError, wrap };\n//# sourceMappingURL=helpers.js.map\n","import { isErrorEvent, isDOMError, isDOMException, addExceptionTypeValue, isError, isPlainObject, isEvent, addExceptionMechanism, isParameterizedString, getClient, normalizeToSize, extractExceptionKeysForMessage, resolvedSyncPromise } from '@sentry/core';\n\n/**\n * This function creates an exception from a JavaScript Error\n */\nfunction exceptionFromError(stackParser, ex) {\n  // Get the frames first since Opera can lose the stack if we touch anything else first\n  const frames = parseStackFrames(stackParser, ex);\n\n  const exception = {\n    type: extractType(ex),\n    value: extractMessage(ex),\n  };\n\n  if (frames.length) {\n    exception.stacktrace = { frames };\n  }\n\n  if (exception.type === undefined && exception.value === '') {\n    exception.value = 'Unrecoverable error caught';\n  }\n\n  return exception;\n}\n\nfunction eventFromPlainObject(\n  stackParser,\n  exception,\n  syntheticException,\n  isUnhandledRejection,\n) {\n  const client = getClient();\n  const normalizeDepth = client?.getOptions().normalizeDepth;\n\n  // If we can, we extract an exception from the object properties\n  const errorFromProp = getErrorPropertyFromObject(exception);\n\n  const extra = {\n    __serialized__: normalizeToSize(exception, normalizeDepth),\n  };\n\n  if (errorFromProp) {\n    return {\n      exception: {\n        values: [exceptionFromError(stackParser, errorFromProp)],\n      },\n      extra,\n    };\n  }\n\n  const event = {\n    exception: {\n      values: [\n        {\n          type: isEvent(exception) ? exception.constructor.name : isUnhandledRejection ? 'UnhandledRejection' : 'Error',\n          value: getNonErrorObjectExceptionValue(exception, { isUnhandledRejection }),\n        } ,\n      ],\n    },\n    extra,\n  } ;\n\n  if (syntheticException) {\n    const frames = parseStackFrames(stackParser, syntheticException);\n    if (frames.length) {\n      // event.exception.values[0] has been set above\n      // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n      event.exception.values[0].stacktrace = { frames };\n    }\n  }\n\n  return event;\n}\n\nfunction eventFromError(stackParser, ex) {\n  return {\n    exception: {\n      values: [exceptionFromError(stackParser, ex)],\n    },\n  };\n}\n\n/** Parses stack frames from an error */\nfunction parseStackFrames(\n  stackParser,\n  ex,\n) {\n  // Access and store the stacktrace property before doing ANYTHING\n  // else to it because Opera is not very good at providing it\n  // reliably in other circumstances.\n  const stacktrace = ex.stacktrace || ex.stack || '';\n\n  const skipLines = getSkipFirstStackStringLines(ex);\n  const framesToPop = getPopFirstTopFrames(ex);\n\n  try {\n    return stackParser(stacktrace, skipLines, framesToPop);\n  } catch {\n    // no-empty\n  }\n\n  return [];\n}\n\n// Based on our own mapping pattern - https://github.com/getsentry/sentry/blob/9f08305e09866c8bd6d0c24f5b0aabdd7dd6c59c/src/sentry/lang/javascript/errormapping.py#L83-L108\nconst reactMinifiedRegexp = /Minified React error #\\d+;/i;\n\n/**\n * Certain known React errors contain links that would be falsely\n * parsed as frames. This function check for these errors and\n * returns number of the stack string lines to skip.\n */\nfunction getSkipFirstStackStringLines(ex) {\n  if (ex && reactMinifiedRegexp.test(ex.message)) {\n    return 1;\n  }\n\n  return 0;\n}\n\n/**\n * If error has `framesToPop` property, it means that the\n * creator tells us the first x frames will be useless\n * and should be discarded. Typically error from wrapper function\n * which don't point to the actual location in the developer's code.\n *\n * Example: https://github.com/zertosh/invariant/blob/master/invariant.js#L46\n */\nfunction getPopFirstTopFrames(ex) {\n  if (typeof ex.framesToPop === 'number') {\n    return ex.framesToPop;\n  }\n\n  return 0;\n}\n\n// https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Exception\n// @ts-expect-error - WebAssembly.Exception is a valid class\nfunction isWebAssemblyException(exception) {\n  // Check for support\n  // @ts-expect-error - WebAssembly.Exception is a valid class\n  if (typeof WebAssembly !== 'undefined' && typeof WebAssembly.Exception !== 'undefined') {\n    // @ts-expect-error - WebAssembly.Exception is a valid class\n    return exception instanceof WebAssembly.Exception;\n  } else {\n    return false;\n  }\n}\n\n/**\n * Extracts from errors what we use as the exception `type` in error events.\n *\n * Usually, this is the `name` property on Error objects but WASM errors need to be treated differently.\n */\nfunction extractType(ex) {\n  const name = ex?.name;\n\n  // The name for WebAssembly.Exception Errors needs to be extracted differently.\n  // Context: https://github.com/getsentry/sentry-javascript/issues/13787\n  if (!name && isWebAssemblyException(ex)) {\n    // Emscripten sets array[type, message] to the \"message\" property on the WebAssembly.Exception object\n    const hasTypeInMessage = ex.message && Array.isArray(ex.message) && ex.message.length == 2;\n    return hasTypeInMessage ? ex.message[0] : 'WebAssembly.Exception';\n  }\n\n  return name;\n}\n\n/**\n * There are cases where stacktrace.message is an Event object\n * https://github.com/getsentry/sentry-javascript/issues/1949\n * In this specific case we try to extract stacktrace.message.error.message\n */\nfunction extractMessage(ex) {\n  const message = ex?.message;\n\n  if (isWebAssemblyException(ex)) {\n    // For Node 18, Emscripten sets array[type, message] to the \"message\" property on the WebAssembly.Exception object\n    if (Array.isArray(ex.message) && ex.message.length == 2) {\n      return ex.message[1];\n    }\n    return 'wasm exception';\n  }\n\n  if (!message) {\n    return 'No error message';\n  }\n\n  if (message.error && typeof message.error.message === 'string') {\n    return message.error.message;\n  }\n\n  return message;\n}\n\n/**\n * Creates an {@link Event} from all inputs to `captureException` and non-primitive inputs to `captureMessage`.\n * @hidden\n */\nfunction eventFromException(\n  stackParser,\n  exception,\n  hint,\n  attachStacktrace,\n) {\n  const syntheticException = hint?.syntheticException || undefined;\n  const event = eventFromUnknownInput(stackParser, exception, syntheticException, attachStacktrace);\n  addExceptionMechanism(event); // defaults to { type: 'generic', handled: true }\n  event.level = 'error';\n  if (hint?.event_id) {\n    event.event_id = hint.event_id;\n  }\n  return resolvedSyncPromise(event);\n}\n\n/**\n * Builds and Event from a Message\n * @hidden\n */\nfunction eventFromMessage(\n  stackParser,\n  message,\n  level = 'info',\n  hint,\n  attachStacktrace,\n) {\n  const syntheticException = hint?.syntheticException || undefined;\n  const event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n  event.level = level;\n  if (hint?.event_id) {\n    event.event_id = hint.event_id;\n  }\n  return resolvedSyncPromise(event);\n}\n\n/**\n * @hidden\n */\nfunction eventFromUnknownInput(\n  stackParser,\n  exception,\n  syntheticException,\n  attachStacktrace,\n  isUnhandledRejection,\n) {\n  let event;\n\n  if (isErrorEvent(exception ) && (exception ).error) {\n    // If it is an ErrorEvent with `error` property, extract it to get actual Error\n    const errorEvent = exception ;\n    return eventFromError(stackParser, errorEvent.error );\n  }\n\n  // If it is a `DOMError` (which is a legacy API, but still supported in some browsers) then we just extract the name\n  // and message, as it doesn't provide anything else. According to the spec, all `DOMExceptions` should also be\n  // `Error`s, but that's not the case in IE11, so in that case we treat it the same as we do a `DOMError`.\n  //\n  // https://developer.mozilla.org/en-US/docs/Web/API/DOMError\n  // https://developer.mozilla.org/en-US/docs/Web/API/DOMException\n  // https://webidl.spec.whatwg.org/#es-DOMException-specialness\n  if (isDOMError(exception) || isDOMException(exception )) {\n    const domException = exception ;\n\n    if ('stack' in (exception )) {\n      event = eventFromError(stackParser, exception );\n    } else {\n      const name = domException.name || (isDOMError(domException) ? 'DOMError' : 'DOMException');\n      const message = domException.message ? `${name}: ${domException.message}` : name;\n      event = eventFromString(stackParser, message, syntheticException, attachStacktrace);\n      addExceptionTypeValue(event, message);\n    }\n    if ('code' in domException) {\n      // eslint-disable-next-line deprecation/deprecation\n      event.tags = { ...event.tags, 'DOMException.code': `${domException.code}` };\n    }\n\n    return event;\n  }\n  if (isError(exception)) {\n    // we have a real Error object, do nothing\n    return eventFromError(stackParser, exception);\n  }\n  if (isPlainObject(exception) || isEvent(exception)) {\n    // If it's a plain object or an instance of `Event` (the built-in JS kind, not this SDK's `Event` type), serialize\n    // it manually. This will allow us to group events based on top-level keys which is much better than creating a new\n    // group on any key/value change.\n    const objectException = exception ;\n    event = eventFromPlainObject(stackParser, objectException, syntheticException, isUnhandledRejection);\n    addExceptionMechanism(event, {\n      synthetic: true,\n    });\n    return event;\n  }\n\n  // If none of previous checks were valid, then it means that it's not:\n  // - an instance of DOMError\n  // - an instance of DOMException\n  // - an instance of Event\n  // - an instance of Error\n  // - a valid ErrorEvent (one with an error property)\n  // - a plain Object\n  //\n  // So bail out and capture it as a simple message:\n  event = eventFromString(stackParser, exception , syntheticException, attachStacktrace);\n  addExceptionTypeValue(event, `${exception}`, undefined);\n  addExceptionMechanism(event, {\n    synthetic: true,\n  });\n\n  return event;\n}\n\nfunction eventFromString(\n  stackParser,\n  message,\n  syntheticException,\n  attachStacktrace,\n) {\n  const event = {};\n\n  if (attachStacktrace && syntheticException) {\n    const frames = parseStackFrames(stackParser, syntheticException);\n    if (frames.length) {\n      event.exception = {\n        values: [{ value: message, stacktrace: { frames } }],\n      };\n    }\n    addExceptionMechanism(event, { synthetic: true });\n  }\n\n  if (isParameterizedString(message)) {\n    const { __sentry_template_string__, __sentry_template_values__ } = message;\n\n    event.logentry = {\n      message: __sentry_template_string__,\n      params: __sentry_template_values__,\n    };\n    return event;\n  }\n\n  event.message = message;\n  return event;\n}\n\nfunction getNonErrorObjectExceptionValue(\n  exception,\n  { isUnhandledRejection },\n) {\n  const keys = extractExceptionKeysForMessage(exception);\n  const captureType = isUnhandledRejection ? 'promise rejection' : 'exception';\n\n  // Some ErrorEvent instances do not have an `error` property, which is why they are not handled before\n  // We still want to try to get a decent message for these cases\n  if (isErrorEvent(exception)) {\n    return `Event \\`ErrorEvent\\` captured as ${captureType} with message \\`${exception.message}\\``;\n  }\n\n  if (isEvent(exception)) {\n    const className = getObjectClassName(exception);\n    return `Event \\`${className}\\` (type=${exception.type}) captured as ${captureType}`;\n  }\n\n  return `Object captured as ${captureType} with keys: ${keys}`;\n}\n\nfunction getObjectClassName(obj) {\n  try {\n    const prototype = Object.getPrototypeOf(obj);\n    return prototype ? prototype.constructor.name : undefined;\n  } catch {\n    // ignore errors here\n  }\n}\n\n/** If a plain object has a property that is an `Error`, return this error. */\nfunction getErrorPropertyFromObject(obj) {\n  for (const prop in obj) {\n    if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n      const value = obj[prop];\n      if (value instanceof Error) {\n        return value;\n      }\n    }\n  }\n\n  return undefined;\n}\n\nexport { eventFromException, eventFromMessage, eventFromUnknownInput, exceptionFromError, extractMessage, extractType };\n//# sourceMappingURL=eventbuilder.js.map\n","import { Client, getSDKSource, applySdkMetadata, _INTERNAL_flushLogsBuffer, addAutoIpAddressToSession } from '@sentry/core';\nimport { eventFromException, eventFromMessage } from './eventbuilder.js';\nimport { WINDOW } from './helpers.js';\n\n/**\n * A magic string that build tooling can leverage in order to inject a release value into the SDK.\n */\n\nconst DEFAULT_FLUSH_INTERVAL = 5000;\n\n/**\n * The Sentry Browser SDK Client.\n *\n * @see BrowserOptions for documentation on configuration options.\n * @see SentryClient for usage documentation.\n */\nclass BrowserClient extends Client {\n\n  /**\n   * Creates a new Browser SDK instance.\n   *\n   * @param options Configuration options for this SDK.\n   */\n   constructor(options) {\n    const opts = applyDefaultOptions(options);\n    const sdkSource = WINDOW.SENTRY_SDK_SOURCE || getSDKSource();\n    applySdkMetadata(opts, 'browser', ['browser'], sdkSource);\n\n    // Only allow IP inferral by Relay if sendDefaultPii is true\n    if (opts._metadata?.sdk) {\n      opts._metadata.sdk.settings = {\n        infer_ip: opts.sendDefaultPii ? 'auto' : 'never',\n        // purposefully allowing already passed settings to override the default\n        ...opts._metadata.sdk.settings,\n      };\n    }\n\n    super(opts);\n\n    const { sendDefaultPii, sendClientReports, enableLogs } = this._options;\n\n    if (WINDOW.document && (sendClientReports || enableLogs)) {\n      WINDOW.document.addEventListener('visibilitychange', () => {\n        if (WINDOW.document.visibilityState === 'hidden') {\n          if (sendClientReports) {\n            this._flushOutcomes();\n          }\n          if (enableLogs) {\n            _INTERNAL_flushLogsBuffer(this);\n          }\n        }\n      });\n    }\n\n    if (enableLogs) {\n      this.on('flush', () => {\n        _INTERNAL_flushLogsBuffer(this);\n      });\n\n      this.on('afterCaptureLog', () => {\n        if (this._logFlushIdleTimeout) {\n          clearTimeout(this._logFlushIdleTimeout);\n        }\n\n        this._logFlushIdleTimeout = setTimeout(() => {\n          _INTERNAL_flushLogsBuffer(this);\n        }, DEFAULT_FLUSH_INTERVAL);\n      });\n    }\n\n    if (sendDefaultPii) {\n      this.on('beforeSendSession', addAutoIpAddressToSession);\n    }\n  }\n\n  /**\n   * @inheritDoc\n   */\n   eventFromException(exception, hint) {\n    return eventFromException(this._options.stackParser, exception, hint, this._options.attachStacktrace);\n  }\n\n  /**\n   * @inheritDoc\n   */\n   eventFromMessage(\n    message,\n    level = 'info',\n    hint,\n  ) {\n    return eventFromMessage(this._options.stackParser, message, level, hint, this._options.attachStacktrace);\n  }\n\n  /**\n   * @inheritDoc\n   */\n   _prepareEvent(\n    event,\n    hint,\n    currentScope,\n    isolationScope,\n  ) {\n    event.platform = event.platform || 'javascript';\n\n    return super._prepareEvent(event, hint, currentScope, isolationScope);\n  }\n}\n\n/** Exported only for tests. */\nfunction applyDefaultOptions(optionsArg) {\n  return {\n    release:\n      typeof __SENTRY_RELEASE__ === 'string' // This allows build tooling to find-and-replace __SENTRY_RELEASE__ to inject a release value\n        ? __SENTRY_RELEASE__\n        : WINDOW.SENTRY_RELEASE?.id, // This supports the variable that sentry-webpack-plugin injects\n    sendClientReports: true,\n    // We default this to true, as it is the safer scenario\n    parentSpanIsAlwaysRootSpan: true,\n    ...optionsArg,\n  };\n}\n\nexport { BrowserClient, applyDefaultOptions };\n//# sourceMappingURL=client.js.map\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { GLOBAL_OBJ } from '@sentry/core';\n\nconst WINDOW = GLOBAL_OBJ\n\n;\n\nexport { WINDOW };\n//# sourceMappingURL=types.js.map\n","const getRating = (value, thresholds) => {\n  if (value > thresholds[1]) {\n    return 'poor';\n  }\n  if (value > thresholds[0]) {\n    return 'needs-improvement';\n  }\n  return 'good';\n};\n\nconst bindReporter = (\n  callback,\n  metric,\n  thresholds,\n  reportAllChanges,\n) => {\n  let prevValue;\n  let delta;\n  return (forceReport) => {\n    if (metric.value >= 0) {\n      if (forceReport || reportAllChanges) {\n        delta = metric.value - (prevValue ?? 0);\n\n        // Report the metric if there's a non-zero delta or if no previous\n        // value exists (which can happen in the case of the document becoming\n        // hidden when the metric value is 0).\n        // See: https://github.com/GoogleChrome/web-vitals/issues/14\n        if (delta || prevValue === undefined) {\n          prevValue = metric.value;\n          metric.delta = delta;\n          metric.rating = getRating(metric.value, thresholds);\n          callback(metric);\n        }\n      }\n    }\n  };\n};\n\nexport { bindReporter };\n//# sourceMappingURL=bindReporter.js.map\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Performantly generate a unique, 30-char string by combining a version\n * number, the current timestamp with a 13-digit number integer.\n * @return {string}\n */\nconst generateUniqueID = () => {\n  return `v5-${Date.now()}-${Math.floor(Math.random() * (9e12 - 1)) + 1e12}`;\n};\n\nexport { generateUniqueID };\n//# sourceMappingURL=generateUniqueID.js.map\n","import { WINDOW } from '../../../types.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// sentry-specific change:\n// add optional param to not check for responseStart (see comment below)\nconst getNavigationEntry = (checkResponseStart = true) => {\n  const navigationEntry = WINDOW.performance?.getEntriesByType?.('navigation')[0];\n  // Check to ensure the `responseStart` property is present and valid.\n  // In some cases a zero value is reported by the browser (for\n  // privacy/security reasons), and in other cases (bugs) the value is\n  // negative or is larger than the current page time. Ignore these cases:\n  // - https://github.com/GoogleChrome/web-vitals/issues/137\n  // - https://github.com/GoogleChrome/web-vitals/issues/162\n  // - https://github.com/GoogleChrome/web-vitals/issues/275\n  if (\n    // sentry-specific change:\n    // We don't want to check for responseStart for our own use of `getNavigationEntry`\n    !checkResponseStart ||\n    (navigationEntry && navigationEntry.responseStart > 0 && navigationEntry.responseStart < performance.now())\n  ) {\n    return navigationEntry;\n  }\n};\n\nexport { getNavigationEntry };\n//# sourceMappingURL=getNavigationEntry.js.map\n","import { getNavigationEntry } from './getNavigationEntry.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst getActivationStart = () => {\n  const navEntry = getNavigationEntry();\n  return navEntry?.activationStart ?? 0;\n};\n\nexport { getActivationStart };\n//# sourceMappingURL=getActivationStart.js.map\n","import { WINDOW } from '../../../types.js';\nimport { generateUniqueID } from './generateUniqueID.js';\nimport { getActivationStart } from './getActivationStart.js';\nimport { getNavigationEntry } from './getNavigationEntry.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst initMetric = (name, value = -1) => {\n  const navEntry = getNavigationEntry();\n  let navigationType = 'navigate';\n\n  if (navEntry) {\n    if (WINDOW.document?.prerendering || getActivationStart() > 0) {\n      navigationType = 'prerender';\n    } else if (WINDOW.document?.wasDiscarded) {\n      navigationType = 'restore';\n    } else if (navEntry.type) {\n      navigationType = navEntry.type.replace(/_/g, '-') ;\n    }\n  }\n\n  // Use `entries` type specific for the metric.\n  const entries = [];\n\n  return {\n    name,\n    value,\n    rating: 'good' , // If needed, will be updated when reported. `const` to keep the type from widening to `string`.\n    delta: 0,\n    entries,\n    id: generateUniqueID(),\n    navigationType,\n  };\n};\n\nexport { initMetric };\n//# sourceMappingURL=initMetric.js.map\n","/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst instanceMap = new WeakMap();\n\n/**\n * A function that accepts and identity object and a class object and returns\n * either a new instance of that class or an existing instance, if the\n * identity object was previously used.\n */\nfunction initUnique(identityObj, ClassObj) {\n  if (!instanceMap.get(identityObj)) {\n    instanceMap.set(identityObj, new ClassObj());\n  }\n  return instanceMap.get(identityObj) ;\n}\n\nexport { initUnique };\n//# sourceMappingURL=initUnique.js.map\n","/* eslint-disable jsdoc/require-jsdoc */\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nclass LayoutShiftManager {constructor() { LayoutShiftManager.prototype.__init.call(this);LayoutShiftManager.prototype.__init2.call(this); }\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\n  // eslint-disable-next-line @sentry-internal/sdk/no-class-field-initializers, @typescript-eslint/explicit-member-accessibility\n  __init() {this._sessionValue = 0;}\n  // eslint-disable-next-line @sentry-internal/sdk/no-class-field-initializers, @typescript-eslint/explicit-member-accessibility\n  __init2() {this._sessionEntries = [];}\n\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n  _processEntry(entry) {\n    // Only count layout shifts without recent user input.\n    if (entry.hadRecentInput) return;\n\n    const firstSessionEntry = this._sessionEntries[0];\n    // This previously used `this._sessionEntries.at(-1)` but that is ES2022. We support ES2021 and earlier.\n    const lastSessionEntry = this._sessionEntries[this._sessionEntries.length - 1];\n\n    // If the entry occurred less than 1 second after the previous entry\n    // and less than 5 seconds after the first entry in the session,\n    // include the entry in the current session. Otherwise, start a new\n    // session.\n    if (\n      this._sessionValue &&\n      firstSessionEntry &&\n      lastSessionEntry &&\n      entry.startTime - lastSessionEntry.startTime < 1000 &&\n      entry.startTime - firstSessionEntry.startTime < 5000\n    ) {\n      this._sessionValue += entry.value;\n      this._sessionEntries.push(entry);\n    } else {\n      this._sessionValue = entry.value;\n      this._sessionEntries = [entry];\n    }\n\n    this._onAfterProcessingUnexpectedShift?.(entry);\n  }\n}\n\nexport { LayoutShiftManager };\n//# sourceMappingURL=LayoutShiftManager.js.map\n","/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Takes a performance entry type and a callback function, and creates a\n * `PerformanceObserver` instance that will observe the specified entry type\n * with buffering enabled and call the callback _for each entry_.\n *\n * This function also feature-detects entry support and wraps the logic in a\n * try/catch to avoid errors in unsupporting browsers.\n */\nconst observe = (\n  type,\n  callback,\n  opts = {},\n) => {\n  try {\n    if (PerformanceObserver.supportedEntryTypes.includes(type)) {\n      const po = new PerformanceObserver(list => {\n        // Delay by a microtask to workaround a bug in Safari where the\n        // callback is invoked immediately, rather than in a separate task.\n        // See: https://github.com/GoogleChrome/web-vitals/issues/277\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\n        Promise.resolve().then(() => {\n          callback(list.getEntries() );\n        });\n      });\n      po.observe({ type, buffered: true, ...opts });\n      return po;\n    }\n  } catch {\n    // Do nothing.\n  }\n  return;\n};\n\nexport { observe };\n//# sourceMappingURL=observe.js.map\n","/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst runOnce = (cb) => {\n  let called = false;\n  return () => {\n    if (!called) {\n      cb();\n      called = true;\n    }\n  };\n};\n\nexport { runOnce };\n//# sourceMappingURL=runOnce.js.map\n","import { WINDOW } from '../../../types.js';\nimport { getActivationStart } from './getActivationStart.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet firstHiddenTime = -1;\n\nconst initHiddenTime = () => {\n  // If the document is hidden when this code runs, assume it was always\n  // hidden and the page was loaded in the background, with the one exception\n  // that visibility state is always 'hidden' during prerendering, so we have\n  // to ignore that case until prerendering finishes (see: `prerenderingchange`\n  // event logic below).\n  return WINDOW.document?.visibilityState === 'hidden' && !WINDOW.document?.prerendering ? 0 : Infinity;\n};\n\nconst onVisibilityUpdate = (event) => {\n  // If the document is 'hidden' and no previous hidden timestamp has been\n  // set, update it based on the current event data.\n  if (WINDOW.document.visibilityState === 'hidden' && firstHiddenTime > -1) {\n    // If the event is a 'visibilitychange' event, it means the page was\n    // visible prior to this change, so the event timestamp is the first\n    // hidden time.\n    // However, if the event is not a 'visibilitychange' event, then it must\n    // be a 'prerenderingchange' event, and the fact that the document is\n    // still 'hidden' from the above check means the tab was activated\n    // in a background state and so has always been hidden.\n    firstHiddenTime = event.type === 'visibilitychange' ? event.timeStamp : 0;\n\n    // Remove all listeners now that a `firstHiddenTime` value has been set.\n    removeChangeListeners();\n  }\n};\n\nconst addChangeListeners = () => {\n  addEventListener('visibilitychange', onVisibilityUpdate, true);\n  // IMPORTANT: when a page is prerendering, its `visibilityState` is\n  // 'hidden', so in order to account for cases where this module checks for\n  // visibility during prerendering, an additional check after prerendering\n  // completes is also required.\n  addEventListener('prerenderingchange', onVisibilityUpdate, true);\n};\n\nconst removeChangeListeners = () => {\n  removeEventListener('visibilitychange', onVisibilityUpdate, true);\n  removeEventListener('prerenderingchange', onVisibilityUpdate, true);\n};\n\nconst getVisibilityWatcher = () => {\n  if (WINDOW.document && firstHiddenTime < 0) {\n    // Check if we have a previous hidden `visibility-state` performance entry.\n    const activationStart = getActivationStart();\n    const firstVisibilityStateHiddenTime = !WINDOW.document.prerendering\n      ? globalThis.performance\n          .getEntriesByType('visibility-state')\n          .filter(e => e.name === 'hidden' && e.startTime > activationStart)[0]?.startTime\n      : undefined;\n\n    // Prefer that, but if it's not available and the document is hidden when\n    // this code runs, assume it was hidden since navigation start. This isn't\n    // a perfect heuristic, but it's the best we can do until the\n    // `visibility-state` performance entry becomes available in all browsers.\n    firstHiddenTime = firstVisibilityStateHiddenTime ?? initHiddenTime();\n    // We're still going to listen to for changes so we can handle things like\n    // bfcache restores and/or prerender without having to examine individual\n    // timestamps in detail.\n    addChangeListeners();\n  }\n  return {\n    get firstHiddenTime() {\n      return firstHiddenTime;\n    },\n  };\n};\n\nexport { getVisibilityWatcher };\n//# sourceMappingURL=getVisibilityWatcher.js.map\n","import { WINDOW } from '../../../types.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst whenActivated = (callback) => {\n  if (WINDOW.document?.prerendering) {\n    addEventListener('prerenderingchange', () => callback(), true);\n  } else {\n    callback();\n  }\n};\n\nexport { whenActivated };\n//# sourceMappingURL=whenActivated.js.map\n","import { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { observe } from './lib/observe.js';\nimport { whenActivated } from './lib/whenActivated.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for FCP. See https://web.dev/articles/fcp#what_is_a_good_fcp_score */\nconst FCPThresholds = [1800, 3000];\n\n/**\n * Calculates the [FCP](https://web.dev/articles/fcp) value for the current page and\n * calls the `callback` function once the value is ready, along with the\n * relevant `paint` performance entry used to determine the value. The reported\n * value is a `DOMHighResTimeStamp`.\n */\nconst onFCP = (onReport, opts = {}) => {\n  whenActivated(() => {\n    const visibilityWatcher = getVisibilityWatcher();\n    const metric = initMetric('FCP');\n    let report;\n\n    const handleEntries = (entries) => {\n      for (const entry of entries) {\n        if (entry.name === 'first-contentful-paint') {\n          po.disconnect();\n\n          // Only report if the page wasn't hidden prior to the first paint.\n          if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n            // The activationStart reference is used because FCP should be\n            // relative to page activation rather than navigation start if the\n            // page was prerendered. But in cases where `activationStart` occurs\n            // after the FCP, this time should be clamped at 0.\n            metric.value = Math.max(entry.startTime - getActivationStart(), 0);\n            metric.entries.push(entry);\n            report(true);\n          }\n        }\n      }\n    };\n\n    const po = observe('paint', handleEntries);\n\n    if (po) {\n      report = bindReporter(onReport, metric, FCPThresholds, opts.reportAllChanges);\n    }\n  });\n};\n\nexport { FCPThresholds, onFCP };\n//# sourceMappingURL=onFCP.js.map\n","import { WINDOW } from '../../types.js';\nimport { bindReporter } from './lib/bindReporter.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { initUnique } from './lib/initUnique.js';\nimport { LayoutShiftManager } from './lib/LayoutShiftManager.js';\nimport { observe } from './lib/observe.js';\nimport { runOnce } from './lib/runOnce.js';\nimport { onFCP } from './onFCP.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for CLS. See https://web.dev/articles/cls#what_is_a_good_cls_score */\nconst CLSThresholds = [0.1, 0.25];\n\n/**\n * Calculates the [CLS](https://web.dev/articles/cls) value for the current page and\n * calls the `callback` function once the value is ready to be reported, along\n * with all `layout-shift` performance entries that were used in the metric\n * value calculation. The reported value is a `double` (corresponding to a\n * [layout shift score](https://web.dev/articles/cls#layout_shift_score)).\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called as soon as the value is initially\n * determined as well as any time the value changes throughout the page\n * lifespan.\n *\n * _**Important:** CLS should be continually monitored for changes throughout\n * the entire lifespan of a page—including if the user returns to the page after\n * it's been hidden/backgrounded. However, since browsers often [will not fire\n * additional callbacks once the user has backgrounded a\n * page](https://developer.chrome.com/blog/page-lifecycle-api/#advice-hidden),\n * `callback` is always called when the page's visibility state changes to\n * hidden. As a result, the `callback` function might be called multiple times\n * during the same page load._\n */\nconst onCLS = (onReport, opts = {}) => {\n  // Start monitoring FCP so we can only report CLS if FCP is also reported.\n  // Note: this is done to match the current behavior of CrUX.\n  onFCP(\n    runOnce(() => {\n      const metric = initMetric('CLS', 0);\n      let report;\n\n      const layoutShiftManager = initUnique(opts, LayoutShiftManager);\n\n      const handleEntries = (entries) => {\n        for (const entry of entries) {\n          layoutShiftManager._processEntry(entry);\n        }\n\n        // If the current session value is larger than the current CLS value,\n        // update CLS and the entries contributing to it.\n        if (layoutShiftManager._sessionValue > metric.value) {\n          metric.value = layoutShiftManager._sessionValue;\n          metric.entries = layoutShiftManager._sessionEntries;\n          report();\n        }\n      };\n\n      const po = observe('layout-shift', handleEntries);\n      if (po) {\n        report = bindReporter(onReport, metric, CLSThresholds, opts.reportAllChanges);\n\n        WINDOW.document?.addEventListener('visibilitychange', () => {\n          if (WINDOW.document?.visibilityState === 'hidden') {\n            handleEntries(po.takeRecords() );\n            report(true);\n          }\n        });\n\n        // Queue a task to report (if nothing else triggers a report first).\n        // This allows CLS to be reported as soon as FCP fires when\n        // `reportAllChanges` is true.\n        WINDOW?.setTimeout?.(report);\n      }\n    }),\n  );\n};\n\nexport { CLSThresholds, onCLS };\n//# sourceMappingURL=getCLS.js.map\n","import { observe } from '../observe.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet interactionCountEstimate = 0;\nlet minKnownInteractionId = Infinity;\nlet maxKnownInteractionId = 0;\n\nconst updateEstimate = (entries) => {\n  entries.forEach(e => {\n    if (e.interactionId) {\n      minKnownInteractionId = Math.min(minKnownInteractionId, e.interactionId);\n      maxKnownInteractionId = Math.max(maxKnownInteractionId, e.interactionId);\n\n      interactionCountEstimate = maxKnownInteractionId ? (maxKnownInteractionId - minKnownInteractionId) / 7 + 1 : 0;\n    }\n  });\n};\n\nlet po;\n\n/**\n * Returns the `interactionCount` value using the native API (if available)\n * or the polyfill estimate in this module.\n */\nconst getInteractionCount = () => {\n  return po ? interactionCountEstimate : performance.interactionCount || 0;\n};\n\n/**\n * Feature detects native support or initializes the polyfill if needed.\n */\nconst initInteractionCountPolyfill = () => {\n  if ('interactionCount' in performance || po) return;\n\n  po = observe('event', updateEstimate, {\n    type: 'event',\n    buffered: true,\n    durationThreshold: 0,\n  } );\n};\n\nexport { getInteractionCount, initInteractionCountPolyfill };\n//# sourceMappingURL=interactionCountPolyfill.js.map\n","import { getInteractionCount } from './polyfills/interactionCountPolyfill.js';\n\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// To prevent unnecessary memory usage on pages with lots of interactions,\n// store at most 10 of the longest interactions to consider as INP candidates.\nconst MAX_INTERACTIONS_TO_CONSIDER = 10;\n\n// Used to store the interaction count after a bfcache restore, since p98\n// interaction latencies should only consider the current navigation.\nlet prevInteractionCount = 0;\n\n/**\n * Returns the interaction count since the last bfcache restore (or for the\n * full page lifecycle if there were no bfcache restores).\n */\nconst getInteractionCountForNavigation = () => {\n  return getInteractionCount() - prevInteractionCount;\n};\n\n/**\n *\n */\nclass InteractionManager {constructor() { InteractionManager.prototype.__init.call(this);InteractionManager.prototype.__init2.call(this); }\n  /**\n   * A list of longest interactions on the page (by latency) sorted so the\n   * longest one is first. The list is at most MAX_INTERACTIONS_TO_CONSIDER\n   * long.\n   */\n  // eslint-disable-next-line @sentry-internal/sdk/no-class-field-initializers, @typescript-eslint/explicit-member-accessibility\n  __init() {this._longestInteractionList = [];}\n\n  /**\n   * A mapping of longest interactions by their interaction ID.\n   * This is used for faster lookup.\n   */\n  // eslint-disable-next-line @sentry-internal/sdk/no-class-field-initializers, @typescript-eslint/explicit-member-accessibility\n  __init2() {this._longestInteractionMap = new Map();}\n\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility, jsdoc/require-jsdoc\n  _resetInteractions() {\n    prevInteractionCount = getInteractionCount();\n    this._longestInteractionList.length = 0;\n    this._longestInteractionMap.clear();\n  }\n\n  /**\n   * Returns the estimated p98 longest interaction based on the stored\n   * interaction candidates and the interaction count for the current page.\n   */\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n  _estimateP98LongestInteraction() {\n    const candidateInteractionIndex = Math.min(\n      this._longestInteractionList.length - 1,\n      Math.floor(getInteractionCountForNavigation() / 50),\n    );\n\n    return this._longestInteractionList[candidateInteractionIndex];\n  }\n\n  /**\n   * Takes a performance entry and adds it to the list of worst interactions\n   * if its duration is long enough to make it among the worst. If the\n   * entry is part of an existing interaction, it is merged and the latency\n   * and entries list is updated as needed.\n   */\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n  _processEntry(entry) {\n    this._onBeforeProcessingEntry?.(entry);\n\n    // Skip further processing for entries that cannot be INP candidates.\n    if (!(entry.interactionId || entry.entryType === 'first-input')) return;\n\n    // The least-long of the 10 longest interactions.\n    const minLongestInteraction = this._longestInteractionList.at(-1);\n\n    let interaction = this._longestInteractionMap.get(entry.interactionId);\n\n    // Only process the entry if it's possibly one of the ten longest,\n    // or if it's part of an existing interaction.\n    if (\n      interaction ||\n      this._longestInteractionList.length < MAX_INTERACTIONS_TO_CONSIDER ||\n      // If the above conditions are false, `minLongestInteraction` will be set.\n      entry.duration > minLongestInteraction._latency\n    ) {\n      // If the interaction already exists, update it. Otherwise create one.\n      if (interaction) {\n        // If the new entry has a longer duration, replace the old entries,\n        // otherwise add to the array.\n        if (entry.duration > interaction._latency) {\n          interaction.entries = [entry];\n          interaction._latency = entry.duration;\n        } else if (entry.duration === interaction._latency && entry.startTime === interaction.entries[0].startTime) {\n          interaction.entries.push(entry);\n        }\n      } else {\n        interaction = {\n          id: entry.interactionId,\n          entries: [entry],\n          _latency: entry.duration,\n        };\n        this._longestInteractionMap.set(interaction.id, interaction);\n        this._longestInteractionList.push(interaction);\n      }\n\n      // Sort the entries by latency (descending) and keep only the top ten.\n      this._longestInteractionList.sort((a, b) => b._latency - a._latency);\n      if (this._longestInteractionList.length > MAX_INTERACTIONS_TO_CONSIDER) {\n        const removedInteractions = this._longestInteractionList.splice(MAX_INTERACTIONS_TO_CONSIDER);\n\n        for (const interaction of removedInteractions) {\n          this._longestInteractionMap.delete(interaction.id);\n        }\n      }\n\n      // Call any post-processing on the interaction\n      this._onAfterProcessingINPCandidate?.(interaction);\n    }\n  }\n}\n\nexport { InteractionManager };\n//# sourceMappingURL=InteractionManager.js.map\n","import { WINDOW } from '../../../types.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// Sentry-specific change:\n// This function's logic was NOT updated to web-vitals 4.2.4 or 5.x but we continue\n// to use the web-vitals 3.5.2 versiondue to us having stricter browser support.\n// PR with context that made the changes: https://github.com/GoogleChrome/web-vitals/pull/442/files#r1530492402\n// The PR removed listening to the `pagehide` event, in favour of only listening to `visibilitychange` event.\n// This is \"more correct\" but some browsers we still support (Safari <14.4) don't fully support `visibilitychange`\n// or have known bugs w.r.t the `visibilitychange` event.\n// TODO (v11): If we decide to drop support for Safari 14.4, we can use the logic from web-vitals 4.2.4\n// In this case, we also need to update the integration tests that currently trigger the `pagehide` event to\n// simulate the page being hidden.\nconst onHidden = (cb) => {\n  const onHiddenOrPageHide = (event) => {\n    if (event.type === 'pagehide' || WINDOW.document?.visibilityState === 'hidden') {\n      cb(event);\n    }\n  };\n\n  if (WINDOW.document) {\n    addEventListener('visibilitychange', onHiddenOrPageHide, true);\n    // Some browsers have buggy implementations of visibilitychange,\n    // so we use pagehide in addition, just to be safe.\n    addEventListener('pagehide', onHiddenOrPageHide, true);\n  }\n};\n\nexport { onHidden };\n//# sourceMappingURL=onHidden.js.map\n","import { WINDOW } from '../../../types.js';\nimport { onHidden } from './onHidden.js';\nimport { runOnce } from './runOnce.js';\n\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * Runs the passed callback during the next idle period, or immediately\n * if the browser's visibility state is (or becomes) hidden.\n */\nconst whenIdleOrHidden = (cb) => {\n  const rIC = WINDOW.requestIdleCallback || WINDOW.setTimeout;\n\n  // If the document is hidden, run the callback immediately, otherwise\n  // race an idle callback with the next `visibilitychange` event.\n  if (WINDOW.document?.visibilityState === 'hidden') {\n    cb();\n  } else {\n    // eslint-disable-next-line no-param-reassign\n    cb = runOnce(cb);\n    rIC(cb);\n    // sentry: we use onHidden instead of directly listening to visibilitychange\n    // because some browsers we still support (Safari <14.4) don't fully support\n    // `visibilitychange` or have known bugs w.r.t the `visibilitychange` event.\n    onHidden(cb);\n  }\n};\n\nexport { whenIdleOrHidden };\n//# sourceMappingURL=whenIdleOrHidden.js.map\n","import { bindReporter } from './lib/bindReporter.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { initUnique } from './lib/initUnique.js';\nimport { InteractionManager } from './lib/InteractionManager.js';\nimport { observe } from './lib/observe.js';\nimport { onHidden } from './lib/onHidden.js';\nimport { initInteractionCountPolyfill } from './lib/polyfills/interactionCountPolyfill.js';\nimport { whenActivated } from './lib/whenActivated.js';\nimport { whenIdleOrHidden } from './lib/whenIdleOrHidden.js';\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for INP. See https://web.dev/articles/inp#what_is_a_good_inp_score */\nconst INPThresholds = [200, 500];\n\n// The default `durationThreshold` used across this library for observing\n// `event` entries via PerformanceObserver.\nconst DEFAULT_DURATION_THRESHOLD = 40;\n\n/**\n * Calculates the [INP](https://web.dev/articles/inp) value for the current\n * page and calls the `callback` function once the value is ready, along with\n * the `event` performance entries reported for that interaction. The reported\n * value is a `DOMHighResTimeStamp`.\n *\n * A custom `durationThreshold` configuration option can optionally be passed\n * to control what `event-timing` entries are considered for INP reporting. The\n * default threshold is `40`, which means INP scores of less than 40 will not\n * be reported. To avoid reporting no interactions in these cases, the library\n * will fall back to the input delay of the first interaction. Note that this\n * will not affect your 75th percentile INP value unless that value is also\n * less than 40 (well below the recommended\n * [good](https://web.dev/articles/inp#what_is_a_good_inp_score) threshold).\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called as soon as the value is initially\n * determined as well as any time the value changes throughout the page\n * lifespan.\n *\n * _**Important:** INP should be continually monitored for changes throughout\n * the entire lifespan of a page—including if the user returns to the page after\n * it's been hidden/backgrounded. However, since browsers often [will not fire\n * additional callbacks once the user has backgrounded a\n * page](https://developer.chrome.com/blog/page-lifecycle-api/#advice-hidden),\n * `callback` is always called when the page's visibility state changes to\n * hidden. As a result, the `callback` function might be called multiple times\n * during the same page load._\n */\nconst onINP = (onReport, opts = {}) => {\n  // Return if the browser doesn't support all APIs needed to measure INP.\n  if (!(globalThis.PerformanceEventTiming && 'interactionId' in PerformanceEventTiming.prototype)) {\n    return;\n  }\n\n  whenActivated(() => {\n    // TODO(philipwalton): remove once the polyfill is no longer needed.\n    initInteractionCountPolyfill();\n\n    const metric = initMetric('INP');\n    // eslint-disable-next-line prefer-const\n    let report;\n\n    const interactionManager = initUnique(opts, InteractionManager);\n\n    const handleEntries = (entries) => {\n      // Queue the `handleEntries()` callback in the next idle task.\n      // This is needed to increase the chances that all event entries that\n      // occurred between the user interaction and the next paint\n      // have been dispatched. Note: there is currently an experiment\n      // running in Chrome (EventTimingKeypressAndCompositionInteractionId)\n      // 123+ that if rolled out fully may make this no longer necessary.\n      whenIdleOrHidden(() => {\n        for (const entry of entries) {\n          interactionManager._processEntry(entry);\n        }\n\n        const inp = interactionManager._estimateP98LongestInteraction();\n\n        if (inp && inp._latency !== metric.value) {\n          metric.value = inp._latency;\n          metric.entries = inp.entries;\n          report();\n        }\n      });\n    };\n\n    const po = observe('event', handleEntries, {\n      // Event Timing entries have their durations rounded to the nearest 8ms,\n      // so a duration of 40ms would be any event that spans 2.5 or more frames\n      // at 60Hz. This threshold is chosen to strike a balance between usefulness\n      // and performance. Running this callback for any interaction that spans\n      // just one or two frames is likely not worth the insight that could be\n      // gained.\n      durationThreshold: opts.durationThreshold ?? DEFAULT_DURATION_THRESHOLD,\n    });\n\n    report = bindReporter(onReport, metric, INPThresholds, opts.reportAllChanges);\n\n    if (po) {\n      // Also observe entries of type `first-input`. This is useful in cases\n      // where the first interaction is less than the `durationThreshold`.\n      po.observe({ type: 'first-input', buffered: true });\n\n      // sentry: we use onHidden instead of directly listening to visibilitychange\n      // because some browsers we still support (Safari <14.4) don't fully support\n      // `visibilitychange` or have known bugs w.r.t the `visibilitychange` event.\n      onHidden(() => {\n        handleEntries(po.takeRecords() );\n        report(true);\n      });\n    }\n  });\n};\n\nexport { INPThresholds, onINP };\n//# sourceMappingURL=getINP.js.map\n","/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nclass LCPEntryManager {\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\n  // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility, jsdoc/require-jsdoc\n  _processEntry(entry) {\n    this._onBeforeProcessingEntry?.(entry);\n  }\n}\n\nexport { LCPEntryManager };\n//# sourceMappingURL=LCPEntryManager.js.map\n","import { WINDOW } from '../../types.js';\nimport { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getVisibilityWatcher } from './lib/getVisibilityWatcher.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { initUnique } from './lib/initUnique.js';\nimport { LCPEntryManager } from './lib/LCPEntryManager.js';\nimport { observe } from './lib/observe.js';\nimport { runOnce } from './lib/runOnce.js';\nimport { whenActivated } from './lib/whenActivated.js';\nimport { whenIdleOrHidden } from './lib/whenIdleOrHidden.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for LCP. See https://web.dev/articles/lcp#what_is_a_good_lcp_score */\nconst LCPThresholds = [2500, 4000];\n\n/**\n * Calculates the [LCP](https://web.dev/articles/lcp) value for the current page and\n * calls the `callback` function once the value is ready (along with the\n * relevant `largest-contentful-paint` performance entry used to determine the\n * value). The reported value is a `DOMHighResTimeStamp`.\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called any time a new `largest-contentful-paint`\n * performance entry is dispatched, or once the final value of the metric has\n * been determined.\n */\nconst onLCP = (onReport, opts = {}) => {\n  whenActivated(() => {\n    const visibilityWatcher = getVisibilityWatcher();\n    const metric = initMetric('LCP');\n    let report;\n\n    const lcpEntryManager = initUnique(opts, LCPEntryManager);\n\n    const handleEntries = (entries) => {\n      // If reportAllChanges is set then call this function for each entry,\n      // otherwise only consider the last one.\n      if (!opts.reportAllChanges) {\n        // eslint-disable-next-line no-param-reassign\n        entries = entries.slice(-1);\n      }\n\n      for (const entry of entries) {\n        lcpEntryManager._processEntry(entry);\n\n        // Only report if the page wasn't hidden prior to LCP.\n        if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n          // The startTime attribute returns the value of the renderTime if it is\n          // not 0, and the value of the loadTime otherwise. The activationStart\n          // reference is used because LCP should be relative to page activation\n          // rather than navigation start if the page was prerendered. But in cases\n          // where `activationStart` occurs after the LCP, this time should be\n          // clamped at 0.\n          metric.value = Math.max(entry.startTime - getActivationStart(), 0);\n          metric.entries = [entry];\n          report();\n        }\n      }\n    };\n\n    const po = observe('largest-contentful-paint', handleEntries);\n\n    if (po) {\n      report = bindReporter(onReport, metric, LCPThresholds, opts.reportAllChanges);\n\n      // Ensure this logic only runs once, since it can be triggered from\n      // any of three different event listeners below.\n      const stopListening = runOnce(() => {\n        handleEntries(po.takeRecords() );\n        po.disconnect();\n        report(true);\n      });\n\n      // Stop listening after input or visibilitychange.\n      // Note: while scrolling is an input that stops LCP observation, it's\n      // unreliable since it can be programmatically generated.\n      // See: https://github.com/GoogleChrome/web-vitals/issues/75\n      for (const type of ['keydown', 'click', 'visibilitychange']) {\n        // Wrap the listener in an idle callback so it's run in a separate\n        // task to reduce potential INP impact.\n        // https://github.com/GoogleChrome/web-vitals/issues/383\n        if (WINDOW.document) {\n          addEventListener(type, () => whenIdleOrHidden(stopListening), {\n            capture: true,\n            once: true,\n          });\n        }\n      }\n    }\n  });\n};\n\nexport { LCPThresholds, onLCP };\n//# sourceMappingURL=getLCP.js.map\n","import { WINDOW } from '../../types.js';\nimport { bindReporter } from './lib/bindReporter.js';\nimport { getActivationStart } from './lib/getActivationStart.js';\nimport { getNavigationEntry } from './lib/getNavigationEntry.js';\nimport { initMetric } from './lib/initMetric.js';\nimport { whenActivated } from './lib/whenActivated.js';\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for TTFB. See https://web.dev/articles/ttfb#what_is_a_good_ttfb_score */\nconst TTFBThresholds = [800, 1800];\n\n/**\n * Runs in the next task after the page is done loading and/or prerendering.\n * @param callback\n */\nconst whenReady = (callback) => {\n  if (WINDOW.document?.prerendering) {\n    whenActivated(() => whenReady(callback));\n  } else if (WINDOW.document?.readyState !== 'complete') {\n    addEventListener('load', () => whenReady(callback), true);\n  } else {\n    // Queue a task so the callback runs after `loadEventEnd`.\n    setTimeout(callback);\n  }\n};\n\n/**\n * Calculates the [TTFB](https://web.dev/articles/ttfb) value for the\n * current page and calls the `callback` function once the page has loaded,\n * along with the relevant `navigation` performance entry used to determine the\n * value. The reported value is a `DOMHighResTimeStamp`.\n *\n * Note, this function waits until after the page is loaded to call `callback`\n * in order to ensure all properties of the `navigation` entry are populated.\n * This is useful if you want to report on other metrics exposed by the\n * [Navigation Timing API](https://w3c.github.io/navigation-timing/). For\n * example, the TTFB metric starts from the page's [time\n * origin](https://www.w3.org/TR/hr-time-2/#sec-time-origin), which means it\n * includes time spent on DNS lookup, connection negotiation, network latency,\n * and server processing time.\n */\nconst onTTFB = (onReport, opts = {}) => {\n  const metric = initMetric('TTFB');\n  const report = bindReporter(onReport, metric, TTFBThresholds, opts.reportAllChanges);\n\n  whenReady(() => {\n    const navigationEntry = getNavigationEntry();\n\n    if (navigationEntry) {\n      // The activationStart reference is used because TTFB should be\n      // relative to page activation rather than navigation start if the\n      // page was prerendered. But in cases where `activationStart` occurs\n      // after the first byte is received, this time should be clamped at 0.\n      metric.value = Math.max(navigationEntry.responseStart - getActivationStart(), 0);\n\n      metric.entries = [navigationEntry];\n      report(true);\n    }\n  });\n};\n\nexport { TTFBThresholds, onTTFB };\n//# sourceMappingURL=onTTFB.js.map\n","import { debug, getFunctionName } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { onCLS } from './web-vitals/getCLS.js';\nimport { onINP } from './web-vitals/getINP.js';\nimport { onLCP } from './web-vitals/getLCP.js';\nimport { observe } from './web-vitals/lib/observe.js';\nimport { onTTFB } from './web-vitals/onTTFB.js';\n\nconst handlers = {};\nconst instrumented = {};\n\nlet _previousCls;\nlet _previousLcp;\nlet _previousTtfb;\nlet _previousInp;\n\n/**\n * Add a callback that will be triggered when a CLS metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n *\n * Pass `stopOnCallback = true` to stop listening for CLS when the cleanup callback is called.\n * This will lead to the CLS being finalized and frozen.\n */\nfunction addClsInstrumentationHandler(\n  callback,\n  stopOnCallback = false,\n) {\n  return addMetricObserver('cls', callback, instrumentCls, _previousCls, stopOnCallback);\n}\n\n/**\n * Add a callback that will be triggered when a LCP metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n *\n * Pass `stopOnCallback = true` to stop listening for LCP when the cleanup callback is called.\n * This will lead to the LCP being finalized and frozen.\n */\nfunction addLcpInstrumentationHandler(\n  callback,\n  stopOnCallback = false,\n) {\n  return addMetricObserver('lcp', callback, instrumentLcp, _previousLcp, stopOnCallback);\n}\n\n/**\n * Add a callback that will be triggered when a TTFD metric is available.\n */\nfunction addTtfbInstrumentationHandler(callback) {\n  return addMetricObserver('ttfb', callback, instrumentTtfb, _previousTtfb);\n}\n\n/**\n * Add a callback that will be triggered when a INP metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\nfunction addInpInstrumentationHandler(callback) {\n  return addMetricObserver('inp', callback, instrumentInp, _previousInp);\n}\n\n/**\n * Add a callback that will be triggered when a performance observer is triggered,\n * and receives the entries of the observer.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\nfunction addPerformanceInstrumentationHandler(\n  type,\n  callback,\n) {\n  addHandler(type, callback);\n\n  if (!instrumented[type]) {\n    instrumentPerformanceObserver(type);\n    instrumented[type] = true;\n  }\n\n  return getCleanupCallback(type, callback);\n}\n\n/** Trigger all handlers of a given type. */\nfunction triggerHandlers(type, data) {\n  const typeHandlers = handlers[type];\n\n  if (!typeHandlers?.length) {\n    return;\n  }\n\n  for (const handler of typeHandlers) {\n    try {\n      handler(data);\n    } catch (e) {\n      DEBUG_BUILD &&\n        debug.error(\n          `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${getFunctionName(handler)}\\nError:`,\n          e,\n        );\n    }\n  }\n}\n\nfunction instrumentCls() {\n  return onCLS(\n    metric => {\n      triggerHandlers('cls', {\n        metric,\n      });\n      _previousCls = metric;\n    },\n    // We want the callback to be called whenever the CLS value updates.\n    // By default, the callback is only called when the tab goes to the background.\n    { reportAllChanges: true },\n  );\n}\n\nfunction instrumentLcp() {\n  return onLCP(\n    metric => {\n      triggerHandlers('lcp', {\n        metric,\n      });\n      _previousLcp = metric;\n    },\n    // We want the callback to be called whenever the LCP value updates.\n    // By default, the callback is only called when the tab goes to the background.\n    { reportAllChanges: true },\n  );\n}\n\nfunction instrumentTtfb() {\n  return onTTFB(metric => {\n    triggerHandlers('ttfb', {\n      metric,\n    });\n    _previousTtfb = metric;\n  });\n}\n\nfunction instrumentInp() {\n  return onINP(metric => {\n    triggerHandlers('inp', {\n      metric,\n    });\n    _previousInp = metric;\n  });\n}\n\nfunction addMetricObserver(\n  type,\n  callback,\n  instrumentFn,\n  previousValue,\n  stopOnCallback = false,\n) {\n  addHandler(type, callback);\n\n  let stopListening;\n\n  if (!instrumented[type]) {\n    stopListening = instrumentFn();\n    instrumented[type] = true;\n  }\n\n  if (previousValue) {\n    callback({ metric: previousValue });\n  }\n\n  return getCleanupCallback(type, callback, stopOnCallback ? stopListening : undefined);\n}\n\nfunction instrumentPerformanceObserver(type) {\n  const options = {};\n\n  // Special per-type options we want to use\n  if (type === 'event') {\n    options.durationThreshold = 0;\n  }\n\n  observe(\n    type,\n    entries => {\n      triggerHandlers(type, { entries });\n    },\n    options,\n  );\n}\n\nfunction addHandler(type, handler) {\n  handlers[type] = handlers[type] || [];\n  (handlers[type] ).push(handler);\n}\n\n// Get a callback which can be called to remove the instrumentation handler\nfunction getCleanupCallback(\n  type,\n  callback,\n  stopListening,\n) {\n  return () => {\n    if (stopListening) {\n      stopListening();\n    }\n\n    const typeHandlers = handlers[type];\n\n    if (!typeHandlers) {\n      return;\n    }\n\n    const index = typeHandlers.indexOf(callback);\n    if (index !== -1) {\n      typeHandlers.splice(index, 1);\n    }\n  };\n}\n\n/**\n * Check if a PerformanceEntry is a PerformanceEventTiming by checking for the `duration` property.\n */\nfunction isPerformanceEventTiming(entry) {\n  return 'duration' in entry;\n}\n\nexport { addClsInstrumentationHandler, addInpInstrumentationHandler, addLcpInstrumentationHandler, addPerformanceInstrumentationHandler, addTtfbInstrumentationHandler, isPerformanceEventTiming };\n//# sourceMappingURL=instrument.js.map\n","import { spanToJSON, withActiveSpan, startInactiveSpan, getClient, getCurrentScope } from '@sentry/core';\nimport { WINDOW } from '../types.js';\nimport { onHidden } from './web-vitals/lib/onHidden.js';\n\n/**\n * Checks if a given value is a valid measurement value.\n */\nfunction isMeasurementValue(value) {\n  return typeof value === 'number' && isFinite(value);\n}\n\n/**\n * Helper function to start child on transactions. This function will make sure that the transaction will\n * use the start timestamp of the created child span if it is earlier than the transactions actual\n * start timestamp.\n */\nfunction startAndEndSpan(\n  parentSpan,\n  startTimeInSeconds,\n  endTime,\n  { ...ctx },\n) {\n  const parentStartTime = spanToJSON(parentSpan).start_timestamp;\n  if (parentStartTime && parentStartTime > startTimeInSeconds) {\n    // We can only do this for SentrySpans...\n    if (typeof (parentSpan ).updateStartTime === 'function') {\n      (parentSpan ).updateStartTime(startTimeInSeconds);\n    }\n  }\n\n  // The return value only exists for tests\n  return withActiveSpan(parentSpan, () => {\n    const span = startInactiveSpan({\n      startTime: startTimeInSeconds,\n      ...ctx,\n    });\n\n    if (span) {\n      span.end(endTime);\n    }\n\n    return span;\n  });\n}\n\n/**\n * Starts an inactive, standalone span used to send web vital values to Sentry.\n * DO NOT use this for arbitrary spans, as these spans require special handling\n * during ingestion to extract metrics.\n *\n * This function adds a bunch of attributes and data to the span that's shared\n * by all web vital standalone spans. However, you need to take care of adding\n * the actual web vital value as an event to the span. Also, you need to assign\n * a transaction name and some other values that are specific to the web vital.\n *\n * Ultimately, you also need to take care of ending the span to send it off.\n *\n * @param options\n *\n * @returns an inactive, standalone and NOT YET ended span\n */\nfunction startStandaloneWebVitalSpan(options) {\n  const client = getClient();\n  if (!client) {\n    return;\n  }\n\n  const { name, transaction, attributes: passedAttributes, startTime } = options;\n\n  const { release, environment, sendDefaultPii } = client.getOptions();\n  // We need to get the replay, user, and activeTransaction from the current scope\n  // so that we can associate replay id, profile id, and a user display to the span\n  const replay = client.getIntegrationByName('Replay');\n  const replayId = replay?.getReplayId();\n\n  const scope = getCurrentScope();\n\n  const user = scope.getUser();\n  const userDisplay = user !== undefined ? user.email || user.id || user.ip_address : undefined;\n\n  let profileId;\n  try {\n    // @ts-expect-error skip optional chaining to save bundle size with try catch\n    profileId = scope.getScopeData().contexts.profile.profile_id;\n  } catch {\n    // do nothing\n  }\n\n  const attributes = {\n    release,\n    environment,\n\n    user: userDisplay || undefined,\n    profile_id: profileId || undefined,\n    replay_id: replayId || undefined,\n\n    transaction,\n\n    // Web vital score calculation relies on the user agent to account for different\n    // browsers setting different thresholds for what is considered a good/meh/bad value.\n    // For example: Chrome vs. Chrome Mobile\n    'user_agent.original': WINDOW.navigator?.userAgent,\n\n    // This tells Sentry to infer the IP address from the request\n    'client.address': sendDefaultPii ? '{{auto}}' : undefined,\n\n    ...passedAttributes,\n  };\n\n  return startInactiveSpan({\n    name,\n    attributes,\n    startTime,\n    experimental: {\n      standalone: true,\n    },\n  });\n}\n\n/** Get the browser performance API. */\nfunction getBrowserPerformanceAPI() {\n  // @ts-expect-error we want to make sure all of these are available, even if TS is sure they are\n  return WINDOW.addEventListener && WINDOW.performance;\n}\n\n/**\n * Converts from milliseconds to seconds\n * @param time time in ms\n */\nfunction msToSec(time) {\n  return time / 1000;\n}\n\n/**\n * Converts ALPN protocol ids to name and version.\n *\n * (https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)\n * @param nextHopProtocol PerformanceResourceTiming.nextHopProtocol\n */\nfunction extractNetworkProtocol(nextHopProtocol) {\n  let name = 'unknown';\n  let version = 'unknown';\n  let _name = '';\n  for (const char of nextHopProtocol) {\n    // http/1.1 etc.\n    if (char === '/') {\n      [name, version] = nextHopProtocol.split('/') ;\n      break;\n    }\n    // h2, h3 etc.\n    if (!isNaN(Number(char))) {\n      name = _name === 'h' ? 'http' : _name;\n      version = nextHopProtocol.split(_name)[1] ;\n      break;\n    }\n    _name += char;\n  }\n  if (_name === nextHopProtocol) {\n    // webrtc, ftp, etc.\n    name = _name;\n  }\n  return { name, version };\n}\n\n/**\n * Generic support check for web vitals\n */\nfunction supportsWebVital(entryType) {\n  try {\n    return PerformanceObserver.supportedEntryTypes.includes(entryType);\n  } catch {\n    return false;\n  }\n}\n\n/**\n * Listens for events on which we want to collect a previously accumulated web vital value.\n * Currently, this includes:\n *\n * - pagehide (i.e. user minimizes browser window, hides tab, etc)\n * - soft navigation (we only care about the vital of the initially loaded route)\n *\n * As a \"side-effect\", this function will also collect the span id of the pageload span.\n *\n * @param collectorCallback the callback to be called when the first of these events is triggered. Parameters:\n * - event: the event that triggered the reporting of the web vital value.\n * - pageloadSpanId: the span id of the pageload span. This is used to link the web vital span to the pageload span.\n */\nfunction listenForWebVitalReportEvents(\n  client,\n  collectorCallback,\n) {\n  let pageloadSpanId;\n\n  let collected = false;\n  function _runCollectorCallbackOnce(event) {\n    if (!collected && pageloadSpanId) {\n      collectorCallback(event, pageloadSpanId);\n    }\n    collected = true;\n  }\n\n  onHidden(() => {\n    _runCollectorCallbackOnce('pagehide');\n  });\n\n  const unsubscribeStartNavigation = client.on('beforeStartNavigationSpan', (_, options) => {\n    // we only want to collect LCP if we actually navigate. Redirects should be ignored.\n    if (!options?.isRedirect) {\n      _runCollectorCallbackOnce('navigation');\n      safeUnsubscribe(unsubscribeStartNavigation, unsubscribeAfterStartPageLoadSpan);\n    }\n  });\n\n  const unsubscribeAfterStartPageLoadSpan = client.on('afterStartPageLoadSpan', span => {\n    pageloadSpanId = span.spanContext().spanId;\n    safeUnsubscribe(unsubscribeAfterStartPageLoadSpan);\n  });\n}\n\n/**\n * Invoke a list of unsubscribers in a safe way, by deferring the invocation to the next tick.\n * This is necessary because unsubscribing in sync can lead to other callbacks no longer being invoked\n * due to in-place array mutation of the subscribers array on the client.\n */\nfunction safeUnsubscribe(...unsubscribers) {\n  unsubscribers.forEach(u => u && setTimeout(u, 0));\n}\n\nexport { extractNetworkProtocol, getBrowserPerformanceAPI, isMeasurementValue, listenForWebVitalReportEvents, msToSec, startAndEndSpan, startStandaloneWebVitalSpan, supportsWebVital };\n//# sourceMappingURL=utils.js.map\n","import { debug, browserPerformanceTimeOrigin, getCurrentScope, htmlTreeAsString, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { addClsInstrumentationHandler } from './instrument.js';\nimport { supportsWebVital, listenForWebVitalReportEvents, msToSec, startStandaloneWebVitalSpan } from './utils.js';\n\n/**\n * Starts tracking the Cumulative Layout Shift on the current page and collects the value once\n *\n * - the page visibility is hidden\n * - a navigation span is started (to stop CLS measurement for SPA soft navigations)\n *\n * Once either of these events triggers, the CLS value is sent as a standalone span and we stop\n * measuring CLS.\n */\nfunction trackClsAsStandaloneSpan(client) {\n  let standaloneCLsValue = 0;\n  let standaloneClsEntry;\n\n  if (!supportsWebVital('layout-shift')) {\n    return;\n  }\n\n  const cleanupClsHandler = addClsInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1] ;\n    if (!entry) {\n      return;\n    }\n    standaloneCLsValue = metric.value;\n    standaloneClsEntry = entry;\n  }, true);\n\n  listenForWebVitalReportEvents(client, (reportEvent, pageloadSpanId) => {\n    sendStandaloneClsSpan(standaloneCLsValue, standaloneClsEntry, pageloadSpanId, reportEvent);\n    cleanupClsHandler();\n  });\n}\n\nfunction sendStandaloneClsSpan(\n  clsValue,\n  entry,\n  pageloadSpanId,\n  reportEvent,\n) {\n  DEBUG_BUILD && debug.log(`Sending CLS span (${clsValue})`);\n\n  const startTime = msToSec((browserPerformanceTimeOrigin() || 0) + (entry?.startTime || 0));\n  const routeName = getCurrentScope().getScopeData().transactionName;\n\n  const name = entry ? htmlTreeAsString(entry.sources[0]?.node) : 'Layout shift';\n\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser.cls',\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'ui.webvital.cls',\n    [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: entry?.duration || 0,\n    // attach the pageload span id to the CLS span so that we can link them in the UI\n    'sentry.pageload.span_id': pageloadSpanId,\n    // describes what triggered the web vital to be reported\n    'sentry.report_event': reportEvent,\n  };\n\n  // Add CLS sources as span attributes to help with debugging layout shifts\n  // See: https://developer.mozilla.org/en-US/docs/Web/API/LayoutShift/sources\n  if (entry?.sources) {\n    entry.sources.forEach((source, index) => {\n      attributes[`cls.source.${index + 1}`] = htmlTreeAsString(source.node);\n    });\n  }\n\n  const span = startStandaloneWebVitalSpan({\n    name,\n    transaction: routeName,\n    attributes,\n    startTime,\n  });\n\n  if (span) {\n    span.addEvent('cls', {\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: '',\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: clsValue,\n    });\n\n    // LayoutShift performance entries always have a duration of 0, so we don't need to add `entry.duration` here\n    // see: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceEntry/duration\n    span.end(startTime);\n  }\n}\n\nexport { trackClsAsStandaloneSpan };\n//# sourceMappingURL=cls.js.map\n","import { debug, browserPerformanceTimeOrigin, getCurrentScope, htmlTreeAsString, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { addLcpInstrumentationHandler } from './instrument.js';\nimport { supportsWebVital, listenForWebVitalReportEvents, msToSec, startStandaloneWebVitalSpan } from './utils.js';\n\n/**\n * Starts tracking the Largest Contentful Paint on the current page and collects the value once\n *\n * - the page visibility is hidden\n * - a navigation span is started (to stop LCP measurement for SPA soft navigations)\n *\n * Once either of these events triggers, the LCP value is sent as a standalone span and we stop\n * measuring LCP for subsequent routes.\n */\nfunction trackLcpAsStandaloneSpan(client) {\n  let standaloneLcpValue = 0;\n  let standaloneLcpEntry;\n\n  if (!supportsWebVital('largest-contentful-paint')) {\n    return;\n  }\n\n  const cleanupLcpHandler = addLcpInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1] ;\n    if (!entry) {\n      return;\n    }\n    standaloneLcpValue = metric.value;\n    standaloneLcpEntry = entry;\n  }, true);\n\n  listenForWebVitalReportEvents(client, (reportEvent, pageloadSpanId) => {\n    _sendStandaloneLcpSpan(standaloneLcpValue, standaloneLcpEntry, pageloadSpanId, reportEvent);\n    cleanupLcpHandler();\n  });\n}\n\n/**\n * Exported only for testing!\n */\nfunction _sendStandaloneLcpSpan(\n  lcpValue,\n  entry,\n  pageloadSpanId,\n  reportEvent,\n) {\n  DEBUG_BUILD && debug.log(`Sending LCP span (${lcpValue})`);\n\n  const startTime = msToSec((browserPerformanceTimeOrigin() || 0) + (entry?.startTime || 0));\n  const routeName = getCurrentScope().getScopeData().transactionName;\n\n  const name = entry ? htmlTreeAsString(entry.element) : 'Largest contentful paint';\n\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser.lcp',\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'ui.webvital.lcp',\n    [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: 0, // LCP is a point-in-time metric\n    // attach the pageload span id to the LCP span so that we can link them in the UI\n    'sentry.pageload.span_id': pageloadSpanId,\n    // describes what triggered the web vital to be reported\n    'sentry.report_event': reportEvent,\n  };\n\n  if (entry) {\n    entry.element && (attributes['lcp.element'] = htmlTreeAsString(entry.element));\n    entry.id && (attributes['lcp.id'] = entry.id);\n\n    // Trim URL to the first 200 characters.\n    entry.url && (attributes['lcp.url'] = entry.url.trim().slice(0, 200));\n\n    // loadTime is the time of LCP that's related to receiving the LCP element response..\n    entry.loadTime != null && (attributes['lcp.loadTime'] = entry.loadTime);\n\n    // renderTime is loadTime + rendering time\n    // it's 0 if the LCP element is loaded from a 3rd party origin that doesn't send the\n    // `Timing-Allow-Origin` header.\n    entry.renderTime != null && (attributes['lcp.renderTime'] = entry.renderTime);\n\n    entry.size != null && (attributes['lcp.size'] = entry.size);\n  }\n\n  const span = startStandaloneWebVitalSpan({\n    name,\n    transaction: routeName,\n    attributes,\n    startTime,\n  });\n\n  if (span) {\n    span.addEvent('lcp', {\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: 'millisecond',\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: lcpValue,\n    });\n\n    // LCP is a point-in-time metric, so we end the span immediately\n    span.end(startTime);\n  }\n}\n\nexport { _sendStandaloneLcpSpan, trackLcpAsStandaloneSpan };\n//# sourceMappingURL=lcp.js.map\n","import { browserPerformanceTimeOrigin, spanToJSON, setMeasurement, getActiveSpan, parseUrl, stringMatchesSomePattern, isPrimitive, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, htmlTreeAsString, getComponentName } from '@sentry/core';\nimport { WINDOW } from '../types.js';\nimport { trackClsAsStandaloneSpan } from './cls.js';\nimport { addPerformanceInstrumentationHandler, addLcpInstrumentationHandler, addTtfbInstrumentationHandler, addClsInstrumentationHandler } from './instrument.js';\nimport { trackLcpAsStandaloneSpan } from './lcp.js';\nimport { getBrowserPerformanceAPI, msToSec, startAndEndSpan, extractNetworkProtocol, isMeasurementValue } from './utils.js';\nimport { getActivationStart } from './web-vitals/lib/getActivationStart.js';\nimport { getNavigationEntry } from './web-vitals/lib/getNavigationEntry.js';\nimport { getVisibilityWatcher } from './web-vitals/lib/getVisibilityWatcher.js';\n\nconst MAX_INT_AS_BYTES = 2147483647;\n\nlet _performanceCursor = 0;\n\nlet _measurements = {};\nlet _lcpEntry;\nlet _clsEntry;\n\n/**\n * Start tracking web vitals.\n * The callback returned by this function can be used to stop tracking & ensure all measurements are final & captured.\n *\n * @returns A function that forces web vitals collection\n */\nfunction startTrackingWebVitals({\n  recordClsStandaloneSpans,\n  recordLcpStandaloneSpans,\n  client,\n}) {\n  const performance = getBrowserPerformanceAPI();\n  if (performance && browserPerformanceTimeOrigin()) {\n    // @ts-expect-error we want to make sure all of these are available, even if TS is sure they are\n    if (performance.mark) {\n      WINDOW.performance.mark('sentry-tracing-init');\n    }\n    const lcpCleanupCallback = recordLcpStandaloneSpans ? trackLcpAsStandaloneSpan(client) : _trackLCP();\n    const ttfbCleanupCallback = _trackTtfb();\n    const clsCleanupCallback = recordClsStandaloneSpans ? trackClsAsStandaloneSpan(client) : _trackCLS();\n\n    return () => {\n      lcpCleanupCallback?.();\n      ttfbCleanupCallback();\n      clsCleanupCallback?.();\n    };\n  }\n\n  return () => undefined;\n}\n\n/**\n * Start tracking long tasks.\n */\nfunction startTrackingLongTasks() {\n  addPerformanceInstrumentationHandler('longtask', ({ entries }) => {\n    const parent = getActiveSpan();\n    if (!parent) {\n      return;\n    }\n\n    const { op: parentOp, start_timestamp: parentStartTimestamp } = spanToJSON(parent);\n\n    for (const entry of entries) {\n      const startTime = msToSec((browserPerformanceTimeOrigin() ) + entry.startTime);\n      const duration = msToSec(entry.duration);\n\n      if (parentOp === 'navigation' && parentStartTimestamp && startTime < parentStartTimestamp) {\n        // Skip adding a span if the long task started before the navigation started.\n        // `startAndEndSpan` will otherwise adjust the parent's start time to the span's start\n        // time, potentially skewing the duration of the actual navigation as reported via our\n        // routing instrumentations\n        continue;\n      }\n\n      startAndEndSpan(parent, startTime, startTime + duration, {\n        name: 'Main UI thread blocked',\n        op: 'ui.long-task',\n        attributes: {\n          [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n        },\n      });\n    }\n  });\n}\n\n/**\n * Start tracking long animation frames.\n */\nfunction startTrackingLongAnimationFrames() {\n  // NOTE: the current web-vitals version (3.5.2) does not support long-animation-frame, so\n  // we directly observe `long-animation-frame` events instead of through the web-vitals\n  // `observe` helper function.\n  const observer = new PerformanceObserver(list => {\n    const parent = getActiveSpan();\n    if (!parent) {\n      return;\n    }\n    for (const entry of list.getEntries() ) {\n      if (!entry.scripts[0]) {\n        continue;\n      }\n\n      const startTime = msToSec((browserPerformanceTimeOrigin() ) + entry.startTime);\n\n      const { start_timestamp: parentStartTimestamp, op: parentOp } = spanToJSON(parent);\n\n      if (parentOp === 'navigation' && parentStartTimestamp && startTime < parentStartTimestamp) {\n        // Skip adding the span if the long animation frame started before the navigation started.\n        // `startAndEndSpan` will otherwise adjust the parent's start time to the span's start\n        // time, potentially skewing the duration of the actual navigation as reported via our\n        // routing instrumentations\n        continue;\n      }\n      const duration = msToSec(entry.duration);\n\n      const attributes = {\n        [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n      };\n\n      const initialScript = entry.scripts[0];\n      const { invoker, invokerType, sourceURL, sourceFunctionName, sourceCharPosition } = initialScript;\n      attributes['browser.script.invoker'] = invoker;\n      attributes['browser.script.invoker_type'] = invokerType;\n      if (sourceURL) {\n        attributes['code.filepath'] = sourceURL;\n      }\n      if (sourceFunctionName) {\n        attributes['code.function'] = sourceFunctionName;\n      }\n      if (sourceCharPosition !== -1) {\n        attributes['browser.script.source_char_position'] = sourceCharPosition;\n      }\n\n      startAndEndSpan(parent, startTime, startTime + duration, {\n        name: 'Main UI thread blocked',\n        op: 'ui.long-animation-frame',\n        attributes,\n      });\n    }\n  });\n\n  observer.observe({ type: 'long-animation-frame', buffered: true });\n}\n\n/**\n * Start tracking interaction events.\n */\nfunction startTrackingInteractions() {\n  addPerformanceInstrumentationHandler('event', ({ entries }) => {\n    const parent = getActiveSpan();\n    if (!parent) {\n      return;\n    }\n    for (const entry of entries) {\n      if (entry.name === 'click') {\n        const startTime = msToSec((browserPerformanceTimeOrigin() ) + entry.startTime);\n        const duration = msToSec(entry.duration);\n\n        const spanOptions = {\n          name: htmlTreeAsString(entry.target),\n          op: `ui.interaction.${entry.name}`,\n          startTime: startTime,\n          attributes: {\n            [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n          },\n        };\n\n        const componentName = getComponentName(entry.target);\n        if (componentName) {\n          spanOptions.attributes['ui.component_name'] = componentName;\n        }\n\n        startAndEndSpan(parent, startTime, startTime + duration, spanOptions);\n      }\n    }\n  });\n}\n\n/**\n * Starts tracking the Cumulative Layout Shift on the current page and collects the value and last entry\n * to the `_measurements` object which ultimately is applied to the pageload span's measurements.\n */\nfunction _trackCLS() {\n  return addClsInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1] ;\n    if (!entry) {\n      return;\n    }\n    _measurements['cls'] = { value: metric.value, unit: '' };\n    _clsEntry = entry;\n  }, true);\n}\n\n/** Starts tracking the Largest Contentful Paint on the current page. */\nfunction _trackLCP() {\n  return addLcpInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry) {\n      return;\n    }\n\n    _measurements['lcp'] = { value: metric.value, unit: 'millisecond' };\n    _lcpEntry = entry ;\n  }, true);\n}\n\nfunction _trackTtfb() {\n  return addTtfbInstrumentationHandler(({ metric }) => {\n    const entry = metric.entries[metric.entries.length - 1];\n    if (!entry) {\n      return;\n    }\n\n    _measurements['ttfb'] = { value: metric.value, unit: 'millisecond' };\n  });\n}\n\n/** Add performance related spans to a transaction */\nfunction addPerformanceEntries(span, options) {\n  const performance = getBrowserPerformanceAPI();\n  const origin = browserPerformanceTimeOrigin();\n  if (!performance?.getEntries || !origin) {\n    // Gatekeeper if performance API not available\n    return;\n  }\n\n  const timeOrigin = msToSec(origin);\n\n  const performanceEntries = performance.getEntries();\n\n  const { op, start_timestamp: transactionStartTime } = spanToJSON(span);\n\n  performanceEntries.slice(_performanceCursor).forEach(entry => {\n    const startTime = msToSec(entry.startTime);\n    const duration = msToSec(\n      // Inexplicably, Chrome sometimes emits a negative duration. We need to work around this.\n      // There is a SO post attempting to explain this, but it leaves one with open questions: https://stackoverflow.com/questions/23191918/peformance-getentries-and-negative-duration-display\n      // The way we clamp the value is probably not accurate, since we have observed this happen for things that may take a while to load, like for example the replay worker.\n      // TODO: Investigate why this happens and how to properly mitigate. For now, this is a workaround to prevent transactions being dropped due to negative duration spans.\n      Math.max(0, entry.duration),\n    );\n\n    if (op === 'navigation' && transactionStartTime && timeOrigin + startTime < transactionStartTime) {\n      return;\n    }\n\n    switch (entry.entryType) {\n      case 'navigation': {\n        _addNavigationSpans(span, entry , timeOrigin);\n        break;\n      }\n      case 'mark':\n      case 'paint':\n      case 'measure': {\n        _addMeasureSpans(span, entry, startTime, duration, timeOrigin, options.ignorePerformanceApiSpans);\n\n        // capture web vitals\n        const firstHidden = getVisibilityWatcher();\n        // Only report if the page wasn't hidden prior to the web vital.\n        const shouldRecord = entry.startTime < firstHidden.firstHiddenTime;\n\n        if (entry.name === 'first-paint' && shouldRecord) {\n          _measurements['fp'] = { value: entry.startTime, unit: 'millisecond' };\n        }\n        if (entry.name === 'first-contentful-paint' && shouldRecord) {\n          _measurements['fcp'] = { value: entry.startTime, unit: 'millisecond' };\n        }\n        break;\n      }\n      case 'resource': {\n        _addResourceSpans(\n          span,\n          entry ,\n          entry.name,\n          startTime,\n          duration,\n          timeOrigin,\n          options.ignoreResourceSpans,\n        );\n        break;\n      }\n      // Ignore other entry types.\n    }\n  });\n\n  _performanceCursor = Math.max(performanceEntries.length - 1, 0);\n\n  _trackNavigator(span);\n\n  // Measurements are only available for pageload transactions\n  if (op === 'pageload') {\n    _addTtfbRequestTimeToMeasurements(_measurements);\n\n    // If CLS standalone spans are enabled, don't record CLS as a measurement\n    if (!options.recordClsOnPageloadSpan) {\n      delete _measurements.cls;\n    }\n\n    // If LCP standalone spans are enabled, don't record LCP as a measurement\n    if (!options.recordLcpOnPageloadSpan) {\n      delete _measurements.lcp;\n    }\n\n    Object.entries(_measurements).forEach(([measurementName, measurement]) => {\n      setMeasurement(measurementName, measurement.value, measurement.unit);\n    });\n\n    // Set timeOrigin which denotes the timestamp which to base the LCP/FCP/FP/TTFB measurements on\n    span.setAttribute('performance.timeOrigin', timeOrigin);\n\n    // In prerendering scenarios, where a page might be prefetched and pre-rendered before the user clicks the link,\n    // the navigation starts earlier than when the user clicks it. Web Vitals should always be based on the\n    // user-perceived time, so they are not reported from the actual start of the navigation, but rather from the\n    // time where the user actively started the navigation, for example by clicking a link.\n    // This is user action is called \"activation\" and the time between navigation and activation is stored in\n    // the `activationStart` attribute of the \"navigation\" PerformanceEntry.\n    span.setAttribute('performance.activationStart', getActivationStart());\n\n    _setWebVitalAttributes(span, options);\n  }\n\n  _lcpEntry = undefined;\n  _clsEntry = undefined;\n  _measurements = {};\n}\n\n/**\n * Create measure related spans.\n * Exported only for tests.\n */\nfunction _addMeasureSpans(\n  span,\n  entry,\n  startTime,\n  duration,\n  timeOrigin,\n  ignorePerformanceApiSpans,\n) {\n  if (\n    ['mark', 'measure'].includes(entry.entryType) &&\n    stringMatchesSomePattern(entry.name, ignorePerformanceApiSpans)\n  ) {\n    return;\n  }\n\n  const navEntry = getNavigationEntry(false);\n  const requestTime = msToSec(navEntry ? navEntry.requestStart : 0);\n  // Because performance.measure accepts arbitrary timestamps it can produce\n  // spans that happen before the browser even makes a request for the page.\n  //\n  // An example of this is the automatically generated Next.js-before-hydration\n  // spans created by the Next.js framework.\n  //\n  // To prevent this we will pin the start timestamp to the request start time\n  // This does make duration inaccurate, so if this does happen, we will add\n  // an attribute to the span\n  const measureStartTimestamp = timeOrigin + Math.max(startTime, requestTime);\n  const startTimeStamp = timeOrigin + startTime;\n  const measureEndTimestamp = startTimeStamp + duration;\n\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.resource.browser.metrics',\n  };\n\n  if (measureStartTimestamp !== startTimeStamp) {\n    attributes['sentry.browser.measure_happened_before_request'] = true;\n    attributes['sentry.browser.measure_start_time'] = measureStartTimestamp;\n  }\n\n  _addDetailToSpanAttributes(attributes, entry );\n\n  // Measurements from third parties can be off, which would create invalid spans, dropping transactions in the process.\n  if (measureStartTimestamp <= measureEndTimestamp) {\n    startAndEndSpan(span, measureStartTimestamp, measureEndTimestamp, {\n      name: entry.name ,\n      op: entry.entryType ,\n      attributes,\n    });\n  }\n}\n\nfunction _addDetailToSpanAttributes(attributes, performanceMeasure) {\n  try {\n    // Accessing detail might throw in some browsers (e.g., Firefox) due to security restrictions\n    const detail = performanceMeasure.detail;\n\n    if (!detail) {\n      return;\n    }\n\n    // Process detail based on its type\n    if (typeof detail === 'object') {\n      // Handle object details\n      for (const [key, value] of Object.entries(detail)) {\n        if (value && isPrimitive(value)) {\n          attributes[`sentry.browser.measure.detail.${key}`] = value ;\n        } else if (value !== undefined) {\n          try {\n            // This is user defined so we can't guarantee it's serializable\n            attributes[`sentry.browser.measure.detail.${key}`] = JSON.stringify(value);\n          } catch {\n            // Skip values that can't be stringified\n          }\n        }\n      }\n      return;\n    }\n\n    if (isPrimitive(detail)) {\n      // Handle primitive details\n      attributes['sentry.browser.measure.detail'] = detail ;\n      return;\n    }\n\n    try {\n      attributes['sentry.browser.measure.detail'] = JSON.stringify(detail);\n    } catch {\n      // Skip if stringification fails\n    }\n  } catch {\n    // Silently ignore any errors when accessing detail\n    // This handles the Firefox \"Permission denied to access object\" error\n  }\n}\n\n/**\n * Instrument navigation entries\n * exported only for tests\n */\nfunction _addNavigationSpans(span, entry, timeOrigin) {\n  (['unloadEvent', 'redirect', 'domContentLoadedEvent', 'loadEvent', 'connect'] ).forEach(event => {\n    _addPerformanceNavigationTiming(span, entry, event, timeOrigin);\n  });\n  _addPerformanceNavigationTiming(span, entry, 'secureConnection', timeOrigin, 'TLS/SSL');\n  _addPerformanceNavigationTiming(span, entry, 'fetch', timeOrigin, 'cache');\n  _addPerformanceNavigationTiming(span, entry, 'domainLookup', timeOrigin, 'DNS');\n\n  _addRequest(span, entry, timeOrigin);\n}\n\n/** Create performance navigation related spans */\nfunction _addPerformanceNavigationTiming(\n  span,\n  entry,\n  event,\n  timeOrigin,\n  name = event,\n) {\n  const eventEnd = _getEndPropertyNameForNavigationTiming(event) ;\n  const end = entry[eventEnd];\n  const start = entry[`${event}Start`];\n  if (!start || !end) {\n    return;\n  }\n  startAndEndSpan(span, timeOrigin + msToSec(start), timeOrigin + msToSec(end), {\n    op: `browser.${name}`,\n    name: entry.name,\n    attributes: {\n      [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n      ...(event === 'redirect' && entry.redirectCount != null ? { 'http.redirect_count': entry.redirectCount } : {}),\n    },\n  });\n}\n\nfunction _getEndPropertyNameForNavigationTiming(event) {\n  if (event === 'secureConnection') {\n    return 'connectEnd';\n  }\n  if (event === 'fetch') {\n    return 'domainLookupStart';\n  }\n  return `${event}End`;\n}\n\n/** Create request and response related spans */\nfunction _addRequest(span, entry, timeOrigin) {\n  const requestStartTimestamp = timeOrigin + msToSec(entry.requestStart );\n  const responseEndTimestamp = timeOrigin + msToSec(entry.responseEnd );\n  const responseStartTimestamp = timeOrigin + msToSec(entry.responseStart );\n  if (entry.responseEnd) {\n    // It is possible that we are collecting these metrics when the page hasn't finished loading yet, for example when the HTML slowly streams in.\n    // In this case, ie. when the document request hasn't finished yet, `entry.responseEnd` will be 0.\n    // In order not to produce faulty spans, where the end timestamp is before the start timestamp, we will only collect\n    // these spans when the responseEnd value is available. The backend (Relay) would drop the entire span if it contained faulty spans.\n    startAndEndSpan(span, requestStartTimestamp, responseEndTimestamp, {\n      op: 'browser.request',\n      name: entry.name,\n      attributes: {\n        [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n      },\n    });\n\n    startAndEndSpan(span, responseStartTimestamp, responseEndTimestamp, {\n      op: 'browser.response',\n      name: entry.name,\n      attributes: {\n        [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n      },\n    });\n  }\n}\n\n/**\n * Create resource-related spans.\n * Exported only for tests.\n */\nfunction _addResourceSpans(\n  span,\n  entry,\n  resourceUrl,\n  startTime,\n  duration,\n  timeOrigin,\n  ignoreResourceSpans,\n) {\n  // we already instrument based on fetch and xhr, so we don't need to\n  // duplicate spans here.\n  if (entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch') {\n    return;\n  }\n\n  const op = entry.initiatorType ? `resource.${entry.initiatorType}` : 'resource.other';\n  if (ignoreResourceSpans?.includes(op)) {\n    return;\n  }\n\n  const parsedUrl = parseUrl(resourceUrl);\n\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.resource.browser.metrics',\n  };\n  setResourceEntrySizeData(attributes, entry, 'transferSize', 'http.response_transfer_size');\n  setResourceEntrySizeData(attributes, entry, 'encodedBodySize', 'http.response_content_length');\n  setResourceEntrySizeData(attributes, entry, 'decodedBodySize', 'http.decoded_response_content_length');\n\n  // `deliveryType` is experimental and does not exist everywhere\n  const deliveryType = (entry ).deliveryType;\n  if (deliveryType != null) {\n    attributes['http.response_delivery_type'] = deliveryType;\n  }\n\n  // Types do not reflect this property yet\n  const renderBlockingStatus = (entry )\n    .renderBlockingStatus;\n  if (renderBlockingStatus) {\n    attributes['resource.render_blocking_status'] = renderBlockingStatus;\n  }\n\n  if (parsedUrl.protocol) {\n    attributes['url.scheme'] = parsedUrl.protocol.split(':').pop(); // the protocol returned by parseUrl includes a :, but OTEL spec does not, so we remove it.\n  }\n\n  if (parsedUrl.host) {\n    attributes['server.address'] = parsedUrl.host;\n  }\n\n  attributes['url.same_origin'] = resourceUrl.includes(WINDOW.location.origin);\n\n  // Checking for only `undefined` and `null` is intentional because it's\n  // valid for `nextHopProtocol` to be an empty string.\n  if (entry.nextHopProtocol != null) {\n    const { name, version } = extractNetworkProtocol(entry.nextHopProtocol);\n    attributes['network.protocol.name'] = name;\n    attributes['network.protocol.version'] = version;\n  }\n\n  const startTimestamp = timeOrigin + startTime;\n  const endTimestamp = startTimestamp + duration;\n\n  startAndEndSpan(span, startTimestamp, endTimestamp, {\n    name: resourceUrl.replace(WINDOW.location.origin, ''),\n    op,\n    attributes,\n  });\n}\n\n/**\n * Capture the information of the user agent.\n */\nfunction _trackNavigator(span) {\n  const navigator = WINDOW.navigator ;\n  if (!navigator) {\n    return;\n  }\n\n  // track network connectivity\n  const connection = navigator.connection;\n  if (connection) {\n    if (connection.effectiveType) {\n      span.setAttribute('effectiveConnectionType', connection.effectiveType);\n    }\n\n    if (connection.type) {\n      span.setAttribute('connectionType', connection.type);\n    }\n\n    if (isMeasurementValue(connection.rtt)) {\n      _measurements['connection.rtt'] = { value: connection.rtt, unit: 'millisecond' };\n    }\n  }\n\n  if (isMeasurementValue(navigator.deviceMemory)) {\n    span.setAttribute('deviceMemory', `${navigator.deviceMemory} GB`);\n  }\n\n  if (isMeasurementValue(navigator.hardwareConcurrency)) {\n    span.setAttribute('hardwareConcurrency', String(navigator.hardwareConcurrency));\n  }\n}\n\n/** Add LCP / CLS data to span to allow debugging */\nfunction _setWebVitalAttributes(span, options) {\n  // Only add LCP attributes if LCP is being recorded on the pageload span\n  if (_lcpEntry && options.recordLcpOnPageloadSpan) {\n    // Capture Properties of the LCP element that contributes to the LCP.\n\n    if (_lcpEntry.element) {\n      span.setAttribute('lcp.element', htmlTreeAsString(_lcpEntry.element));\n    }\n\n    if (_lcpEntry.id) {\n      span.setAttribute('lcp.id', _lcpEntry.id);\n    }\n\n    if (_lcpEntry.url) {\n      // Trim URL to the first 200 characters.\n      span.setAttribute('lcp.url', _lcpEntry.url.trim().slice(0, 200));\n    }\n\n    if (_lcpEntry.loadTime != null) {\n      // loadTime is the time of LCP that's related to receiving the LCP element response..\n      span.setAttribute('lcp.loadTime', _lcpEntry.loadTime);\n    }\n\n    if (_lcpEntry.renderTime != null) {\n      // renderTime is loadTime + rendering time\n      // it's 0 if the LCP element is loaded from a 3rd party origin that doesn't send the\n      // `Timing-Allow-Origin` header.\n      span.setAttribute('lcp.renderTime', _lcpEntry.renderTime);\n    }\n\n    span.setAttribute('lcp.size', _lcpEntry.size);\n  }\n\n  // Only add CLS attributes if CLS is being recorded on the pageload span\n  if (_clsEntry?.sources && options.recordClsOnPageloadSpan) {\n    _clsEntry.sources.forEach((source, index) =>\n      span.setAttribute(`cls.source.${index + 1}`, htmlTreeAsString(source.node)),\n    );\n  }\n}\n\nfunction setResourceEntrySizeData(\n  attributes,\n  entry,\n  key,\n  dataKey,\n) {\n  const entryVal = entry[key];\n  if (entryVal != null && entryVal < MAX_INT_AS_BYTES) {\n    attributes[dataKey] = entryVal;\n  }\n}\n\n/**\n * Add ttfb request time information to measurements.\n *\n * ttfb information is added via vendored web vitals library.\n */\nfunction _addTtfbRequestTimeToMeasurements(_measurements) {\n  const navEntry = getNavigationEntry(false);\n  if (!navEntry) {\n    return;\n  }\n\n  const { responseStart, requestStart } = navEntry;\n\n  if (requestStart <= responseStart) {\n    _measurements['ttfb.requestTime'] = {\n      value: responseStart - requestStart,\n      unit: 'millisecond',\n    };\n  }\n}\n\nexport { _addMeasureSpans, _addNavigationSpans, _addResourceSpans, addPerformanceEntries, startTrackingInteractions, startTrackingLongAnimationFrames, startTrackingLongTasks, startTrackingWebVitals };\n//# sourceMappingURL=browserMetrics.js.map\n","import { browserPerformanceTimeOrigin, getActiveSpan, getRootSpan, spanToJSON, getCurrentScope, timestampInSeconds, startSpan, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';\nimport { addPerformanceInstrumentationHandler } from './instrument.js';\nimport { getBrowserPerformanceAPI, msToSec } from './utils.js';\n\n// ElementTiming interface based on the W3C spec\n\n/**\n * Start tracking ElementTiming performance entries.\n */\nfunction startTrackingElementTiming() {\n  const performance = getBrowserPerformanceAPI();\n  if (performance && browserPerformanceTimeOrigin()) {\n    return addPerformanceInstrumentationHandler('element', _onElementTiming);\n  }\n\n  return () => undefined;\n}\n\n/**\n * exported only for testing\n */\nconst _onElementTiming = ({ entries }) => {\n  const activeSpan = getActiveSpan();\n  const rootSpan = activeSpan ? getRootSpan(activeSpan) : undefined;\n  const transactionName = rootSpan\n    ? spanToJSON(rootSpan).description\n    : getCurrentScope().getScopeData().transactionName;\n\n  entries.forEach(entry => {\n    const elementEntry = entry ;\n\n    // Skip entries without identifier (elementtiming attribute)\n    if (!elementEntry.identifier) {\n      return;\n    }\n\n    // `name` contains the type of the element paint. Can be `'image-paint'` or `'text-paint'`.\n    // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceElementTiming#instance_properties\n    const paintType = elementEntry.name ;\n\n    const renderTime = elementEntry.renderTime;\n    const loadTime = elementEntry.loadTime;\n\n    // starting the span at:\n    // - `loadTime` if available (should be available for all \"image-paint\" entries, 0 otherwise)\n    // - `renderTime` if available (available for all entries, except 3rd party images, but these should be covered by `loadTime`, 0 otherwise)\n    // - `timestampInSeconds()` as a safeguard\n    // see https://developer.mozilla.org/en-US/docs/Web/API/PerformanceElementTiming/renderTime#cross-origin_image_render_time\n    const [spanStartTime, spanStartTimeSource] = loadTime\n      ? [msToSec(loadTime), 'load-time']\n      : renderTime\n        ? [msToSec(renderTime), 'render-time']\n        : [timestampInSeconds(), 'entry-emission'];\n\n    const duration =\n      paintType === 'image-paint'\n        ? // for image paints, we can acually get a duration because image-paint entries also have a `loadTime`\n          // and `renderTime`. `loadTime` is the time when the image finished loading and `renderTime` is the\n          // time when the image finished rendering.\n          msToSec(Math.max(0, (renderTime ?? 0) - (loadTime ?? 0)))\n        : // for `'text-paint'` entries, we can't get a duration because the `loadTime` is always zero.\n          0;\n\n    const attributes = {\n      [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.elementtiming',\n      [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'ui.elementtiming',\n      // name must be user-entered, so we can assume low cardinality\n      [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component',\n      // recording the source of the span start time, as it varies depending on available data\n      'sentry.span_start_time_source': spanStartTimeSource,\n      'sentry.transaction_name': transactionName,\n      'element.id': elementEntry.id,\n      'element.type': elementEntry.element?.tagName?.toLowerCase() || 'unknown',\n      'element.size':\n        elementEntry.naturalWidth && elementEntry.naturalHeight\n          ? `${elementEntry.naturalWidth}x${elementEntry.naturalHeight}`\n          : undefined,\n      'element.render_time': renderTime,\n      'element.load_time': loadTime,\n      // `url` is `0`(number) for text paints (hence we fall back to undefined)\n      'element.url': elementEntry.url || undefined,\n      'element.identifier': elementEntry.identifier,\n      'element.paint_type': paintType,\n    };\n\n    startSpan(\n      {\n        name: `element[${elementEntry.identifier}]`,\n        attributes,\n        startTime: spanStartTime,\n        onlyIfParent: true,\n      },\n      span => {\n        span.end(spanStartTime + duration);\n      },\n    );\n  });\n};\n\nexport { _onElementTiming, startTrackingElementTiming };\n//# sourceMappingURL=elementTiming.js.map\n","import { addHandler, maybeInstrument, triggerHandlers, fill, addNonEnumerableProperty, uuid4 } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nconst DEBOUNCE_DURATION = 1000;\n\nlet debounceTimerID;\nlet lastCapturedEventType;\nlet lastCapturedEventTargetId;\n\n/**\n * Add an instrumentation handler for when a click or a keypress happens.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addClickKeypressInstrumentationHandler(handler) {\n  const type = 'dom';\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentDOM);\n}\n\n/** Exported for tests only. */\nfunction instrumentDOM() {\n  if (!WINDOW.document) {\n    return;\n  }\n\n  // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n  // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n  // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n  const triggerDOMHandler = triggerHandlers.bind(null, 'dom');\n  const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n  WINDOW.document.addEventListener('click', globalDOMEventHandler, false);\n  WINDOW.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n  // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n  // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n  // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n  // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n  // guaranteed to fire at least once.)\n  ['EventTarget', 'Node'].forEach((target) => {\n    const globalObject = WINDOW ;\n    const proto = globalObject[target]?.prototype;\n\n    // eslint-disable-next-line no-prototype-builtins\n    if (!proto?.hasOwnProperty?.('addEventListener')) {\n      return;\n    }\n\n    fill(proto, 'addEventListener', function (originalAddEventListener) {\n      return function ( type, listener, options) {\n        if (type === 'click' || type == 'keypress') {\n          try {\n            const handlers = (this.__sentry_instrumentation_handlers__ =\n              this.__sentry_instrumentation_handlers__ || {});\n            const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n            if (!handlerForType.handler) {\n              const handler = makeDOMEventHandler(triggerDOMHandler);\n              handlerForType.handler = handler;\n              originalAddEventListener.call(this, type, handler, options);\n            }\n\n            handlerForType.refCount++;\n          } catch {\n            // Accessing dom properties is always fragile.\n            // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n          }\n        }\n\n        return originalAddEventListener.call(this, type, listener, options);\n      };\n    });\n\n    fill(\n      proto,\n      'removeEventListener',\n      function (originalRemoveEventListener) {\n        return function ( type, listener, options) {\n          if (type === 'click' || type == 'keypress') {\n            try {\n              const handlers = this.__sentry_instrumentation_handlers__ || {};\n              const handlerForType = handlers[type];\n\n              if (handlerForType) {\n                handlerForType.refCount--;\n                // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n                if (handlerForType.refCount <= 0) {\n                  originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n                  handlerForType.handler = undefined;\n                  delete handlers[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n                }\n\n                // If there are no longer any custom handlers of any type on this element, cleanup everything.\n                if (Object.keys(handlers).length === 0) {\n                  delete this.__sentry_instrumentation_handlers__;\n                }\n              }\n            } catch {\n              // Accessing dom properties is always fragile.\n              // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n            }\n          }\n\n          return originalRemoveEventListener.call(this, type, listener, options);\n        };\n      },\n    );\n  });\n}\n\n/**\n * Check whether the event is similar to the last captured one. For example, two click events on the same button.\n */\nfunction isSimilarToLastCapturedEvent(event) {\n  // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n  if (event.type !== lastCapturedEventType) {\n    return false;\n  }\n\n  try {\n    // If both events have the same type, it's still possible that actions were performed on different targets.\n    // e.g. 2 clicks on different buttons.\n    if (!event.target || (event.target )._sentryId !== lastCapturedEventTargetId) {\n      return false;\n    }\n  } catch {\n    // just accessing `target` property can throw an exception in some rare circumstances\n    // see: https://github.com/getsentry/sentry-javascript/issues/838\n  }\n\n  // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n  // to which an event listener was attached), we treat them as the same action, as we want to capture\n  // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n  return true;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(eventType, target) {\n  // We are only interested in filtering `keypress` events for now.\n  if (eventType !== 'keypress') {\n    return false;\n  }\n\n  if (!target?.tagName) {\n    return true;\n  }\n\n  // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n  // e.g.tabbing through elements, hotkeys, etc.\n  if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n    return false;\n  }\n\n  return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n */\nfunction makeDOMEventHandler(\n  handler,\n  globalListener = false,\n) {\n  return (event) => {\n    // It's possible this handler might trigger multiple times for the same\n    // event (e.g. event propagation through node ancestors).\n    // Ignore if we've already captured that event.\n    if (!event || event['_sentryCaptured']) {\n      return;\n    }\n\n    const target = getEventTarget(event);\n\n    // We always want to skip _some_ events.\n    if (shouldSkipDOMEvent(event.type, target)) {\n      return;\n    }\n\n    // Mark event as \"seen\"\n    addNonEnumerableProperty(event, '_sentryCaptured', true);\n\n    if (target && !target._sentryId) {\n      // Add UUID to event target so we can identify if\n      addNonEnumerableProperty(target, '_sentryId', uuid4());\n    }\n\n    const name = event.type === 'keypress' ? 'input' : event.type;\n\n    // If there is no last captured event, it means that we can safely capture the new event and store it for future comparisons.\n    // If there is a last captured event, see if the new event is different enough to treat it as a unique one.\n    // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n    if (!isSimilarToLastCapturedEvent(event)) {\n      const handlerData = { event, name, global: globalListener };\n      handler(handlerData);\n      lastCapturedEventType = event.type;\n      lastCapturedEventTargetId = target ? target._sentryId : undefined;\n    }\n\n    // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n    clearTimeout(debounceTimerID);\n    debounceTimerID = WINDOW.setTimeout(() => {\n      lastCapturedEventTargetId = undefined;\n      lastCapturedEventType = undefined;\n    }, DEBOUNCE_DURATION);\n  };\n}\n\nfunction getEventTarget(event) {\n  try {\n    return event.target ;\n  } catch {\n    // just accessing `target` property can throw an exception in some rare circumstances\n    // see: https://github.com/getsentry/sentry-javascript/issues/838\n    return null;\n  }\n}\n\nexport { addClickKeypressInstrumentationHandler, instrumentDOM };\n//# sourceMappingURL=dom.js.map\n","import { addHandler, maybeInstrument, triggerHandlers, supportsHistory, fill } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nlet lastHref;\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addHistoryInstrumentationHandler(handler) {\n  const type = 'history';\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentHistory);\n}\n\n/**\n * Exported just for testing\n */\nfunction instrumentHistory() {\n  // The `popstate` event may also be triggered on `pushState`, but it may not always reliably be emitted by the browser\n  // Which is why we also monkey-patch methods below, in addition to this\n  WINDOW.addEventListener('popstate', () => {\n    const to = WINDOW.location.href;\n    // keep track of the current URL state, as we always receive only the updated state\n    const from = lastHref;\n    lastHref = to;\n\n    if (from === to) {\n      return;\n    }\n\n    const handlerData = { from, to } ;\n    triggerHandlers('history', handlerData);\n  });\n\n  // Just guard against this not being available, in weird environments\n  if (!supportsHistory()) {\n    return;\n  }\n\n  function historyReplacementFunction(originalHistoryFunction) {\n    return function ( ...args) {\n      const url = args.length > 2 ? args[2] : undefined;\n      if (url) {\n        const from = lastHref;\n\n        // Ensure the URL is absolute\n        // this can be either a path, then it is relative to the current origin\n        // or a full URL of the current origin - other origins are not allowed\n        // See: https://developer.mozilla.org/en-US/docs/Web/API/History/pushState#url\n        // coerce to string (this is what pushState does)\n        const to = getAbsoluteUrl(String(url));\n\n        // keep track of the current URL state, as we always receive only the updated state\n        lastHref = to;\n\n        if (from === to) {\n          return originalHistoryFunction.apply(this, args);\n        }\n\n        const handlerData = { from, to } ;\n        triggerHandlers('history', handlerData);\n      }\n      return originalHistoryFunction.apply(this, args);\n    };\n  }\n\n  fill(WINDOW.history, 'pushState', historyReplacementFunction);\n  fill(WINDOW.history, 'replaceState', historyReplacementFunction);\n}\n\nfunction getAbsoluteUrl(urlOrPath) {\n  try {\n    const url = new URL(urlOrPath, WINDOW.location.origin);\n    return url.toString();\n  } catch {\n    // fallback, just do nothing\n    return urlOrPath;\n  }\n}\n\nexport { addHistoryInstrumentationHandler, instrumentHistory };\n//# sourceMappingURL=history.js.map\n","import { isNativeFunction, debug } from '@sentry/core';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { WINDOW } from './types.js';\n\n/**\n * We generally want to use window.fetch / window.setTimeout.\n * However, in some cases this may be wrapped (e.g. by Zone.js for Angular),\n * so we try to get an unpatched version of this from a sandboxed iframe.\n */\n\nconst cachedImplementations = {};\n\n/**\n * Get the native implementation of a browser function.\n *\n * This can be used to ensure we get an unwrapped version of a function, in cases where a wrapped function can lead to problems.\n *\n * The following methods can be retrieved:\n * - `setTimeout`: This can be wrapped by e.g. Angular, causing change detection to be triggered.\n * - `fetch`: This can be wrapped by e.g. ad-blockers, causing an infinite loop when a request is blocked.\n */\nfunction getNativeImplementation(\n  name,\n) {\n  const cached = cachedImplementations[name];\n  if (cached) {\n    return cached;\n  }\n\n  let impl = WINDOW[name] ;\n\n  // Fast path to avoid DOM I/O\n  if (isNativeFunction(impl)) {\n    return (cachedImplementations[name] = impl.bind(WINDOW) );\n  }\n\n  const document = WINDOW.document;\n  // eslint-disable-next-line deprecation/deprecation\n  if (document && typeof document.createElement === 'function') {\n    try {\n      const sandbox = document.createElement('iframe');\n      sandbox.hidden = true;\n      document.head.appendChild(sandbox);\n      const contentWindow = sandbox.contentWindow;\n      if (contentWindow?.[name]) {\n        impl = contentWindow[name] ;\n      }\n      document.head.removeChild(sandbox);\n    } catch (e) {\n      // Could not create sandbox iframe, just use window.xxx\n      DEBUG_BUILD && debug.warn(`Could not create sandbox iframe for ${name} check, bailing to window.${name}: `, e);\n    }\n  }\n\n  // Sanity check: This _should_ not happen, but if it does, we just skip caching...\n  // This can happen e.g. in tests where fetch may not be available in the env, or similar.\n  if (!impl) {\n    return impl;\n  }\n\n  return (cachedImplementations[name] = impl.bind(WINDOW) );\n}\n\n/** Clear a cached implementation. */\nfunction clearCachedImplementation(name) {\n  cachedImplementations[name] = undefined;\n}\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n *   const p = f.apply(this, arguments);\n *\n *   p.then(function() {\n *     console.log('hi.');\n *   });\n *\n *   return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome:  Failed to fetch\n * Edge:    Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari:  resource blocked by content blocker\n */\nfunction fetch(...rest) {\n  return getNativeImplementation('fetch')(...rest);\n}\n\n/**\n * Get an unwrapped `setTimeout` method.\n * This ensures that even if e.g. Angular wraps `setTimeout`, we get the native implementation,\n * avoiding triggering change detection.\n */\nfunction setTimeout(...rest) {\n  return getNativeImplementation('setTimeout')(...rest);\n}\n\nexport { clearCachedImplementation, fetch, getNativeImplementation, setTimeout };\n//# sourceMappingURL=getNativeImplementation.js.map\n","import { addHandler, maybeInstrument, timestampInSeconds, isString, triggerHandlers } from '@sentry/core';\nimport { WINDOW } from '../types.js';\n\nconst SENTRY_XHR_DATA_KEY = '__sentry_xhr_v3__';\n\n/**\n * Add an instrumentation handler for when an XHR request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addXhrInstrumentationHandler(handler) {\n  const type = 'xhr';\n  addHandler(type, handler);\n  maybeInstrument(type, instrumentXHR);\n}\n\n/** Exported only for tests. */\nfunction instrumentXHR() {\n  if (!(WINDOW ).XMLHttpRequest) {\n    return;\n  }\n\n  const xhrproto = XMLHttpRequest.prototype;\n\n  // eslint-disable-next-line @typescript-eslint/unbound-method\n  xhrproto.open = new Proxy(xhrproto.open, {\n    apply(\n      originalOpen,\n      xhrOpenThisArg,\n      xhrOpenArgArray\n\n,\n    ) {\n      // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n      //       it means the error, that was caused by your XHR call did not\n      //       have a stack trace. If you are using HttpClient integration,\n      //       this is the expected behavior, as we are using this virtual error to capture\n      //       the location of your XHR call, and group your HttpClient events accordingly.\n      const virtualError = new Error();\n\n      const startTimestamp = timestampInSeconds() * 1000;\n\n      // open() should always be called with two or more arguments\n      // But to be on the safe side, we actually validate this and bail out if we don't have a method & url\n      const method = isString(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : undefined;\n      const url = parseXhrUrlArg(xhrOpenArgArray[1]);\n\n      if (!method || !url) {\n        return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n      }\n\n      xhrOpenThisArg[SENTRY_XHR_DATA_KEY] = {\n        method,\n        url,\n        request_headers: {},\n      };\n\n      // if Sentry key appears in URL, don't capture it as a request\n      if (method === 'POST' && url.match(/sentry_key/)) {\n        xhrOpenThisArg.__sentry_own_request__ = true;\n      }\n\n      const onreadystatechangeHandler = () => {\n        // For whatever reason, this is not the same instance here as from the outer method\n        const xhrInfo = xhrOpenThisArg[SENTRY_XHR_DATA_KEY];\n\n        if (!xhrInfo) {\n          return;\n        }\n\n        if (xhrOpenThisArg.readyState === 4) {\n          try {\n            // touching statusCode in some platforms throws\n            // an exception\n            xhrInfo.status_code = xhrOpenThisArg.status;\n          } catch {\n            /* do nothing */\n          }\n\n          const handlerData = {\n            endTimestamp: timestampInSeconds() * 1000,\n            startTimestamp,\n            xhr: xhrOpenThisArg,\n            virtualError,\n          };\n          triggerHandlers('xhr', handlerData);\n        }\n      };\n\n      if ('onreadystatechange' in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === 'function') {\n        xhrOpenThisArg.onreadystatechange = new Proxy(xhrOpenThisArg.onreadystatechange, {\n          apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray) {\n            onreadystatechangeHandler();\n            return originalOnreadystatechange.apply(onreadystatechangeThisArg, onreadystatechangeArgArray);\n          },\n        });\n      } else {\n        xhrOpenThisArg.addEventListener('readystatechange', onreadystatechangeHandler);\n      }\n\n      // Intercepting `setRequestHeader` to access the request headers of XHR instance.\n      // This will only work for user/library defined headers, not for the default/browser-assigned headers.\n      // Request cookies are also unavailable for XHR, as `Cookie` header can't be defined by `setRequestHeader`.\n      xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {\n        apply(\n          originalSetRequestHeader,\n          setRequestHeaderThisArg,\n          setRequestHeaderArgArray,\n        ) {\n          const [header, value] = setRequestHeaderArgArray;\n\n          const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];\n\n          if (xhrInfo && isString(header) && isString(value)) {\n            xhrInfo.request_headers[header.toLowerCase()] = value;\n          }\n\n          return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);\n        },\n      });\n\n      return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n    },\n  });\n\n  // eslint-disable-next-line @typescript-eslint/unbound-method\n  xhrproto.send = new Proxy(xhrproto.send, {\n    apply(originalSend, sendThisArg, sendArgArray) {\n      const sentryXhrData = sendThisArg[SENTRY_XHR_DATA_KEY];\n\n      if (!sentryXhrData) {\n        return originalSend.apply(sendThisArg, sendArgArray);\n      }\n\n      if (sendArgArray[0] !== undefined) {\n        sentryXhrData.body = sendArgArray[0];\n      }\n\n      const handlerData = {\n        startTimestamp: timestampInSeconds() * 1000,\n        xhr: sendThisArg,\n      };\n      triggerHandlers('xhr', handlerData);\n\n      return originalSend.apply(sendThisArg, sendArgArray);\n    },\n  });\n}\n\n/**\n * Parses the URL argument of a XHR method to a string.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open#url\n * url: A string or any other object with a stringifier — including a URL object — that provides the URL of the resource to send the request to.\n *\n * @param url - The URL argument of an XHR method\n * @returns The parsed URL string or undefined if the URL is invalid\n */\nfunction parseXhrUrlArg(url) {\n  if (isString(url)) {\n    return url;\n  }\n\n  try {\n    // If the passed in argument is not a string, it should have a `toString` method as a stringifier.\n    // If that fails, we just return undefined (like in IE11 where URL is not available)\n    return (url ).toString();\n  } catch {} // eslint-disable-line no-empty\n\n  return undefined;\n}\n\nexport { SENTRY_XHR_DATA_KEY, addXhrInstrumentationHandler, instrumentXHR };\n//# sourceMappingURL=xhr.js.map\n","import { debug } from '@sentry/core';\nimport { DEBUG_BUILD } from './debug-build.js';\n\n/**\n * Serializes FormData.\n *\n * This is a bit simplified, but gives us a decent estimate.\n * This converts e.g. { name: 'Anne Smith', age: 13 } to 'name=Anne+Smith&age=13'.\n *\n */\nfunction serializeFormData(formData) {\n  // @ts-expect-error passing FormData to URLSearchParams actually works\n  return new URLSearchParams(formData).toString();\n}\n\n/** Get the string representation of a body. */\nfunction getBodyString(body, _debug = debug) {\n  try {\n    if (typeof body === 'string') {\n      return [body];\n    }\n\n    if (body instanceof URLSearchParams) {\n      return [body.toString()];\n    }\n\n    if (body instanceof FormData) {\n      return [serializeFormData(body)];\n    }\n\n    if (!body) {\n      return [undefined];\n    }\n  } catch (error) {\n    DEBUG_BUILD && _debug.error(error, 'Failed to serialize body', body);\n    return [undefined, 'BODY_PARSE_ERROR'];\n  }\n\n  DEBUG_BUILD && _debug.log('Skipping network body because of body type', body);\n\n  return [undefined, 'UNPARSEABLE_BODY_TYPE'];\n}\n\n/**\n * Parses the fetch arguments to extract the request payload.\n *\n * We only support getting the body from the fetch options.\n */\nfunction getFetchRequestArgBody(fetchArgs = []) {\n  if (fetchArgs.length !== 2 || typeof fetchArgs[1] !== 'object') {\n    return undefined;\n  }\n\n  return (fetchArgs[1] ).body;\n}\n\nexport { getBodyString, getFetchRequestArgBody, serializeFormData };\n//# sourceMappingURL=networkUtils.js.map\n","import { browserPerformanceTimeOrigin, getActiveSpan, getRootSpan, spanToJSON, getCurrentScope, htmlTreeAsString, SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE, SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';\nimport { addPerformanceInstrumentationHandler, addInpInstrumentationHandler, isPerformanceEventTiming } from './instrument.js';\nimport { getBrowserPerformanceAPI, msToSec, startStandaloneWebVitalSpan } from './utils.js';\n\nconst LAST_INTERACTIONS = [];\nconst INTERACTIONS_SPAN_MAP = new Map();\n\n/**\n * 60 seconds is the maximum for a plausible INP value\n * (source: Me)\n */\nconst MAX_PLAUSIBLE_INP_DURATION = 60;\n/**\n * Start tracking INP webvital events.\n */\nfunction startTrackingINP() {\n  const performance = getBrowserPerformanceAPI();\n  if (performance && browserPerformanceTimeOrigin()) {\n    const inpCallback = _trackINP();\n\n    return () => {\n      inpCallback();\n    };\n  }\n\n  return () => undefined;\n}\n\nconst INP_ENTRY_MAP = {\n  click: 'click',\n  pointerdown: 'click',\n  pointerup: 'click',\n  mousedown: 'click',\n  mouseup: 'click',\n  touchstart: 'click',\n  touchend: 'click',\n  mouseover: 'hover',\n  mouseout: 'hover',\n  mouseenter: 'hover',\n  mouseleave: 'hover',\n  pointerover: 'hover',\n  pointerout: 'hover',\n  pointerenter: 'hover',\n  pointerleave: 'hover',\n  dragstart: 'drag',\n  dragend: 'drag',\n  drag: 'drag',\n  dragenter: 'drag',\n  dragleave: 'drag',\n  dragover: 'drag',\n  drop: 'drag',\n  keydown: 'press',\n  keyup: 'press',\n  keypress: 'press',\n  input: 'press',\n};\n\n/** Starts tracking the Interaction to Next Paint on the current page. #\n * exported only for testing\n */\nfunction _trackINP() {\n  return addInpInstrumentationHandler(_onInp);\n}\n\n/**\n * exported only for testing\n */\nconst _onInp = ({ metric }) => {\n  if (metric.value == undefined) {\n    return;\n  }\n\n  const duration = msToSec(metric.value);\n\n  // We received occasional reports of hour-long INP values.\n  // Therefore, we add a sanity check to avoid creating spans for\n  // unrealistically long INP durations.\n  if (duration > MAX_PLAUSIBLE_INP_DURATION) {\n    return;\n  }\n\n  const entry = metric.entries.find(entry => entry.duration === metric.value && INP_ENTRY_MAP[entry.name]);\n\n  if (!entry) {\n    return;\n  }\n\n  const { interactionId } = entry;\n  const interactionType = INP_ENTRY_MAP[entry.name];\n\n  /** Build the INP span, create an envelope from the span, and then send the envelope */\n  const startTime = msToSec((browserPerformanceTimeOrigin() ) + entry.startTime);\n  const activeSpan = getActiveSpan();\n  const rootSpan = activeSpan ? getRootSpan(activeSpan) : undefined;\n\n  // We first try to lookup the span from our INTERACTIONS_SPAN_MAP,\n  // where we cache the route per interactionId\n  const cachedSpan = interactionId != null ? INTERACTIONS_SPAN_MAP.get(interactionId) : undefined;\n\n  const spanToUse = cachedSpan || rootSpan;\n\n  // Else, we try to use the active span.\n  // Finally, we fall back to look at the transactionName on the scope\n  const routeName = spanToUse ? spanToJSON(spanToUse).description : getCurrentScope().getScopeData().transactionName;\n\n  const name = htmlTreeAsString(entry.target);\n  const attributes = {\n    [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser.inp',\n    [SEMANTIC_ATTRIBUTE_SENTRY_OP]: `ui.interaction.${interactionType}`,\n    [SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: entry.duration,\n  };\n\n  const span = startStandaloneWebVitalSpan({\n    name,\n    transaction: routeName,\n    attributes,\n    startTime,\n  });\n\n  if (span) {\n    span.addEvent('inp', {\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: 'millisecond',\n      [SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: metric.value,\n    });\n\n    span.end(startTime + duration);\n  }\n};\n\n/**\n * Register a listener to cache route information for INP interactions.\n */\nfunction registerInpInteractionListener() {\n  const handleEntries = ({ entries }) => {\n    const activeSpan = getActiveSpan();\n    const activeRootSpan = activeSpan && getRootSpan(activeSpan);\n\n    entries.forEach(entry => {\n      if (!isPerformanceEventTiming(entry) || !activeRootSpan) {\n        return;\n      }\n\n      const interactionId = entry.interactionId;\n      if (interactionId == null) {\n        return;\n      }\n\n      // If the interaction was already recorded before, nothing more to do\n      if (INTERACTIONS_SPAN_MAP.has(interactionId)) {\n        return;\n      }\n\n      // We keep max. 10 interactions in the list, then remove the oldest one & clean up\n      if (LAST_INTERACTIONS.length > 10) {\n        const last = LAST_INTERACTIONS.shift() ;\n        INTERACTIONS_SPAN_MAP.delete(last);\n      }\n\n      // We add the interaction to the list of recorded interactions\n      // and store the span for this interaction\n      LAST_INTERACTIONS.push(interactionId);\n      INTERACTIONS_SPAN_MAP.set(interactionId, activeRootSpan);\n    });\n  };\n\n  addPerformanceInstrumentationHandler('event', handleEntries);\n  addPerformanceInstrumentationHandler('first-input', handleEntries);\n}\n\nexport { _onInp, _trackINP, registerInpInteractionListener, startTrackingINP };\n//# sourceMappingURL=inp.js.map\n","import { createTransport, rejectedSyncPromise } from '@sentry/core';\nimport { getNativeImplementation, clearCachedImplementation } from '@sentry-internal/browser-utils';\n\n/**\n * Creates a Transport that uses the Fetch API to send events to Sentry.\n */\nfunction makeFetchTransport(\n  options,\n  nativeFetch = getNativeImplementation('fetch'),\n) {\n  let pendingBodySize = 0;\n  let pendingCount = 0;\n\n  function makeRequest(request) {\n    const requestSize = request.body.length;\n    pendingBodySize += requestSize;\n    pendingCount++;\n\n    const requestOptions = {\n      body: request.body,\n      method: 'POST',\n      referrerPolicy: 'strict-origin',\n      headers: options.headers,\n      // Outgoing requests are usually cancelled when navigating to a different page, causing a \"TypeError: Failed to\n      // fetch\" error and sending a \"network_error\" client-outcome - in Chrome, the request status shows \"(cancelled)\".\n      // The `keepalive` flag keeps outgoing requests alive, even when switching pages. We want this since we're\n      // frequently sending events right before the user is switching pages (eg. when finishing navigation transactions).\n      // Gotchas:\n      // - `keepalive` isn't supported by Firefox\n      // - As per spec (https://fetch.spec.whatwg.org/#http-network-or-cache-fetch):\n      //   If the sum of contentLength and inflightKeepaliveBytes is greater than 64 kibibytes, then return a network error.\n      //   We will therefore only activate the flag when we're below that limit.\n      // There is also a limit of requests that can be open at the same time, so we also limit this to 15\n      // See https://github.com/getsentry/sentry-javascript/pull/7553 for details\n      keepalive: pendingBodySize <= 60000 && pendingCount < 15,\n      ...options.fetchOptions,\n    };\n\n    if (!nativeFetch) {\n      clearCachedImplementation('fetch');\n      return rejectedSyncPromise('No fetch implementation available');\n    }\n\n    try {\n      // Note: We do not need to suppress tracing here, becasue we are using the native fetch, instead of our wrapped one.\n      return nativeFetch(options.url, requestOptions).then(response => {\n        pendingBodySize -= requestSize;\n        pendingCount--;\n        return {\n          statusCode: response.status,\n          headers: {\n            'x-sentry-rate-limits': response.headers.get('X-Sentry-Rate-Limits'),\n            'retry-after': response.headers.get('Retry-After'),\n          },\n        };\n      });\n    } catch (e) {\n      clearCachedImplementation('fetch');\n      pendingBodySize -= requestSize;\n      pendingCount--;\n      return rejectedSyncPromise(e);\n    }\n  }\n\n  return createTransport(options, makeRequest);\n}\n\nexport { makeFetchTransport };\n//# sourceMappingURL=fetch.js.map\n","import { createStackParser, UNKNOWN_FUNCTION } from '@sentry/core';\n\nconst OPERA10_PRIORITY = 10;\nconst OPERA11_PRIORITY = 20;\nconst CHROME_PRIORITY = 30;\nconst WINJS_PRIORITY = 40;\nconst GECKO_PRIORITY = 50;\n\nfunction createFrame(filename, func, lineno, colno) {\n  const frame = {\n    filename,\n    function: func === '<anonymous>' ? UNKNOWN_FUNCTION : func,\n    in_app: true, // All browser frames are considered in_app\n  };\n\n  if (lineno !== undefined) {\n    frame.lineno = lineno;\n  }\n\n  if (colno !== undefined) {\n    frame.colno = colno;\n  }\n\n  return frame;\n}\n\n// This regex matches frames that have no function name (ie. are at the top level of a module).\n// For example \"at http://localhost:5000//script.js:1:126\"\n// Frames _with_ function names usually look as follows: \"at commitLayoutEffects (react-dom.development.js:23426:1)\"\nconst chromeRegexNoFnName = /^\\s*at (\\S+?)(?::(\\d+))(?::(\\d+))\\s*$/i;\n\n// This regex matches all the frames that have a function name.\nconst chromeRegex =\n  /^\\s*at (?:(.+?\\)(?: \\[.+\\])?|.*?) ?\\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\\/)?.*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n\nconst chromeEvalRegex = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n\n// Matches stack frames with data URIs instead of filename so we can still get the function name\n// Example: \"at dynamicFn (data:application/javascript,export function dynamicFn() {...\"\nconst chromeDataUriRegex = /at (.+?) ?\\(data:(.+?),/;\n\n// Chromium based browsers: Chrome, Brave, new Opera, new Edge\n// We cannot call this variable `chrome` because it can conflict with global `chrome` variable in certain environments\n// See: https://github.com/getsentry/sentry-javascript/issues/6880\nconst chromeStackParserFn = line => {\n  const dataUriMatch = line.match(chromeDataUriRegex);\n  if (dataUriMatch) {\n    return {\n      filename: `<data:${dataUriMatch[2]}>`,\n      function: dataUriMatch[1],\n    };\n  }\n\n  // If the stack line has no function name, we need to parse it differently\n  const noFnParts = chromeRegexNoFnName.exec(line) ;\n\n  if (noFnParts) {\n    const [, filename, line, col] = noFnParts;\n    return createFrame(filename, UNKNOWN_FUNCTION, +line, +col);\n  }\n\n  const parts = chromeRegex.exec(line) ;\n\n  if (parts) {\n    const isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n\n    if (isEval) {\n      const subMatch = chromeEvalRegex.exec(parts[2]) ;\n\n      if (subMatch) {\n        // throw out eval line/column and use top-most line/column number\n        parts[2] = subMatch[1]; // url\n        parts[3] = subMatch[2]; // line\n        parts[4] = subMatch[3]; // column\n      }\n    }\n\n    // Kamil: One more hack won't hurt us right? Understanding and adding more rules on top of these regexps right now\n    // would be way too time consuming. (TODO: Rewrite whole RegExp to be more readable)\n    const [func, filename] = extractSafariExtensionDetails(parts[1] || UNKNOWN_FUNCTION, parts[2]);\n\n    return createFrame(filename, func, parts[3] ? +parts[3] : undefined, parts[4] ? +parts[4] : undefined);\n  }\n\n  return;\n};\n\nconst chromeStackLineParser = [CHROME_PRIORITY, chromeStackParserFn];\n\n// gecko regex: `(?:bundle|\\d+\\.js)`: `bundle` is for react native, `\\d+\\.js` also but specifically for ram bundles because it\n// generates filenames without a prefix like `file://` the filenames in the stacktrace are just 42.js\n// We need this specific case for now because we want no other regex to match.\nconst geckoREgex =\n  /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)?((?:[-a-z]+)?:\\/.*?|\\[native code\\]|[^@]*(?:bundle|\\d+\\.js)|\\/[\\w\\-. /=]+)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nconst geckoEvalRegex = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n\nconst gecko = line => {\n  const parts = geckoREgex.exec(line) ;\n\n  if (parts) {\n    const isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n    if (isEval) {\n      const subMatch = geckoEvalRegex.exec(parts[3]) ;\n\n      if (subMatch) {\n        // throw out eval line/column and use top-most line number\n        parts[1] = parts[1] || 'eval';\n        parts[3] = subMatch[1];\n        parts[4] = subMatch[2];\n        parts[5] = ''; // no column when eval\n      }\n    }\n\n    let filename = parts[3];\n    let func = parts[1] || UNKNOWN_FUNCTION;\n    [func, filename] = extractSafariExtensionDetails(func, filename);\n\n    return createFrame(filename, func, parts[4] ? +parts[4] : undefined, parts[5] ? +parts[5] : undefined);\n  }\n\n  return;\n};\n\nconst geckoStackLineParser = [GECKO_PRIORITY, gecko];\n\nconst winjsRegex = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:[-a-z]+):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n\nconst winjs = line => {\n  const parts = winjsRegex.exec(line) ;\n\n  return parts\n    ? createFrame(parts[2], parts[1] || UNKNOWN_FUNCTION, +parts[3], parts[4] ? +parts[4] : undefined)\n    : undefined;\n};\n\nconst winjsStackLineParser = [WINJS_PRIORITY, winjs];\n\nconst opera10Regex = / line (\\d+).*script (?:in )?(\\S+)(?:: in function (\\S+))?$/i;\n\nconst opera10 = line => {\n  const parts = opera10Regex.exec(line) ;\n  return parts ? createFrame(parts[2], parts[3] || UNKNOWN_FUNCTION, +parts[1]) : undefined;\n};\n\nconst opera10StackLineParser = [OPERA10_PRIORITY, opera10];\n\nconst opera11Regex =\n  / line (\\d+), column (\\d+)\\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\\(.*\\))? in (.*):\\s*$/i;\n\nconst opera11 = line => {\n  const parts = opera11Regex.exec(line) ;\n  return parts ? createFrame(parts[5], parts[3] || parts[4] || UNKNOWN_FUNCTION, +parts[1], +parts[2]) : undefined;\n};\n\nconst opera11StackLineParser = [OPERA11_PRIORITY, opera11];\n\nconst defaultStackLineParsers = [chromeStackLineParser, geckoStackLineParser];\n\nconst defaultStackParser = createStackParser(...defaultStackLineParsers);\n\n/**\n * Safari web extensions, starting version unknown, can produce \"frames-only\" stacktraces.\n * What it means, is that instead of format like:\n *\n * Error: wat\n *   at function@url:row:col\n *   at function@url:row:col\n *   at function@url:row:col\n *\n * it produces something like:\n *\n *   function@url:row:col\n *   function@url:row:col\n *   function@url:row:col\n *\n * Because of that, it won't be captured by `chrome` RegExp and will fall into `Gecko` branch.\n * This function is extracted so that we can use it in both places without duplicating the logic.\n * Unfortunately \"just\" changing RegExp is too complicated now and making it pass all tests\n * and fix this case seems like an impossible, or at least way too time-consuming task.\n */\nconst extractSafariExtensionDetails = (func, filename) => {\n  const isSafariExtension = func.indexOf('safari-extension') !== -1;\n  const isSafariWebExtension = func.indexOf('safari-web-extension') !== -1;\n\n  return isSafariExtension || isSafariWebExtension\n    ? [\n        func.indexOf('@') !== -1 ? (func.split('@')[0] ) : UNKNOWN_FUNCTION,\n        isSafariExtension ? `safari-extension:${filename}` : `safari-web-extension:${filename}`,\n      ]\n    : [func, filename];\n};\n\nexport { chromeStackLineParser, defaultStackLineParsers, defaultStackParser, geckoStackLineParser, opera10StackLineParser, opera11StackLineParser, winjsStackLineParser };\n//# sourceMappingURL=stack-parsers.js.map\n","/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nexport { DEBUG_BUILD };\n//# sourceMappingURL=debug-build.js.map\n","import { defineIntegration, addConsoleInstrumentationHandler, addFetchInstrumentationHandler, getClient, safeJoin, severityLevelFromString, addBreadcrumb, debug, htmlTreeAsString, getComponentName, getBreadcrumbLogLevelFromHttpStatusCode, parseUrl, getEventDescription } from '@sentry/core';\nimport { addClickKeypressInstrumentationHandler, addXhrInstrumentationHandler, addHistoryInstrumentationHandler, SENTRY_XHR_DATA_KEY } from '@sentry-internal/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\n/** maxStringLength gets capped to prevent 100 breadcrumbs exceeding 1MB event payload size */\nconst MAX_ALLOWED_STRING_LENGTH = 1024;\n\nconst INTEGRATION_NAME = 'Breadcrumbs';\n\nconst _breadcrumbsIntegration = ((options = {}) => {\n  const _options = {\n    console: true,\n    dom: true,\n    fetch: true,\n    history: true,\n    sentry: true,\n    xhr: true,\n    ...options,\n  };\n\n  return {\n    name: INTEGRATION_NAME,\n    setup(client) {\n      // TODO(v11): Remove this functionality and use `consoleIntegration` from @sentry/core instead.\n      if (_options.console) {\n        addConsoleInstrumentationHandler(_getConsoleBreadcrumbHandler(client));\n      }\n      if (_options.dom) {\n        addClickKeypressInstrumentationHandler(_getDomBreadcrumbHandler(client, _options.dom));\n      }\n      if (_options.xhr) {\n        addXhrInstrumentationHandler(_getXhrBreadcrumbHandler(client));\n      }\n      if (_options.fetch) {\n        addFetchInstrumentationHandler(_getFetchBreadcrumbHandler(client));\n      }\n      if (_options.history) {\n        addHistoryInstrumentationHandler(_getHistoryBreadcrumbHandler(client));\n      }\n      if (_options.sentry) {\n        client.on('beforeSendEvent', _getSentryBreadcrumbHandler(client));\n      }\n    },\n  };\n}) ;\n\nconst breadcrumbsIntegration = defineIntegration(_breadcrumbsIntegration);\n\n/**\n * Adds a breadcrumb for Sentry events or transactions if this option is enabled.\n */\nfunction _getSentryBreadcrumbHandler(client) {\n  return function addSentryBreadcrumb(event) {\n    if (getClient() !== client) {\n      return;\n    }\n\n    addBreadcrumb(\n      {\n        category: `sentry.${event.type === 'transaction' ? 'transaction' : 'event'}`,\n        event_id: event.event_id,\n        level: event.level,\n        message: getEventDescription(event),\n      },\n      {\n        event,\n      },\n    );\n  };\n}\n\n/**\n * A HOC that creates a function that creates breadcrumbs from DOM API calls.\n * This is a HOC so that we get access to dom options in the closure.\n */\nfunction _getDomBreadcrumbHandler(\n  client,\n  dom,\n) {\n  return function _innerDomBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n\n    let target;\n    let componentName;\n    let keyAttrs = typeof dom === 'object' ? dom.serializeAttribute : undefined;\n\n    let maxStringLength =\n      typeof dom === 'object' && typeof dom.maxStringLength === 'number' ? dom.maxStringLength : undefined;\n    if (maxStringLength && maxStringLength > MAX_ALLOWED_STRING_LENGTH) {\n      DEBUG_BUILD &&\n        debug.warn(\n          `\\`dom.maxStringLength\\` cannot exceed ${MAX_ALLOWED_STRING_LENGTH}, but a value of ${maxStringLength} was configured. Sentry will use ${MAX_ALLOWED_STRING_LENGTH} instead.`,\n        );\n      maxStringLength = MAX_ALLOWED_STRING_LENGTH;\n    }\n\n    if (typeof keyAttrs === 'string') {\n      keyAttrs = [keyAttrs];\n    }\n\n    // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n    try {\n      const event = handlerData.event ;\n      const element = _isEvent(event) ? event.target : event;\n\n      target = htmlTreeAsString(element, { keyAttrs, maxStringLength });\n      componentName = getComponentName(element);\n    } catch {\n      target = '<unknown>';\n    }\n\n    if (target.length === 0) {\n      return;\n    }\n\n    const breadcrumb = {\n      category: `ui.${handlerData.name}`,\n      message: target,\n    };\n\n    if (componentName) {\n      breadcrumb.data = { 'ui.component_name': componentName };\n    }\n\n    addBreadcrumb(breadcrumb, {\n      event: handlerData.event,\n      name: handlerData.name,\n      global: handlerData.global,\n    });\n  };\n}\n\n/**\n * Creates breadcrumbs from console API calls\n */\nfunction _getConsoleBreadcrumbHandler(client) {\n  return function _consoleBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n\n    const breadcrumb = {\n      category: 'console',\n      data: {\n        arguments: handlerData.args,\n        logger: 'console',\n      },\n      level: severityLevelFromString(handlerData.level),\n      message: safeJoin(handlerData.args, ' '),\n    };\n\n    if (handlerData.level === 'assert') {\n      if (handlerData.args[0] === false) {\n        breadcrumb.message = `Assertion failed: ${safeJoin(handlerData.args.slice(1), ' ') || 'console.assert'}`;\n        breadcrumb.data.arguments = handlerData.args.slice(1);\n      } else {\n        // Don't capture a breadcrumb for passed assertions\n        return;\n      }\n    }\n\n    addBreadcrumb(breadcrumb, {\n      input: handlerData.args,\n      level: handlerData.level,\n    });\n  };\n}\n\n/**\n * Creates breadcrumbs from XHR API calls\n */\nfunction _getXhrBreadcrumbHandler(client) {\n  return function _xhrBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n\n    const { startTimestamp, endTimestamp } = handlerData;\n\n    const sentryXhrData = handlerData.xhr[SENTRY_XHR_DATA_KEY];\n\n    // We only capture complete, non-sentry requests\n    if (!startTimestamp || !endTimestamp || !sentryXhrData) {\n      return;\n    }\n\n    const { method, url, status_code, body } = sentryXhrData;\n\n    const data = {\n      method,\n      url,\n      status_code,\n    };\n\n    const hint = {\n      xhr: handlerData.xhr,\n      input: body,\n      startTimestamp,\n      endTimestamp,\n    };\n\n    const breadcrumb = {\n      category: 'xhr',\n      data,\n      type: 'http',\n      level: getBreadcrumbLogLevelFromHttpStatusCode(status_code),\n    };\n\n    client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );\n\n    addBreadcrumb(breadcrumb, hint);\n  };\n}\n\n/**\n * Creates breadcrumbs from fetch API calls\n */\nfunction _getFetchBreadcrumbHandler(client) {\n  return function _fetchBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n\n    const { startTimestamp, endTimestamp } = handlerData;\n\n    // We only capture complete fetch requests\n    if (!endTimestamp) {\n      return;\n    }\n\n    if (handlerData.fetchData.url.match(/sentry_key/) && handlerData.fetchData.method === 'POST') {\n      // We will not create breadcrumbs for fetch requests that contain `sentry_key` (internal sentry requests)\n      return;\n    }\n\n    ({\n      method: handlerData.fetchData.method,\n      url: handlerData.fetchData.url,\n    });\n\n    if (handlerData.error) {\n      const data = handlerData.fetchData;\n      const hint = {\n        data: handlerData.error,\n        input: handlerData.args,\n        startTimestamp,\n        endTimestamp,\n      };\n\n      const breadcrumb = {\n        category: 'fetch',\n        data,\n        level: 'error',\n        type: 'http',\n      } ;\n\n      client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );\n\n      addBreadcrumb(breadcrumb, hint);\n    } else {\n      const response = handlerData.response ;\n      const data = {\n        ...handlerData.fetchData,\n        status_code: response?.status,\n      };\n\n      handlerData.fetchData.request_body_size;\n      handlerData.fetchData.response_body_size;\n      response?.status;\n\n      const hint = {\n        input: handlerData.args,\n        response,\n        startTimestamp,\n        endTimestamp,\n      };\n\n      const breadcrumb = {\n        category: 'fetch',\n        data,\n        type: 'http',\n        level: getBreadcrumbLogLevelFromHttpStatusCode(data.status_code),\n      };\n\n      client.emit('beforeOutgoingRequestBreadcrumb', breadcrumb, hint );\n\n      addBreadcrumb(breadcrumb, hint);\n    }\n  };\n}\n\n/**\n * Creates breadcrumbs from history API calls\n */\nfunction _getHistoryBreadcrumbHandler(client) {\n  return function _historyBreadcrumb(handlerData) {\n    if (getClient() !== client) {\n      return;\n    }\n\n    let from = handlerData.from;\n    let to = handlerData.to;\n    const parsedLoc = parseUrl(WINDOW.location.href);\n    let parsedFrom = from ? parseUrl(from) : undefined;\n    const parsedTo = parseUrl(to);\n\n    // Initial pushState doesn't provide `from` information\n    if (!parsedFrom?.path) {\n      parsedFrom = parsedLoc;\n    }\n\n    // Use only the path component of the URL if the URL matches the current\n    // document (almost all the time when using pushState)\n    if (parsedLoc.protocol === parsedTo.protocol && parsedLoc.host === parsedTo.host) {\n      to = parsedTo.relative;\n    }\n    if (parsedLoc.protocol === parsedFrom.protocol && parsedLoc.host === parsedFrom.host) {\n      from = parsedFrom.relative;\n    }\n\n    addBreadcrumb({\n      category: 'navigation',\n      data: {\n        from,\n        to,\n      },\n    });\n  };\n}\n\nfunction _isEvent(event) {\n  return !!event && !!(event ).target;\n}\n\nexport { breadcrumbsIntegration };\n//# sourceMappingURL=breadcrumbs.js.map\n","import { defineIntegration, fill, getFunctionName, getOriginalFunction } from '@sentry/core';\nimport { WINDOW, wrap } from '../helpers.js';\n\nconst DEFAULT_EVENT_TARGET = [\n  'EventTarget',\n  'Window',\n  'Node',\n  'ApplicationCache',\n  'AudioTrackList',\n  'BroadcastChannel',\n  'ChannelMergerNode',\n  'CryptoOperation',\n  'EventSource',\n  'FileReader',\n  'HTMLUnknownElement',\n  'IDBDatabase',\n  'IDBRequest',\n  'IDBTransaction',\n  'KeyOperation',\n  'MediaController',\n  'MessagePort',\n  'ModalWindow',\n  'Notification',\n  'SVGElementInstance',\n  'Screen',\n  'SharedWorker',\n  'TextTrack',\n  'TextTrackCue',\n  'TextTrackList',\n  'WebSocket',\n  'WebSocketWorker',\n  'Worker',\n  'XMLHttpRequest',\n  'XMLHttpRequestEventTarget',\n  'XMLHttpRequestUpload',\n];\n\nconst INTEGRATION_NAME = 'BrowserApiErrors';\n\nconst _browserApiErrorsIntegration = ((options = {}) => {\n  const _options = {\n    XMLHttpRequest: true,\n    eventTarget: true,\n    requestAnimationFrame: true,\n    setInterval: true,\n    setTimeout: true,\n    unregisterOriginalCallbacks: false,\n    ...options,\n  };\n\n  return {\n    name: INTEGRATION_NAME,\n    // TODO: This currently only works for the first client this is setup\n    // We may want to adjust this to check for client etc.\n    setupOnce() {\n      if (_options.setTimeout) {\n        fill(WINDOW, 'setTimeout', _wrapTimeFunction);\n      }\n\n      if (_options.setInterval) {\n        fill(WINDOW, 'setInterval', _wrapTimeFunction);\n      }\n\n      if (_options.requestAnimationFrame) {\n        fill(WINDOW, 'requestAnimationFrame', _wrapRAF);\n      }\n\n      if (_options.XMLHttpRequest && 'XMLHttpRequest' in WINDOW) {\n        fill(XMLHttpRequest.prototype, 'send', _wrapXHR);\n      }\n\n      const eventTargetOption = _options.eventTarget;\n      if (eventTargetOption) {\n        const eventTarget = Array.isArray(eventTargetOption) ? eventTargetOption : DEFAULT_EVENT_TARGET;\n        eventTarget.forEach(target => _wrapEventTarget(target, _options));\n      }\n    },\n  };\n}) ;\n\n/**\n * Wrap timer functions and event targets to catch errors and provide better meta data.\n */\nconst browserApiErrorsIntegration = defineIntegration(_browserApiErrorsIntegration);\n\nfunction _wrapTimeFunction(original) {\n  return function ( ...args) {\n    const originalCallback = args[0];\n    args[0] = wrap(originalCallback, {\n      mechanism: {\n        data: { function: getFunctionName(original) },\n        handled: false,\n        type: 'instrument',\n      },\n    });\n    return original.apply(this, args);\n  };\n}\n\nfunction _wrapRAF(original) {\n  return function ( callback) {\n    return original.apply(this, [\n      wrap(callback, {\n        mechanism: {\n          data: {\n            function: 'requestAnimationFrame',\n            handler: getFunctionName(original),\n          },\n          handled: false,\n          type: 'instrument',\n        },\n      }),\n    ]);\n  };\n}\n\nfunction _wrapXHR(originalSend) {\n  return function ( ...args) {\n    // eslint-disable-next-line @typescript-eslint/no-this-alias\n    const xhr = this;\n    const xmlHttpRequestProps = ['onload', 'onerror', 'onprogress', 'onreadystatechange'];\n\n    xmlHttpRequestProps.forEach(prop => {\n      if (prop in xhr && typeof xhr[prop] === 'function') {\n        fill(xhr, prop, function (original) {\n          const wrapOptions = {\n            mechanism: {\n              data: {\n                function: prop,\n                handler: getFunctionName(original),\n              },\n              handled: false,\n              type: 'instrument',\n            },\n          };\n\n          // If Instrument integration has been called before BrowserApiErrors, get the name of original function\n          const originalFunction = getOriginalFunction(original);\n          if (originalFunction) {\n            wrapOptions.mechanism.data.handler = getFunctionName(originalFunction);\n          }\n\n          // Otherwise wrap directly\n          return wrap(original, wrapOptions);\n        });\n      }\n    });\n\n    return originalSend.apply(this, args);\n  };\n}\n\nfunction _wrapEventTarget(target, integrationOptions) {\n  const globalObject = WINDOW ;\n  const proto = globalObject[target]?.prototype;\n\n  // eslint-disable-next-line no-prototype-builtins\n  if (!proto?.hasOwnProperty?.('addEventListener')) {\n    return;\n  }\n\n  fill(proto, 'addEventListener', function (original)\n\n {\n    return function ( eventName, fn, options) {\n      try {\n        if (isEventListenerObject(fn)) {\n          // ESlint disable explanation:\n          //  First, it is generally safe to call `wrap` with an unbound function. Furthermore, using `.bind()` would\n          //  introduce a bug here, because bind returns a new function that doesn't have our\n          //  flags(like __sentry_original__) attached. `wrap` checks for those flags to avoid unnecessary wrapping.\n          //  Without those flags, every call to addEventListener wraps the function again, causing a memory leak.\n          // eslint-disable-next-line @typescript-eslint/unbound-method\n          fn.handleEvent = wrap(fn.handleEvent, {\n            mechanism: {\n              data: {\n                function: 'handleEvent',\n                handler: getFunctionName(fn),\n                target,\n              },\n              handled: false,\n              type: 'instrument',\n            },\n          });\n        }\n      } catch {\n        // can sometimes get 'Permission denied to access property \"handle Event'\n      }\n\n      if (integrationOptions.unregisterOriginalCallbacks) {\n        unregisterOriginalCallback(this, eventName, fn);\n      }\n\n      return original.apply(this, [\n        eventName,\n        wrap(fn, {\n          mechanism: {\n            data: {\n              function: 'addEventListener',\n              handler: getFunctionName(fn),\n              target,\n            },\n            handled: false,\n            type: 'instrument',\n          },\n        }),\n        options,\n      ]);\n    };\n  });\n\n  fill(proto, 'removeEventListener', function (originalRemoveEventListener)\n\n {\n    return function ( eventName, fn, options) {\n      /**\n       * There are 2 possible scenarios here:\n       *\n       * 1. Someone passes a callback, which was attached prior to Sentry initialization, or by using unmodified\n       * method, eg. `document.addEventListener.call(el, name, handler). In this case, we treat this function\n       * as a pass-through, and call original `removeEventListener` with it.\n       *\n       * 2. Someone passes a callback, which was attached after Sentry was initialized, which means that it was using\n       * our wrapped version of `addEventListener`, which internally calls `wrap` helper.\n       * This helper \"wraps\" whole callback inside a try/catch statement, and attached appropriate metadata to it,\n       * in order for us to make a distinction between wrapped/non-wrapped functions possible.\n       * If a function was wrapped, it has additional property of `__sentry_wrapped__`, holding the handler.\n       *\n       * When someone adds a handler prior to initialization, and then do it again, but after,\n       * then we have to detach both of them. Otherwise, if we'd detach only wrapped one, it'd be impossible\n       * to get rid of the initial handler and it'd stick there forever.\n       */\n      try {\n        const originalEventHandler = (fn ).__sentry_wrapped__;\n        if (originalEventHandler) {\n          originalRemoveEventListener.call(this, eventName, originalEventHandler, options);\n        }\n      } catch {\n        // ignore, accessing __sentry_wrapped__ will throw in some Selenium environments\n      }\n      return originalRemoveEventListener.call(this, eventName, fn, options);\n    };\n  });\n}\n\nfunction isEventListenerObject(obj) {\n  return typeof (obj ).handleEvent === 'function';\n}\n\nfunction unregisterOriginalCallback(target, eventName, fn) {\n  if (\n    target &&\n    typeof target === 'object' &&\n    'removeEventListener' in target &&\n    typeof target.removeEventListener === 'function'\n  ) {\n    target.removeEventListener(eventName, fn);\n  }\n}\n\nexport { browserApiErrorsIntegration };\n//# sourceMappingURL=browserapierrors.js.map\n","import { defineIntegration, debug, startSession, captureSession } from '@sentry/core';\nimport { addHistoryInstrumentationHandler } from '@sentry-internal/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\n/**\n * When added, automatically creates sessions which allow you to track adoption and crashes (crash free rate) in your Releases in Sentry.\n * More information: https://docs.sentry.io/product/releases/health/\n *\n * Note: In order for session tracking to work, you need to set up Releases: https://docs.sentry.io/product/releases/\n */\nconst browserSessionIntegration = defineIntegration(() => {\n  return {\n    name: 'BrowserSession',\n    setupOnce() {\n      if (typeof WINDOW.document === 'undefined') {\n        DEBUG_BUILD &&\n          debug.warn('Using the `browserSessionIntegration` in non-browser environments is not supported.');\n        return;\n      }\n\n      // The session duration for browser sessions does not track a meaningful\n      // concept that can be used as a metric.\n      // Automatically captured sessions are akin to page views, and thus we\n      // discard their duration.\n      startSession({ ignoreDuration: true });\n      captureSession();\n\n      // We want to create a session for every navigation as well\n      addHistoryInstrumentationHandler(({ from, to }) => {\n        // Don't create an additional session for the initial route or if the location did not change\n        if (from !== undefined && from !== to) {\n          startSession({ ignoreDuration: true });\n          captureSession();\n        }\n      });\n    },\n  };\n});\n\nexport { browserSessionIntegration };\n//# sourceMappingURL=browsersession.js.map\n","import { defineIntegration, addGlobalErrorInstrumentationHandler, getClient, captureEvent, debug, addGlobalUnhandledRejectionInstrumentationHandler, isPrimitive, getLocationHref, UNKNOWN_FUNCTION, isString } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { eventFromUnknownInput } from '../eventbuilder.js';\nimport { shouldIgnoreOnError } from '../helpers.js';\n\nconst INTEGRATION_NAME = 'GlobalHandlers';\n\nconst _globalHandlersIntegration = ((options = {}) => {\n  const _options = {\n    onerror: true,\n    onunhandledrejection: true,\n    ...options,\n  };\n\n  return {\n    name: INTEGRATION_NAME,\n    setupOnce() {\n      Error.stackTraceLimit = 50;\n    },\n    setup(client) {\n      if (_options.onerror) {\n        _installGlobalOnErrorHandler(client);\n        globalHandlerLog('onerror');\n      }\n      if (_options.onunhandledrejection) {\n        _installGlobalOnUnhandledRejectionHandler(client);\n        globalHandlerLog('onunhandledrejection');\n      }\n    },\n  };\n}) ;\n\nconst globalHandlersIntegration = defineIntegration(_globalHandlersIntegration);\n\nfunction _installGlobalOnErrorHandler(client) {\n  addGlobalErrorInstrumentationHandler(data => {\n    const { stackParser, attachStacktrace } = getOptions();\n\n    if (getClient() !== client || shouldIgnoreOnError()) {\n      return;\n    }\n\n    const { msg, url, line, column, error } = data;\n\n    const event = _enhanceEventWithInitialFrame(\n      eventFromUnknownInput(stackParser, error || msg, undefined, attachStacktrace, false),\n      url,\n      line,\n      column,\n    );\n\n    event.level = 'error';\n\n    captureEvent(event, {\n      originalException: error,\n      mechanism: {\n        handled: false,\n        type: 'auto.browser.global_handlers.onerror',\n      },\n    });\n  });\n}\n\nfunction _installGlobalOnUnhandledRejectionHandler(client) {\n  addGlobalUnhandledRejectionInstrumentationHandler(e => {\n    const { stackParser, attachStacktrace } = getOptions();\n\n    if (getClient() !== client || shouldIgnoreOnError()) {\n      return;\n    }\n\n    const error = _getUnhandledRejectionError(e );\n\n    const event = isPrimitive(error)\n      ? _eventFromRejectionWithPrimitive(error)\n      : eventFromUnknownInput(stackParser, error, undefined, attachStacktrace, true);\n\n    event.level = 'error';\n\n    captureEvent(event, {\n      originalException: error,\n      mechanism: {\n        handled: false,\n        type: 'auto.browser.global_handlers.onunhandledrejection',\n      },\n    });\n  });\n}\n\nfunction _getUnhandledRejectionError(error) {\n  if (isPrimitive(error)) {\n    return error;\n  }\n\n  // dig the object of the rejection out of known event types\n  try {\n\n    // PromiseRejectionEvents store the object of the rejection under 'reason'\n    // see https://developer.mozilla.org/en-US/docs/Web/API/PromiseRejectionEvent\n    if ('reason' in (error )) {\n      return (error ).reason;\n    }\n\n    // something, somewhere, (likely a browser extension) effectively casts PromiseRejectionEvents\n    // to CustomEvents, moving the `promise` and `reason` attributes of the PRE into\n    // the CustomEvent's `detail` attribute, since they're not part of CustomEvent's spec\n    // see https://developer.mozilla.org/en-US/docs/Web/API/CustomEvent and\n    // https://github.com/getsentry/sentry-javascript/issues/2380\n    if ('detail' in (error ) && 'reason' in (error ).detail) {\n      return (error ).detail.reason;\n    }\n  } catch {} // eslint-disable-line no-empty\n\n  return error;\n}\n\n/**\n * Create an event from a promise rejection where the `reason` is a primitive.\n *\n * @param reason: The `reason` property of the promise rejection\n * @returns An Event object with an appropriate `exception` value\n */\nfunction _eventFromRejectionWithPrimitive(reason) {\n  return {\n    exception: {\n      values: [\n        {\n          type: 'UnhandledRejection',\n          // String() is needed because the Primitive type includes symbols (which can't be automatically stringified)\n          value: `Non-Error promise rejection captured with value: ${String(reason)}`,\n        },\n      ],\n    },\n  };\n}\n\nfunction _enhanceEventWithInitialFrame(\n  event,\n  url,\n  line,\n  column,\n) {\n  // event.exception\n  const e = (event.exception = event.exception || {});\n  // event.exception.values\n  const ev = (e.values = e.values || []);\n  // event.exception.values[0]\n  const ev0 = (ev[0] = ev[0] || {});\n  // event.exception.values[0].stacktrace\n  const ev0s = (ev0.stacktrace = ev0.stacktrace || {});\n  // event.exception.values[0].stacktrace.frames\n  const ev0sf = (ev0s.frames = ev0s.frames || []);\n\n  const colno = column;\n  const lineno = line;\n  const filename = getFilenameFromUrl(url) ?? getLocationHref();\n\n  // event.exception.values[0].stacktrace.frames\n  if (ev0sf.length === 0) {\n    ev0sf.push({\n      colno,\n      filename,\n      function: UNKNOWN_FUNCTION,\n      in_app: true,\n      lineno,\n    });\n  }\n\n  return event;\n}\n\nfunction globalHandlerLog(type) {\n  DEBUG_BUILD && debug.log(`Global Handler attached: ${type}`);\n}\n\nfunction getOptions() {\n  const client = getClient();\n  const options = client?.getOptions() || {\n    stackParser: () => [],\n    attachStacktrace: false,\n  };\n  return options;\n}\n\nfunction getFilenameFromUrl(url) {\n  if (!isString(url) || url.length === 0) {\n    return undefined;\n  }\n\n  // stack frame urls can be data urls, for example when initializing a Worker with a base64 encoded script\n  // in this case we just show the data prefix and mime type to avoid too long raw data urls\n  if (url.startsWith('data:')) {\n    const match = url.match(/^data:([^;]+)/);\n    const mimeType = match ? match[1] : 'text/javascript';\n    const isBase64 = url.includes('base64,');\n    return `<data:${mimeType}${isBase64 ? ',base64' : ''}>`;\n  }\n\n  return url.slice(0, 1024);\n}\n\nexport { globalHandlersIntegration };\n//# sourceMappingURL=globalhandlers.js.map\n","import { defineIntegration } from '@sentry/core';\nimport { WINDOW, getHttpRequestData } from '../helpers.js';\n\n/**\n * Collects information about HTTP request headers and\n * attaches them to the event.\n */\nconst httpContextIntegration = defineIntegration(() => {\n  return {\n    name: 'HttpContext',\n    preprocessEvent(event) {\n      // if none of the information we want exists, don't bother\n      if (!WINDOW.navigator && !WINDOW.location && !WINDOW.document) {\n        return;\n      }\n\n      const reqData = getHttpRequestData();\n      const headers = {\n        ...reqData.headers,\n        ...event.request?.headers,\n      };\n\n      event.request = {\n        ...reqData,\n        ...event.request,\n        headers,\n      };\n    },\n  };\n});\n\nexport { httpContextIntegration };\n//# sourceMappingURL=httpcontext.js.map\n","import { defineIntegration, applyAggregateErrorsToEvent } from '@sentry/core';\nimport { exceptionFromError } from '../eventbuilder.js';\n\nconst DEFAULT_KEY = 'cause';\nconst DEFAULT_LIMIT = 5;\n\nconst INTEGRATION_NAME = 'LinkedErrors';\n\nconst _linkedErrorsIntegration = ((options = {}) => {\n  const limit = options.limit || DEFAULT_LIMIT;\n  const key = options.key || DEFAULT_KEY;\n\n  return {\n    name: INTEGRATION_NAME,\n    preprocessEvent(event, hint, client) {\n      const options = client.getOptions();\n\n      applyAggregateErrorsToEvent(\n        // This differs from the LinkedErrors integration in core by using a different exceptionFromError function\n        exceptionFromError,\n        options.stackParser,\n        key,\n        limit,\n        event,\n        hint,\n      );\n    },\n  };\n}) ;\n\n/**\n * Aggregrate linked errors in an event.\n */\nconst linkedErrorsIntegration = defineIntegration(_linkedErrorsIntegration);\n\nexport { linkedErrorsIntegration };\n//# sourceMappingURL=linkederrors.js.map\n","import { consoleSandbox, getLocationHref } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\n/**\n * Returns true if the SDK is running in an embedded browser extension.\n * Stand-alone browser extensions (which do not share the same data as the main browser page) are fine.\n */\nfunction checkAndWarnIfIsEmbeddedBrowserExtension() {\n  if (_isEmbeddedBrowserExtension()) {\n    if (DEBUG_BUILD) {\n      consoleSandbox(() => {\n        // eslint-disable-next-line no-console\n        console.error(\n          '[Sentry] You cannot use Sentry.init() in a browser extension, see: https://docs.sentry.io/platforms/javascript/best-practices/browser-extensions/',\n        );\n      });\n    }\n\n    return true;\n  }\n\n  return false;\n}\n\nfunction _isEmbeddedBrowserExtension() {\n  if (typeof WINDOW.window === 'undefined') {\n    // No need to show the error if we're not in a browser window environment (e.g. service workers)\n    return false;\n  }\n\n  const _window = WINDOW ;\n\n  // Running the SDK in NW.js, which appears like a browser extension but isn't, is also fine\n  // see: https://github.com/getsentry/sentry-javascript/issues/12668\n  if (_window.nw) {\n    return false;\n  }\n\n  const extensionObject = _window['chrome'] || _window['browser'];\n\n  if (!extensionObject?.runtime?.id) {\n    return false;\n  }\n\n  const href = getLocationHref();\n  const extensionProtocols = ['chrome-extension', 'moz-extension', 'ms-browser-extension', 'safari-web-extension'];\n\n  // Running the SDK in a dedicated extension page and calling Sentry.init is fine; no risk of data leakage\n  const isDedicatedExtensionPage =\n    WINDOW === WINDOW.top && extensionProtocols.some(protocol => href.startsWith(`${protocol}://`));\n\n  return !isDedicatedExtensionPage;\n}\n\nexport { checkAndWarnIfIsEmbeddedBrowserExtension };\n//# sourceMappingURL=detectBrowserExtension.js.map\n","import { inboundFiltersIntegration, functionToStringIntegration, dedupeIntegration, getIntegrationsToSetup, stackParserFromStackParserOptions, initAndBind } from '@sentry/core';\nimport { BrowserClient } from './client.js';\nimport { breadcrumbsIntegration } from './integrations/breadcrumbs.js';\nimport { browserApiErrorsIntegration } from './integrations/browserapierrors.js';\nimport { browserSessionIntegration } from './integrations/browsersession.js';\nimport { globalHandlersIntegration } from './integrations/globalhandlers.js';\nimport { httpContextIntegration } from './integrations/httpcontext.js';\nimport { linkedErrorsIntegration } from './integrations/linkederrors.js';\nimport { defaultStackParser } from './stack-parsers.js';\nimport { makeFetchTransport } from './transports/fetch.js';\nimport { checkAndWarnIfIsEmbeddedBrowserExtension } from './utils/detectBrowserExtension.js';\n\n/** Get the default integrations for the browser SDK. */\nfunction getDefaultIntegrations(_options) {\n  /**\n   * Note: Please make sure this stays in sync with Angular SDK, which re-exports\n   * `getDefaultIntegrations` but with an adjusted set of integrations.\n   */\n  return [\n    // TODO(v11): Replace with `eventFiltersIntegration` once we remove the deprecated `inboundFiltersIntegration`\n    // eslint-disable-next-line deprecation/deprecation\n    inboundFiltersIntegration(),\n    functionToStringIntegration(),\n    browserApiErrorsIntegration(),\n    breadcrumbsIntegration(),\n    globalHandlersIntegration(),\n    linkedErrorsIntegration(),\n    dedupeIntegration(),\n    httpContextIntegration(),\n    browserSessionIntegration(),\n  ];\n}\n\n/**\n * The Sentry Browser SDK Client.\n *\n * To use this SDK, call the {@link init} function as early as possible when\n * loading the web page. To set context information or send manual events, use\n * the provided methods.\n *\n * @example\n *\n * ```\n *\n * import { init } from '@sentry/browser';\n *\n * init({\n *   dsn: '__DSN__',\n *   // ...\n * });\n * ```\n *\n * @example\n * ```\n *\n * import { addBreadcrumb } from '@sentry/browser';\n * addBreadcrumb({\n *   message: 'My Breadcrumb',\n *   // ...\n * });\n * ```\n *\n * @example\n *\n * ```\n *\n * import * as Sentry from '@sentry/browser';\n * Sentry.captureMessage('Hello, world!');\n * Sentry.captureException(new Error('Good bye'));\n * Sentry.captureEvent({\n *   message: 'Manual',\n *   stacktrace: [\n *     // ...\n *   ],\n * });\n * ```\n *\n * @see {@link BrowserOptions} for documentation on configuration options.\n */\nfunction init(options = {}) {\n  const shouldDisableBecauseIsBrowserExtenstion =\n    !options.skipBrowserExtensionCheck && checkAndWarnIfIsEmbeddedBrowserExtension();\n\n  const clientOptions = {\n    ...options,\n    enabled: shouldDisableBecauseIsBrowserExtenstion ? false : options.enabled,\n    stackParser: stackParserFromStackParserOptions(options.stackParser || defaultStackParser),\n    integrations: getIntegrationsToSetup({\n      integrations: options.integrations,\n      defaultIntegrations:\n        options.defaultIntegrations == null ? getDefaultIntegrations() : options.defaultIntegrations,\n    }),\n    transport: options.transport || makeFetchTransport,\n  };\n  return initAndBind(BrowserClient, clientOptions);\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nfunction forceLoad() {\n  // Noop\n}\n\n/**\n * This function is here to be API compatible with the loader.\n * @hidden\n */\nfunction onLoad(callback) {\n  callback();\n}\n\nexport { forceLoad, getDefaultIntegrations, init, onLoad };\n//# sourceMappingURL=sdk.js.map\n","import { GLOBAL_OBJ, normalize, fill, htmlTreeAsString, browserPerformanceTimeOrigin, debug as debug$1, severityLevelFromString, captureException, addBreadcrumb, uuid4, getClient, getLocationHref, getCurrentScope, getActiveSpan, getDynamicSamplingContextFromSpan, isSentryRequestUrl, stringMatchesSomePattern, addEventProcessor, debounce as debounce$1, createEnvelope, createEventEnvelopeHeaders, getSdkMetadataForEnvelopeHeader, prepareEvent, getIsolationScope, resolvedSyncPromise, updateRateLimits, isRateLimited, setContext, getRootSpan, spanToJSON, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, isBrowser, parseSampleRate, consoleSandbox } from '@sentry/core';\nimport { setTimeout as setTimeout$3, addPerformanceInstrumentationHandler, addLcpInstrumentationHandler, addClsInstrumentationHandler, addInpInstrumentationHandler, serializeFormData, getFetchRequestArgBody, getBodyString, SENTRY_XHR_DATA_KEY, addClickKeypressInstrumentationHandler, addHistoryInstrumentationHandler } from '@sentry-internal/browser-utils';\n\n// exporting a separate copy of `WINDOW` rather than exporting the one from `@sentry/browser`\n// prevents the browser package from being bundled in the CDN bundle, and avoids a\n// circular dependency between the browser and replay packages should `@sentry/browser` import\n// from `@sentry/replay` in the future\nconst WINDOW = GLOBAL_OBJ ;\n\nconst REPLAY_SESSION_KEY = 'sentryReplaySession';\nconst REPLAY_EVENT_NAME = 'replay_event';\nconst UNABLE_TO_SEND_REPLAY = 'Unable to send Replay';\n\n// The idle limit for a session after which recording is paused.\nconst SESSION_IDLE_PAUSE_DURATION = 300000; // 5 minutes in ms\n\n// The idle limit for a session after which the session expires.\nconst SESSION_IDLE_EXPIRE_DURATION = 900000; // 15 minutes in ms\n\n/** Default flush delays */\nconst DEFAULT_FLUSH_MIN_DELAY = 5000;\n// XXX: Temp fix for our debounce logic where `maxWait` would never occur if it\n// was the same as `wait`\nconst DEFAULT_FLUSH_MAX_DELAY = 5500;\n\n/* How long to wait for error checkouts */\nconst BUFFER_CHECKOUT_TIME = 60000;\n\nconst RETRY_BASE_INTERVAL = 5000;\nconst RETRY_MAX_COUNT = 3;\n\n/* The max (uncompressed) size in bytes of a network body. Any body larger than this will be truncated. */\nconst NETWORK_BODY_MAX_SIZE = 150000;\n\n/* The max size of a single console arg that is captured. Any arg larger than this will be truncated. */\nconst CONSOLE_ARG_MAX_SIZE = 5000;\n\n/* Min. time to wait before we consider something a slow click. */\nconst SLOW_CLICK_THRESHOLD = 3000;\n/* For scroll actions after a click, we only look for a very short time period to detect programmatic scrolling. */\nconst SLOW_CLICK_SCROLL_TIMEOUT = 300;\n\n/** When encountering a total segment size exceeding this size, stop the replay (as we cannot properly ingest it). */\nconst REPLAY_MAX_EVENT_BUFFER_SIZE = 20000000; // ~20MB\n\n/** Replays must be min. 5s long before we send them. */\nconst MIN_REPLAY_DURATION = 4999;\n/* The max. allowed value that the minReplayDuration can be set to. */\nconst MIN_REPLAY_DURATION_LIMIT = 15000;\n\n/** The max. length of a replay. */\nconst MAX_REPLAY_DURATION = 3600000; // 60 minutes in ms;\n\nvar __defProp$1 = Object.defineProperty;\nvar __defNormalProp$1 = (obj, key, value) => key in obj ? __defProp$1(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField$1 = (obj, key, value) => __defNormalProp$1(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar NodeType$2 = /* @__PURE__ */ ((NodeType2) => {\n  NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n  NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n  NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n  NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n  NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n  NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n  return NodeType2;\n})(NodeType$2 || {});\nfunction isElement$1(n2) {\n  return n2.nodeType === n2.ELEMENT_NODE;\n}\nfunction isShadowRoot(n2) {\n  const host = n2?.host;\n  return Boolean(host?.shadowRoot === n2);\n}\nfunction isNativeShadowDom(shadowRoot) {\n  return Object.prototype.toString.call(shadowRoot) === \"[object ShadowRoot]\";\n}\nfunction fixBrowserCompatibilityIssuesInCSS(cssText) {\n  if (cssText.includes(\" background-clip: text;\") && !cssText.includes(\" -webkit-background-clip: text;\")) {\n    cssText = cssText.replace(\n      /\\sbackground-clip:\\s*text;/g,\n      \" -webkit-background-clip: text; background-clip: text;\"\n    );\n  }\n  return cssText;\n}\nfunction escapeImportStatement(rule) {\n  const { cssText } = rule;\n  if (cssText.split('\"').length < 3) return cssText;\n  const statement = [\"@import\", `url(${JSON.stringify(rule.href)})`];\n  if (rule.layerName === \"\") {\n    statement.push(`layer`);\n  } else if (rule.layerName) {\n    statement.push(`layer(${rule.layerName})`);\n  }\n  if (rule.supportsText) {\n    statement.push(`supports(${rule.supportsText})`);\n  }\n  if (rule.media.length) {\n    statement.push(rule.media.mediaText);\n  }\n  return statement.join(\" \") + \";\";\n}\nfunction stringifyStylesheet(s2) {\n  try {\n    const rules2 = s2.rules || s2.cssRules;\n    return rules2 ? fixBrowserCompatibilityIssuesInCSS(\n      Array.from(rules2, stringifyRule).join(\"\")\n    ) : null;\n  } catch (error) {\n    return null;\n  }\n}\nfunction fixAllCssProperty(rule) {\n  let styles = \"\";\n  for (let i2 = 0; i2 < rule.style.length; i2++) {\n    const styleDeclaration = rule.style;\n    const attribute = styleDeclaration[i2];\n    const isImportant = styleDeclaration.getPropertyPriority(attribute);\n    styles += `${attribute}:${styleDeclaration.getPropertyValue(attribute)}${isImportant ? ` !important` : \"\"};`;\n  }\n  return `${rule.selectorText} { ${styles} }`;\n}\nfunction stringifyRule(rule) {\n  let importStringified;\n  if (isCSSImportRule(rule)) {\n    try {\n      importStringified = // for same-origin stylesheets,\n      // we can access the imported stylesheet rules directly\n      stringifyStylesheet(rule.styleSheet) || // work around browser issues with the raw string `@import url(...)` statement\n      escapeImportStatement(rule);\n    } catch (error) {\n    }\n  } else if (isCSSStyleRule(rule)) {\n    let cssText = rule.cssText;\n    const needsSafariColonFix = rule.selectorText.includes(\":\");\n    const needsAllFix = typeof rule.style[\"all\"] === \"string\" && rule.style[\"all\"];\n    if (needsAllFix) {\n      cssText = fixAllCssProperty(rule);\n    }\n    if (needsSafariColonFix) {\n      cssText = fixSafariColons(cssText);\n    }\n    if (needsSafariColonFix || needsAllFix) {\n      return cssText;\n    }\n  }\n  return importStringified || rule.cssText;\n}\nfunction fixSafariColons(cssStringified) {\n  const regex = /(\\[(?:[\\w-]+)[^\\\\])(:(?:[\\w-]+)\\])/gm;\n  return cssStringified.replace(regex, \"$1\\\\$2\");\n}\nfunction isCSSImportRule(rule) {\n  return \"styleSheet\" in rule;\n}\nfunction isCSSStyleRule(rule) {\n  return \"selectorText\" in rule;\n}\nclass Mirror {\n  constructor() {\n    __publicField$1(this, \"idNodeMap\", /* @__PURE__ */ new Map());\n    __publicField$1(this, \"nodeMetaMap\", /* @__PURE__ */ new WeakMap());\n  }\n  getId(n2) {\n    if (!n2) return -1;\n    const id = this.getMeta(n2)?.id;\n    return id ?? -1;\n  }\n  getNode(id) {\n    return this.idNodeMap.get(id) || null;\n  }\n  getIds() {\n    return Array.from(this.idNodeMap.keys());\n  }\n  getMeta(n2) {\n    return this.nodeMetaMap.get(n2) || null;\n  }\n  // removes the node from idNodeMap\n  // doesn't remove the node from nodeMetaMap\n  removeNodeFromMap(n2) {\n    const id = this.getId(n2);\n    this.idNodeMap.delete(id);\n    if (n2.childNodes) {\n      n2.childNodes.forEach(\n        (childNode) => this.removeNodeFromMap(childNode)\n      );\n    }\n  }\n  has(id) {\n    return this.idNodeMap.has(id);\n  }\n  hasNode(node) {\n    return this.nodeMetaMap.has(node);\n  }\n  add(n2, meta) {\n    const id = meta.id;\n    this.idNodeMap.set(id, n2);\n    this.nodeMetaMap.set(n2, meta);\n  }\n  replace(id, n2) {\n    const oldNode = this.getNode(id);\n    if (oldNode) {\n      const meta = this.nodeMetaMap.get(oldNode);\n      if (meta) this.nodeMetaMap.set(n2, meta);\n    }\n    this.idNodeMap.set(id, n2);\n  }\n  reset() {\n    this.idNodeMap = /* @__PURE__ */ new Map();\n    this.nodeMetaMap = /* @__PURE__ */ new WeakMap();\n  }\n}\nfunction createMirror$2() {\n  return new Mirror();\n}\nfunction shouldMaskInput({\n  maskInputOptions,\n  tagName,\n  type\n}) {\n  if (tagName === \"OPTION\") {\n    tagName = \"SELECT\";\n  }\n  return Boolean(\n    maskInputOptions[tagName.toLowerCase()] || type && maskInputOptions[type] || type === \"password\" || // Default to \"text\" option for inputs without a \"type\" attribute defined\n    tagName === \"INPUT\" && !type && maskInputOptions[\"text\"]\n  );\n}\nfunction maskInputValue({\n  isMasked,\n  element,\n  value,\n  maskInputFn\n}) {\n  let text = value || \"\";\n  if (!isMasked) {\n    return text;\n  }\n  if (maskInputFn) {\n    text = maskInputFn(text, element);\n  }\n  return \"*\".repeat(text.length);\n}\nfunction toLowerCase(str) {\n  return str.toLowerCase();\n}\nfunction toUpperCase(str) {\n  return str.toUpperCase();\n}\nconst ORIGINAL_ATTRIBUTE_NAME = \"__rrweb_original__\";\nfunction is2DCanvasBlank(canvas) {\n  const ctx = canvas.getContext(\"2d\");\n  if (!ctx) return true;\n  const chunkSize = 50;\n  for (let x = 0; x < canvas.width; x += chunkSize) {\n    for (let y = 0; y < canvas.height; y += chunkSize) {\n      const getImageData = ctx.getImageData;\n      const originalGetImageData = ORIGINAL_ATTRIBUTE_NAME in getImageData ? getImageData[ORIGINAL_ATTRIBUTE_NAME] : getImageData;\n      const pixelBuffer = new Uint32Array(\n        // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-unsafe-member-access\n        originalGetImageData.call(\n          ctx,\n          x,\n          y,\n          Math.min(chunkSize, canvas.width - x),\n          Math.min(chunkSize, canvas.height - y)\n        ).data.buffer\n      );\n      if (pixelBuffer.some((pixel) => pixel !== 0)) return false;\n    }\n  }\n  return true;\n}\nfunction getInputType(element) {\n  const type = element.type;\n  return element.hasAttribute(\"data-rr-is-password\") ? \"password\" : type ? (\n    // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion\n    toLowerCase(type)\n  ) : null;\n}\nfunction getInputValue(el, tagName, type) {\n  if (tagName === \"INPUT\" && (type === \"radio\" || type === \"checkbox\")) {\n    return el.getAttribute(\"value\") || \"\";\n  }\n  return el.value;\n}\nfunction extractFileExtension(path, baseURL) {\n  let url;\n  try {\n    url = new URL(path, baseURL ?? window.location.href);\n  } catch (err) {\n    return null;\n  }\n  const regex = /\\.([0-9a-z]+)(?:$)/i;\n  const match = url.pathname.match(regex);\n  return match?.[1] ?? null;\n}\nconst cachedImplementations$1 = {};\nfunction getImplementation$1(name) {\n  const cached = cachedImplementations$1[name];\n  if (cached) {\n    return cached;\n  }\n  const document2 = window.document;\n  let impl = window[name];\n  if (document2 && typeof document2.createElement === \"function\") {\n    try {\n      const sandbox = document2.createElement(\"iframe\");\n      sandbox.hidden = true;\n      document2.head.appendChild(sandbox);\n      const contentWindow = sandbox.contentWindow;\n      if (contentWindow && contentWindow[name]) {\n        impl = // eslint-disable-next-line @typescript-eslint/unbound-method\n        contentWindow[name];\n      }\n      document2.head.removeChild(sandbox);\n    } catch (e2) {\n    }\n  }\n  return cachedImplementations$1[name] = impl.bind(\n    window\n  );\n}\nfunction setTimeout$2(...rest) {\n  return getImplementation$1(\"setTimeout\")(...rest);\n}\nfunction clearTimeout$1(...rest) {\n  return getImplementation$1(\"clearTimeout\")(...rest);\n}\nfunction getIframeContentDocument(iframe) {\n  try {\n    return iframe.contentDocument;\n  } catch (e2) {\n  }\n}\nlet _id = 1;\nconst tagNameRegex = new RegExp(\"[^a-z0-9-_:]\");\nconst IGNORED_NODE = -2;\nfunction genId() {\n  return _id++;\n}\nfunction getValidTagName$1(element) {\n  if (element instanceof HTMLFormElement) {\n    return \"form\";\n  }\n  const processedTagName = toLowerCase(element.tagName);\n  if (tagNameRegex.test(processedTagName)) {\n    return \"div\";\n  }\n  return processedTagName;\n}\nfunction extractOrigin(url) {\n  let origin = \"\";\n  if (url.indexOf(\"//\") > -1) {\n    origin = url.split(\"/\").slice(0, 3).join(\"/\");\n  } else {\n    origin = url.split(\"/\")[0];\n  }\n  origin = origin.split(\"?\")[0];\n  return origin;\n}\nlet canvasService;\nlet canvasCtx;\nconst URL_IN_CSS_REF = /url\\((?:(')([^']*)'|(\")(.*?)\"|([^)]*))\\)/gm;\nconst URL_PROTOCOL_MATCH = /^(?:[a-z+]+:)?\\/\\//i;\nconst URL_WWW_MATCH = /^www\\..*/i;\nconst DATA_URI = /^(data:)([^,]*),(.*)/i;\nfunction absoluteToStylesheet(cssText, href) {\n  return (cssText || \"\").replace(\n    URL_IN_CSS_REF,\n    (origin, quote1, path1, quote2, path2, path3) => {\n      const filePath = path1 || path2 || path3;\n      const maybeQuote = quote1 || quote2 || \"\";\n      if (!filePath) {\n        return origin;\n      }\n      if (URL_PROTOCOL_MATCH.test(filePath) || URL_WWW_MATCH.test(filePath)) {\n        return `url(${maybeQuote}${filePath}${maybeQuote})`;\n      }\n      if (DATA_URI.test(filePath)) {\n        return `url(${maybeQuote}${filePath}${maybeQuote})`;\n      }\n      if (filePath[0] === \"/\") {\n        return `url(${maybeQuote}${extractOrigin(href) + filePath}${maybeQuote})`;\n      }\n      const stack = href.split(\"/\");\n      const parts = filePath.split(\"/\");\n      stack.pop();\n      for (const part of parts) {\n        if (part === \".\") {\n          continue;\n        } else if (part === \"..\") {\n          stack.pop();\n        } else {\n          stack.push(part);\n        }\n      }\n      return `url(${maybeQuote}${stack.join(\"/\")}${maybeQuote})`;\n    }\n  );\n}\nconst SRCSET_NOT_SPACES = /^[^ \\t\\n\\r\\u000c]+/;\nconst SRCSET_COMMAS_OR_SPACES = /^[, \\t\\n\\r\\u000c]+/;\nfunction getAbsoluteSrcsetString(doc, attributeValue) {\n  if (attributeValue.trim() === \"\") {\n    return attributeValue;\n  }\n  let pos = 0;\n  function collectCharacters(regEx) {\n    let chars2;\n    const match = regEx.exec(attributeValue.substring(pos));\n    if (match) {\n      chars2 = match[0];\n      pos += chars2.length;\n      return chars2;\n    }\n    return \"\";\n  }\n  const output = [];\n  while (true) {\n    collectCharacters(SRCSET_COMMAS_OR_SPACES);\n    if (pos >= attributeValue.length) {\n      break;\n    }\n    let url = collectCharacters(SRCSET_NOT_SPACES);\n    if (url.slice(-1) === \",\") {\n      url = absoluteToDoc(doc, url.substring(0, url.length - 1));\n      output.push(url);\n    } else {\n      let descriptorsStr = \"\";\n      url = absoluteToDoc(doc, url);\n      let inParens = false;\n      while (true) {\n        const c2 = attributeValue.charAt(pos);\n        if (c2 === \"\") {\n          output.push((url + descriptorsStr).trim());\n          break;\n        } else if (!inParens) {\n          if (c2 === \",\") {\n            pos += 1;\n            output.push((url + descriptorsStr).trim());\n            break;\n          } else if (c2 === \"(\") {\n            inParens = true;\n          }\n        } else {\n          if (c2 === \")\") {\n            inParens = false;\n          }\n        }\n        descriptorsStr += c2;\n        pos += 1;\n      }\n    }\n  }\n  return output.join(\", \");\n}\nconst cachedDocument = /* @__PURE__ */ new WeakMap();\nfunction absoluteToDoc(doc, attributeValue) {\n  if (!attributeValue || attributeValue.trim() === \"\") {\n    return attributeValue;\n  }\n  return getHref(doc, attributeValue);\n}\nfunction isSVGElement(el) {\n  return Boolean(el.tagName === \"svg\" || el.ownerSVGElement);\n}\nfunction getHref(doc, customHref) {\n  let a2 = cachedDocument.get(doc);\n  if (!a2) {\n    a2 = doc.createElement(\"a\");\n    cachedDocument.set(doc, a2);\n  }\n  if (!customHref) {\n    customHref = \"\";\n  } else if (customHref.startsWith(\"blob:\") || customHref.startsWith(\"data:\")) {\n    return customHref;\n  }\n  a2.setAttribute(\"href\", customHref);\n  return a2.href;\n}\nfunction transformAttribute(doc, tagName, name, value, element, maskAttributeFn) {\n  if (!value) {\n    return value;\n  }\n  if (name === \"src\" || name === \"href\" && !(tagName === \"use\" && value[0] === \"#\")) {\n    return absoluteToDoc(doc, value);\n  } else if (name === \"xlink:href\" && value[0] !== \"#\") {\n    return absoluteToDoc(doc, value);\n  } else if (name === \"background\" && (tagName === \"table\" || tagName === \"td\" || tagName === \"th\")) {\n    return absoluteToDoc(doc, value);\n  } else if (name === \"srcset\") {\n    return getAbsoluteSrcsetString(doc, value);\n  } else if (name === \"style\") {\n    return absoluteToStylesheet(value, getHref(doc));\n  } else if (tagName === \"object\" && name === \"data\") {\n    return absoluteToDoc(doc, value);\n  }\n  if (typeof maskAttributeFn === \"function\") {\n    return maskAttributeFn(name, value, element);\n  }\n  return value;\n}\nfunction ignoreAttribute(tagName, name, _value) {\n  return (tagName === \"video\" || tagName === \"audio\") && name === \"autoplay\";\n}\nfunction _isBlockedElement(element, blockClass, blockSelector, unblockSelector) {\n  try {\n    if (unblockSelector && element.matches(unblockSelector)) {\n      return false;\n    }\n    if (typeof blockClass === \"string\") {\n      if (element.classList.contains(blockClass)) {\n        return true;\n      }\n    } else {\n      for (let eIndex = element.classList.length; eIndex--; ) {\n        const className = element.classList[eIndex];\n        if (blockClass.test(className)) {\n          return true;\n        }\n      }\n    }\n    if (blockSelector) {\n      return element.matches(blockSelector);\n    }\n  } catch (e2) {\n  }\n  return false;\n}\nfunction elementClassMatchesRegex(el, regex) {\n  for (let eIndex = el.classList.length; eIndex--; ) {\n    const className = el.classList[eIndex];\n    if (regex.test(className)) {\n      return true;\n    }\n  }\n  return false;\n}\nfunction distanceToMatch(node, matchPredicate, limit = Infinity, distance = 0) {\n  if (!node) return -1;\n  if (node.nodeType !== node.ELEMENT_NODE) return -1;\n  if (distance > limit) return -1;\n  if (matchPredicate(node)) return distance;\n  return distanceToMatch(node.parentNode, matchPredicate, limit, distance + 1);\n}\nfunction createMatchPredicate(className, selector) {\n  return (node) => {\n    const el = node;\n    if (el === null) return false;\n    try {\n      if (className) {\n        if (typeof className === \"string\") {\n          if (el.matches(`.${className}`)) return true;\n        } else if (elementClassMatchesRegex(el, className)) {\n          return true;\n        }\n      }\n      if (selector && el.matches(selector)) return true;\n      return false;\n    } catch {\n      return false;\n    }\n  };\n}\nfunction needMaskingText(node, maskTextClass, maskTextSelector, unmaskTextClass, unmaskTextSelector, maskAllText) {\n  try {\n    const el = node.nodeType === node.ELEMENT_NODE ? node : node.parentElement;\n    if (el === null) return false;\n    if (el.tagName === \"INPUT\") {\n      const autocomplete = el.getAttribute(\"autocomplete\");\n      const disallowedAutocompleteValues = [\n        \"current-password\",\n        \"new-password\",\n        \"cc-number\",\n        \"cc-exp\",\n        \"cc-exp-month\",\n        \"cc-exp-year\",\n        \"cc-csc\"\n      ];\n      if (disallowedAutocompleteValues.includes(autocomplete)) {\n        return true;\n      }\n    }\n    let maskDistance = -1;\n    let unmaskDistance = -1;\n    if (maskAllText) {\n      unmaskDistance = distanceToMatch(\n        el,\n        createMatchPredicate(unmaskTextClass, unmaskTextSelector)\n      );\n      if (unmaskDistance < 0) {\n        return true;\n      }\n      maskDistance = distanceToMatch(\n        el,\n        createMatchPredicate(maskTextClass, maskTextSelector),\n        unmaskDistance >= 0 ? unmaskDistance : Infinity\n      );\n    } else {\n      maskDistance = distanceToMatch(\n        el,\n        createMatchPredicate(maskTextClass, maskTextSelector)\n      );\n      if (maskDistance < 0) {\n        return false;\n      }\n      unmaskDistance = distanceToMatch(\n        el,\n        createMatchPredicate(unmaskTextClass, unmaskTextSelector),\n        maskDistance >= 0 ? maskDistance : Infinity\n      );\n    }\n    return maskDistance >= 0 ? unmaskDistance >= 0 ? maskDistance <= unmaskDistance : true : unmaskDistance >= 0 ? false : !!maskAllText;\n  } catch (e2) {\n  }\n  return !!maskAllText;\n}\nfunction onceIframeLoaded(iframeEl, listener, iframeLoadTimeout) {\n  const win = iframeEl.contentWindow;\n  if (!win) {\n    return;\n  }\n  let fired = false;\n  let readyState;\n  try {\n    readyState = win.document.readyState;\n  } catch (error) {\n    return;\n  }\n  if (readyState !== \"complete\") {\n    const timer = setTimeout$2(() => {\n      if (!fired) {\n        listener();\n        fired = true;\n      }\n    }, iframeLoadTimeout);\n    iframeEl.addEventListener(\"load\", () => {\n      clearTimeout$1(timer);\n      fired = true;\n      listener();\n    });\n    return;\n  }\n  const blankUrl = \"about:blank\";\n  if (win.location.href !== blankUrl || iframeEl.src === blankUrl || iframeEl.src === \"\") {\n    setTimeout$2(listener, 0);\n    return iframeEl.addEventListener(\"load\", listener);\n  }\n  iframeEl.addEventListener(\"load\", listener);\n}\nfunction onceStylesheetLoaded(link, listener, styleSheetLoadTimeout) {\n  let fired = false;\n  let styleSheetLoaded;\n  try {\n    styleSheetLoaded = link.sheet;\n  } catch (error) {\n    return;\n  }\n  if (styleSheetLoaded) return;\n  const timer = setTimeout$2(() => {\n    if (!fired) {\n      listener();\n      fired = true;\n    }\n  }, styleSheetLoadTimeout);\n  link.addEventListener(\"load\", () => {\n    clearTimeout$1(timer);\n    fired = true;\n    listener();\n  });\n}\nfunction serializeNode(n2, options) {\n  const {\n    doc,\n    mirror: mirror2,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    maskAllText,\n    maskAttributeFn,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    inlineStylesheet,\n    maskInputOptions = {},\n    maskTextFn,\n    maskInputFn,\n    dataURLOptions = {},\n    inlineImages,\n    recordCanvas,\n    keepIframeSrcFn,\n    newlyAddedElement = false\n  } = options;\n  const rootId = getRootId(doc, mirror2);\n  switch (n2.nodeType) {\n    case n2.DOCUMENT_NODE:\n      if (n2.compatMode !== \"CSS1Compat\") {\n        return {\n          type: NodeType$2.Document,\n          childNodes: [],\n          compatMode: n2.compatMode\n          // probably \"BackCompat\"\n        };\n      } else {\n        return {\n          type: NodeType$2.Document,\n          childNodes: []\n        };\n      }\n    case n2.DOCUMENT_TYPE_NODE:\n      return {\n        type: NodeType$2.DocumentType,\n        name: n2.name,\n        publicId: n2.publicId,\n        systemId: n2.systemId,\n        rootId\n      };\n    case n2.ELEMENT_NODE:\n      return serializeElementNode(n2, {\n        doc,\n        blockClass,\n        blockSelector,\n        unblockSelector,\n        inlineStylesheet,\n        maskAttributeFn,\n        maskInputOptions,\n        maskInputFn,\n        dataURLOptions,\n        inlineImages,\n        recordCanvas,\n        keepIframeSrcFn,\n        newlyAddedElement,\n        rootId,\n        maskTextClass,\n        unmaskTextClass,\n        maskTextSelector,\n        unmaskTextSelector\n      });\n    case n2.TEXT_NODE:\n      return serializeTextNode(n2, {\n        doc,\n        maskAllText,\n        maskTextClass,\n        unmaskTextClass,\n        maskTextSelector,\n        unmaskTextSelector,\n        maskTextFn,\n        maskInputOptions,\n        maskInputFn,\n        rootId\n      });\n    case n2.CDATA_SECTION_NODE:\n      return {\n        type: NodeType$2.CDATA,\n        textContent: \"\",\n        rootId\n      };\n    case n2.COMMENT_NODE:\n      return {\n        type: NodeType$2.Comment,\n        textContent: n2.textContent || \"\",\n        rootId\n      };\n    default:\n      return false;\n  }\n}\nfunction getRootId(doc, mirror2) {\n  if (!mirror2.hasNode(doc)) return void 0;\n  const docId = mirror2.getId(doc);\n  return docId === 1 ? void 0 : docId;\n}\nfunction serializeTextNode(n2, options) {\n  const {\n    maskAllText,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    maskTextFn,\n    maskInputOptions,\n    maskInputFn,\n    rootId\n  } = options;\n  const parentTagName = n2.parentNode && n2.parentNode.tagName;\n  let textContent = n2.textContent;\n  const isStyle = parentTagName === \"STYLE\" ? true : void 0;\n  const isScript = parentTagName === \"SCRIPT\" ? true : void 0;\n  const isTextarea = parentTagName === \"TEXTAREA\" ? true : void 0;\n  if (isStyle && textContent) {\n    try {\n      if (n2.nextSibling || n2.previousSibling) {\n      } else if (n2.parentNode.sheet?.cssRules) {\n        textContent = stringifyStylesheet(\n          n2.parentNode.sheet\n        );\n      }\n    } catch (err) {\n      console.warn(\n        `Cannot get CSS styles from text's parentNode. Error: ${err}`,\n        n2\n      );\n    }\n    textContent = absoluteToStylesheet(textContent, getHref(options.doc));\n  }\n  if (isScript) {\n    textContent = \"SCRIPT_PLACEHOLDER\";\n  }\n  const forceMask = needMaskingText(\n    n2,\n    maskTextClass,\n    maskTextSelector,\n    unmaskTextClass,\n    unmaskTextSelector,\n    maskAllText\n  );\n  if (!isStyle && !isScript && !isTextarea && textContent && forceMask) {\n    textContent = maskTextFn ? maskTextFn(textContent, n2.parentElement) : textContent.replace(/[\\S]/g, \"*\");\n  }\n  if (isTextarea && textContent && (maskInputOptions.textarea || forceMask)) {\n    textContent = maskInputFn ? maskInputFn(textContent, n2.parentNode) : textContent.replace(/[\\S]/g, \"*\");\n  }\n  if (parentTagName === \"OPTION\" && textContent) {\n    const isInputMasked = shouldMaskInput({\n      type: null,\n      tagName: parentTagName,\n      maskInputOptions\n    });\n    textContent = maskInputValue({\n      isMasked: needMaskingText(\n        n2,\n        maskTextClass,\n        maskTextSelector,\n        unmaskTextClass,\n        unmaskTextSelector,\n        isInputMasked\n      ),\n      element: n2,\n      value: textContent,\n      maskInputFn\n    });\n  }\n  return {\n    type: NodeType$2.Text,\n    textContent: textContent || \"\",\n    isStyle,\n    rootId\n  };\n}\nfunction serializeElementNode(n2, options) {\n  const {\n    doc,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    inlineStylesheet,\n    maskInputOptions = {},\n    maskAttributeFn,\n    maskInputFn,\n    dataURLOptions = {},\n    inlineImages,\n    recordCanvas,\n    keepIframeSrcFn,\n    newlyAddedElement = false,\n    rootId,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector\n  } = options;\n  const needBlock = _isBlockedElement(\n    n2,\n    blockClass,\n    blockSelector,\n    unblockSelector\n  );\n  const tagName = getValidTagName$1(n2);\n  let attributes2 = {};\n  const len = n2.attributes.length;\n  for (let i2 = 0; i2 < len; i2++) {\n    const attr = n2.attributes[i2];\n    if (attr.name && !ignoreAttribute(tagName, attr.name, attr.value)) {\n      attributes2[attr.name] = transformAttribute(\n        doc,\n        tagName,\n        toLowerCase(attr.name),\n        attr.value,\n        n2,\n        maskAttributeFn\n      );\n    }\n  }\n  if (tagName === \"link\" && inlineStylesheet) {\n    const stylesheet = Array.from(doc.styleSheets).find((s2) => {\n      return s2.href === n2.href;\n    });\n    let cssText = null;\n    if (stylesheet) {\n      cssText = stringifyStylesheet(stylesheet);\n    }\n    if (cssText) {\n      attributes2.rel = null;\n      attributes2.href = null;\n      attributes2.crossorigin = null;\n      attributes2._cssText = absoluteToStylesheet(cssText, stylesheet.href);\n    }\n  }\n  if (tagName === \"style\" && n2.sheet && // TODO: Currently we only try to get dynamic stylesheet when it is an empty style element\n  !(n2.innerText || n2.textContent || \"\").trim().length) {\n    const cssText = stringifyStylesheet(\n      n2.sheet\n    );\n    if (cssText) {\n      attributes2._cssText = absoluteToStylesheet(cssText, getHref(doc));\n    }\n  }\n  if (tagName === \"input\" || tagName === \"textarea\" || tagName === \"select\" || tagName === \"option\") {\n    const el = n2;\n    const type = getInputType(el);\n    const value = getInputValue(el, toUpperCase(tagName), type);\n    const checked = el.checked;\n    if (type !== \"submit\" && type !== \"button\" && value) {\n      const forceMask = needMaskingText(\n        el,\n        maskTextClass,\n        maskTextSelector,\n        unmaskTextClass,\n        unmaskTextSelector,\n        shouldMaskInput({\n          type,\n          tagName: toUpperCase(tagName),\n          maskInputOptions\n        })\n      );\n      attributes2.value = maskInputValue({\n        isMasked: forceMask,\n        element: el,\n        value,\n        maskInputFn\n      });\n    }\n    if (checked) {\n      attributes2.checked = checked;\n    }\n  }\n  if (tagName === \"option\") {\n    if (n2.selected && !maskInputOptions[\"select\"]) {\n      attributes2.selected = true;\n    } else {\n      delete attributes2.selected;\n    }\n  }\n  if (tagName === \"canvas\" && recordCanvas) {\n    if (n2.__context === \"2d\") {\n      if (!is2DCanvasBlank(n2)) {\n        attributes2.rr_dataURL = n2.toDataURL(\n          dataURLOptions.type,\n          dataURLOptions.quality\n        );\n      }\n    } else if (!(\"__context\" in n2)) {\n      const canvasDataURL = n2.toDataURL(\n        dataURLOptions.type,\n        dataURLOptions.quality\n      );\n      const blankCanvas = doc.createElement(\"canvas\");\n      blankCanvas.width = n2.width;\n      blankCanvas.height = n2.height;\n      const blankCanvasDataURL = blankCanvas.toDataURL(\n        dataURLOptions.type,\n        dataURLOptions.quality\n      );\n      if (canvasDataURL !== blankCanvasDataURL) {\n        attributes2.rr_dataURL = canvasDataURL;\n      }\n    }\n  }\n  if (tagName === \"img\" && inlineImages) {\n    if (!canvasService) {\n      canvasService = doc.createElement(\"canvas\");\n      canvasCtx = canvasService.getContext(\"2d\");\n    }\n    const image = n2;\n    const imageSrc = image.currentSrc || image.getAttribute(\"src\") || \"<unknown-src>\";\n    const priorCrossOrigin = image.crossOrigin;\n    const recordInlineImage = () => {\n      image.removeEventListener(\"load\", recordInlineImage);\n      try {\n        canvasService.width = image.naturalWidth;\n        canvasService.height = image.naturalHeight;\n        canvasCtx.drawImage(image, 0, 0);\n        attributes2.rr_dataURL = canvasService.toDataURL(\n          dataURLOptions.type,\n          dataURLOptions.quality\n        );\n      } catch (err) {\n        if (image.crossOrigin !== \"anonymous\") {\n          image.crossOrigin = \"anonymous\";\n          if (image.complete && image.naturalWidth !== 0)\n            recordInlineImage();\n          else image.addEventListener(\"load\", recordInlineImage);\n          return;\n        } else {\n          console.warn(\n            `Cannot inline img src=${imageSrc}! Error: ${err}`\n          );\n        }\n      }\n      if (image.crossOrigin === \"anonymous\") {\n        priorCrossOrigin ? attributes2.crossOrigin = priorCrossOrigin : image.removeAttribute(\"crossorigin\");\n      }\n    };\n    if (image.complete && image.naturalWidth !== 0) recordInlineImage();\n    else image.addEventListener(\"load\", recordInlineImage);\n  }\n  if (tagName === \"audio\" || tagName === \"video\") {\n    attributes2.rr_mediaState = n2.paused ? \"paused\" : \"played\";\n    attributes2.rr_mediaCurrentTime = n2.currentTime;\n  }\n  if (!newlyAddedElement) {\n    if (n2.scrollLeft) {\n      attributes2.rr_scrollLeft = n2.scrollLeft;\n    }\n    if (n2.scrollTop) {\n      attributes2.rr_scrollTop = n2.scrollTop;\n    }\n  }\n  if (needBlock) {\n    const { width, height } = n2.getBoundingClientRect();\n    attributes2 = {\n      class: attributes2.class,\n      rr_width: `${width}px`,\n      rr_height: `${height}px`\n    };\n  }\n  if (tagName === \"iframe\" && !keepIframeSrcFn(attributes2.src)) {\n    if (!needBlock && !getIframeContentDocument(n2)) {\n      attributes2.rr_src = attributes2.src;\n    }\n    delete attributes2.src;\n  }\n  let isCustomElement;\n  try {\n    if (customElements.get(tagName)) isCustomElement = true;\n  } catch (e2) {\n  }\n  return {\n    type: NodeType$2.Element,\n    tagName,\n    attributes: attributes2,\n    childNodes: [],\n    isSVG: isSVGElement(n2) || void 0,\n    needBlock,\n    rootId,\n    isCustom: isCustomElement\n  };\n}\nfunction lowerIfExists(maybeAttr) {\n  if (maybeAttr === void 0 || maybeAttr === null) {\n    return \"\";\n  } else {\n    return maybeAttr.toLowerCase();\n  }\n}\nfunction slimDOMExcluded(sn, slimDOMOptions) {\n  if (slimDOMOptions.comment && sn.type === NodeType$2.Comment) {\n    return true;\n  } else if (sn.type === NodeType$2.Element) {\n    if (slimDOMOptions.script && // script tag\n    (sn.tagName === \"script\" || // (module)preload link\n    sn.tagName === \"link\" && (sn.attributes.rel === \"preload\" || sn.attributes.rel === \"modulepreload\") || // prefetch link\n    sn.tagName === \"link\" && sn.attributes.rel === \"prefetch\" && typeof sn.attributes.href === \"string\" && extractFileExtension(sn.attributes.href) === \"js\")) {\n      return true;\n    } else if (slimDOMOptions.headFavicon && (sn.tagName === \"link\" && sn.attributes.rel === \"shortcut icon\" || sn.tagName === \"meta\" && (lowerIfExists(sn.attributes.name).match(\n      /^msapplication-tile(image|color)$/\n    ) || lowerIfExists(sn.attributes.name) === \"application-name\" || lowerIfExists(sn.attributes.rel) === \"icon\" || lowerIfExists(sn.attributes.rel) === \"apple-touch-icon\" || lowerIfExists(sn.attributes.rel) === \"shortcut icon\"))) {\n      return true;\n    } else if (sn.tagName === \"meta\") {\n      if (slimDOMOptions.headMetaDescKeywords && lowerIfExists(sn.attributes.name).match(/^description|keywords$/)) {\n        return true;\n      } else if (slimDOMOptions.headMetaSocial && (lowerIfExists(sn.attributes.property).match(/^(og|twitter|fb):/) || // og = opengraph (facebook)\n      lowerIfExists(sn.attributes.name).match(/^(og|twitter):/) || lowerIfExists(sn.attributes.name) === \"pinterest\")) {\n        return true;\n      } else if (slimDOMOptions.headMetaRobots && (lowerIfExists(sn.attributes.name) === \"robots\" || lowerIfExists(sn.attributes.name) === \"googlebot\" || lowerIfExists(sn.attributes.name) === \"bingbot\")) {\n        return true;\n      } else if (slimDOMOptions.headMetaHttpEquiv && sn.attributes[\"http-equiv\"] !== void 0) {\n        return true;\n      } else if (slimDOMOptions.headMetaAuthorship && (lowerIfExists(sn.attributes.name) === \"author\" || lowerIfExists(sn.attributes.name) === \"generator\" || lowerIfExists(sn.attributes.name) === \"framework\" || lowerIfExists(sn.attributes.name) === \"publisher\" || lowerIfExists(sn.attributes.name) === \"progid\" || lowerIfExists(sn.attributes.property).match(/^article:/) || lowerIfExists(sn.attributes.property).match(/^product:/))) {\n        return true;\n      } else if (slimDOMOptions.headMetaVerification && (lowerIfExists(sn.attributes.name) === \"google-site-verification\" || lowerIfExists(sn.attributes.name) === \"yandex-verification\" || lowerIfExists(sn.attributes.name) === \"csrf-token\" || lowerIfExists(sn.attributes.name) === \"p:domain_verify\" || lowerIfExists(sn.attributes.name) === \"verify-v1\" || lowerIfExists(sn.attributes.name) === \"verification\" || lowerIfExists(sn.attributes.name) === \"shopify-checkout-api-token\")) {\n        return true;\n      }\n    }\n  }\n  return false;\n}\nfunction serializeNodeWithId(n2, options) {\n  const {\n    doc,\n    mirror: mirror2,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    maskAllText,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    skipChild = false,\n    inlineStylesheet = true,\n    maskInputOptions = {},\n    maskAttributeFn,\n    maskTextFn,\n    maskInputFn,\n    slimDOMOptions,\n    dataURLOptions = {},\n    inlineImages = false,\n    recordCanvas = false,\n    onSerialize,\n    onIframeLoad,\n    iframeLoadTimeout = 5e3,\n    onStylesheetLoad,\n    stylesheetLoadTimeout = 5e3,\n    keepIframeSrcFn = () => false,\n    newlyAddedElement = false\n  } = options;\n  let { preserveWhiteSpace = true } = options;\n  const _serializedNode = serializeNode(n2, {\n    doc,\n    mirror: mirror2,\n    blockClass,\n    blockSelector,\n    maskAllText,\n    unblockSelector,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    inlineStylesheet,\n    maskInputOptions,\n    maskAttributeFn,\n    maskTextFn,\n    maskInputFn,\n    dataURLOptions,\n    inlineImages,\n    recordCanvas,\n    keepIframeSrcFn,\n    newlyAddedElement\n  });\n  if (!_serializedNode) {\n    console.warn(n2, \"not serialized\");\n    return null;\n  }\n  let id;\n  if (mirror2.hasNode(n2)) {\n    id = mirror2.getId(n2);\n  } else if (slimDOMExcluded(_serializedNode, slimDOMOptions) || !preserveWhiteSpace && _serializedNode.type === NodeType$2.Text && !_serializedNode.isStyle && !_serializedNode.textContent.replace(/^\\s+|\\s+$/gm, \"\").length) {\n    id = IGNORED_NODE;\n  } else {\n    id = genId();\n  }\n  const serializedNode2 = Object.assign(_serializedNode, { id });\n  mirror2.add(n2, serializedNode2);\n  if (id === IGNORED_NODE) {\n    return null;\n  }\n  if (onSerialize) {\n    onSerialize(n2);\n  }\n  let recordChild = !skipChild;\n  if (serializedNode2.type === NodeType$2.Element) {\n    recordChild = recordChild && !serializedNode2.needBlock;\n    delete serializedNode2.needBlock;\n    const shadowRoot = n2.shadowRoot;\n    if (shadowRoot && isNativeShadowDom(shadowRoot))\n      serializedNode2.isShadowHost = true;\n  }\n  if ((serializedNode2.type === NodeType$2.Document || serializedNode2.type === NodeType$2.Element) && recordChild) {\n    if (slimDOMOptions.headWhitespace && serializedNode2.type === NodeType$2.Element && serializedNode2.tagName === \"head\") {\n      preserveWhiteSpace = false;\n    }\n    const bypassOptions = {\n      doc,\n      mirror: mirror2,\n      blockClass,\n      blockSelector,\n      maskAllText,\n      unblockSelector,\n      maskTextClass,\n      unmaskTextClass,\n      maskTextSelector,\n      unmaskTextSelector,\n      skipChild,\n      inlineStylesheet,\n      maskInputOptions,\n      maskAttributeFn,\n      maskTextFn,\n      maskInputFn,\n      slimDOMOptions,\n      dataURLOptions,\n      inlineImages,\n      recordCanvas,\n      preserveWhiteSpace,\n      onSerialize,\n      onIframeLoad,\n      iframeLoadTimeout,\n      onStylesheetLoad,\n      stylesheetLoadTimeout,\n      keepIframeSrcFn\n    };\n    for (const childN of Array.from(n2.childNodes)) {\n      const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n      if (serializedChildNode) {\n        serializedNode2.childNodes.push(serializedChildNode);\n      }\n    }\n    if (isElement$1(n2) && n2.shadowRoot) {\n      for (const childN of Array.from(n2.shadowRoot.childNodes)) {\n        const serializedChildNode = serializeNodeWithId(childN, bypassOptions);\n        if (serializedChildNode) {\n          isNativeShadowDom(n2.shadowRoot) && (serializedChildNode.isShadow = true);\n          serializedNode2.childNodes.push(serializedChildNode);\n        }\n      }\n    }\n  }\n  if (n2.parentNode && isShadowRoot(n2.parentNode) && isNativeShadowDom(n2.parentNode)) {\n    serializedNode2.isShadow = true;\n  }\n  if (serializedNode2.type === NodeType$2.Element && serializedNode2.tagName === \"iframe\" && !_isBlockedElement(\n    n2,\n    blockClass,\n    blockSelector,\n    unblockSelector\n  )) {\n    onceIframeLoaded(\n      n2,\n      () => {\n        const iframeDoc = getIframeContentDocument(n2);\n        if (iframeDoc && onIframeLoad) {\n          const serializedIframeNode = serializeNodeWithId(iframeDoc, {\n            doc: iframeDoc,\n            mirror: mirror2,\n            blockClass,\n            blockSelector,\n            unblockSelector,\n            maskAllText,\n            maskTextClass,\n            unmaskTextClass,\n            maskTextSelector,\n            unmaskTextSelector,\n            skipChild: false,\n            inlineStylesheet,\n            maskInputOptions,\n            maskAttributeFn,\n            maskTextFn,\n            maskInputFn,\n            slimDOMOptions,\n            dataURLOptions,\n            inlineImages,\n            recordCanvas,\n            preserveWhiteSpace,\n            onSerialize,\n            onIframeLoad,\n            iframeLoadTimeout,\n            onStylesheetLoad,\n            stylesheetLoadTimeout,\n            keepIframeSrcFn\n          });\n          if (serializedIframeNode) {\n            onIframeLoad(\n              n2,\n              serializedIframeNode\n            );\n          }\n        }\n      },\n      iframeLoadTimeout\n    );\n  }\n  if (serializedNode2.type === NodeType$2.Element && serializedNode2.tagName === \"link\" && typeof serializedNode2.attributes.rel === \"string\" && (serializedNode2.attributes.rel === \"stylesheet\" || serializedNode2.attributes.rel === \"preload\" && typeof serializedNode2.attributes.href === \"string\" && extractFileExtension(serializedNode2.attributes.href) === \"css\")) {\n    onceStylesheetLoaded(\n      n2,\n      () => {\n        if (onStylesheetLoad) {\n          const serializedLinkNode = serializeNodeWithId(n2, {\n            doc,\n            mirror: mirror2,\n            blockClass,\n            blockSelector,\n            unblockSelector,\n            maskAllText,\n            maskTextClass,\n            unmaskTextClass,\n            maskTextSelector,\n            unmaskTextSelector,\n            skipChild: false,\n            inlineStylesheet,\n            maskInputOptions,\n            maskAttributeFn,\n            maskTextFn,\n            maskInputFn,\n            slimDOMOptions,\n            dataURLOptions,\n            inlineImages,\n            recordCanvas,\n            preserveWhiteSpace,\n            onSerialize,\n            onIframeLoad,\n            iframeLoadTimeout,\n            onStylesheetLoad,\n            stylesheetLoadTimeout,\n            keepIframeSrcFn\n          });\n          if (serializedLinkNode) {\n            onStylesheetLoad(\n              n2,\n              serializedLinkNode\n            );\n          }\n        }\n      },\n      stylesheetLoadTimeout\n    );\n  }\n  return serializedNode2;\n}\nfunction snapshot(n2, options) {\n  const {\n    mirror: mirror2 = new Mirror(),\n    blockClass = \"rr-block\",\n    blockSelector = null,\n    unblockSelector = null,\n    maskAllText = false,\n    maskTextClass = \"rr-mask\",\n    unmaskTextClass = null,\n    maskTextSelector = null,\n    unmaskTextSelector = null,\n    inlineStylesheet = true,\n    inlineImages = false,\n    recordCanvas = false,\n    maskAllInputs = false,\n    maskAttributeFn,\n    maskTextFn,\n    maskInputFn,\n    slimDOM = false,\n    dataURLOptions,\n    preserveWhiteSpace,\n    onSerialize,\n    onIframeLoad,\n    iframeLoadTimeout,\n    onStylesheetLoad,\n    stylesheetLoadTimeout,\n    keepIframeSrcFn = () => false\n  } = options || {};\n  const maskInputOptions = maskAllInputs === true ? {\n    color: true,\n    date: true,\n    \"datetime-local\": true,\n    email: true,\n    month: true,\n    number: true,\n    range: true,\n    search: true,\n    tel: true,\n    text: true,\n    time: true,\n    url: true,\n    week: true,\n    textarea: true,\n    select: true\n  } : maskAllInputs === false ? {} : maskAllInputs;\n  const slimDOMOptions = slimDOM === true || slimDOM === \"all\" ? (\n    // if true: set of sensible options that should not throw away any information\n    {\n      script: true,\n      comment: true,\n      headFavicon: true,\n      headWhitespace: true,\n      headMetaDescKeywords: slimDOM === \"all\",\n      // destructive\n      headMetaSocial: true,\n      headMetaRobots: true,\n      headMetaHttpEquiv: true,\n      headMetaAuthorship: true,\n      headMetaVerification: true\n    }\n  ) : slimDOM === false ? {} : slimDOM;\n  return serializeNodeWithId(n2, {\n    doc: n2,\n    mirror: mirror2,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    maskAllText,\n    maskTextClass,\n    unmaskTextClass,\n    maskTextSelector,\n    unmaskTextSelector,\n    skipChild: false,\n    inlineStylesheet,\n    maskInputOptions,\n    maskAttributeFn,\n    maskTextFn,\n    maskInputFn,\n    slimDOMOptions,\n    dataURLOptions,\n    inlineImages,\n    recordCanvas,\n    preserveWhiteSpace,\n    onSerialize,\n    onIframeLoad,\n    iframeLoadTimeout,\n    onStylesheetLoad,\n    stylesheetLoadTimeout,\n    keepIframeSrcFn,\n    newlyAddedElement: false\n  });\n}\nfunction on(type, fn, target = document) {\n  const options = { capture: true, passive: true };\n  target.addEventListener(type, fn, options);\n  return () => target.removeEventListener(type, fn, options);\n}\nconst DEPARTED_MIRROR_ACCESS_WARNING = \"Please stop import mirror directly. Instead of that,\\r\\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\\r\\nor you can use record.mirror to access the mirror instance during recording.\";\nlet _mirror = {\n  map: {},\n  getId() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n    return -1;\n  },\n  getNode() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n    return null;\n  },\n  removeNodeFromMap() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n  },\n  has() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n    return false;\n  },\n  reset() {\n    console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n  }\n};\nif (typeof window !== \"undefined\" && window.Proxy && window.Reflect) {\n  _mirror = new Proxy(_mirror, {\n    get(target, prop, receiver) {\n      if (prop === \"map\") {\n        console.error(DEPARTED_MIRROR_ACCESS_WARNING);\n      }\n      return Reflect.get(target, prop, receiver);\n    }\n  });\n}\nfunction throttle$1(func, wait, options = {}) {\n  let timeout = null;\n  let previous = 0;\n  return function(...args) {\n    const now = Date.now();\n    if (!previous && options.leading === false) {\n      previous = now;\n    }\n    const remaining = wait - (now - previous);\n    const context = this;\n    if (remaining <= 0 || remaining > wait) {\n      if (timeout) {\n        clearTimeout$2(timeout);\n        timeout = null;\n      }\n      previous = now;\n      func.apply(context, args);\n    } else if (!timeout && options.trailing !== false) {\n      timeout = setTimeout$1(() => {\n        previous = options.leading === false ? 0 : Date.now();\n        timeout = null;\n        func.apply(context, args);\n      }, remaining);\n    }\n  };\n}\nfunction hookSetter(target, key, d, isRevoked, win = window) {\n  const original = win.Object.getOwnPropertyDescriptor(target, key);\n  win.Object.defineProperty(\n    target,\n    key,\n    isRevoked ? d : {\n      set(value) {\n        setTimeout$1(() => {\n          d.set.call(this, value);\n        }, 0);\n        if (original && original.set) {\n          original.set.call(this, value);\n        }\n      }\n    }\n  );\n  return () => hookSetter(target, key, original || {}, true);\n}\nfunction patch(source, name, replacement) {\n  try {\n    if (!(name in source)) {\n      return () => {\n      };\n    }\n    const original = source[name];\n    const wrapped = replacement(original);\n    if (typeof wrapped === \"function\") {\n      wrapped.prototype = wrapped.prototype || {};\n      Object.defineProperties(wrapped, {\n        __rrweb_original__: {\n          enumerable: false,\n          value: original\n        }\n      });\n    }\n    source[name] = wrapped;\n    return () => {\n      source[name] = original;\n    };\n  } catch {\n    return () => {\n    };\n  }\n}\nlet nowTimestamp = Date.now;\nif (!/* @__PURE__ */ /[1-9][0-9]{12}/.test(Date.now().toString())) {\n  nowTimestamp = () => (/* @__PURE__ */ new Date()).getTime();\n}\nfunction getWindowScroll(win) {\n  const doc = win.document;\n  return {\n    left: doc.scrollingElement ? doc.scrollingElement.scrollLeft : win.pageXOffset !== void 0 ? win.pageXOffset : doc?.documentElement.scrollLeft || doc?.body?.parentElement?.scrollLeft || doc?.body?.scrollLeft || 0,\n    top: doc.scrollingElement ? doc.scrollingElement.scrollTop : win.pageYOffset !== void 0 ? win.pageYOffset : doc?.documentElement.scrollTop || doc?.body?.parentElement?.scrollTop || doc?.body?.scrollTop || 0\n  };\n}\nfunction getWindowHeight() {\n  return window.innerHeight || document.documentElement && document.documentElement.clientHeight || document.body && document.body.clientHeight;\n}\nfunction getWindowWidth() {\n  return window.innerWidth || document.documentElement && document.documentElement.clientWidth || document.body && document.body.clientWidth;\n}\nfunction closestElementOfNode$1(node) {\n  if (!node) {\n    return null;\n  }\n  try {\n    const el = node.nodeType === node.ELEMENT_NODE ? node : node.parentElement;\n    return el;\n  } catch (error) {\n    return null;\n  }\n}\nfunction isBlocked(node, blockClass, blockSelector, unblockSelector, checkAncestors) {\n  if (!node) {\n    return false;\n  }\n  const el = closestElementOfNode$1(node);\n  if (!el) {\n    return false;\n  }\n  const blockedPredicate = createMatchPredicate(blockClass, blockSelector);\n  if (!checkAncestors) {\n    const isUnblocked = unblockSelector && el.matches(unblockSelector);\n    return blockedPredicate(el) && !isUnblocked;\n  }\n  const blockDistance = distanceToMatch(el, blockedPredicate);\n  let unblockDistance = -1;\n  if (blockDistance < 0) {\n    return false;\n  }\n  if (unblockSelector) {\n    unblockDistance = distanceToMatch(\n      el,\n      createMatchPredicate(null, unblockSelector)\n    );\n  }\n  if (blockDistance > -1 && unblockDistance < 0) {\n    return true;\n  }\n  return blockDistance < unblockDistance;\n}\nfunction isSerialized(n2, mirror2) {\n  return mirror2.getId(n2) !== -1;\n}\nfunction isIgnored(n2, mirror2) {\n  return mirror2.getId(n2) === IGNORED_NODE;\n}\nfunction isAncestorRemoved(target, mirror2) {\n  if (isShadowRoot(target)) {\n    return false;\n  }\n  const id = mirror2.getId(target);\n  if (!mirror2.has(id)) {\n    return true;\n  }\n  if (target.parentNode && target.parentNode.nodeType === target.DOCUMENT_NODE) {\n    return false;\n  }\n  if (!target.parentNode) {\n    return true;\n  }\n  return isAncestorRemoved(target.parentNode, mirror2);\n}\nfunction legacy_isTouchEvent(event) {\n  return Boolean(event.changedTouches);\n}\nfunction polyfill$1(win = window) {\n  if (\"NodeList\" in win && !win.NodeList.prototype.forEach) {\n    win.NodeList.prototype.forEach = Array.prototype.forEach;\n  }\n  if (\"DOMTokenList\" in win && !win.DOMTokenList.prototype.forEach) {\n    win.DOMTokenList.prototype.forEach = Array.prototype.forEach;\n  }\n  if (!Node.prototype.contains) {\n    Node.prototype.contains = (...args) => {\n      let node = args[0];\n      if (!(0 in args)) {\n        throw new TypeError(\"1 argument is required\");\n      }\n      do {\n        if (this === node) {\n          return true;\n        }\n      } while (node = node && node.parentNode);\n      return false;\n    };\n  }\n}\nfunction isSerializedIframe(n2, mirror2) {\n  return Boolean(n2.nodeName === \"IFRAME\" && mirror2.getMeta(n2));\n}\nfunction isSerializedStylesheet(n2, mirror2) {\n  return Boolean(\n    n2.nodeName === \"LINK\" && n2.nodeType === n2.ELEMENT_NODE && n2.getAttribute && n2.getAttribute(\"rel\") === \"stylesheet\" && mirror2.getMeta(n2)\n  );\n}\nfunction hasShadowRoot(n2) {\n  return Boolean(n2?.shadowRoot);\n}\nclass StyleSheetMirror {\n  constructor() {\n    this.id = 1;\n    this.styleIDMap = /* @__PURE__ */ new WeakMap();\n    this.idStyleMap = /* @__PURE__ */ new Map();\n  }\n  getId(stylesheet) {\n    return this.styleIDMap.get(stylesheet) ?? -1;\n  }\n  has(stylesheet) {\n    return this.styleIDMap.has(stylesheet);\n  }\n  /**\n   * @returns If the stylesheet is in the mirror, returns the id of the stylesheet. If not, return the new assigned id.\n   */\n  add(stylesheet, id) {\n    if (this.has(stylesheet)) return this.getId(stylesheet);\n    let newId;\n    if (id === void 0) {\n      newId = this.id++;\n    } else newId = id;\n    this.styleIDMap.set(stylesheet, newId);\n    this.idStyleMap.set(newId, stylesheet);\n    return newId;\n  }\n  getStyle(id) {\n    return this.idStyleMap.get(id) || null;\n  }\n  reset() {\n    this.styleIDMap = /* @__PURE__ */ new WeakMap();\n    this.idStyleMap = /* @__PURE__ */ new Map();\n    this.id = 1;\n  }\n  generateId() {\n    return this.id++;\n  }\n}\nfunction getShadowHost(n2) {\n  let shadowHost = null;\n  if (n2.getRootNode?.()?.nodeType === Node.DOCUMENT_FRAGMENT_NODE && n2.getRootNode().host)\n    shadowHost = n2.getRootNode().host;\n  return shadowHost;\n}\nfunction getRootShadowHost(n2) {\n  let rootShadowHost = n2;\n  let shadowHost;\n  while (shadowHost = getShadowHost(rootShadowHost))\n    rootShadowHost = shadowHost;\n  return rootShadowHost;\n}\nfunction shadowHostInDom(n2) {\n  const doc = n2.ownerDocument;\n  if (!doc) return false;\n  const shadowHost = getRootShadowHost(n2);\n  return doc.contains(shadowHost);\n}\nfunction inDom(n2) {\n  const doc = n2.ownerDocument;\n  if (!doc) return false;\n  return doc.contains(n2) || shadowHostInDom(n2);\n}\nconst cachedImplementations = {};\nfunction getImplementation(name) {\n  const cached = cachedImplementations[name];\n  if (cached) {\n    return cached;\n  }\n  const document2 = window.document;\n  let impl = window[name];\n  if (document2 && typeof document2.createElement === \"function\") {\n    try {\n      const sandbox = document2.createElement(\"iframe\");\n      sandbox.hidden = true;\n      document2.head.appendChild(sandbox);\n      const contentWindow = sandbox.contentWindow;\n      if (contentWindow && contentWindow[name]) {\n        impl = // eslint-disable-next-line @typescript-eslint/unbound-method\n        contentWindow[name];\n      }\n      document2.head.removeChild(sandbox);\n    } catch (e2) {\n    }\n  }\n  return cachedImplementations[name] = impl.bind(\n    window\n  );\n}\nfunction onRequestAnimationFrame(...rest) {\n  return getImplementation(\"requestAnimationFrame\")(...rest);\n}\nfunction setTimeout$1(...rest) {\n  return getImplementation(\"setTimeout\")(...rest);\n}\nfunction clearTimeout$2(...rest) {\n  return getImplementation(\"clearTimeout\")(...rest);\n}\nvar EventType = /* @__PURE__ */ ((EventType2) => {\n  EventType2[EventType2[\"DomContentLoaded\"] = 0] = \"DomContentLoaded\";\n  EventType2[EventType2[\"Load\"] = 1] = \"Load\";\n  EventType2[EventType2[\"FullSnapshot\"] = 2] = \"FullSnapshot\";\n  EventType2[EventType2[\"IncrementalSnapshot\"] = 3] = \"IncrementalSnapshot\";\n  EventType2[EventType2[\"Meta\"] = 4] = \"Meta\";\n  EventType2[EventType2[\"Custom\"] = 5] = \"Custom\";\n  EventType2[EventType2[\"Plugin\"] = 6] = \"Plugin\";\n  return EventType2;\n})(EventType || {});\nvar IncrementalSource = /* @__PURE__ */ ((IncrementalSource2) => {\n  IncrementalSource2[IncrementalSource2[\"Mutation\"] = 0] = \"Mutation\";\n  IncrementalSource2[IncrementalSource2[\"MouseMove\"] = 1] = \"MouseMove\";\n  IncrementalSource2[IncrementalSource2[\"MouseInteraction\"] = 2] = \"MouseInteraction\";\n  IncrementalSource2[IncrementalSource2[\"Scroll\"] = 3] = \"Scroll\";\n  IncrementalSource2[IncrementalSource2[\"ViewportResize\"] = 4] = \"ViewportResize\";\n  IncrementalSource2[IncrementalSource2[\"Input\"] = 5] = \"Input\";\n  IncrementalSource2[IncrementalSource2[\"TouchMove\"] = 6] = \"TouchMove\";\n  IncrementalSource2[IncrementalSource2[\"MediaInteraction\"] = 7] = \"MediaInteraction\";\n  IncrementalSource2[IncrementalSource2[\"StyleSheetRule\"] = 8] = \"StyleSheetRule\";\n  IncrementalSource2[IncrementalSource2[\"CanvasMutation\"] = 9] = \"CanvasMutation\";\n  IncrementalSource2[IncrementalSource2[\"Font\"] = 10] = \"Font\";\n  IncrementalSource2[IncrementalSource2[\"Log\"] = 11] = \"Log\";\n  IncrementalSource2[IncrementalSource2[\"Drag\"] = 12] = \"Drag\";\n  IncrementalSource2[IncrementalSource2[\"StyleDeclaration\"] = 13] = \"StyleDeclaration\";\n  IncrementalSource2[IncrementalSource2[\"Selection\"] = 14] = \"Selection\";\n  IncrementalSource2[IncrementalSource2[\"AdoptedStyleSheet\"] = 15] = \"AdoptedStyleSheet\";\n  IncrementalSource2[IncrementalSource2[\"CustomElement\"] = 16] = \"CustomElement\";\n  return IncrementalSource2;\n})(IncrementalSource || {});\nvar MouseInteractions = /* @__PURE__ */ ((MouseInteractions2) => {\n  MouseInteractions2[MouseInteractions2[\"MouseUp\"] = 0] = \"MouseUp\";\n  MouseInteractions2[MouseInteractions2[\"MouseDown\"] = 1] = \"MouseDown\";\n  MouseInteractions2[MouseInteractions2[\"Click\"] = 2] = \"Click\";\n  MouseInteractions2[MouseInteractions2[\"ContextMenu\"] = 3] = \"ContextMenu\";\n  MouseInteractions2[MouseInteractions2[\"DblClick\"] = 4] = \"DblClick\";\n  MouseInteractions2[MouseInteractions2[\"Focus\"] = 5] = \"Focus\";\n  MouseInteractions2[MouseInteractions2[\"Blur\"] = 6] = \"Blur\";\n  MouseInteractions2[MouseInteractions2[\"TouchStart\"] = 7] = \"TouchStart\";\n  MouseInteractions2[MouseInteractions2[\"TouchMove_Departed\"] = 8] = \"TouchMove_Departed\";\n  MouseInteractions2[MouseInteractions2[\"TouchEnd\"] = 9] = \"TouchEnd\";\n  MouseInteractions2[MouseInteractions2[\"TouchCancel\"] = 10] = \"TouchCancel\";\n  return MouseInteractions2;\n})(MouseInteractions || {});\nvar PointerTypes = /* @__PURE__ */ ((PointerTypes2) => {\n  PointerTypes2[PointerTypes2[\"Mouse\"] = 0] = \"Mouse\";\n  PointerTypes2[PointerTypes2[\"Pen\"] = 1] = \"Pen\";\n  PointerTypes2[PointerTypes2[\"Touch\"] = 2] = \"Touch\";\n  return PointerTypes2;\n})(PointerTypes || {});\nvar MediaInteractions = /* @__PURE__ */ ((MediaInteractions2) => {\n  MediaInteractions2[MediaInteractions2[\"Play\"] = 0] = \"Play\";\n  MediaInteractions2[MediaInteractions2[\"Pause\"] = 1] = \"Pause\";\n  MediaInteractions2[MediaInteractions2[\"Seeked\"] = 2] = \"Seeked\";\n  MediaInteractions2[MediaInteractions2[\"VolumeChange\"] = 3] = \"VolumeChange\";\n  MediaInteractions2[MediaInteractions2[\"RateChange\"] = 4] = \"RateChange\";\n  return MediaInteractions2;\n})(MediaInteractions || {});\nfunction getIFrameContentDocument(iframe) {\n  try {\n    return iframe.contentDocument;\n  } catch (e2) {\n  }\n}\nfunction getIFrameContentWindow(iframe) {\n  try {\n    return iframe.contentWindow;\n  } catch (e2) {\n  }\n}\nfunction isNodeInLinkedList(n2) {\n  return \"__ln\" in n2;\n}\nclass DoubleLinkedList {\n  constructor() {\n    this.length = 0;\n    this.head = null;\n    this.tail = null;\n  }\n  get(position) {\n    if (position >= this.length) {\n      throw new Error(\"Position outside of list range\");\n    }\n    let current = this.head;\n    for (let index = 0; index < position; index++) {\n      current = current?.next || null;\n    }\n    return current;\n  }\n  addNode(n2) {\n    const node = {\n      value: n2,\n      previous: null,\n      next: null\n    };\n    n2.__ln = node;\n    if (n2.previousSibling && isNodeInLinkedList(n2.previousSibling)) {\n      const current = n2.previousSibling.__ln.next;\n      node.next = current;\n      node.previous = n2.previousSibling.__ln;\n      n2.previousSibling.__ln.next = node;\n      if (current) {\n        current.previous = node;\n      }\n    } else if (n2.nextSibling && isNodeInLinkedList(n2.nextSibling) && n2.nextSibling.__ln.previous) {\n      const current = n2.nextSibling.__ln.previous;\n      node.previous = current;\n      node.next = n2.nextSibling.__ln;\n      n2.nextSibling.__ln.previous = node;\n      if (current) {\n        current.next = node;\n      }\n    } else {\n      if (this.head) {\n        this.head.previous = node;\n      }\n      node.next = this.head;\n      this.head = node;\n    }\n    if (node.next === null) {\n      this.tail = node;\n    }\n    this.length++;\n  }\n  removeNode(n2) {\n    const current = n2.__ln;\n    if (!this.head) {\n      return;\n    }\n    if (!current.previous) {\n      this.head = current.next;\n      if (this.head) {\n        this.head.previous = null;\n      } else {\n        this.tail = null;\n      }\n    } else {\n      current.previous.next = current.next;\n      if (current.next) {\n        current.next.previous = current.previous;\n      } else {\n        this.tail = current.previous;\n      }\n    }\n    if (n2.__ln) {\n      delete n2.__ln;\n    }\n    this.length--;\n  }\n}\nconst moveKey = (id, parentId) => `${id}@${parentId}`;\nclass MutationBuffer {\n  constructor() {\n    this.frozen = false;\n    this.locked = false;\n    this.texts = [];\n    this.attributes = [];\n    this.attributeMap = /* @__PURE__ */ new WeakMap();\n    this.removes = [];\n    this.mapRemoves = [];\n    this.movedMap = {};\n    this.addedSet = /* @__PURE__ */ new Set();\n    this.movedSet = /* @__PURE__ */ new Set();\n    this.droppedSet = /* @__PURE__ */ new Set();\n    this.processMutations = (mutations) => {\n      mutations.forEach(this.processMutation);\n      this.emit();\n    };\n    this.emit = () => {\n      if (this.frozen || this.locked) {\n        return;\n      }\n      const adds = [];\n      const addedIds = /* @__PURE__ */ new Set();\n      const addList = new DoubleLinkedList();\n      const getNextId = (n2) => {\n        let ns = n2;\n        let nextId = IGNORED_NODE;\n        while (nextId === IGNORED_NODE) {\n          ns = ns && ns.nextSibling;\n          nextId = ns && this.mirror.getId(ns);\n        }\n        return nextId;\n      };\n      const pushAdd = (n2) => {\n        if (!n2.parentNode || !inDom(n2)) {\n          return;\n        }\n        const parentId = isShadowRoot(n2.parentNode) ? this.mirror.getId(getShadowHost(n2)) : this.mirror.getId(n2.parentNode);\n        const nextId = getNextId(n2);\n        if (parentId === -1 || nextId === -1) {\n          return addList.addNode(n2);\n        }\n        const sn = serializeNodeWithId(n2, {\n          doc: this.doc,\n          mirror: this.mirror,\n          blockClass: this.blockClass,\n          blockSelector: this.blockSelector,\n          maskAllText: this.maskAllText,\n          unblockSelector: this.unblockSelector,\n          maskTextClass: this.maskTextClass,\n          unmaskTextClass: this.unmaskTextClass,\n          maskTextSelector: this.maskTextSelector,\n          unmaskTextSelector: this.unmaskTextSelector,\n          skipChild: true,\n          newlyAddedElement: true,\n          inlineStylesheet: this.inlineStylesheet,\n          maskInputOptions: this.maskInputOptions,\n          maskAttributeFn: this.maskAttributeFn,\n          maskTextFn: this.maskTextFn,\n          maskInputFn: this.maskInputFn,\n          slimDOMOptions: this.slimDOMOptions,\n          dataURLOptions: this.dataURLOptions,\n          recordCanvas: this.recordCanvas,\n          inlineImages: this.inlineImages,\n          onSerialize: (currentN) => {\n            if (isSerializedIframe(currentN, this.mirror) && !isBlocked(\n              currentN,\n              this.blockClass,\n              this.blockSelector,\n              this.unblockSelector,\n              false\n            )) {\n              this.iframeManager.addIframe(currentN);\n            }\n            if (isSerializedStylesheet(currentN, this.mirror)) {\n              this.stylesheetManager.trackLinkElement(\n                currentN\n              );\n            }\n            if (hasShadowRoot(n2)) {\n              this.shadowDomManager.addShadowRoot(n2.shadowRoot, this.doc);\n            }\n          },\n          onIframeLoad: (iframe, childSn) => {\n            if (isBlocked(\n              iframe,\n              this.blockClass,\n              this.blockSelector,\n              this.unblockSelector,\n              false\n            )) {\n              return;\n            }\n            this.iframeManager.attachIframe(iframe, childSn);\n            if (iframe.contentWindow) {\n              this.canvasManager.addWindow(iframe.contentWindow);\n            }\n            this.shadowDomManager.observeAttachShadow(iframe);\n          },\n          onStylesheetLoad: (link, childSn) => {\n            this.stylesheetManager.attachLinkElement(link, childSn);\n          }\n        });\n        if (sn) {\n          adds.push({\n            parentId,\n            nextId,\n            node: sn\n          });\n          addedIds.add(sn.id);\n        }\n      };\n      while (this.mapRemoves.length) {\n        this.mirror.removeNodeFromMap(this.mapRemoves.shift());\n      }\n      for (const n2 of this.movedSet) {\n        if (isParentRemoved(this.removes, n2, this.mirror) && !this.movedSet.has(n2.parentNode)) {\n          continue;\n        }\n        pushAdd(n2);\n      }\n      for (const n2 of this.addedSet) {\n        if (!isAncestorInSet(this.droppedSet, n2) && !isParentRemoved(this.removes, n2, this.mirror)) {\n          pushAdd(n2);\n        } else if (isAncestorInSet(this.movedSet, n2)) {\n          pushAdd(n2);\n        } else {\n          this.droppedSet.add(n2);\n        }\n      }\n      let candidate = null;\n      while (addList.length) {\n        let node = null;\n        if (candidate) {\n          const parentId = this.mirror.getId(candidate.value.parentNode);\n          const nextId = getNextId(candidate.value);\n          if (parentId !== -1 && nextId !== -1) {\n            node = candidate;\n          }\n        }\n        if (!node) {\n          let tailNode = addList.tail;\n          while (tailNode) {\n            const _node = tailNode;\n            tailNode = tailNode.previous;\n            if (_node) {\n              const parentId = this.mirror.getId(_node.value.parentNode);\n              const nextId = getNextId(_node.value);\n              if (nextId === -1) continue;\n              else if (parentId !== -1) {\n                node = _node;\n                break;\n              } else {\n                const unhandledNode = _node.value;\n                if (unhandledNode.parentNode && unhandledNode.parentNode.nodeType === Node.DOCUMENT_FRAGMENT_NODE) {\n                  const shadowHost = unhandledNode.parentNode.host;\n                  const parentId2 = this.mirror.getId(shadowHost);\n                  if (parentId2 !== -1) {\n                    node = _node;\n                    break;\n                  }\n                }\n              }\n            }\n          }\n        }\n        if (!node) {\n          while (addList.head) {\n            addList.removeNode(addList.head.value);\n          }\n          break;\n        }\n        candidate = node.previous;\n        addList.removeNode(node.value);\n        pushAdd(node.value);\n      }\n      const payload = {\n        texts: this.texts.map((text) => ({\n          id: this.mirror.getId(text.node),\n          value: text.value\n        })).filter((text) => !addedIds.has(text.id)).filter((text) => this.mirror.has(text.id)),\n        attributes: this.attributes.map((attribute) => {\n          const { attributes } = attribute;\n          if (typeof attributes.style === \"string\") {\n            const diffAsStr = JSON.stringify(attribute.styleDiff);\n            const unchangedAsStr = JSON.stringify(attribute._unchangedStyles);\n            if (diffAsStr.length < attributes.style.length) {\n              if ((diffAsStr + unchangedAsStr).split(\"var(\").length === attributes.style.split(\"var(\").length) {\n                attributes.style = attribute.styleDiff;\n              }\n            }\n          }\n          return {\n            id: this.mirror.getId(attribute.node),\n            attributes\n          };\n        }).filter((attribute) => !addedIds.has(attribute.id)).filter((attribute) => this.mirror.has(attribute.id)),\n        removes: this.removes,\n        adds\n      };\n      if (!payload.texts.length && !payload.attributes.length && !payload.removes.length && !payload.adds.length) {\n        return;\n      }\n      this.texts = [];\n      this.attributes = [];\n      this.attributeMap = /* @__PURE__ */ new WeakMap();\n      this.removes = [];\n      this.addedSet = /* @__PURE__ */ new Set();\n      this.movedSet = /* @__PURE__ */ new Set();\n      this.droppedSet = /* @__PURE__ */ new Set();\n      this.movedMap = {};\n      this.mutationCb(payload);\n    };\n    this.processMutation = (m) => {\n      if (isIgnored(m.target, this.mirror)) {\n        return;\n      }\n      switch (m.type) {\n        case \"characterData\": {\n          const value = m.target.textContent;\n          if (!isBlocked(\n            m.target,\n            this.blockClass,\n            this.blockSelector,\n            this.unblockSelector,\n            false\n          ) && value !== m.oldValue) {\n            this.texts.push({\n              value: needMaskingText(\n                m.target,\n                this.maskTextClass,\n                this.maskTextSelector,\n                this.unmaskTextClass,\n                this.unmaskTextSelector,\n                this.maskAllText\n              ) && value ? this.maskTextFn ? this.maskTextFn(value, closestElementOfNode$1(m.target)) : value.replace(/[\\S]/g, \"*\") : value,\n              node: m.target\n            });\n          }\n          break;\n        }\n        case \"attributes\": {\n          const target = m.target;\n          let attributeName = m.attributeName;\n          let value = m.target.getAttribute(attributeName);\n          if (attributeName === \"value\") {\n            const type = getInputType(target);\n            const tagName = target.tagName;\n            value = getInputValue(target, tagName, type);\n            const isInputMasked = shouldMaskInput({\n              maskInputOptions: this.maskInputOptions,\n              tagName,\n              type\n            });\n            const forceMask = needMaskingText(\n              m.target,\n              this.maskTextClass,\n              this.maskTextSelector,\n              this.unmaskTextClass,\n              this.unmaskTextSelector,\n              isInputMasked\n            );\n            value = maskInputValue({\n              isMasked: forceMask,\n              element: target,\n              value,\n              maskInputFn: this.maskInputFn\n            });\n          }\n          if (isBlocked(\n            m.target,\n            this.blockClass,\n            this.blockSelector,\n            this.unblockSelector,\n            false\n          ) || value === m.oldValue) {\n            return;\n          }\n          let item = this.attributeMap.get(m.target);\n          if (target.tagName === \"IFRAME\" && attributeName === \"src\" && !this.keepIframeSrcFn(value)) {\n            const iframeDoc = getIFrameContentDocument(\n              target\n            );\n            if (!iframeDoc) {\n              attributeName = \"rr_src\";\n            } else {\n              return;\n            }\n          }\n          if (!item) {\n            item = {\n              node: m.target,\n              attributes: {},\n              styleDiff: {},\n              _unchangedStyles: {}\n            };\n            this.attributes.push(item);\n            this.attributeMap.set(m.target, item);\n          }\n          if (attributeName === \"type\" && target.tagName === \"INPUT\" && (m.oldValue || \"\").toLowerCase() === \"password\") {\n            target.setAttribute(\"data-rr-is-password\", \"true\");\n          }\n          if (!ignoreAttribute(target.tagName, attributeName)) {\n            item.attributes[attributeName] = transformAttribute(\n              this.doc,\n              toLowerCase(target.tagName),\n              toLowerCase(attributeName),\n              value,\n              target,\n              this.maskAttributeFn\n            );\n            if (attributeName === \"style\") {\n              if (!this.unattachedDoc) {\n                try {\n                  this.unattachedDoc = document.implementation.createHTMLDocument();\n                } catch (e2) {\n                  this.unattachedDoc = this.doc;\n                }\n              }\n              const old = this.unattachedDoc.createElement(\"span\");\n              if (m.oldValue) {\n                old.setAttribute(\"style\", m.oldValue);\n              }\n              for (const pname of Array.from(target.style)) {\n                const newValue = target.style.getPropertyValue(pname);\n                const newPriority = target.style.getPropertyPriority(pname);\n                if (newValue !== old.style.getPropertyValue(pname) || newPriority !== old.style.getPropertyPriority(pname)) {\n                  if (newPriority === \"\") {\n                    item.styleDiff[pname] = newValue;\n                  } else {\n                    item.styleDiff[pname] = [newValue, newPriority];\n                  }\n                } else {\n                  item._unchangedStyles[pname] = [newValue, newPriority];\n                }\n              }\n              for (const pname of Array.from(old.style)) {\n                if (target.style.getPropertyValue(pname) === \"\") {\n                  item.styleDiff[pname] = false;\n                }\n              }\n            }\n          }\n          break;\n        }\n        case \"childList\": {\n          if (isBlocked(\n            m.target,\n            this.blockClass,\n            this.blockSelector,\n            this.unblockSelector,\n            true\n          )) {\n            return;\n          }\n          m.addedNodes.forEach((n2) => this.genAdds(n2, m.target));\n          m.removedNodes.forEach((n2) => {\n            const nodeId = this.mirror.getId(n2);\n            const parentId = isShadowRoot(m.target) ? this.mirror.getId(m.target.host) : this.mirror.getId(m.target);\n            if (isBlocked(\n              m.target,\n              this.blockClass,\n              this.blockSelector,\n              this.unblockSelector,\n              false\n            ) || isIgnored(n2, this.mirror) || !isSerialized(n2, this.mirror)) {\n              return;\n            }\n            if (this.addedSet.has(n2)) {\n              deepDelete(this.addedSet, n2);\n              this.droppedSet.add(n2);\n            } else if (this.addedSet.has(m.target) && nodeId === -1) ;\n            else if (isAncestorRemoved(m.target, this.mirror)) ;\n            else if (this.movedSet.has(n2) && this.movedMap[moveKey(nodeId, parentId)]) {\n              deepDelete(this.movedSet, n2);\n            } else {\n              this.removes.push({\n                parentId,\n                id: nodeId,\n                isShadow: isShadowRoot(m.target) && isNativeShadowDom(m.target) ? true : void 0\n              });\n            }\n            this.mapRemoves.push(n2);\n          });\n          break;\n        }\n      }\n    };\n    this.genAdds = (n2, target) => {\n      if (this.processedNodeManager.inOtherBuffer(n2, this)) return;\n      if (this.addedSet.has(n2) || this.movedSet.has(n2)) return;\n      if (this.mirror.hasNode(n2)) {\n        if (isIgnored(n2, this.mirror)) {\n          return;\n        }\n        this.movedSet.add(n2);\n        let targetId = null;\n        if (target && this.mirror.hasNode(target)) {\n          targetId = this.mirror.getId(target);\n        }\n        if (targetId && targetId !== -1) {\n          this.movedMap[moveKey(this.mirror.getId(n2), targetId)] = true;\n        }\n      } else {\n        this.addedSet.add(n2);\n        this.droppedSet.delete(n2);\n      }\n      if (!isBlocked(\n        n2,\n        this.blockClass,\n        this.blockSelector,\n        this.unblockSelector,\n        false\n      )) {\n        n2.childNodes.forEach((childN) => this.genAdds(childN));\n        if (hasShadowRoot(n2)) {\n          n2.shadowRoot.childNodes.forEach((childN) => {\n            this.processedNodeManager.add(childN, this);\n            this.genAdds(childN, n2);\n          });\n        }\n      }\n    };\n  }\n  init(options) {\n    [\n      \"mutationCb\",\n      \"blockClass\",\n      \"blockSelector\",\n      \"unblockSelector\",\n      \"maskAllText\",\n      \"maskTextClass\",\n      \"unmaskTextClass\",\n      \"maskTextSelector\",\n      \"unmaskTextSelector\",\n      \"inlineStylesheet\",\n      \"maskInputOptions\",\n      \"maskAttributeFn\",\n      \"maskTextFn\",\n      \"maskInputFn\",\n      \"keepIframeSrcFn\",\n      \"recordCanvas\",\n      \"inlineImages\",\n      \"slimDOMOptions\",\n      \"dataURLOptions\",\n      \"doc\",\n      \"mirror\",\n      \"iframeManager\",\n      \"stylesheetManager\",\n      \"shadowDomManager\",\n      \"canvasManager\",\n      \"processedNodeManager\"\n    ].forEach((key) => {\n      this[key] = options[key];\n    });\n  }\n  freeze() {\n    this.frozen = true;\n    this.canvasManager.freeze();\n  }\n  unfreeze() {\n    this.frozen = false;\n    this.canvasManager.unfreeze();\n    this.emit();\n  }\n  isFrozen() {\n    return this.frozen;\n  }\n  lock() {\n    this.locked = true;\n    this.canvasManager.lock();\n  }\n  unlock() {\n    this.locked = false;\n    this.canvasManager.unlock();\n    this.emit();\n  }\n  reset() {\n    this.shadowDomManager.reset();\n    this.canvasManager.reset();\n  }\n}\nfunction deepDelete(addsSet, n2) {\n  addsSet.delete(n2);\n  n2.childNodes.forEach((childN) => deepDelete(addsSet, childN));\n}\nfunction isParentRemoved(removes, n2, mirror2) {\n  if (removes.length === 0) return false;\n  return _isParentRemoved(removes, n2, mirror2);\n}\nfunction _isParentRemoved(removes, n2, mirror2) {\n  let node = n2.parentNode;\n  while (node) {\n    const parentId = mirror2.getId(node);\n    if (removes.some((r2) => r2.id === parentId)) {\n      return true;\n    }\n    node = node.parentNode;\n  }\n  return false;\n}\nfunction isAncestorInSet(set, n2) {\n  if (set.size === 0) return false;\n  return _isAncestorInSet(set, n2);\n}\nfunction _isAncestorInSet(set, n2) {\n  const { parentNode } = n2;\n  if (!parentNode) {\n    return false;\n  }\n  if (set.has(parentNode)) {\n    return true;\n  }\n  return _isAncestorInSet(set, parentNode);\n}\nlet errorHandler;\nfunction registerErrorHandler(handler) {\n  errorHandler = handler;\n}\nfunction unregisterErrorHandler() {\n  errorHandler = void 0;\n}\nconst callbackWrapper = (cb) => {\n  if (!errorHandler) {\n    return cb;\n  }\n  const rrwebWrapped = (...rest) => {\n    try {\n      return cb(...rest);\n    } catch (error) {\n      if (errorHandler && errorHandler(error) === true) {\n        return () => {\n        };\n      }\n      throw error;\n    }\n  };\n  return rrwebWrapped;\n};\nconst mutationBuffers = [];\nfunction getEventTarget(event) {\n  try {\n    if (\"composedPath\" in event) {\n      const path = event.composedPath();\n      if (path.length) {\n        return path[0];\n      }\n    } else if (\"path\" in event && event.path.length) {\n      return event.path[0];\n    }\n  } catch {\n  }\n  return event && event.target;\n}\nfunction initMutationObserver(options, rootEl) {\n  const mutationBuffer = new MutationBuffer();\n  mutationBuffers.push(mutationBuffer);\n  mutationBuffer.init(options);\n  let mutationObserverCtor = window.MutationObserver || /**\n  * Some websites may disable MutationObserver by removing it from the window object.\n  * If someone is using rrweb to build a browser extention or things like it, they\n  * could not change the website's code but can have an opportunity to inject some\n  * code before the website executing its JS logic.\n  * Then they can do this to store the native MutationObserver:\n  * window.__rrMutationObserver = MutationObserver\n  */\n  window.__rrMutationObserver;\n  const angularZoneSymbol = window?.Zone?.__symbol__?.(\"MutationObserver\");\n  if (angularZoneSymbol && window[angularZoneSymbol]) {\n    mutationObserverCtor = window[angularZoneSymbol];\n  }\n  const observer = new mutationObserverCtor(\n    callbackWrapper((mutations) => {\n      if (options.onMutation && options.onMutation(mutations) === false) {\n        return;\n      }\n      mutationBuffer.processMutations.bind(mutationBuffer)(mutations);\n    })\n  );\n  observer.observe(rootEl, {\n    attributes: true,\n    attributeOldValue: true,\n    characterData: true,\n    characterDataOldValue: true,\n    childList: true,\n    subtree: true\n  });\n  return observer;\n}\nfunction initMoveObserver({\n  mousemoveCb,\n  sampling,\n  doc,\n  mirror: mirror2\n}) {\n  if (sampling.mousemove === false) {\n    return () => {\n    };\n  }\n  const threshold = typeof sampling.mousemove === \"number\" ? sampling.mousemove : 50;\n  const callbackThreshold = typeof sampling.mousemoveCallback === \"number\" ? sampling.mousemoveCallback : 500;\n  let positions = [];\n  let timeBaseline;\n  const wrappedCb = throttle$1(\n    callbackWrapper(\n      (source) => {\n        const totalOffset = Date.now() - timeBaseline;\n        mousemoveCb(\n          positions.map((p) => {\n            p.timeOffset -= totalOffset;\n            return p;\n          }),\n          source\n        );\n        positions = [];\n        timeBaseline = null;\n      }\n    ),\n    callbackThreshold\n  );\n  const updatePosition = callbackWrapper(\n    throttle$1(\n      callbackWrapper((evt) => {\n        const target = getEventTarget(evt);\n        const { clientX, clientY } = legacy_isTouchEvent(evt) ? evt.changedTouches[0] : evt;\n        if (!timeBaseline) {\n          timeBaseline = nowTimestamp();\n        }\n        positions.push({\n          x: clientX,\n          y: clientY,\n          id: mirror2.getId(target),\n          timeOffset: nowTimestamp() - timeBaseline\n        });\n        wrappedCb(\n          typeof DragEvent !== \"undefined\" && evt instanceof DragEvent ? IncrementalSource.Drag : evt instanceof MouseEvent ? IncrementalSource.MouseMove : IncrementalSource.TouchMove\n        );\n      }),\n      threshold,\n      {\n        trailing: false\n      }\n    )\n  );\n  const handlers = [\n    on(\"mousemove\", updatePosition, doc),\n    on(\"touchmove\", updatePosition, doc),\n    on(\"drag\", updatePosition, doc)\n  ];\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction initMouseInteractionObserver({\n  mouseInteractionCb,\n  doc,\n  mirror: mirror2,\n  blockClass,\n  blockSelector,\n  unblockSelector,\n  sampling\n}) {\n  if (sampling.mouseInteraction === false) {\n    return () => {\n    };\n  }\n  const disableMap = sampling.mouseInteraction === true || sampling.mouseInteraction === void 0 ? {} : sampling.mouseInteraction;\n  const handlers = [];\n  let currentPointerType = null;\n  const getHandler = (eventKey) => {\n    return (event) => {\n      const target = getEventTarget(event);\n      if (isBlocked(target, blockClass, blockSelector, unblockSelector, true)) {\n        return;\n      }\n      let pointerType = null;\n      let thisEventKey = eventKey;\n      if (\"pointerType\" in event) {\n        switch (event.pointerType) {\n          case \"mouse\":\n            pointerType = PointerTypes.Mouse;\n            break;\n          case \"touch\":\n            pointerType = PointerTypes.Touch;\n            break;\n          case \"pen\":\n            pointerType = PointerTypes.Pen;\n            break;\n        }\n        if (pointerType === PointerTypes.Touch) {\n          if (MouseInteractions[eventKey] === MouseInteractions.MouseDown) {\n            thisEventKey = \"TouchStart\";\n          } else if (MouseInteractions[eventKey] === MouseInteractions.MouseUp) {\n            thisEventKey = \"TouchEnd\";\n          }\n        } else if (pointerType === PointerTypes.Pen) ;\n      } else if (legacy_isTouchEvent(event)) {\n        pointerType = PointerTypes.Touch;\n      }\n      if (pointerType !== null) {\n        currentPointerType = pointerType;\n        if (thisEventKey.startsWith(\"Touch\") && pointerType === PointerTypes.Touch || thisEventKey.startsWith(\"Mouse\") && pointerType === PointerTypes.Mouse) {\n          pointerType = null;\n        }\n      } else if (MouseInteractions[eventKey] === MouseInteractions.Click) {\n        pointerType = currentPointerType;\n        currentPointerType = null;\n      }\n      const e2 = legacy_isTouchEvent(event) ? event.changedTouches[0] : event;\n      if (!e2) {\n        return;\n      }\n      const id = mirror2.getId(target);\n      const { clientX, clientY } = e2;\n      callbackWrapper(mouseInteractionCb)({\n        type: MouseInteractions[thisEventKey],\n        id,\n        x: clientX,\n        y: clientY,\n        ...pointerType !== null && { pointerType }\n      });\n    };\n  };\n  Object.keys(MouseInteractions).filter(\n    (key) => Number.isNaN(Number(key)) && !key.endsWith(\"_Departed\") && disableMap[key] !== false\n  ).forEach((eventKey) => {\n    let eventName = toLowerCase(eventKey);\n    const handler = getHandler(eventKey);\n    if (window.PointerEvent) {\n      switch (MouseInteractions[eventKey]) {\n        case MouseInteractions.MouseDown:\n        case MouseInteractions.MouseUp:\n          eventName = eventName.replace(\n            \"mouse\",\n            \"pointer\"\n          );\n          break;\n        case MouseInteractions.TouchStart:\n        case MouseInteractions.TouchEnd:\n          return;\n      }\n    }\n    handlers.push(on(eventName, handler, doc));\n  });\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction initScrollObserver({\n  scrollCb,\n  doc,\n  mirror: mirror2,\n  blockClass,\n  blockSelector,\n  unblockSelector,\n  sampling\n}) {\n  const updatePosition = callbackWrapper(\n    throttle$1(\n      callbackWrapper((evt) => {\n        const target = getEventTarget(evt);\n        if (!target || isBlocked(\n          target,\n          blockClass,\n          blockSelector,\n          unblockSelector,\n          true\n        )) {\n          return;\n        }\n        const id = mirror2.getId(target);\n        if (target === doc && doc.defaultView) {\n          const scrollLeftTop = getWindowScroll(doc.defaultView);\n          scrollCb({\n            id,\n            x: scrollLeftTop.left,\n            y: scrollLeftTop.top\n          });\n        } else {\n          scrollCb({\n            id,\n            x: target.scrollLeft,\n            y: target.scrollTop\n          });\n        }\n      }),\n      sampling.scroll || 100\n    )\n  );\n  return on(\"scroll\", updatePosition, doc);\n}\nfunction initViewportResizeObserver({ viewportResizeCb }, { win }) {\n  let lastH = -1;\n  let lastW = -1;\n  const updateDimension = callbackWrapper(\n    throttle$1(\n      callbackWrapper(() => {\n        const height = getWindowHeight();\n        const width = getWindowWidth();\n        if (lastH !== height || lastW !== width) {\n          viewportResizeCb({\n            width: Number(width),\n            height: Number(height)\n          });\n          lastH = height;\n          lastW = width;\n        }\n      }),\n      200\n    )\n  );\n  return on(\"resize\", updateDimension, win);\n}\nconst INPUT_TAGS = [\"INPUT\", \"TEXTAREA\", \"SELECT\"];\nconst lastInputValueMap = /* @__PURE__ */ new WeakMap();\nfunction initInputObserver({\n  inputCb,\n  doc,\n  mirror: mirror2,\n  blockClass,\n  blockSelector,\n  unblockSelector,\n  ignoreClass,\n  ignoreSelector,\n  maskInputOptions,\n  maskInputFn,\n  sampling,\n  userTriggeredOnInput,\n  maskTextClass,\n  unmaskTextClass,\n  maskTextSelector,\n  unmaskTextSelector\n}) {\n  function eventHandler(event) {\n    let target = getEventTarget(event);\n    const userTriggered = event.isTrusted;\n    const tagName = target && toUpperCase(target.tagName);\n    if (tagName === \"OPTION\") target = target.parentElement;\n    if (!target || !tagName || INPUT_TAGS.indexOf(tagName) < 0 || isBlocked(\n      target,\n      blockClass,\n      blockSelector,\n      unblockSelector,\n      true\n    )) {\n      return;\n    }\n    const el = target;\n    if (el.classList.contains(ignoreClass) || ignoreSelector && el.matches(ignoreSelector)) {\n      return;\n    }\n    const type = getInputType(target);\n    let text = getInputValue(el, tagName, type);\n    let isChecked = false;\n    const isInputMasked = shouldMaskInput({\n      maskInputOptions,\n      tagName,\n      type\n    });\n    const forceMask = needMaskingText(\n      target,\n      maskTextClass,\n      maskTextSelector,\n      unmaskTextClass,\n      unmaskTextSelector,\n      isInputMasked\n    );\n    if (type === \"radio\" || type === \"checkbox\") {\n      isChecked = target.checked;\n    }\n    text = maskInputValue({\n      isMasked: forceMask,\n      element: target,\n      value: text,\n      maskInputFn\n    });\n    cbWithDedup(\n      target,\n      userTriggeredOnInput ? { text, isChecked, userTriggered } : { text, isChecked }\n    );\n    const name = target.name;\n    if (type === \"radio\" && name && isChecked) {\n      doc.querySelectorAll(`input[type=\"radio\"][name=\"${name}\"]`).forEach((el2) => {\n        if (el2 !== target) {\n          const text2 = maskInputValue({\n            // share mask behavior of `target`\n            isMasked: forceMask,\n            element: el2,\n            value: getInputValue(el2, tagName, type),\n            maskInputFn\n          });\n          cbWithDedup(\n            el2,\n            userTriggeredOnInput ? { text: text2, isChecked: !isChecked, userTriggered: false } : { text: text2, isChecked: !isChecked }\n          );\n        }\n      });\n    }\n  }\n  function cbWithDedup(target, v2) {\n    const lastInputValue = lastInputValueMap.get(target);\n    if (!lastInputValue || lastInputValue.text !== v2.text || lastInputValue.isChecked !== v2.isChecked) {\n      lastInputValueMap.set(target, v2);\n      const id = mirror2.getId(target);\n      callbackWrapper(inputCb)({\n        ...v2,\n        id\n      });\n    }\n  }\n  const events = sampling.input === \"last\" ? [\"change\"] : [\"input\", \"change\"];\n  const handlers = events.map(\n    (eventName) => on(eventName, callbackWrapper(eventHandler), doc)\n  );\n  const currentWindow = doc.defaultView;\n  if (!currentWindow) {\n    return () => {\n      handlers.forEach((h) => h());\n    };\n  }\n  const propertyDescriptor = currentWindow.Object.getOwnPropertyDescriptor(\n    currentWindow.HTMLInputElement.prototype,\n    \"value\"\n  );\n  const hookProperties = [\n    [currentWindow.HTMLInputElement.prototype, \"value\"],\n    [currentWindow.HTMLInputElement.prototype, \"checked\"],\n    [currentWindow.HTMLSelectElement.prototype, \"value\"],\n    [currentWindow.HTMLTextAreaElement.prototype, \"value\"],\n    // Some UI library use selectedIndex to set select value\n    [currentWindow.HTMLSelectElement.prototype, \"selectedIndex\"],\n    [currentWindow.HTMLOptionElement.prototype, \"selected\"]\n  ];\n  if (propertyDescriptor && propertyDescriptor.set) {\n    handlers.push(\n      ...hookProperties.map(\n        (p) => hookSetter(\n          p[0],\n          p[1],\n          {\n            set() {\n              callbackWrapper(eventHandler)({\n                target: this,\n                isTrusted: false\n                // userTriggered to false as this could well be programmatic\n              });\n            }\n          },\n          false,\n          currentWindow\n        )\n      )\n    );\n  }\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction getNestedCSSRulePositions(rule) {\n  const positions = [];\n  function recurse(childRule, pos) {\n    if (hasNestedCSSRule(\"CSSGroupingRule\") && childRule.parentRule instanceof CSSGroupingRule || hasNestedCSSRule(\"CSSMediaRule\") && childRule.parentRule instanceof CSSMediaRule || hasNestedCSSRule(\"CSSSupportsRule\") && childRule.parentRule instanceof CSSSupportsRule || hasNestedCSSRule(\"CSSConditionRule\") && childRule.parentRule instanceof CSSConditionRule) {\n      const rules2 = Array.from(\n        childRule.parentRule.cssRules\n      );\n      const index = rules2.indexOf(childRule);\n      pos.unshift(index);\n    } else if (childRule.parentStyleSheet) {\n      const rules2 = Array.from(childRule.parentStyleSheet.cssRules);\n      const index = rules2.indexOf(childRule);\n      pos.unshift(index);\n    }\n    return pos;\n  }\n  return recurse(rule, positions);\n}\nfunction getIdAndStyleId(sheet, mirror2, styleMirror) {\n  let id, styleId;\n  if (!sheet) return {};\n  if (sheet.ownerNode) id = mirror2.getId(sheet.ownerNode);\n  else styleId = styleMirror.getId(sheet);\n  return {\n    styleId,\n    id\n  };\n}\nfunction initStyleSheetObserver({ styleSheetRuleCb, mirror: mirror2, stylesheetManager }, { win }) {\n  if (!win.CSSStyleSheet || !win.CSSStyleSheet.prototype) {\n    return () => {\n    };\n  }\n  const insertRule = win.CSSStyleSheet.prototype.insertRule;\n  win.CSSStyleSheet.prototype.insertRule = new Proxy(insertRule, {\n    apply: callbackWrapper(\n      (target, thisArg, argumentsList) => {\n        const [rule, index] = argumentsList;\n        const { id, styleId } = getIdAndStyleId(\n          thisArg,\n          mirror2,\n          stylesheetManager.styleMirror\n        );\n        if (id && id !== -1 || styleId && styleId !== -1) {\n          styleSheetRuleCb({\n            id,\n            styleId,\n            adds: [{ rule, index }]\n          });\n        }\n        return target.apply(thisArg, argumentsList);\n      }\n    )\n  });\n  const deleteRule = win.CSSStyleSheet.prototype.deleteRule;\n  win.CSSStyleSheet.prototype.deleteRule = new Proxy(deleteRule, {\n    apply: callbackWrapper(\n      (target, thisArg, argumentsList) => {\n        const [index] = argumentsList;\n        const { id, styleId } = getIdAndStyleId(\n          thisArg,\n          mirror2,\n          stylesheetManager.styleMirror\n        );\n        if (id && id !== -1 || styleId && styleId !== -1) {\n          styleSheetRuleCb({\n            id,\n            styleId,\n            removes: [{ index }]\n          });\n        }\n        return target.apply(thisArg, argumentsList);\n      }\n    )\n  });\n  let replace;\n  if (win.CSSStyleSheet.prototype.replace) {\n    replace = win.CSSStyleSheet.prototype.replace;\n    win.CSSStyleSheet.prototype.replace = new Proxy(replace, {\n      apply: callbackWrapper(\n        (target, thisArg, argumentsList) => {\n          const [text] = argumentsList;\n          const { id, styleId } = getIdAndStyleId(\n            thisArg,\n            mirror2,\n            stylesheetManager.styleMirror\n          );\n          if (id && id !== -1 || styleId && styleId !== -1) {\n            styleSheetRuleCb({\n              id,\n              styleId,\n              replace: text\n            });\n          }\n          return target.apply(thisArg, argumentsList);\n        }\n      )\n    });\n  }\n  let replaceSync;\n  if (win.CSSStyleSheet.prototype.replaceSync) {\n    replaceSync = win.CSSStyleSheet.prototype.replaceSync;\n    win.CSSStyleSheet.prototype.replaceSync = new Proxy(replaceSync, {\n      apply: callbackWrapper(\n        (target, thisArg, argumentsList) => {\n          const [text] = argumentsList;\n          const { id, styleId } = getIdAndStyleId(\n            thisArg,\n            mirror2,\n            stylesheetManager.styleMirror\n          );\n          if (id && id !== -1 || styleId && styleId !== -1) {\n            styleSheetRuleCb({\n              id,\n              styleId,\n              replaceSync: text\n            });\n          }\n          return target.apply(thisArg, argumentsList);\n        }\n      )\n    });\n  }\n  const supportedNestedCSSRuleTypes = {};\n  if (canMonkeyPatchNestedCSSRule(\"CSSGroupingRule\")) {\n    supportedNestedCSSRuleTypes.CSSGroupingRule = win.CSSGroupingRule;\n  } else {\n    if (canMonkeyPatchNestedCSSRule(\"CSSMediaRule\")) {\n      supportedNestedCSSRuleTypes.CSSMediaRule = win.CSSMediaRule;\n    }\n    if (canMonkeyPatchNestedCSSRule(\"CSSConditionRule\")) {\n      supportedNestedCSSRuleTypes.CSSConditionRule = win.CSSConditionRule;\n    }\n    if (canMonkeyPatchNestedCSSRule(\"CSSSupportsRule\")) {\n      supportedNestedCSSRuleTypes.CSSSupportsRule = win.CSSSupportsRule;\n    }\n  }\n  const unmodifiedFunctions = {};\n  Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n    unmodifiedFunctions[typeKey] = {\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      insertRule: type.prototype.insertRule,\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      deleteRule: type.prototype.deleteRule\n    };\n    type.prototype.insertRule = new Proxy(\n      unmodifiedFunctions[typeKey].insertRule,\n      {\n        apply: callbackWrapper(\n          (target, thisArg, argumentsList) => {\n            const [rule, index] = argumentsList;\n            const { id, styleId } = getIdAndStyleId(\n              thisArg.parentStyleSheet,\n              mirror2,\n              stylesheetManager.styleMirror\n            );\n            if (id && id !== -1 || styleId && styleId !== -1) {\n              styleSheetRuleCb({\n                id,\n                styleId,\n                adds: [\n                  {\n                    rule,\n                    index: [\n                      ...getNestedCSSRulePositions(thisArg),\n                      index || 0\n                      // defaults to 0\n                    ]\n                  }\n                ]\n              });\n            }\n            return target.apply(thisArg, argumentsList);\n          }\n        )\n      }\n    );\n    type.prototype.deleteRule = new Proxy(\n      unmodifiedFunctions[typeKey].deleteRule,\n      {\n        apply: callbackWrapper(\n          (target, thisArg, argumentsList) => {\n            const [index] = argumentsList;\n            const { id, styleId } = getIdAndStyleId(\n              thisArg.parentStyleSheet,\n              mirror2,\n              stylesheetManager.styleMirror\n            );\n            if (id && id !== -1 || styleId && styleId !== -1) {\n              styleSheetRuleCb({\n                id,\n                styleId,\n                removes: [\n                  { index: [...getNestedCSSRulePositions(thisArg), index] }\n                ]\n              });\n            }\n            return target.apply(thisArg, argumentsList);\n          }\n        )\n      }\n    );\n  });\n  return callbackWrapper(() => {\n    win.CSSStyleSheet.prototype.insertRule = insertRule;\n    win.CSSStyleSheet.prototype.deleteRule = deleteRule;\n    replace && (win.CSSStyleSheet.prototype.replace = replace);\n    replaceSync && (win.CSSStyleSheet.prototype.replaceSync = replaceSync);\n    Object.entries(supportedNestedCSSRuleTypes).forEach(([typeKey, type]) => {\n      type.prototype.insertRule = unmodifiedFunctions[typeKey].insertRule;\n      type.prototype.deleteRule = unmodifiedFunctions[typeKey].deleteRule;\n    });\n  });\n}\nfunction initAdoptedStyleSheetObserver({\n  mirror: mirror2,\n  stylesheetManager\n}, host) {\n  let hostId = null;\n  if (host.nodeName === \"#document\") hostId = mirror2.getId(host);\n  else hostId = mirror2.getId(host.host);\n  const patchTarget = host.nodeName === \"#document\" ? host.defaultView?.Document : host.ownerDocument?.defaultView?.ShadowRoot;\n  const originalPropertyDescriptor = patchTarget?.prototype ? Object.getOwnPropertyDescriptor(\n    patchTarget?.prototype,\n    \"adoptedStyleSheets\"\n  ) : void 0;\n  if (hostId === null || hostId === -1 || !patchTarget || !originalPropertyDescriptor)\n    return () => {\n    };\n  Object.defineProperty(host, \"adoptedStyleSheets\", {\n    configurable: originalPropertyDescriptor.configurable,\n    enumerable: originalPropertyDescriptor.enumerable,\n    get() {\n      return originalPropertyDescriptor.get?.call(this);\n    },\n    set(sheets) {\n      const result = originalPropertyDescriptor.set?.call(this, sheets);\n      if (hostId !== null && hostId !== -1) {\n        try {\n          stylesheetManager.adoptStyleSheets(sheets, hostId);\n        } catch (e2) {\n        }\n      }\n      return result;\n    }\n  });\n  return callbackWrapper(() => {\n    Object.defineProperty(host, \"adoptedStyleSheets\", {\n      configurable: originalPropertyDescriptor.configurable,\n      enumerable: originalPropertyDescriptor.enumerable,\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      get: originalPropertyDescriptor.get,\n      // eslint-disable-next-line @typescript-eslint/unbound-method\n      set: originalPropertyDescriptor.set\n    });\n  });\n}\nfunction initStyleDeclarationObserver({\n  styleDeclarationCb,\n  mirror: mirror2,\n  ignoreCSSAttributes,\n  stylesheetManager\n}, { win }) {\n  const setProperty = win.CSSStyleDeclaration.prototype.setProperty;\n  win.CSSStyleDeclaration.prototype.setProperty = new Proxy(setProperty, {\n    apply: callbackWrapper(\n      (target, thisArg, argumentsList) => {\n        const [property, value, priority] = argumentsList;\n        if (ignoreCSSAttributes.has(property)) {\n          return setProperty.apply(thisArg, [property, value, priority]);\n        }\n        const { id, styleId } = getIdAndStyleId(\n          thisArg.parentRule?.parentStyleSheet,\n          mirror2,\n          stylesheetManager.styleMirror\n        );\n        if (id && id !== -1 || styleId && styleId !== -1) {\n          styleDeclarationCb({\n            id,\n            styleId,\n            set: {\n              property,\n              value,\n              priority\n            },\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n            index: getNestedCSSRulePositions(thisArg.parentRule)\n          });\n        }\n        return target.apply(thisArg, argumentsList);\n      }\n    )\n  });\n  const removeProperty = win.CSSStyleDeclaration.prototype.removeProperty;\n  win.CSSStyleDeclaration.prototype.removeProperty = new Proxy(removeProperty, {\n    apply: callbackWrapper(\n      (target, thisArg, argumentsList) => {\n        const [property] = argumentsList;\n        if (ignoreCSSAttributes.has(property)) {\n          return removeProperty.apply(thisArg, [property]);\n        }\n        const { id, styleId } = getIdAndStyleId(\n          thisArg.parentRule?.parentStyleSheet,\n          mirror2,\n          stylesheetManager.styleMirror\n        );\n        if (id && id !== -1 || styleId && styleId !== -1) {\n          styleDeclarationCb({\n            id,\n            styleId,\n            remove: {\n              property\n            },\n            // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n            index: getNestedCSSRulePositions(thisArg.parentRule)\n          });\n        }\n        return target.apply(thisArg, argumentsList);\n      }\n    )\n  });\n  return callbackWrapper(() => {\n    win.CSSStyleDeclaration.prototype.setProperty = setProperty;\n    win.CSSStyleDeclaration.prototype.removeProperty = removeProperty;\n  });\n}\nfunction initMediaInteractionObserver({\n  mediaInteractionCb,\n  blockClass,\n  blockSelector,\n  unblockSelector,\n  mirror: mirror2,\n  sampling,\n  doc\n}) {\n  const handler = callbackWrapper(\n    (type) => throttle$1(\n      callbackWrapper((event) => {\n        const target = getEventTarget(event);\n        if (!target || isBlocked(\n          target,\n          blockClass,\n          blockSelector,\n          unblockSelector,\n          true\n        )) {\n          return;\n        }\n        const { currentTime, volume, muted, playbackRate } = target;\n        mediaInteractionCb({\n          type,\n          id: mirror2.getId(target),\n          currentTime,\n          volume,\n          muted,\n          playbackRate\n        });\n      }),\n      sampling.media || 500\n    )\n  );\n  const handlers = [\n    on(\"play\", handler(MediaInteractions.Play), doc),\n    on(\"pause\", handler(MediaInteractions.Pause), doc),\n    on(\"seeked\", handler(MediaInteractions.Seeked), doc),\n    on(\"volumechange\", handler(MediaInteractions.VolumeChange), doc),\n    on(\"ratechange\", handler(MediaInteractions.RateChange), doc)\n  ];\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction initFontObserver({ fontCb, doc }) {\n  const win = doc.defaultView;\n  if (!win) {\n    return () => {\n    };\n  }\n  const handlers = [];\n  const fontMap = /* @__PURE__ */ new WeakMap();\n  const originalFontFace = win.FontFace;\n  win.FontFace = function FontFace2(family, source, descriptors) {\n    const fontFace = new originalFontFace(family, source, descriptors);\n    fontMap.set(fontFace, {\n      family,\n      buffer: typeof source !== \"string\",\n      descriptors,\n      fontSource: typeof source === \"string\" ? source : JSON.stringify(Array.from(new Uint8Array(source)))\n    });\n    return fontFace;\n  };\n  const restoreHandler = patch(\n    doc.fonts,\n    \"add\",\n    function(original) {\n      return function(fontFace) {\n        setTimeout$1(\n          callbackWrapper(() => {\n            const p = fontMap.get(fontFace);\n            if (p) {\n              fontCb(p);\n              fontMap.delete(fontFace);\n            }\n          }),\n          0\n        );\n        return original.apply(this, [fontFace]);\n      };\n    }\n  );\n  handlers.push(() => {\n    win.FontFace = originalFontFace;\n  });\n  handlers.push(restoreHandler);\n  return callbackWrapper(() => {\n    handlers.forEach((h) => h());\n  });\n}\nfunction initSelectionObserver(param) {\n  const {\n    doc,\n    mirror: mirror2,\n    blockClass,\n    blockSelector,\n    unblockSelector,\n    selectionCb\n  } = param;\n  let collapsed = true;\n  const updateSelection = callbackWrapper(() => {\n    const selection = doc.getSelection();\n    if (!selection || collapsed && selection?.isCollapsed) return;\n    collapsed = selection.isCollapsed || false;\n    const ranges = [];\n    const count = selection.rangeCount || 0;\n    for (let i2 = 0; i2 < count; i2++) {\n      const range = selection.getRangeAt(i2);\n      const { startContainer, startOffset, endContainer, endOffset } = range;\n      const blocked = isBlocked(\n        startContainer,\n        blockClass,\n        blockSelector,\n        unblockSelector,\n        true\n      ) || isBlocked(\n        endContainer,\n        blockClass,\n        blockSelector,\n        unblockSelector,\n        true\n      );\n      if (blocked) continue;\n      ranges.push({\n        start: mirror2.getId(startContainer),\n        startOffset,\n        end: mirror2.getId(endContainer),\n        endOffset\n      });\n    }\n    selectionCb({ ranges });\n  });\n  updateSelection();\n  return on(\"selectionchange\", updateSelection);\n}\nfunction initCustomElementObserver({\n  doc,\n  customElementCb\n}) {\n  const win = doc.defaultView;\n  if (!win || !win.customElements) return () => {\n  };\n  const restoreHandler = patch(\n    win.customElements,\n    \"define\",\n    function(original) {\n      return function(name, constructor, options) {\n        try {\n          customElementCb({\n            define: {\n              name\n            }\n          });\n        } catch (e2) {\n        }\n        return original.apply(this, [name, constructor, options]);\n      };\n    }\n  );\n  return restoreHandler;\n}\nfunction initObservers(o2, _hooks = {}) {\n  const currentWindow = o2.doc.defaultView;\n  if (!currentWindow) {\n    return () => {\n    };\n  }\n  let mutationObserver;\n  if (o2.recordDOM) {\n    mutationObserver = initMutationObserver(o2, o2.doc);\n  }\n  const mousemoveHandler = initMoveObserver(o2);\n  const mouseInteractionHandler = initMouseInteractionObserver(o2);\n  const scrollHandler = initScrollObserver(o2);\n  const viewportResizeHandler = initViewportResizeObserver(o2, {\n    win: currentWindow\n  });\n  const inputHandler = initInputObserver(o2);\n  const mediaInteractionHandler = initMediaInteractionObserver(o2);\n  let styleSheetObserver = () => {\n  };\n  let adoptedStyleSheetObserver = () => {\n  };\n  let styleDeclarationObserver = () => {\n  };\n  let fontObserver = () => {\n  };\n  if (o2.recordDOM) {\n    styleSheetObserver = initStyleSheetObserver(o2, { win: currentWindow });\n    adoptedStyleSheetObserver = initAdoptedStyleSheetObserver(o2, o2.doc);\n    styleDeclarationObserver = initStyleDeclarationObserver(o2, {\n      win: currentWindow\n    });\n    if (o2.collectFonts) {\n      fontObserver = initFontObserver(o2);\n    }\n  }\n  const selectionObserver = initSelectionObserver(o2);\n  const customElementObserver = initCustomElementObserver(o2);\n  const pluginHandlers = [];\n  for (const plugin of o2.plugins) {\n    pluginHandlers.push(\n      plugin.observer(plugin.callback, currentWindow, plugin.options)\n    );\n  }\n  return callbackWrapper(() => {\n    mutationBuffers.forEach((b) => b.reset());\n    mutationObserver?.disconnect();\n    mousemoveHandler();\n    mouseInteractionHandler();\n    scrollHandler();\n    viewportResizeHandler();\n    inputHandler();\n    mediaInteractionHandler();\n    styleSheetObserver();\n    adoptedStyleSheetObserver();\n    styleDeclarationObserver();\n    fontObserver();\n    selectionObserver();\n    customElementObserver();\n    pluginHandlers.forEach((h) => h());\n  });\n}\nfunction hasNestedCSSRule(prop) {\n  return typeof window[prop] !== \"undefined\";\n}\nfunction canMonkeyPatchNestedCSSRule(prop) {\n  return Boolean(\n    typeof window[prop] !== \"undefined\" && // Note: Generally, this check _shouldn't_ be necessary\n    // However, in some scenarios (e.g. jsdom) this can sometimes fail, so we check for it here\n    window[prop].prototype && \"insertRule\" in window[prop].prototype && \"deleteRule\" in window[prop].prototype\n  );\n}\nclass CrossOriginIframeMirror {\n  constructor(generateIdFn) {\n    this.generateIdFn = generateIdFn;\n    this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap();\n    this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();\n  }\n  getId(iframe, remoteId, idToRemoteMap, remoteToIdMap) {\n    const idToRemoteIdMap = idToRemoteMap || this.getIdToRemoteIdMap(iframe);\n    const remoteIdToIdMap = remoteToIdMap || this.getRemoteIdToIdMap(iframe);\n    let id = idToRemoteIdMap.get(remoteId);\n    if (!id) {\n      id = this.generateIdFn();\n      idToRemoteIdMap.set(remoteId, id);\n      remoteIdToIdMap.set(id, remoteId);\n    }\n    return id;\n  }\n  getIds(iframe, remoteId) {\n    const idToRemoteIdMap = this.getIdToRemoteIdMap(iframe);\n    const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n    return remoteId.map(\n      (id) => this.getId(iframe, id, idToRemoteIdMap, remoteIdToIdMap)\n    );\n  }\n  getRemoteId(iframe, id, map) {\n    const remoteIdToIdMap = map || this.getRemoteIdToIdMap(iframe);\n    if (typeof id !== \"number\") return id;\n    const remoteId = remoteIdToIdMap.get(id);\n    if (!remoteId) return -1;\n    return remoteId;\n  }\n  getRemoteIds(iframe, ids) {\n    const remoteIdToIdMap = this.getRemoteIdToIdMap(iframe);\n    return ids.map((id) => this.getRemoteId(iframe, id, remoteIdToIdMap));\n  }\n  reset(iframe) {\n    if (!iframe) {\n      this.iframeIdToRemoteIdMap = /* @__PURE__ */ new WeakMap();\n      this.iframeRemoteIdToIdMap = /* @__PURE__ */ new WeakMap();\n      return;\n    }\n    this.iframeIdToRemoteIdMap.delete(iframe);\n    this.iframeRemoteIdToIdMap.delete(iframe);\n  }\n  getIdToRemoteIdMap(iframe) {\n    let idToRemoteIdMap = this.iframeIdToRemoteIdMap.get(iframe);\n    if (!idToRemoteIdMap) {\n      idToRemoteIdMap = /* @__PURE__ */ new Map();\n      this.iframeIdToRemoteIdMap.set(iframe, idToRemoteIdMap);\n    }\n    return idToRemoteIdMap;\n  }\n  getRemoteIdToIdMap(iframe) {\n    let remoteIdToIdMap = this.iframeRemoteIdToIdMap.get(iframe);\n    if (!remoteIdToIdMap) {\n      remoteIdToIdMap = /* @__PURE__ */ new Map();\n      this.iframeRemoteIdToIdMap.set(iframe, remoteIdToIdMap);\n    }\n    return remoteIdToIdMap;\n  }\n}\nclass IframeManagerNoop {\n  constructor() {\n    this.crossOriginIframeMirror = new CrossOriginIframeMirror(genId);\n    this.crossOriginIframeRootIdMap = /* @__PURE__ */ new WeakMap();\n  }\n  addIframe() {\n  }\n  addLoadListener() {\n  }\n  attachIframe() {\n  }\n}\nclass IframeManager {\n  constructor(options) {\n    this.iframes = /* @__PURE__ */ new WeakMap();\n    this.crossOriginIframeMap = /* @__PURE__ */ new WeakMap();\n    this.crossOriginIframeMirror = new CrossOriginIframeMirror(genId);\n    this.crossOriginIframeRootIdMap = /* @__PURE__ */ new WeakMap();\n    this.mutationCb = options.mutationCb;\n    this.wrappedEmit = options.wrappedEmit;\n    this.stylesheetManager = options.stylesheetManager;\n    this.recordCrossOriginIframes = options.recordCrossOriginIframes;\n    this.crossOriginIframeStyleMirror = new CrossOriginIframeMirror(\n      this.stylesheetManager.styleMirror.generateId.bind(\n        this.stylesheetManager.styleMirror\n      )\n    );\n    this.mirror = options.mirror;\n    if (this.recordCrossOriginIframes) {\n      window.addEventListener(\"message\", this.handleMessage.bind(this));\n    }\n  }\n  addIframe(iframeEl) {\n    this.iframes.set(iframeEl, true);\n    if (iframeEl.contentWindow)\n      this.crossOriginIframeMap.set(iframeEl.contentWindow, iframeEl);\n  }\n  addLoadListener(cb) {\n    this.loadListener = cb;\n  }\n  attachIframe(iframeEl, childSn) {\n    this.mutationCb({\n      adds: [\n        {\n          parentId: this.mirror.getId(iframeEl),\n          nextId: null,\n          node: childSn\n        }\n      ],\n      removes: [],\n      texts: [],\n      attributes: [],\n      isAttachIframe: true\n    });\n    if (this.recordCrossOriginIframes)\n      iframeEl.contentWindow?.addEventListener(\n        \"message\",\n        this.handleMessage.bind(this)\n      );\n    this.loadListener?.(iframeEl);\n    const iframeDoc = getIFrameContentDocument(iframeEl);\n    if (iframeDoc && iframeDoc.adoptedStyleSheets && iframeDoc.adoptedStyleSheets.length > 0)\n      this.stylesheetManager.adoptStyleSheets(\n        iframeDoc.adoptedStyleSheets,\n        this.mirror.getId(iframeDoc)\n      );\n  }\n  handleMessage(message) {\n    const crossOriginMessageEvent = message;\n    if (crossOriginMessageEvent.data.type !== \"rrweb\" || // To filter out the rrweb messages which are forwarded by some sites.\n    crossOriginMessageEvent.origin !== crossOriginMessageEvent.data.origin)\n      return;\n    const iframeSourceWindow = message.source;\n    if (!iframeSourceWindow) return;\n    const iframeEl = this.crossOriginIframeMap.get(message.source);\n    if (!iframeEl) return;\n    const transformedEvent = this.transformCrossOriginEvent(\n      iframeEl,\n      crossOriginMessageEvent.data.event\n    );\n    if (transformedEvent)\n      this.wrappedEmit(\n        transformedEvent,\n        crossOriginMessageEvent.data.isCheckout\n      );\n  }\n  transformCrossOriginEvent(iframeEl, e2) {\n    switch (e2.type) {\n      case EventType.FullSnapshot: {\n        this.crossOriginIframeMirror.reset(iframeEl);\n        this.crossOriginIframeStyleMirror.reset(iframeEl);\n        this.replaceIdOnNode(e2.data.node, iframeEl);\n        const rootId = e2.data.node.id;\n        this.crossOriginIframeRootIdMap.set(iframeEl, rootId);\n        this.patchRootIdOnNode(e2.data.node, rootId);\n        return {\n          timestamp: e2.timestamp,\n          type: EventType.IncrementalSnapshot,\n          data: {\n            source: IncrementalSource.Mutation,\n            adds: [\n              {\n                parentId: this.mirror.getId(iframeEl),\n                nextId: null,\n                node: e2.data.node\n              }\n            ],\n            removes: [],\n            texts: [],\n            attributes: [],\n            isAttachIframe: true\n          }\n        };\n      }\n      case EventType.Meta:\n      case EventType.Load:\n      case EventType.DomContentLoaded: {\n        return false;\n      }\n      case EventType.Plugin: {\n        return e2;\n      }\n      case EventType.Custom: {\n        this.replaceIds(\n          e2.data.payload,\n          iframeEl,\n          [\"id\", \"parentId\", \"previousId\", \"nextId\"]\n        );\n        return e2;\n      }\n      case EventType.IncrementalSnapshot: {\n        switch (e2.data.source) {\n          case IncrementalSource.Mutation: {\n            e2.data.adds.forEach((n2) => {\n              this.replaceIds(n2, iframeEl, [\n                \"parentId\",\n                \"nextId\",\n                \"previousId\"\n              ]);\n              this.replaceIdOnNode(n2.node, iframeEl);\n              const rootId = this.crossOriginIframeRootIdMap.get(iframeEl);\n              rootId && this.patchRootIdOnNode(n2.node, rootId);\n            });\n            e2.data.removes.forEach((n2) => {\n              this.replaceIds(n2, iframeEl, [\"parentId\", \"id\"]);\n            });\n            e2.data.attributes.forEach((n2) => {\n              this.replaceIds(n2, iframeEl, [\"id\"]);\n            });\n            e2.data.texts.forEach((n2) => {\n              this.replaceIds(n2, iframeEl, [\"id\"]);\n            });\n            return e2;\n          }\n          case IncrementalSource.Drag:\n          case IncrementalSource.TouchMove:\n          case IncrementalSource.MouseMove: {\n            e2.data.positions.forEach((p) => {\n              this.replaceIds(p, iframeEl, [\"id\"]);\n            });\n            return e2;\n          }\n          case IncrementalSource.ViewportResize: {\n            return false;\n          }\n          case IncrementalSource.MediaInteraction:\n          case IncrementalSource.MouseInteraction:\n          case IncrementalSource.Scroll:\n          case IncrementalSource.CanvasMutation:\n          case IncrementalSource.Input: {\n            this.replaceIds(e2.data, iframeEl, [\"id\"]);\n            return e2;\n          }\n          case IncrementalSource.StyleSheetRule:\n          case IncrementalSource.StyleDeclaration: {\n            this.replaceIds(e2.data, iframeEl, [\"id\"]);\n            this.replaceStyleIds(e2.data, iframeEl, [\"styleId\"]);\n            return e2;\n          }\n          case IncrementalSource.Font: {\n            return e2;\n          }\n          case IncrementalSource.Selection: {\n            e2.data.ranges.forEach((range) => {\n              this.replaceIds(range, iframeEl, [\"start\", \"end\"]);\n            });\n            return e2;\n          }\n          case IncrementalSource.AdoptedStyleSheet: {\n            this.replaceIds(e2.data, iframeEl, [\"id\"]);\n            this.replaceStyleIds(e2.data, iframeEl, [\"styleIds\"]);\n            e2.data.styles?.forEach((style) => {\n              this.replaceStyleIds(style, iframeEl, [\"styleId\"]);\n            });\n            return e2;\n          }\n        }\n      }\n    }\n    return false;\n  }\n  replace(iframeMirror, obj, iframeEl, keys) {\n    for (const key of keys) {\n      if (!Array.isArray(obj[key]) && typeof obj[key] !== \"number\") continue;\n      if (Array.isArray(obj[key])) {\n        obj[key] = iframeMirror.getIds(\n          iframeEl,\n          obj[key]\n        );\n      } else {\n        obj[key] = iframeMirror.getId(iframeEl, obj[key]);\n      }\n    }\n    return obj;\n  }\n  replaceIds(obj, iframeEl, keys) {\n    return this.replace(this.crossOriginIframeMirror, obj, iframeEl, keys);\n  }\n  replaceStyleIds(obj, iframeEl, keys) {\n    return this.replace(this.crossOriginIframeStyleMirror, obj, iframeEl, keys);\n  }\n  replaceIdOnNode(node, iframeEl) {\n    this.replaceIds(node, iframeEl, [\"id\", \"rootId\"]);\n    if (\"childNodes\" in node) {\n      node.childNodes.forEach((child) => {\n        this.replaceIdOnNode(child, iframeEl);\n      });\n    }\n  }\n  patchRootIdOnNode(node, rootId) {\n    if (node.type !== NodeType$2.Document && !node.rootId) node.rootId = rootId;\n    if (\"childNodes\" in node) {\n      node.childNodes.forEach((child) => {\n        this.patchRootIdOnNode(child, rootId);\n      });\n    }\n  }\n}\nclass ShadowDomManagerNoop {\n  init() {\n  }\n  addShadowRoot() {\n  }\n  observeAttachShadow() {\n  }\n  reset() {\n  }\n}\nclass ShadowDomManager {\n  constructor(options) {\n    this.shadowDoms = /* @__PURE__ */ new WeakSet();\n    this.restoreHandlers = [];\n    this.mutationCb = options.mutationCb;\n    this.scrollCb = options.scrollCb;\n    this.bypassOptions = options.bypassOptions;\n    this.mirror = options.mirror;\n    this.init();\n  }\n  init() {\n    this.reset();\n    this.patchAttachShadow(Element, document);\n  }\n  addShadowRoot(shadowRoot, doc) {\n    if (!isNativeShadowDom(shadowRoot)) return;\n    if (this.shadowDoms.has(shadowRoot)) return;\n    this.shadowDoms.add(shadowRoot);\n    this.bypassOptions.canvasManager.addShadowRoot(shadowRoot);\n    const observer = initMutationObserver(\n      {\n        ...this.bypassOptions,\n        doc,\n        mutationCb: this.mutationCb,\n        mirror: this.mirror,\n        shadowDomManager: this\n      },\n      shadowRoot\n    );\n    this.restoreHandlers.push(() => observer.disconnect());\n    this.restoreHandlers.push(\n      initScrollObserver({\n        ...this.bypassOptions,\n        scrollCb: this.scrollCb,\n        // https://gist.github.com/praveenpuglia/0832da687ed5a5d7a0907046c9ef1813\n        // scroll is not allowed to pass the boundary, so we need to listen the shadow document\n        doc: shadowRoot,\n        mirror: this.mirror\n      })\n    );\n    setTimeout$1(() => {\n      if (shadowRoot.adoptedStyleSheets && shadowRoot.adoptedStyleSheets.length > 0)\n        this.bypassOptions.stylesheetManager.adoptStyleSheets(\n          shadowRoot.adoptedStyleSheets,\n          this.mirror.getId(shadowRoot.host)\n        );\n      this.restoreHandlers.push(\n        initAdoptedStyleSheetObserver(\n          {\n            mirror: this.mirror,\n            stylesheetManager: this.bypassOptions.stylesheetManager\n          },\n          shadowRoot\n        )\n      );\n    }, 0);\n  }\n  /**\n   * Monkey patch 'attachShadow' of an IFrameElement to observe newly added shadow doms.\n   */\n  observeAttachShadow(iframeElement) {\n    const iframeDoc = getIFrameContentDocument(iframeElement);\n    const iframeWindow = getIFrameContentWindow(iframeElement);\n    if (!iframeDoc || !iframeWindow) return;\n    this.patchAttachShadow(\n      iframeWindow.Element,\n      iframeDoc\n    );\n  }\n  /**\n   * Patch 'attachShadow' to observe newly added shadow doms.\n   */\n  patchAttachShadow(element, doc) {\n    const manager = this;\n    this.restoreHandlers.push(\n      patch(\n        element.prototype,\n        \"attachShadow\",\n        function(original) {\n          return function(option) {\n            const shadowRoot = original.call(this, option);\n            if (this.shadowRoot && inDom(this))\n              manager.addShadowRoot(this.shadowRoot, doc);\n            return shadowRoot;\n          };\n        }\n      )\n    );\n  }\n  reset() {\n    this.restoreHandlers.forEach((handler) => {\n      try {\n        handler();\n      } catch (e2) {\n      }\n    });\n    this.restoreHandlers = [];\n    this.shadowDoms = /* @__PURE__ */ new WeakSet();\n    this.bypassOptions.canvasManager.resetShadowRoots();\n  }\n}\nvar chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nvar lookup = typeof Uint8Array === \"undefined\" ? [] : new Uint8Array(256);\nfor (var i$1 = 0; i$1 < chars.length; i$1++) {\n  lookup[chars.charCodeAt(i$1)] = i$1;\n}\nclass CanvasManagerNoop {\n  reset() {\n  }\n  freeze() {\n  }\n  unfreeze() {\n  }\n  lock() {\n  }\n  unlock() {\n  }\n  snapshot() {\n  }\n  addWindow() {\n  }\n  addShadowRoot() {\n  }\n  resetShadowRoots() {\n  }\n}\nclass StylesheetManager {\n  constructor(options) {\n    this.trackedLinkElements = /* @__PURE__ */ new WeakSet();\n    this.styleMirror = new StyleSheetMirror();\n    this.mutationCb = options.mutationCb;\n    this.adoptedStyleSheetCb = options.adoptedStyleSheetCb;\n  }\n  attachLinkElement(linkEl, childSn) {\n    if (\"_cssText\" in childSn.attributes)\n      this.mutationCb({\n        adds: [],\n        removes: [],\n        texts: [],\n        attributes: [\n          {\n            id: childSn.id,\n            attributes: childSn.attributes\n          }\n        ]\n      });\n    this.trackLinkElement(linkEl);\n  }\n  trackLinkElement(linkEl) {\n    if (this.trackedLinkElements.has(linkEl)) return;\n    this.trackedLinkElements.add(linkEl);\n    this.trackStylesheetInLinkElement(linkEl);\n  }\n  adoptStyleSheets(sheets, hostId) {\n    if (sheets.length === 0) return;\n    const adoptedStyleSheetData = {\n      id: hostId,\n      styleIds: []\n    };\n    const styles = [];\n    for (const sheet of sheets) {\n      let styleId;\n      if (!this.styleMirror.has(sheet)) {\n        styleId = this.styleMirror.add(sheet);\n        styles.push({\n          styleId,\n          rules: Array.from(sheet.rules || CSSRule, (r2, index) => ({\n            rule: stringifyRule(r2),\n            index\n          }))\n        });\n      } else styleId = this.styleMirror.getId(sheet);\n      adoptedStyleSheetData.styleIds.push(styleId);\n    }\n    if (styles.length > 0) adoptedStyleSheetData.styles = styles;\n    this.adoptedStyleSheetCb(adoptedStyleSheetData);\n  }\n  reset() {\n    this.styleMirror.reset();\n    this.trackedLinkElements = /* @__PURE__ */ new WeakSet();\n  }\n  // TODO: take snapshot on stylesheet reload by applying event listener\n  trackStylesheetInLinkElement(_linkEl) {\n  }\n}\nclass ProcessedNodeManager {\n  constructor() {\n    this.nodeMap = /* @__PURE__ */ new WeakMap();\n    this.active = false;\n  }\n  inOtherBuffer(node, thisBuffer) {\n    const buffers = this.nodeMap.get(node);\n    return buffers && Array.from(buffers).some((buffer) => buffer !== thisBuffer);\n  }\n  add(node, buffer) {\n    if (!this.active) {\n      this.active = true;\n      onRequestAnimationFrame(() => {\n        this.nodeMap = /* @__PURE__ */ new WeakMap();\n        this.active = false;\n      });\n    }\n    this.nodeMap.set(node, (this.nodeMap.get(node) || /* @__PURE__ */ new Set()).add(buffer));\n  }\n  destroy() {\n  }\n}\nlet wrappedEmit;\nlet _takeFullSnapshot;\ntry {\n  if (Array.from([1], (x) => x * 2)[0] !== 2) {\n    const cleanFrame = document.createElement(\"iframe\");\n    document.body.appendChild(cleanFrame);\n    Array.from = cleanFrame.contentWindow?.Array.from || Array.from;\n    document.body.removeChild(cleanFrame);\n  }\n} catch (err) {\n  console.debug(\"Unable to override Array.from\", err);\n}\nconst mirror = createMirror$2();\nfunction record(options = {}) {\n  const {\n    emit,\n    checkoutEveryNms,\n    checkoutEveryNth,\n    blockClass = \"rr-block\",\n    blockSelector = null,\n    unblockSelector = null,\n    ignoreClass = \"rr-ignore\",\n    ignoreSelector = null,\n    maskAllText = false,\n    maskTextClass = \"rr-mask\",\n    unmaskTextClass = null,\n    maskTextSelector = null,\n    unmaskTextSelector = null,\n    inlineStylesheet = true,\n    maskAllInputs,\n    maskInputOptions: _maskInputOptions,\n    slimDOMOptions: _slimDOMOptions,\n    maskAttributeFn,\n    maskInputFn,\n    maskTextFn,\n    maxCanvasSize = null,\n    packFn,\n    sampling = {},\n    dataURLOptions = {},\n    mousemoveWait,\n    recordDOM = true,\n    recordCanvas = false,\n    recordCrossOriginIframes = false,\n    recordAfter = options.recordAfter === \"DOMContentLoaded\" ? options.recordAfter : \"load\",\n    userTriggeredOnInput = false,\n    collectFonts = false,\n    inlineImages = false,\n    plugins,\n    keepIframeSrcFn = () => false,\n    ignoreCSSAttributes = /* @__PURE__ */ new Set([]),\n    errorHandler: errorHandler2,\n    onMutation,\n    getCanvasManager\n  } = options;\n  registerErrorHandler(errorHandler2);\n  const inEmittingFrame = recordCrossOriginIframes ? window.parent === window : true;\n  let passEmitsToParent = false;\n  if (!inEmittingFrame) {\n    try {\n      if (window.parent.document) {\n        passEmitsToParent = false;\n      }\n    } catch (e2) {\n      passEmitsToParent = true;\n    }\n  }\n  if (inEmittingFrame && !emit) {\n    throw new Error(\"emit function is required\");\n  }\n  if (!inEmittingFrame && !passEmitsToParent) {\n    return () => {\n    };\n  }\n  if (mousemoveWait !== void 0 && sampling.mousemove === void 0) {\n    sampling.mousemove = mousemoveWait;\n  }\n  mirror.reset();\n  const maskInputOptions = maskAllInputs === true ? {\n    color: true,\n    date: true,\n    \"datetime-local\": true,\n    email: true,\n    month: true,\n    number: true,\n    range: true,\n    search: true,\n    tel: true,\n    text: true,\n    time: true,\n    url: true,\n    week: true,\n    textarea: true,\n    select: true,\n    radio: true,\n    checkbox: true\n  } : _maskInputOptions !== void 0 ? _maskInputOptions : {};\n  const slimDOMOptions = _slimDOMOptions === true || _slimDOMOptions === \"all\" ? {\n    script: true,\n    comment: true,\n    headFavicon: true,\n    headWhitespace: true,\n    headMetaSocial: true,\n    headMetaRobots: true,\n    headMetaHttpEquiv: true,\n    headMetaVerification: true,\n    // the following are off for slimDOMOptions === true,\n    // as they destroy some (hidden) info:\n    headMetaAuthorship: _slimDOMOptions === \"all\",\n    headMetaDescKeywords: _slimDOMOptions === \"all\"\n  } : _slimDOMOptions ? _slimDOMOptions : {};\n  polyfill$1();\n  let lastFullSnapshotEvent;\n  let incrementalSnapshotCount = 0;\n  const eventProcessor = (e2) => {\n    for (const plugin of plugins || []) {\n      if (plugin.eventProcessor) {\n        e2 = plugin.eventProcessor(e2);\n      }\n    }\n    if (packFn && // Disable packing events which will be emitted to parent frames.\n    !passEmitsToParent) {\n      e2 = packFn(e2);\n    }\n    return e2;\n  };\n  wrappedEmit = (r2, isCheckout) => {\n    const e2 = r2;\n    e2.timestamp = nowTimestamp();\n    if (mutationBuffers[0]?.isFrozen() && e2.type !== EventType.FullSnapshot && !(e2.type === EventType.IncrementalSnapshot && e2.data.source === IncrementalSource.Mutation)) {\n      mutationBuffers.forEach((buf) => buf.unfreeze());\n    }\n    if (inEmittingFrame) {\n      emit?.(eventProcessor(e2), isCheckout);\n    } else if (passEmitsToParent) {\n      const message = {\n        type: \"rrweb\",\n        event: eventProcessor(e2),\n        origin: window.location.origin,\n        isCheckout\n      };\n      window.parent.postMessage(message, \"*\");\n    }\n    if (e2.type === EventType.FullSnapshot) {\n      lastFullSnapshotEvent = e2;\n      incrementalSnapshotCount = 0;\n    } else if (e2.type === EventType.IncrementalSnapshot) {\n      if (e2.data.source === IncrementalSource.Mutation && e2.data.isAttachIframe) {\n        return;\n      }\n      incrementalSnapshotCount++;\n      const exceedCount = checkoutEveryNth && incrementalSnapshotCount >= checkoutEveryNth;\n      const exceedTime = checkoutEveryNms && lastFullSnapshotEvent && e2.timestamp - lastFullSnapshotEvent.timestamp > checkoutEveryNms;\n      if (exceedCount || exceedTime) {\n        takeFullSnapshot2(true);\n      }\n    }\n  };\n  const wrappedMutationEmit = (m) => {\n    wrappedEmit({\n      type: EventType.IncrementalSnapshot,\n      data: {\n        source: IncrementalSource.Mutation,\n        ...m\n      }\n    });\n  };\n  const wrappedScrollEmit = (p) => wrappedEmit({\n    type: EventType.IncrementalSnapshot,\n    data: {\n      source: IncrementalSource.Scroll,\n      ...p\n    }\n  });\n  const wrappedCanvasMutationEmit = (p) => wrappedEmit({\n    type: EventType.IncrementalSnapshot,\n    data: {\n      source: IncrementalSource.CanvasMutation,\n      ...p\n    }\n  });\n  const wrappedAdoptedStyleSheetEmit = (a2) => wrappedEmit({\n    type: EventType.IncrementalSnapshot,\n    data: {\n      source: IncrementalSource.AdoptedStyleSheet,\n      ...a2\n    }\n  });\n  const stylesheetManager = new StylesheetManager({\n    mutationCb: wrappedMutationEmit,\n    adoptedStyleSheetCb: wrappedAdoptedStyleSheetEmit\n  });\n  const iframeManager = typeof __RRWEB_EXCLUDE_IFRAME__ === \"boolean\" && __RRWEB_EXCLUDE_IFRAME__ ? new IframeManagerNoop() : new IframeManager({\n    mirror,\n    mutationCb: wrappedMutationEmit,\n    stylesheetManager,\n    recordCrossOriginIframes,\n    wrappedEmit\n  });\n  for (const plugin of plugins || []) {\n    if (plugin.getMirror)\n      plugin.getMirror({\n        nodeMirror: mirror,\n        crossOriginIframeMirror: iframeManager.crossOriginIframeMirror,\n        crossOriginIframeStyleMirror: iframeManager.crossOriginIframeStyleMirror\n      });\n  }\n  const processedNodeManager = new ProcessedNodeManager();\n  const canvasManager = _getCanvasManager(\n    getCanvasManager,\n    {\n      mirror,\n      win: window,\n      mutationCb: (p) => wrappedEmit({\n        type: EventType.IncrementalSnapshot,\n        data: {\n          source: IncrementalSource.CanvasMutation,\n          ...p\n        }\n      }),\n      recordCanvas,\n      blockClass,\n      blockSelector,\n      unblockSelector,\n      maxCanvasSize,\n      sampling: sampling[\"canvas\"],\n      dataURLOptions,\n      errorHandler: errorHandler2\n    }\n  );\n  const shadowDomManager = typeof __RRWEB_EXCLUDE_SHADOW_DOM__ === \"boolean\" && __RRWEB_EXCLUDE_SHADOW_DOM__ ? new ShadowDomManagerNoop() : new ShadowDomManager({\n    mutationCb: wrappedMutationEmit,\n    scrollCb: wrappedScrollEmit,\n    bypassOptions: {\n      onMutation,\n      blockClass,\n      blockSelector,\n      unblockSelector,\n      maskAllText,\n      maskTextClass,\n      unmaskTextClass,\n      maskTextSelector,\n      unmaskTextSelector,\n      inlineStylesheet,\n      maskInputOptions,\n      dataURLOptions,\n      maskAttributeFn,\n      maskTextFn,\n      maskInputFn,\n      recordCanvas,\n      inlineImages,\n      sampling,\n      slimDOMOptions,\n      iframeManager,\n      stylesheetManager,\n      canvasManager,\n      keepIframeSrcFn,\n      processedNodeManager\n    },\n    mirror\n  });\n  const takeFullSnapshot2 = (isCheckout = false) => {\n    if (!recordDOM) {\n      return;\n    }\n    wrappedEmit(\n      {\n        type: EventType.Meta,\n        data: {\n          href: window.location.href,\n          width: getWindowWidth(),\n          height: getWindowHeight()\n        }\n      },\n      isCheckout\n    );\n    stylesheetManager.reset();\n    shadowDomManager.init();\n    mutationBuffers.forEach((buf) => buf.lock());\n    const node = snapshot(document, {\n      mirror,\n      blockClass,\n      blockSelector,\n      unblockSelector,\n      maskAllText,\n      maskTextClass,\n      unmaskTextClass,\n      maskTextSelector,\n      unmaskTextSelector,\n      inlineStylesheet,\n      maskAllInputs: maskInputOptions,\n      maskAttributeFn,\n      maskInputFn,\n      maskTextFn,\n      slimDOM: slimDOMOptions,\n      dataURLOptions,\n      recordCanvas,\n      inlineImages,\n      onSerialize: (n2) => {\n        if (isSerializedIframe(n2, mirror)) {\n          iframeManager.addIframe(n2);\n        }\n        if (isSerializedStylesheet(n2, mirror)) {\n          stylesheetManager.trackLinkElement(n2);\n        }\n        if (hasShadowRoot(n2)) {\n          shadowDomManager.addShadowRoot(n2.shadowRoot, document);\n        }\n      },\n      onIframeLoad: (iframe, childSn) => {\n        iframeManager.attachIframe(iframe, childSn);\n        if (iframe.contentWindow) {\n          canvasManager.addWindow(iframe.contentWindow);\n        }\n        shadowDomManager.observeAttachShadow(iframe);\n      },\n      onStylesheetLoad: (linkEl, childSn) => {\n        stylesheetManager.attachLinkElement(linkEl, childSn);\n      },\n      keepIframeSrcFn\n    });\n    if (!node) {\n      return console.warn(\"Failed to snapshot the document\");\n    }\n    wrappedEmit({\n      type: EventType.FullSnapshot,\n      data: {\n        node,\n        initialOffset: getWindowScroll(window)\n      }\n    });\n    mutationBuffers.forEach((buf) => buf.unlock());\n    if (document.adoptedStyleSheets && document.adoptedStyleSheets.length > 0)\n      stylesheetManager.adoptStyleSheets(\n        document.adoptedStyleSheets,\n        mirror.getId(document)\n      );\n  };\n  _takeFullSnapshot = takeFullSnapshot2;\n  try {\n    const handlers = [];\n    const observe = (doc) => {\n      return callbackWrapper(initObservers)(\n        {\n          onMutation,\n          mutationCb: wrappedMutationEmit,\n          mousemoveCb: (positions, source) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source,\n              positions\n            }\n          }),\n          mouseInteractionCb: (d) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.MouseInteraction,\n              ...d\n            }\n          }),\n          scrollCb: wrappedScrollEmit,\n          viewportResizeCb: (d) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.ViewportResize,\n              ...d\n            }\n          }),\n          inputCb: (v2) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.Input,\n              ...v2\n            }\n          }),\n          mediaInteractionCb: (p) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.MediaInteraction,\n              ...p\n            }\n          }),\n          styleSheetRuleCb: (r2) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.StyleSheetRule,\n              ...r2\n            }\n          }),\n          styleDeclarationCb: (r2) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.StyleDeclaration,\n              ...r2\n            }\n          }),\n          canvasMutationCb: wrappedCanvasMutationEmit,\n          fontCb: (p) => wrappedEmit({\n            type: EventType.IncrementalSnapshot,\n            data: {\n              source: IncrementalSource.Font,\n              ...p\n            }\n          }),\n          selectionCb: (p) => {\n            wrappedEmit({\n              type: EventType.IncrementalSnapshot,\n              data: {\n                source: IncrementalSource.Selection,\n                ...p\n              }\n            });\n          },\n          customElementCb: (c2) => {\n            wrappedEmit({\n              type: EventType.IncrementalSnapshot,\n              data: {\n                source: IncrementalSource.CustomElement,\n                ...c2\n              }\n            });\n          },\n          blockClass,\n          ignoreClass,\n          ignoreSelector,\n          maskAllText,\n          maskTextClass,\n          unmaskTextClass,\n          maskTextSelector,\n          unmaskTextSelector,\n          maskInputOptions,\n          inlineStylesheet,\n          sampling,\n          recordDOM,\n          recordCanvas,\n          inlineImages,\n          userTriggeredOnInput,\n          collectFonts,\n          doc,\n          maskAttributeFn,\n          maskInputFn,\n          maskTextFn,\n          keepIframeSrcFn,\n          blockSelector,\n          unblockSelector,\n          slimDOMOptions,\n          dataURLOptions,\n          mirror,\n          iframeManager,\n          stylesheetManager,\n          shadowDomManager,\n          processedNodeManager,\n          canvasManager,\n          ignoreCSSAttributes,\n          plugins: plugins?.filter((p) => p.observer)?.map((p) => ({\n            observer: p.observer,\n            options: p.options,\n            callback: (payload) => wrappedEmit({\n              type: EventType.Plugin,\n              data: {\n                plugin: p.name,\n                payload\n              }\n            })\n          })) || []\n        },\n        {}\n      );\n    };\n    iframeManager.addLoadListener((iframeEl) => {\n      try {\n        handlers.push(observe(iframeEl.contentDocument));\n      } catch (error) {\n        console.warn(error);\n      }\n    });\n    const init = () => {\n      takeFullSnapshot2();\n      handlers.push(observe(document));\n    };\n    if (document.readyState === \"interactive\" || document.readyState === \"complete\") {\n      init();\n    } else {\n      handlers.push(\n        on(\"DOMContentLoaded\", () => {\n          wrappedEmit({\n            type: EventType.DomContentLoaded,\n            data: {}\n          });\n          if (recordAfter === \"DOMContentLoaded\") init();\n        })\n      );\n      handlers.push(\n        on(\n          \"load\",\n          () => {\n            wrappedEmit({\n              type: EventType.Load,\n              data: {}\n            });\n            if (recordAfter === \"load\") init();\n          },\n          window\n        )\n      );\n    }\n    return () => {\n      handlers.forEach((h) => h());\n      processedNodeManager.destroy();\n      _takeFullSnapshot = void 0;\n      unregisterErrorHandler();\n    };\n  } catch (error) {\n    console.warn(error);\n  }\n}\nfunction takeFullSnapshot(isCheckout) {\n  if (!_takeFullSnapshot) {\n    throw new Error(\"please take full snapshot after start recording\");\n  }\n  _takeFullSnapshot(isCheckout);\n}\nrecord.mirror = mirror;\nrecord.takeFullSnapshot = takeFullSnapshot;\nfunction _getCanvasManager(getCanvasManagerFn, options) {\n  try {\n    return getCanvasManagerFn ? getCanvasManagerFn(options) : new CanvasManagerNoop();\n  } catch {\n    console.warn(\"Unable to initialize CanvasManager\");\n    return new CanvasManagerNoop();\n  }\n}\nvar n;\n!function(t2) {\n  t2[t2.NotStarted = 0] = \"NotStarted\", t2[t2.Running = 1] = \"Running\", t2[t2.Stopped = 2] = \"Stopped\";\n}(n || (n = {}));\n\nconst ReplayEventTypeIncrementalSnapshot = 3;\nconst ReplayEventTypeCustom = 5;\n\n/**\n * Converts a timestamp to ms, if it was in s, or keeps it as ms.\n */\nfunction timestampToMs(timestamp) {\n  const isMs = timestamp > 9999999999;\n  return isMs ? timestamp : timestamp * 1000;\n}\n\n/**\n * Converts a timestamp to s, if it was in ms, or keeps it as s.\n */\nfunction timestampToS(timestamp) {\n  const isMs = timestamp > 9999999999;\n  return isMs ? timestamp / 1000 : timestamp;\n}\n\n/**\n * Add a breadcrumb event to replay.\n */\nfunction addBreadcrumbEvent(replay, breadcrumb) {\n  if (breadcrumb.category === 'sentry.transaction') {\n    return;\n  }\n\n  if (['ui.click', 'ui.input'].includes(breadcrumb.category )) {\n    replay.triggerUserActivity();\n  } else {\n    replay.checkAndHandleExpiredSession();\n  }\n\n  replay.addUpdate(() => {\n    // This should never reject\n    // eslint-disable-next-line @typescript-eslint/no-floating-promises\n    replay.throttledAddEvent({\n      type: EventType.Custom,\n      // TODO: We were converting from ms to seconds for breadcrumbs, spans,\n      // but maybe we should just keep them as milliseconds\n      timestamp: (breadcrumb.timestamp || 0) * 1000,\n      data: {\n        tag: 'breadcrumb',\n        // normalize to max. 10 depth and 1_000 properties per object\n        payload: normalize(breadcrumb, 10, 1000),\n      },\n    });\n\n    // Do not flush after console log messages\n    return breadcrumb.category === 'console';\n  });\n}\n\nconst INTERACTIVE_SELECTOR = 'button,a';\n\n/** Get the closest interactive parent element, or else return the given element. */\nfunction getClosestInteractive(element) {\n  const closestInteractive = element.closest(INTERACTIVE_SELECTOR);\n  return closestInteractive || element;\n}\n\n/**\n * For clicks, we check if the target is inside of a button or link\n * If so, we use this as the target instead\n * This is useful because if you click on the image in <button><img></button>,\n * The target will be the image, not the button, which we don't want here\n */\nfunction getClickTargetNode(event) {\n  const target = getTargetNode(event);\n\n  if (!target || !(target instanceof Element)) {\n    return target;\n  }\n\n  return getClosestInteractive(target);\n}\n\n/** Get the event target node. */\nfunction getTargetNode(event) {\n  if (isEventWithTarget(event)) {\n    return event.target ;\n  }\n\n  return event;\n}\n\nfunction isEventWithTarget(event) {\n  return typeof event === 'object' && !!event && 'target' in event;\n}\n\nlet handlers;\n\n/**\n * Register a handler to be called when `window.open()` is called.\n * Returns a cleanup function.\n */\nfunction onWindowOpen(cb) {\n  // Ensure to only register this once\n  if (!handlers) {\n    handlers = [];\n    monkeyPatchWindowOpen();\n  }\n\n  handlers.push(cb);\n\n  return () => {\n    const pos = handlers ? handlers.indexOf(cb) : -1;\n    if (pos > -1) {\n      (handlers ).splice(pos, 1);\n    }\n  };\n}\n\nfunction monkeyPatchWindowOpen() {\n  fill(WINDOW, 'open', function (originalWindowOpen) {\n    return function (...args) {\n      if (handlers) {\n        try {\n          handlers.forEach(handler => handler());\n        } catch {\n          // ignore errors in here\n        }\n      }\n\n      return originalWindowOpen.apply(WINDOW, args);\n    };\n  });\n}\n\n/** Any IncrementalSource for rrweb that we interpret as a kind of mutation. */\nconst IncrementalMutationSources = new Set([\n  IncrementalSource.Mutation,\n  IncrementalSource.StyleSheetRule,\n  IncrementalSource.StyleDeclaration,\n  IncrementalSource.AdoptedStyleSheet,\n  IncrementalSource.CanvasMutation,\n  IncrementalSource.Selection,\n  IncrementalSource.MediaInteraction,\n]);\n\n/** Handle a click. */\nfunction handleClick(clickDetector, clickBreadcrumb, node) {\n  clickDetector.handleClick(clickBreadcrumb, node);\n}\n\n/** A click detector class that can be used to detect slow or rage clicks on elements. */\nclass ClickDetector  {\n  // protected for testing\n\n   constructor(\n    replay,\n    slowClickConfig,\n    // Just for easier testing\n    _addBreadcrumbEvent = addBreadcrumbEvent,\n  ) {\n    this._lastMutation = 0;\n    this._lastScroll = 0;\n    this._clicks = [];\n\n    // We want everything in s, but options are in ms\n    this._timeout = slowClickConfig.timeout / 1000;\n    this._threshold = slowClickConfig.threshold / 1000;\n    this._scrollTimeout = slowClickConfig.scrollTimeout / 1000;\n    this._replay = replay;\n    this._ignoreSelector = slowClickConfig.ignoreSelector;\n    this._addBreadcrumbEvent = _addBreadcrumbEvent;\n  }\n\n  /** Register click detection handlers on mutation or scroll. */\n   addListeners() {\n    const cleanupWindowOpen = onWindowOpen(() => {\n      // Treat window.open as mutation\n      this._lastMutation = nowInSeconds();\n    });\n\n    this._teardown = () => {\n      cleanupWindowOpen();\n\n      this._clicks = [];\n      this._lastMutation = 0;\n      this._lastScroll = 0;\n    };\n  }\n\n  /** Clean up listeners. */\n   removeListeners() {\n    if (this._teardown) {\n      this._teardown();\n    }\n\n    if (this._checkClickTimeout) {\n      clearTimeout(this._checkClickTimeout);\n    }\n  }\n\n  /** @inheritDoc */\n   handleClick(breadcrumb, node) {\n    if (ignoreElement(node, this._ignoreSelector) || !isClickBreadcrumb(breadcrumb)) {\n      return;\n    }\n\n    const newClick = {\n      timestamp: timestampToS(breadcrumb.timestamp),\n      clickBreadcrumb: breadcrumb,\n      // Set this to 0 so we know it originates from the click breadcrumb\n      clickCount: 0,\n      node,\n    };\n\n    // If there was a click in the last 1s on the same element, ignore it - only keep a single reference per second\n    if (\n      this._clicks.some(click => click.node === newClick.node && Math.abs(click.timestamp - newClick.timestamp) < 1)\n    ) {\n      return;\n    }\n\n    this._clicks.push(newClick);\n\n    // If this is the first new click, set a timeout to check for multi clicks\n    if (this._clicks.length === 1) {\n      this._scheduleCheckClicks();\n    }\n  }\n\n  /** @inheritDoc */\n   registerMutation(timestamp = Date.now()) {\n    this._lastMutation = timestampToS(timestamp);\n  }\n\n  /** @inheritDoc */\n   registerScroll(timestamp = Date.now()) {\n    this._lastScroll = timestampToS(timestamp);\n  }\n\n  /** @inheritDoc */\n   registerClick(element) {\n    const node = getClosestInteractive(element);\n    this._handleMultiClick(node );\n  }\n\n  /** Count multiple clicks on elements. */\n   _handleMultiClick(node) {\n    this._getClicks(node).forEach(click => {\n      click.clickCount++;\n    });\n  }\n\n  /** Get all pending clicks for a given node. */\n   _getClicks(node) {\n    return this._clicks.filter(click => click.node === node);\n  }\n\n  /** Check the clicks that happened. */\n   _checkClicks() {\n    const timedOutClicks = [];\n\n    const now = nowInSeconds();\n\n    this._clicks.forEach(click => {\n      if (!click.mutationAfter && this._lastMutation) {\n        click.mutationAfter = click.timestamp <= this._lastMutation ? this._lastMutation - click.timestamp : undefined;\n      }\n      if (!click.scrollAfter && this._lastScroll) {\n        click.scrollAfter = click.timestamp <= this._lastScroll ? this._lastScroll - click.timestamp : undefined;\n      }\n\n      // All of these are in seconds!\n      if (click.timestamp + this._timeout <= now) {\n        timedOutClicks.push(click);\n      }\n    });\n\n    // Remove \"old\" clicks\n    for (const click of timedOutClicks) {\n      const pos = this._clicks.indexOf(click);\n\n      if (pos > -1) {\n        this._generateBreadcrumbs(click);\n        this._clicks.splice(pos, 1);\n      }\n    }\n\n    // Trigger new check, unless no clicks left\n    if (this._clicks.length) {\n      this._scheduleCheckClicks();\n    }\n  }\n\n  /** Generate matching breadcrumb(s) for the click. */\n   _generateBreadcrumbs(click) {\n    const replay = this._replay;\n    const hadScroll = click.scrollAfter && click.scrollAfter <= this._scrollTimeout;\n    const hadMutation = click.mutationAfter && click.mutationAfter <= this._threshold;\n\n    const isSlowClick = !hadScroll && !hadMutation;\n    const { clickCount, clickBreadcrumb } = click;\n\n    // Slow click\n    if (isSlowClick) {\n      // If `mutationAfter` is set, it means a mutation happened after the threshold, but before the timeout\n      // If not, it means we just timed out without scroll & mutation\n      const timeAfterClickMs = Math.min(click.mutationAfter || this._timeout, this._timeout) * 1000;\n      const endReason = timeAfterClickMs < this._timeout * 1000 ? 'mutation' : 'timeout';\n\n      const breadcrumb = {\n        type: 'default',\n        message: clickBreadcrumb.message,\n        timestamp: clickBreadcrumb.timestamp,\n        category: 'ui.slowClickDetected',\n        data: {\n          ...clickBreadcrumb.data,\n          url: WINDOW.location.href,\n          route: replay.getCurrentRoute(),\n          timeAfterClickMs,\n          endReason,\n          // If clickCount === 0, it means multiClick was not correctly captured here\n          // - we still want to send 1 in this case\n          clickCount: clickCount || 1,\n        },\n      };\n\n      this._addBreadcrumbEvent(replay, breadcrumb);\n      return;\n    }\n\n    // Multi click\n    if (clickCount > 1) {\n      const breadcrumb = {\n        type: 'default',\n        message: clickBreadcrumb.message,\n        timestamp: clickBreadcrumb.timestamp,\n        category: 'ui.multiClick',\n        data: {\n          ...clickBreadcrumb.data,\n          url: WINDOW.location.href,\n          route: replay.getCurrentRoute(),\n          clickCount,\n          metric: true,\n        },\n      };\n\n      this._addBreadcrumbEvent(replay, breadcrumb);\n    }\n  }\n\n  /** Schedule to check current clicks. */\n   _scheduleCheckClicks() {\n    if (this._checkClickTimeout) {\n      clearTimeout(this._checkClickTimeout);\n    }\n\n    this._checkClickTimeout = setTimeout$3(() => this._checkClicks(), 1000);\n  }\n}\n\nconst SLOW_CLICK_TAGS = ['A', 'BUTTON', 'INPUT'];\n\n/** exported for tests only */\nfunction ignoreElement(node, ignoreSelector) {\n  if (!SLOW_CLICK_TAGS.includes(node.tagName)) {\n    return true;\n  }\n\n  // If <input> tag, we only want to consider input[type='submit'] & input[type='button']\n  if (node.tagName === 'INPUT' && !['submit', 'button'].includes(node.getAttribute('type') || '')) {\n    return true;\n  }\n\n  // If <a> tag, detect special variants that may not lead to an action\n  // If target !== _self, we may open the link somewhere else, which would lead to no action\n  // Also, when downloading a file, we may not leave the page, but still not trigger an action\n  if (\n    node.tagName === 'A' &&\n    (node.hasAttribute('download') || (node.hasAttribute('target') && node.getAttribute('target') !== '_self'))\n  ) {\n    return true;\n  }\n\n  if (ignoreSelector && node.matches(ignoreSelector)) {\n    return true;\n  }\n\n  return false;\n}\n\nfunction isClickBreadcrumb(breadcrumb) {\n  return !!(breadcrumb.data && typeof breadcrumb.data.nodeId === 'number' && breadcrumb.timestamp);\n}\n\n// This is good enough for us, and is easier to test/mock than `timestampInSeconds`\nfunction nowInSeconds() {\n  return Date.now() / 1000;\n}\n\n/** Update the click detector based on a recording event of rrweb. */\nfunction updateClickDetectorForRecordingEvent(clickDetector, event) {\n  try {\n    // note: We only consider incremental snapshots here\n    // This means that any full snapshot is ignored for mutation detection - the reason is that we simply cannot know if a mutation happened here.\n    // E.g. think that we are buffering, an error happens and we take a full snapshot because we switched to session mode -\n    // in this scenario, we would not know if a dead click happened because of the error, which is a key dead click scenario.\n    // Instead, by ignoring full snapshots, we have the risk that we generate a false positive\n    // (if a mutation _did_ happen but was \"swallowed\" by the full snapshot)\n    // But this should be more unlikely as we'd generally capture the incremental snapshot right away\n\n    if (!isIncrementalEvent(event)) {\n      return;\n    }\n\n    const { source } = event.data;\n    if (IncrementalMutationSources.has(source)) {\n      clickDetector.registerMutation(event.timestamp);\n    }\n\n    if (source === IncrementalSource.Scroll) {\n      clickDetector.registerScroll(event.timestamp);\n    }\n\n    if (isIncrementalMouseInteraction(event)) {\n      const { type, id } = event.data;\n      const node = record.mirror.getNode(id);\n\n      if (node instanceof HTMLElement && type === MouseInteractions.Click) {\n        clickDetector.registerClick(node);\n      }\n    }\n  } catch {\n    // ignore errors here, e.g. if accessing something that does not exist\n  }\n}\n\nfunction isIncrementalEvent(event) {\n  return event.type === ReplayEventTypeIncrementalSnapshot;\n}\n\nfunction isIncrementalMouseInteraction(\n  event,\n) {\n  return event.data.source === IncrementalSource.MouseInteraction;\n}\n\n/**\n * Create a breadcrumb for a replay.\n */\nfunction createBreadcrumb(\n  breadcrumb,\n) {\n  return {\n    timestamp: Date.now() / 1000,\n    type: 'default',\n    ...breadcrumb,\n  };\n}\n\nvar NodeType = /* @__PURE__ */ ((NodeType2) => {\n  NodeType2[NodeType2[\"Document\"] = 0] = \"Document\";\n  NodeType2[NodeType2[\"DocumentType\"] = 1] = \"DocumentType\";\n  NodeType2[NodeType2[\"Element\"] = 2] = \"Element\";\n  NodeType2[NodeType2[\"Text\"] = 3] = \"Text\";\n  NodeType2[NodeType2[\"CDATA\"] = 4] = \"CDATA\";\n  NodeType2[NodeType2[\"Comment\"] = 5] = \"Comment\";\n  return NodeType2;\n})(NodeType || {});\n\n// Note that these are the serialized attributes and not attributes directly on\n// the DOM Node. Attributes we are interested in:\nconst ATTRIBUTES_TO_RECORD = new Set([\n  'id',\n  'class',\n  'aria-label',\n  'role',\n  'name',\n  'alt',\n  'title',\n  'data-test-id',\n  'data-testid',\n  'disabled',\n  'aria-disabled',\n  'data-sentry-component',\n]);\n\n/**\n * Inclusion list of attributes that we want to record from the DOM element\n */\nfunction getAttributesToRecord(attributes) {\n  const obj = {};\n  if (!attributes['data-sentry-component'] && attributes['data-sentry-element']) {\n    attributes['data-sentry-component'] = attributes['data-sentry-element'];\n  }\n  for (const key in attributes) {\n    if (ATTRIBUTES_TO_RECORD.has(key)) {\n      let normalizedKey = key;\n\n      if (key === 'data-testid' || key === 'data-test-id') {\n        normalizedKey = 'testId';\n      }\n\n      obj[normalizedKey] = attributes[key];\n    }\n  }\n\n  return obj;\n}\n\nconst handleDomListener = (\n  replay,\n) => {\n  return (handlerData) => {\n    if (!replay.isEnabled()) {\n      return;\n    }\n\n    const result = handleDom(handlerData);\n\n    if (!result) {\n      return;\n    }\n\n    const isClick = handlerData.name === 'click';\n    const event = isClick ? (handlerData.event ) : undefined;\n    // Ignore clicks if ctrl/alt/meta/shift keys are held down as they alter behavior of clicks (e.g. open in new tab)\n    if (\n      isClick &&\n      replay.clickDetector &&\n      event?.target &&\n      !event.altKey &&\n      !event.metaKey &&\n      !event.ctrlKey &&\n      !event.shiftKey\n    ) {\n      handleClick(\n        replay.clickDetector,\n        result ,\n        getClickTargetNode(handlerData.event ) ,\n      );\n    }\n\n    addBreadcrumbEvent(replay, result);\n  };\n};\n\n/** Get the base DOM breadcrumb. */\nfunction getBaseDomBreadcrumb(target, message) {\n  const nodeId = record.mirror.getId(target);\n  const node = nodeId && record.mirror.getNode(nodeId);\n  const meta = node && record.mirror.getMeta(node);\n  const element = meta && isElement(meta) ? meta : null;\n\n  return {\n    message,\n    data: element\n      ? {\n          nodeId,\n          node: {\n            id: nodeId,\n            tagName: element.tagName,\n            textContent: Array.from(element.childNodes)\n              .map((node) => node.type === NodeType.Text && node.textContent)\n              .filter(Boolean) // filter out empty values\n              .map(text => (text ).trim())\n              .join(''),\n            attributes: getAttributesToRecord(element.attributes),\n          },\n        }\n      : {},\n  };\n}\n\n/**\n * An event handler to react to DOM events.\n * Exported for tests.\n */\nfunction handleDom(handlerData) {\n  const { target, message } = getDomTarget(handlerData);\n\n  return createBreadcrumb({\n    category: `ui.${handlerData.name}`,\n    ...getBaseDomBreadcrumb(target, message),\n  });\n}\n\nfunction getDomTarget(handlerData) {\n  const isClick = handlerData.name === 'click';\n\n  let message;\n  let target = null;\n\n  // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n  try {\n    target = isClick ? getClickTargetNode(handlerData.event ) : getTargetNode(handlerData.event );\n    message = htmlTreeAsString(target, { maxStringLength: 200 }) || '<unknown>';\n  } catch {\n    message = '<unknown>';\n  }\n\n  return { target, message };\n}\n\nfunction isElement(node) {\n  return node.type === NodeType.Element;\n}\n\n/** Handle keyboard events & create breadcrumbs. */\nfunction handleKeyboardEvent(replay, event) {\n  if (!replay.isEnabled()) {\n    return;\n  }\n\n  // Update user activity, but do not restart recording as it can create\n  // noisy/low-value replays (e.g. user comes back from idle, hits alt-tab, new\n  // session with a single \"keydown\" breadcrumb is created)\n  replay.updateUserActivity();\n\n  const breadcrumb = getKeyboardBreadcrumb(event);\n\n  if (!breadcrumb) {\n    return;\n  }\n\n  addBreadcrumbEvent(replay, breadcrumb);\n}\n\n/** exported only for tests */\nfunction getKeyboardBreadcrumb(event) {\n  const { metaKey, shiftKey, ctrlKey, altKey, key, target } = event;\n\n  // never capture for input fields\n  if (!target || isInputElement(target ) || !key) {\n    return null;\n  }\n\n  // Note: We do not consider shift here, as that means \"uppercase\"\n  const hasModifierKey = metaKey || ctrlKey || altKey;\n  const isCharacterKey = key.length === 1; // other keys like Escape, Tab, etc have a longer length\n\n  // Do not capture breadcrumb if only a word key is pressed\n  // This could leak e.g. user input\n  if (!hasModifierKey && isCharacterKey) {\n    return null;\n  }\n\n  const message = htmlTreeAsString(target, { maxStringLength: 200 }) || '<unknown>';\n  const baseBreadcrumb = getBaseDomBreadcrumb(target , message);\n\n  return createBreadcrumb({\n    category: 'ui.keyDown',\n    message,\n    data: {\n      ...baseBreadcrumb.data,\n      metaKey,\n      shiftKey,\n      ctrlKey,\n      altKey,\n      key,\n    },\n  });\n}\n\nfunction isInputElement(target) {\n  return target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable;\n}\n\n// Map entryType -> function to normalize data for event\nconst ENTRY_TYPES\n\n = {\n  // @ts-expect-error TODO: entry type does not fit the create* functions entry type\n  resource: createResourceEntry,\n  paint: createPaintEntry,\n  // @ts-expect-error TODO: entry type does not fit the create* functions entry type\n  navigation: createNavigationEntry,\n};\n\n/**\n * Handler creater for web vitals\n */\nfunction webVitalHandler(\n  getter,\n  replay,\n) {\n  return ({ metric }) => void replay.replayPerformanceEntries.push(getter(metric));\n}\n\n/**\n * Create replay performance entries from the browser performance entries.\n */\nfunction createPerformanceEntries(\n  entries,\n) {\n  return entries.map(createPerformanceEntry).filter(Boolean) ;\n}\n\nfunction createPerformanceEntry(entry) {\n  const entryType = ENTRY_TYPES[entry.entryType];\n  if (!entryType) {\n    return null;\n  }\n\n  return entryType(entry);\n}\n\nfunction getAbsoluteTime(time) {\n  // browserPerformanceTimeOrigin can be undefined if `performance` or\n  // `performance.now` doesn't exist, but this is already checked by this integration\n  return ((browserPerformanceTimeOrigin() || WINDOW.performance.timeOrigin) + time) / 1000;\n}\n\nfunction createPaintEntry(entry) {\n  const { duration, entryType, name, startTime } = entry;\n\n  const start = getAbsoluteTime(startTime);\n  return {\n    type: entryType,\n    name,\n    start,\n    end: start + duration,\n    data: undefined,\n  };\n}\n\nfunction createNavigationEntry(entry) {\n  const {\n    entryType,\n    name,\n    decodedBodySize,\n    duration,\n    domComplete,\n    encodedBodySize,\n    domContentLoadedEventStart,\n    domContentLoadedEventEnd,\n    domInteractive,\n    loadEventStart,\n    loadEventEnd,\n    redirectCount,\n    startTime,\n    transferSize,\n    type,\n  } = entry;\n\n  // Ignore entries with no duration, they do not seem to be useful and cause dupes\n  if (duration === 0) {\n    return null;\n  }\n\n  return {\n    type: `${entryType}.${type}`,\n    start: getAbsoluteTime(startTime),\n    end: getAbsoluteTime(domComplete),\n    name,\n    data: {\n      size: transferSize,\n      decodedBodySize,\n      encodedBodySize,\n      duration,\n      domInteractive,\n      domContentLoadedEventStart,\n      domContentLoadedEventEnd,\n      loadEventStart,\n      loadEventEnd,\n      domComplete,\n      redirectCount,\n    },\n  };\n}\n\nfunction createResourceEntry(\n  entry,\n) {\n  const {\n    entryType,\n    initiatorType,\n    name,\n    responseEnd,\n    startTime,\n    decodedBodySize,\n    encodedBodySize,\n    responseStatus,\n    transferSize,\n  } = entry;\n\n  // Core SDK handles these\n  if (['fetch', 'xmlhttprequest'].includes(initiatorType)) {\n    return null;\n  }\n\n  return {\n    type: `${entryType}.${initiatorType}`,\n    start: getAbsoluteTime(startTime),\n    end: getAbsoluteTime(responseEnd),\n    name,\n    data: {\n      size: transferSize,\n      statusCode: responseStatus,\n      decodedBodySize,\n      encodedBodySize,\n    },\n  };\n}\n\n/**\n * Add a LCP event to the replay based on a LCP metric.\n */\nfunction getLargestContentfulPaint(metric) {\n  const lastEntry = metric.entries[metric.entries.length - 1] ;\n  const node = lastEntry?.element ? [lastEntry.element] : undefined;\n  return getWebVital(metric, 'largest-contentful-paint', node);\n}\n\nfunction isLayoutShift(entry) {\n  return (entry ).sources !== undefined;\n}\n\n/**\n * Add a CLS event to the replay based on a CLS metric.\n */\nfunction getCumulativeLayoutShift(metric) {\n  const layoutShifts = [];\n  const nodes = [];\n  for (const entry of metric.entries) {\n    if (isLayoutShift(entry)) {\n      const nodeIds = [];\n      for (const source of entry.sources) {\n        if (source.node) {\n          nodes.push(source.node);\n          const nodeId = record.mirror.getId(source.node);\n          if (nodeId) {\n            nodeIds.push(nodeId);\n          }\n        }\n      }\n      layoutShifts.push({ value: entry.value, nodeIds: nodeIds.length ? nodeIds : undefined });\n    }\n  }\n\n  return getWebVital(metric, 'cumulative-layout-shift', nodes, layoutShifts);\n}\n\n/**\n * Add an INP event to the replay based on an INP metric.\n */\nfunction getInteractionToNextPaint(metric) {\n  const lastEntry = metric.entries[metric.entries.length - 1] ;\n  const node = lastEntry?.target ? [lastEntry.target] : undefined;\n  return getWebVital(metric, 'interaction-to-next-paint', node);\n}\n\n/**\n * Add an web vital event to the replay based on the web vital metric.\n */\nfunction getWebVital(\n  metric,\n  name,\n  nodes,\n  attributions,\n) {\n  const value = metric.value;\n  const rating = metric.rating;\n\n  const end = getAbsoluteTime(value);\n\n  return {\n    type: 'web-vital',\n    name,\n    start: end,\n    end,\n    data: {\n      value,\n      size: value,\n      rating,\n      nodeIds: nodes ? nodes.map(node => record.mirror.getId(node)) : undefined,\n      attributions,\n    },\n  };\n}\n\n/**\n * Sets up a PerformanceObserver to listen to all performance entry types.\n * Returns a callback to stop observing.\n */\nfunction setupPerformanceObserver(replay) {\n  function addPerformanceEntry(entry) {\n    // It is possible for entries to come up multiple times\n    if (!replay.performanceEntries.includes(entry)) {\n      replay.performanceEntries.push(entry);\n    }\n  }\n\n  function onEntries({ entries }) {\n    entries.forEach(addPerformanceEntry);\n  }\n\n  const clearCallbacks = [];\n\n  (['navigation', 'paint', 'resource'] ).forEach(type => {\n    clearCallbacks.push(addPerformanceInstrumentationHandler(type, onEntries));\n  });\n\n  clearCallbacks.push(\n    addLcpInstrumentationHandler(webVitalHandler(getLargestContentfulPaint, replay)),\n    addClsInstrumentationHandler(webVitalHandler(getCumulativeLayoutShift, replay)),\n    addInpInstrumentationHandler(webVitalHandler(getInteractionToNextPaint, replay)),\n  );\n\n  // A callback to cleanup all handlers\n  return () => {\n    clearCallbacks.forEach(clearCallback => clearCallback());\n  };\n}\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__);\n\nconst r = `var t=Uint8Array,n=Uint16Array,r=Int32Array,e=new t([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),i=new t([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),s=new t([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=function(t,e){for(var i=new n(31),s=0;s<31;++s)i[s]=e+=1<<t[s-1];var a=new r(i[30]);for(s=1;s<30;++s)for(var o=i[s];o<i[s+1];++o)a[o]=o-i[s]<<5|s;return{b:i,r:a}},o=a(e,2),h=o.b,f=o.r;h[28]=258,f[258]=28;for(var l=a(i,0).r,u=new n(32768),c=0;c<32768;++c){var v=(43690&c)>>1|(21845&c)<<1;v=(61680&(v=(52428&v)>>2|(13107&v)<<2))>>4|(3855&v)<<4,u[c]=((65280&v)>>8|(255&v)<<8)>>1}var d=function(t,r,e){for(var i=t.length,s=0,a=new n(r);s<i;++s)t[s]&&++a[t[s]-1];var o,h=new n(r);for(s=1;s<r;++s)h[s]=h[s-1]+a[s-1]<<1;if(e){o=new n(1<<r);var f=15-r;for(s=0;s<i;++s)if(t[s])for(var l=s<<4|t[s],c=r-t[s],v=h[t[s]-1]++<<c,d=v|(1<<c)-1;v<=d;++v)o[u[v]>>f]=l}else for(o=new n(i),s=0;s<i;++s)t[s]&&(o[s]=u[h[t[s]-1]++]>>15-t[s]);return o},p=new t(288);for(c=0;c<144;++c)p[c]=8;for(c=144;c<256;++c)p[c]=9;for(c=256;c<280;++c)p[c]=7;for(c=280;c<288;++c)p[c]=8;var g=new t(32);for(c=0;c<32;++c)g[c]=5;var w=d(p,9,0),y=d(g,5,0),m=function(t){return(t+7)/8|0},b=function(n,r,e){return(null==e||e>n.length)&&(e=n.length),new t(n.subarray(r,e))},M=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"],E=function(t,n,r){var e=new Error(n||M[t]);if(e.code=t,Error.captureStackTrace&&Error.captureStackTrace(e,E),!r)throw e;return e},z=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8},_=function(t,n,r){r<<=7&n;var e=n/8|0;t[e]|=r,t[e+1]|=r>>8,t[e+2]|=r>>16},x=function(r,e){for(var i=[],s=0;s<r.length;++s)r[s]&&i.push({s:s,f:r[s]});var a=i.length,o=i.slice();if(!a)return{t:F,l:0};if(1==a){var h=new t(i[0].s+1);return h[i[0].s]=1,{t:h,l:1}}i.sort(function(t,n){return t.f-n.f}),i.push({s:-1,f:25001});var f=i[0],l=i[1],u=0,c=1,v=2;for(i[0]={s:-1,f:f.f+l.f,l:f,r:l};c!=a-1;)f=i[i[u].f<i[v].f?u++:v++],l=i[u!=c&&i[u].f<i[v].f?u++:v++],i[c++]={s:-1,f:f.f+l.f,l:f,r:l};var d=o[0].s;for(s=1;s<a;++s)o[s].s>d&&(d=o[s].s);var p=new n(d+1),g=A(i[c-1],p,0);if(g>e){s=0;var w=0,y=g-e,m=1<<y;for(o.sort(function(t,n){return p[n.s]-p[t.s]||t.f-n.f});s<a;++s){var b=o[s].s;if(!(p[b]>e))break;w+=m-(1<<g-p[b]),p[b]=e}for(w>>=y;w>0;){var M=o[s].s;p[M]<e?w-=1<<e-p[M]++-1:++s}for(;s>=0&&w;--s){var E=o[s].s;p[E]==e&&(--p[E],++w)}g=e}return{t:new t(p),l:g}},A=function(t,n,r){return-1==t.s?Math.max(A(t.l,n,r+1),A(t.r,n,r+1)):n[t.s]=r},D=function(t){for(var r=t.length;r&&!t[--r];);for(var e=new n(++r),i=0,s=t[0],a=1,o=function(t){e[i++]=t},h=1;h<=r;++h)if(t[h]==s&&h!=r)++a;else{if(!s&&a>2){for(;a>138;a-=138)o(32754);a>2&&(o(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(o(s),--a;a>6;a-=6)o(8304);a>2&&(o(a-3<<5|8208),a=0)}for(;a--;)o(s);a=1,s=t[h]}return{c:e.subarray(0,i),n:r}},T=function(t,n){for(var r=0,e=0;e<n.length;++e)r+=t[e]*n[e];return r},k=function(t,n,r){var e=r.length,i=m(n+2);t[i]=255&e,t[i+1]=e>>8,t[i+2]=255^t[i],t[i+3]=255^t[i+1];for(var s=0;s<e;++s)t[i+s+4]=r[s];return 8*(i+4+e)},U=function(t,r,a,o,h,f,l,u,c,v,m){z(r,m++,a),++h[256];for(var b=x(h,15),M=b.t,E=b.l,A=x(f,15),U=A.t,C=A.l,F=D(M),I=F.c,S=F.n,L=D(U),O=L.c,j=L.n,q=new n(19),B=0;B<I.length;++B)++q[31&I[B]];for(B=0;B<O.length;++B)++q[31&O[B]];for(var G=x(q,7),H=G.t,J=G.l,K=19;K>4&&!H[s[K-1]];--K);var N,P,Q,R,V=v+5<<3,W=T(h,p)+T(f,g)+l,X=T(h,M)+T(f,U)+l+14+3*K+T(q,H)+2*q[16]+3*q[17]+7*q[18];if(c>=0&&V<=W&&V<=X)return k(r,m,t.subarray(c,c+v));if(z(r,m,1+(X<W)),m+=2,X<W){N=d(M,E,0),P=M,Q=d(U,C,0),R=U;var Y=d(H,J,0);z(r,m,S-257),z(r,m+5,j-1),z(r,m+10,K-4),m+=14;for(B=0;B<K;++B)z(r,m+3*B,H[s[B]]);m+=3*K;for(var Z=[I,O],$=0;$<2;++$){var tt=Z[$];for(B=0;B<tt.length;++B){var nt=31&tt[B];z(r,m,Y[nt]),m+=H[nt],nt>15&&(z(r,m,tt[B]>>5&127),m+=tt[B]>>12)}}}else N=w,P=p,Q=y,R=g;for(B=0;B<u;++B){var rt=o[B];if(rt>255){_(r,m,N[(nt=rt>>18&31)+257]),m+=P[nt+257],nt>7&&(z(r,m,rt>>23&31),m+=e[nt]);var et=31&rt;_(r,m,Q[et]),m+=R[et],et>3&&(_(r,m,rt>>5&8191),m+=i[et])}else _(r,m,N[rt]),m+=P[rt]}return _(r,m,N[256]),m+P[256]},C=new r([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),F=new t(0),I=function(){for(var t=new Int32Array(256),n=0;n<256;++n){for(var r=n,e=9;--e;)r=(1&r&&-306674912)^r>>>1;t[n]=r}return t}(),S=function(){var t=1,n=0;return{p:function(r){for(var e=t,i=n,s=0|r.length,a=0;a!=s;){for(var o=Math.min(a+2655,s);a<o;++a)i+=e+=r[a];e=(65535&e)+15*(e>>16),i=(65535&i)+15*(i>>16)}t=e,n=i},d:function(){return(255&(t%=65521))<<24|(65280&t)<<8|(255&(n%=65521))<<8|n>>8}}},L=function(s,a,o,h,u){if(!u&&(u={l:1},a.dictionary)){var c=a.dictionary.subarray(-32768),v=new t(c.length+s.length);v.set(c),v.set(s,c.length),s=v,u.w=c.length}return function(s,a,o,h,u,c){var v=c.z||s.length,d=new t(h+v+5*(1+Math.ceil(v/7e3))+u),p=d.subarray(h,d.length-u),g=c.l,w=7&(c.r||0);if(a){w&&(p[0]=c.r>>3);for(var y=C[a-1],M=y>>13,E=8191&y,z=(1<<o)-1,_=c.p||new n(32768),x=c.h||new n(z+1),A=Math.ceil(o/3),D=2*A,T=function(t){return(s[t]^s[t+1]<<A^s[t+2]<<D)&z},F=new r(25e3),I=new n(288),S=new n(32),L=0,O=0,j=c.i||0,q=0,B=c.w||0,G=0;j+2<v;++j){var H=T(j),J=32767&j,K=x[H];if(_[J]=K,x[H]=J,B<=j){var N=v-j;if((L>7e3||q>24576)&&(N>423||!g)){w=U(s,p,0,F,I,S,O,q,G,j-G,w),q=L=O=0,G=j;for(var P=0;P<286;++P)I[P]=0;for(P=0;P<30;++P)S[P]=0}var Q=2,R=0,V=E,W=J-K&32767;if(N>2&&H==T(j-W))for(var X=Math.min(M,N)-1,Y=Math.min(32767,j),Z=Math.min(258,N);W<=Y&&--V&&J!=K;){if(s[j+Q]==s[j+Q-W]){for(var $=0;$<Z&&s[j+$]==s[j+$-W];++$);if($>Q){if(Q=$,R=W,$>X)break;var tt=Math.min(W,$-2),nt=0;for(P=0;P<tt;++P){var rt=j-W+P&32767,et=rt-_[rt]&32767;et>nt&&(nt=et,K=rt)}}}W+=(J=K)-(K=_[J])&32767}if(R){F[q++]=268435456|f[Q]<<18|l[R];var it=31&f[Q],st=31&l[R];O+=e[it]+i[st],++I[257+it],++S[st],B=j+Q,++L}else F[q++]=s[j],++I[s[j]]}}for(j=Math.max(j,B);j<v;++j)F[q++]=s[j],++I[s[j]];w=U(s,p,g,F,I,S,O,q,G,j-G,w),g||(c.r=7&w|p[w/8|0]<<3,w-=7,c.h=x,c.p=_,c.i=j,c.w=B)}else{for(j=c.w||0;j<v+g;j+=65535){var at=j+65535;at>=v&&(p[w/8|0]=g,at=v),w=k(p,w+1,s.subarray(j,at))}c.i=v}return b(d,0,h+m(w)+u)}(s,null==a.level?6:a.level,null==a.mem?u.l?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(s.length)))):20:12+a.mem,o,h,u)},O=function(t,n,r){for(;r;++n)t[n]=r,r>>>=8},j=function(){function n(n,r){if(\"function\"==typeof n&&(r=n,n={}),this.ondata=r,this.o=n||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new t(98304),this.o.dictionary){var e=this.o.dictionary.subarray(-32768);this.b.set(e,32768-e.length),this.s.i=32768-e.length}}return n.prototype.p=function(t,n){this.ondata(L(t,this.o,0,0,this.s),n)},n.prototype.push=function(n,r){this.ondata||E(5),this.s.l&&E(4);var e=n.length+this.s.z;if(e>this.b.length){if(e>2*this.b.length-32768){var i=new t(-32768&e);i.set(this.b.subarray(0,this.s.z)),this.b=i}var s=this.b.length-this.s.z;this.b.set(n.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1),this.b.set(this.b.subarray(-32768)),this.b.set(n.subarray(s),32768),this.s.z=n.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(n,this.s.z),this.s.z+=n.length;this.s.l=1&r,(this.s.z>this.s.w+8191||r)&&(this.p(this.b,r||!1),this.s.w=this.s.i,this.s.i-=2)},n.prototype.flush=function(){this.ondata||E(5),this.s.l&&E(4),this.p(this.b,!1),this.s.w=this.s.i,this.s.i-=2},n}();function q(t,n){n||(n={});var r=function(){var t=-1;return{p:function(n){for(var r=t,e=0;e<n.length;++e)r=I[255&r^n[e]]^r>>>8;t=r},d:function(){return~t}}}(),e=t.length;r.p(t);var i,s=L(t,n,10+((i=n).filename?i.filename.length+1:0),8),a=s.length;return function(t,n){var r=n.filename;if(t[0]=31,t[1]=139,t[2]=8,t[8]=n.level<2?4:9==n.level?2:0,t[9]=3,0!=n.mtime&&O(t,4,Math.floor(new Date(n.mtime||Date.now())/1e3)),r){t[3]=8;for(var e=0;e<=r.length;++e)t[e+10]=r.charCodeAt(e)}}(s,n),O(s,a-8,r.d()),O(s,a-4,e),s}var B=function(){function t(t,n){this.c=S(),this.v=1,j.call(this,t,n)}return t.prototype.push=function(t,n){this.c.p(t),j.prototype.push.call(this,t,n)},t.prototype.p=function(t,n){var r=L(t,this.o,this.v&&(this.o.dictionary?6:2),n&&4,this.s);this.v&&(function(t,n){var r=n.level,e=0==r?0:r<6?1:9==r?3:2;if(t[0]=120,t[1]=e<<6|(n.dictionary&&32),t[1]|=31-(t[0]<<8|t[1])%31,n.dictionary){var i=S();i.p(n.dictionary),O(t,2,i.d())}}(r,this.o),this.v=0),n&&O(r,r.length-4,this.c.d()),this.ondata(r,n)},t.prototype.flush=function(){j.prototype.flush.call(this)},t}(),G=\"undefined\"!=typeof TextEncoder&&new TextEncoder,H=\"undefined\"!=typeof TextDecoder&&new TextDecoder;try{H.decode(F,{stream:!0})}catch(t){}var J=function(){function t(t){this.ondata=t}return t.prototype.push=function(t,n){this.ondata||E(5),this.d&&E(4),this.ondata(K(t),this.d=n||!1)},t}();function K(n,r){if(G)return G.encode(n);for(var e=n.length,i=new t(n.length+(n.length>>1)),s=0,a=function(t){i[s++]=t},o=0;o<e;++o){if(s+5>i.length){var h=new t(s+8+(e-o<<1));h.set(i),i=h}var f=n.charCodeAt(o);f<128||r?a(f):f<2048?(a(192|f>>6),a(128|63&f)):f>55295&&f<57344?(a(240|(f=65536+(1047552&f)|1023&n.charCodeAt(++o))>>18),a(128|f>>12&63),a(128|f>>6&63),a(128|63&f)):(a(224|f>>12),a(128|f>>6&63),a(128|63&f))}return b(i,0,s)}const N=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error(\"Adding invalid event\");const n=this._hasEvents?\",\":\"\";this.stream.push(n+t),this._hasEvents=!0}finish(){this.stream.push(\"]\",!0);const t=function(t){let n=0;for(const r of t)n+=r.length;const r=new Uint8Array(n);for(let n=0,e=0,i=t.length;n<i;n++){const i=t[n];r.set(i,e),e+=i.length}return r}(this._deflatedData);return this._init(),t}_init(){this._hasEvents=!1,this._deflatedData=[],this.deflate=new B,this.deflate.ondata=(t,n)=>{this._deflatedData.push(t)},this.stream=new J((t,n)=>{this.deflate.push(t,n)}),this.stream.push(\"[\")}},P={clear:()=>{N.clear()},addEvent:t=>N.addEvent(t),finish:()=>N.finish(),compress:t=>function(t){return q(K(t))}(t)};addEventListener(\"message\",function(t){const n=t.data.method,r=t.data.id,e=t.data.arg;if(n in P&&\"function\"==typeof P[n])try{const t=P[n](e);postMessage({id:r,method:n,success:!0,response:t})}catch(t){postMessage({id:r,method:n,success:!1,response:t.message}),console.error(t)}}),postMessage({id:void 0,method:\"init\",success:!0,response:void 0});`;\n\nfunction e(){const e=new Blob([r]);return URL.createObjectURL(e)}\n\nconst CONSOLE_LEVELS = ['log', 'warn', 'error'] ;\nconst PREFIX = '[Replay] ';\n\nfunction _addBreadcrumb(message, level = 'info') {\n  addBreadcrumb(\n    {\n      category: 'console',\n      data: {\n        logger: 'replay',\n      },\n      level,\n      message: `${PREFIX}${message}`,\n    },\n    { level },\n  );\n}\n\nfunction makeReplayDebugLogger() {\n  let _capture = false;\n  let _trace = false;\n\n  const _debug = {\n    exception: () => undefined,\n    infoTick: () => undefined,\n    setConfig: (opts) => {\n      _capture = !!opts.captureExceptions;\n      _trace = !!opts.traceInternals;\n    },\n  };\n\n  if (DEBUG_BUILD) {\n    CONSOLE_LEVELS.forEach(name => {\n      _debug[name] = (...args) => {\n        debug$1[name](PREFIX, ...args);\n        if (_trace) {\n          _addBreadcrumb(args.join(''), severityLevelFromString(name));\n        }\n      };\n    });\n\n    _debug.exception = (error, ...message) => {\n      if (message.length && _debug.error) {\n        _debug.error(...message);\n      }\n\n      debug$1.error(PREFIX, error);\n\n      if (_capture) {\n        captureException(error);\n      } else if (_trace) {\n        // No need for a breadcrumb if `_capture` is enabled since it should be\n        // captured as an exception\n        _addBreadcrumb(error, 'error');\n      }\n    };\n\n    _debug.infoTick = (...args) => {\n      debug$1.log(PREFIX, ...args);\n      if (_trace) {\n        // Wait a tick here to avoid race conditions for some initial logs\n        // which may be added before replay is initialized\n        setTimeout(() => _addBreadcrumb(args[0]), 0);\n      }\n    };\n  } else {\n    CONSOLE_LEVELS.forEach(name => {\n      _debug[name] = () => undefined;\n    });\n  }\n\n  return _debug ;\n}\n\nconst debug = makeReplayDebugLogger();\n\n/** This error indicates that the event buffer size exceeded the limit.. */\nclass EventBufferSizeExceededError extends Error {\n   constructor() {\n    super(`Event buffer exceeded maximum size of ${REPLAY_MAX_EVENT_BUFFER_SIZE}.`);\n  }\n}\n\n/**\n * A basic event buffer that does not do any compression.\n * Used as fallback if the compression worker cannot be loaded or is disabled.\n */\nclass EventBufferArray  {\n  /** All the events that are buffered to be sent. */\n\n  /** @inheritdoc */\n\n  /** @inheritdoc */\n\n   constructor() {\n    this.events = [];\n    this._totalSize = 0;\n    this.hasCheckout = false;\n    this.waitForCheckout = false;\n  }\n\n  /** @inheritdoc */\n   get hasEvents() {\n    return this.events.length > 0;\n  }\n\n  /** @inheritdoc */\n   get type() {\n    return 'sync';\n  }\n\n  /** @inheritdoc */\n   destroy() {\n    this.events = [];\n  }\n\n  /** @inheritdoc */\n   async addEvent(event) {\n    const eventSize = JSON.stringify(event).length;\n    this._totalSize += eventSize;\n    if (this._totalSize > REPLAY_MAX_EVENT_BUFFER_SIZE) {\n      throw new EventBufferSizeExceededError();\n    }\n\n    this.events.push(event);\n  }\n\n  /** @inheritdoc */\n   finish() {\n    return new Promise(resolve => {\n      // Make a copy of the events array reference and immediately clear the\n      // events member so that we do not lose new events while uploading\n      // attachment.\n      const eventsRet = this.events;\n      this.clear();\n      resolve(JSON.stringify(eventsRet));\n    });\n  }\n\n  /** @inheritdoc */\n   clear() {\n    this.events = [];\n    this._totalSize = 0;\n    this.hasCheckout = false;\n  }\n\n  /** @inheritdoc */\n   getEarliestTimestamp() {\n    const timestamp = this.events.map(event => event.timestamp).sort()[0];\n\n    if (!timestamp) {\n      return null;\n    }\n\n    return timestampToMs(timestamp);\n  }\n}\n\n/**\n * Event buffer that uses a web worker to compress events.\n * Exported only for testing.\n */\nclass WorkerHandler {\n\n   constructor(worker) {\n    this._worker = worker;\n    this._id = 0;\n  }\n\n  /**\n   * Ensure the worker is ready (or not).\n   * This will either resolve when the worker is ready, or reject if an error occurred.\n   */\n   ensureReady() {\n    // Ensure we only check once\n    if (this._ensureReadyPromise) {\n      return this._ensureReadyPromise;\n    }\n\n    this._ensureReadyPromise = new Promise((resolve, reject) => {\n      this._worker.addEventListener(\n        'message',\n        ({ data }) => {\n          if ((data ).success) {\n            resolve();\n          } else {\n            reject();\n          }\n        },\n        { once: true },\n      );\n\n      this._worker.addEventListener(\n        'error',\n        error => {\n          reject(error);\n        },\n        { once: true },\n      );\n    });\n\n    return this._ensureReadyPromise;\n  }\n\n  /**\n   * Destroy the worker.\n   */\n   destroy() {\n    DEBUG_BUILD && debug.log('Destroying compression worker');\n    this._worker.terminate();\n  }\n\n  /**\n   * Post message to worker and wait for response before resolving promise.\n   */\n   postMessage(method, arg) {\n    const id = this._getAndIncrementId();\n\n    return new Promise((resolve, reject) => {\n      const listener = ({ data }) => {\n        const response = data ;\n        if (response.method !== method) {\n          return;\n        }\n\n        // There can be multiple listeners for a single method, the id ensures\n        // that the response matches the caller.\n        if (response.id !== id) {\n          return;\n        }\n\n        // At this point, we'll always want to remove listener regardless of result status\n        this._worker.removeEventListener('message', listener);\n\n        if (!response.success) {\n          // TODO: Do some error handling, not sure what\n          DEBUG_BUILD && debug.error('Error in compression worker: ', response.response);\n\n          reject(new Error('Error in compression worker'));\n          return;\n        }\n\n        resolve(response.response );\n      };\n\n      // Note: we can't use `once` option because it's possible it needs to\n      // listen to multiple messages\n      this._worker.addEventListener('message', listener);\n      this._worker.postMessage({ id, method, arg });\n    });\n  }\n\n  /** Get the current ID and increment it for the next call. */\n   _getAndIncrementId() {\n    return this._id++;\n  }\n}\n\n/**\n * Event buffer that uses a web worker to compress events.\n * Exported only for testing.\n */\nclass EventBufferCompressionWorker  {\n  /** @inheritdoc */\n\n  /** @inheritdoc */\n\n   constructor(worker) {\n    this._worker = new WorkerHandler(worker);\n    this._earliestTimestamp = null;\n    this._totalSize = 0;\n    this.hasCheckout = false;\n    this.waitForCheckout = false;\n  }\n\n  /** @inheritdoc */\n   get hasEvents() {\n    return !!this._earliestTimestamp;\n  }\n\n  /** @inheritdoc */\n   get type() {\n    return 'worker';\n  }\n\n  /**\n   * Ensure the worker is ready (or not).\n   * This will either resolve when the worker is ready, or reject if an error occurred.\n   */\n   ensureReady() {\n    return this._worker.ensureReady();\n  }\n\n  /**\n   * Destroy the event buffer.\n   */\n   destroy() {\n    this._worker.destroy();\n  }\n\n  /**\n   * Add an event to the event buffer.\n   *\n   * Returns true if event was successfully received and processed by worker.\n   */\n   addEvent(event) {\n    const timestamp = timestampToMs(event.timestamp);\n    if (!this._earliestTimestamp || timestamp < this._earliestTimestamp) {\n      this._earliestTimestamp = timestamp;\n    }\n\n    const data = JSON.stringify(event);\n    this._totalSize += data.length;\n\n    if (this._totalSize > REPLAY_MAX_EVENT_BUFFER_SIZE) {\n      return Promise.reject(new EventBufferSizeExceededError());\n    }\n\n    return this._sendEventToWorker(data);\n  }\n\n  /**\n   * Finish the event buffer and return the compressed data.\n   */\n   finish() {\n    return this._finishRequest();\n  }\n\n  /** @inheritdoc */\n   clear() {\n    this._earliestTimestamp = null;\n    this._totalSize = 0;\n    this.hasCheckout = false;\n\n    // We do not wait on this, as we assume the order of messages is consistent for the worker\n    this._worker.postMessage('clear').then(null, e => {\n      DEBUG_BUILD && debug.exception(e, 'Sending \"clear\" message to worker failed', e);\n    });\n  }\n\n  /** @inheritdoc */\n   getEarliestTimestamp() {\n    return this._earliestTimestamp;\n  }\n\n  /**\n   * Send the event to the worker.\n   */\n   _sendEventToWorker(data) {\n    return this._worker.postMessage('addEvent', data);\n  }\n\n  /**\n   * Finish the request and return the compressed data from the worker.\n   */\n   async _finishRequest() {\n    const response = await this._worker.postMessage('finish');\n\n    this._earliestTimestamp = null;\n    this._totalSize = 0;\n\n    return response;\n  }\n}\n\n/**\n * This proxy will try to use the compression worker, and fall back to use the simple buffer if an error occurs there.\n * This can happen e.g. if the worker cannot be loaded.\n * Exported only for testing.\n */\nclass EventBufferProxy  {\n\n   constructor(worker) {\n    this._fallback = new EventBufferArray();\n    this._compression = new EventBufferCompressionWorker(worker);\n    this._used = this._fallback;\n\n    this._ensureWorkerIsLoadedPromise = this._ensureWorkerIsLoaded();\n  }\n\n  /** @inheritdoc */\n   get waitForCheckout() {\n    return this._used.waitForCheckout;\n  }\n\n  /** @inheritdoc */\n   get type() {\n    return this._used.type;\n  }\n\n  /** @inheritDoc */\n   get hasEvents() {\n    return this._used.hasEvents;\n  }\n\n  /** @inheritdoc */\n   get hasCheckout() {\n    return this._used.hasCheckout;\n  }\n  /** @inheritdoc */\n   set hasCheckout(value) {\n    this._used.hasCheckout = value;\n  }\n\n  /** @inheritdoc */\n  // eslint-disable-next-line @typescript-eslint/adjacent-overload-signatures\n   set waitForCheckout(value) {\n    this._used.waitForCheckout = value;\n  }\n\n  /** @inheritDoc */\n   destroy() {\n    this._fallback.destroy();\n    this._compression.destroy();\n  }\n\n  /** @inheritdoc */\n   clear() {\n    return this._used.clear();\n  }\n\n  /** @inheritdoc */\n   getEarliestTimestamp() {\n    return this._used.getEarliestTimestamp();\n  }\n\n  /**\n   * Add an event to the event buffer.\n   *\n   * Returns true if event was successfully added.\n   */\n   addEvent(event) {\n    return this._used.addEvent(event);\n  }\n\n  /** @inheritDoc */\n   async finish() {\n    // Ensure the worker is loaded, so the sent event is compressed\n    await this.ensureWorkerIsLoaded();\n\n    return this._used.finish();\n  }\n\n  /** Ensure the worker has loaded. */\n   ensureWorkerIsLoaded() {\n    return this._ensureWorkerIsLoadedPromise;\n  }\n\n  /** Actually check if the worker has been loaded. */\n   async _ensureWorkerIsLoaded() {\n    try {\n      await this._compression.ensureReady();\n    } catch (error) {\n      // If the worker fails to load, we fall back to the simple buffer.\n      // Nothing more to do from our side here\n      DEBUG_BUILD && debug.exception(error, 'Failed to load the compression worker, falling back to simple buffer');\n      return;\n    }\n\n    // Now we need to switch over the array buffer to the compression worker\n    await this._switchToCompressionWorker();\n  }\n\n  /** Switch the used buffer to the compression worker. */\n   async _switchToCompressionWorker() {\n    const { events, hasCheckout, waitForCheckout } = this._fallback;\n\n    const addEventPromises = [];\n    for (const event of events) {\n      addEventPromises.push(this._compression.addEvent(event));\n    }\n\n    this._compression.hasCheckout = hasCheckout;\n    this._compression.waitForCheckout = waitForCheckout;\n\n    // We switch over to the new buffer immediately - any further events will be added\n    // after the previously buffered ones\n    this._used = this._compression;\n\n    // Wait for original events to be re-added before resolving\n    try {\n      await Promise.all(addEventPromises);\n\n      // Can now clear fallback buffer as it's no longer necessary\n      this._fallback.clear();\n    } catch (error) {\n      DEBUG_BUILD && debug.exception(error, 'Failed to add events when switching buffers.');\n    }\n  }\n}\n\n/**\n * Create an event buffer for replays.\n */\nfunction createEventBuffer({\n  useCompression,\n  workerUrl: customWorkerUrl,\n}) {\n  if (\n    useCompression &&\n    // eslint-disable-next-line no-restricted-globals\n    window.Worker\n  ) {\n    const worker = _loadWorker(customWorkerUrl);\n\n    if (worker) {\n      return worker;\n    }\n  }\n\n  DEBUG_BUILD && debug.log('Using simple buffer');\n  return new EventBufferArray();\n}\n\nfunction _loadWorker(customWorkerUrl) {\n  try {\n    const workerUrl = customWorkerUrl || _getWorkerUrl();\n\n    if (!workerUrl) {\n      return;\n    }\n\n    DEBUG_BUILD && debug.log(`Using compression worker${customWorkerUrl ? ` from ${customWorkerUrl}` : ''}`);\n    const worker = new Worker(workerUrl);\n    return new EventBufferProxy(worker);\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, 'Failed to create compression worker');\n    // Fall back to use simple event buffer array\n  }\n}\n\nfunction _getWorkerUrl() {\n  if (typeof __SENTRY_EXCLUDE_REPLAY_WORKER__ === 'undefined' || !__SENTRY_EXCLUDE_REPLAY_WORKER__) {\n    return e();\n  }\n\n  return '';\n}\n\n/** If sessionStorage is available. */\nfunction hasSessionStorage() {\n  try {\n    // This can throw, e.g. when being accessed in a sandboxed iframe\n    return 'sessionStorage' in WINDOW && !!WINDOW.sessionStorage;\n  } catch {\n    return false;\n  }\n}\n\n/**\n * Removes the session from Session Storage and unsets session in replay instance\n */\nfunction clearSession(replay) {\n  deleteSession();\n  replay.session = undefined;\n}\n\n/**\n * Deletes a session from storage\n */\nfunction deleteSession() {\n  if (!hasSessionStorage()) {\n    return;\n  }\n\n  try {\n    WINDOW.sessionStorage.removeItem(REPLAY_SESSION_KEY);\n  } catch {\n    // Ignore potential SecurityError exceptions\n  }\n}\n\n/**\n * Given a sample rate, returns true if replay should be sampled.\n *\n * 1.0 = 100% sampling\n * 0.0 = 0% sampling\n */\nfunction isSampled(sampleRate) {\n  if (sampleRate === undefined) {\n    return false;\n  }\n\n  // Math.random() returns a number in range of 0 to 1 (inclusive of 0, but not 1)\n  return Math.random() < sampleRate;\n}\n\n/**\n * Save a session to session storage.\n */\nfunction saveSession(session) {\n  if (!hasSessionStorage()) {\n    return;\n  }\n\n  try {\n    WINDOW.sessionStorage.setItem(REPLAY_SESSION_KEY, JSON.stringify(session));\n  } catch {\n    // Ignore potential SecurityError exceptions\n  }\n}\n\n/**\n * Get a session with defaults & applied sampling.\n */\nfunction makeSession(session) {\n  const now = Date.now();\n  const id = session.id || uuid4();\n  // Note that this means we cannot set a started/lastActivity of `0`, but this should not be relevant outside of tests.\n  const started = session.started || now;\n  const lastActivity = session.lastActivity || now;\n  const segmentId = session.segmentId || 0;\n  const sampled = session.sampled;\n  const previousSessionId = session.previousSessionId;\n\n  return {\n    id,\n    started,\n    lastActivity,\n    segmentId,\n    sampled,\n    previousSessionId,\n  };\n}\n\n/**\n * Get the sampled status for a session based on sample rates & current sampled status.\n */\nfunction getSessionSampleType(sessionSampleRate, allowBuffering) {\n  return isSampled(sessionSampleRate) ? 'session' : allowBuffering ? 'buffer' : false;\n}\n\n/**\n * Create a new session, which in its current implementation is a Sentry event\n * that all replays will be saved to as attachments. Currently, we only expect\n * one of these Sentry events per \"replay session\".\n */\nfunction createSession(\n  { sessionSampleRate, allowBuffering, stickySession = false },\n  { previousSessionId } = {},\n) {\n  const sampled = getSessionSampleType(sessionSampleRate, allowBuffering);\n  const session = makeSession({\n    sampled,\n    previousSessionId,\n  });\n\n  if (stickySession) {\n    saveSession(session);\n  }\n\n  return session;\n}\n\n/**\n * Fetches a session from storage\n */\nfunction fetchSession() {\n  if (!hasSessionStorage()) {\n    return null;\n  }\n\n  try {\n    // This can throw if cookies are disabled\n    const sessionStringFromStorage = WINDOW.sessionStorage.getItem(REPLAY_SESSION_KEY);\n\n    if (!sessionStringFromStorage) {\n      return null;\n    }\n\n    const sessionObj = JSON.parse(sessionStringFromStorage) ;\n\n    DEBUG_BUILD && debug.infoTick('Loading existing session');\n\n    return makeSession(sessionObj);\n  } catch {\n    return null;\n  }\n}\n\n/**\n * Given an initial timestamp and an expiry duration, checks to see if current\n * time should be considered as expired.\n */\nfunction isExpired(\n  initialTime,\n  expiry,\n  targetTime = +new Date(),\n) {\n  // Always expired if < 0\n  if (initialTime === null || expiry === undefined || expiry < 0) {\n    return true;\n  }\n\n  // Never expires if == 0\n  if (expiry === 0) {\n    return false;\n  }\n\n  return initialTime + expiry <= targetTime;\n}\n\n/**\n * Checks to see if session is expired\n */\nfunction isSessionExpired(\n  session,\n  {\n    maxReplayDuration,\n    sessionIdleExpire,\n    targetTime = Date.now(),\n  },\n) {\n  return (\n    // First, check that maximum session length has not been exceeded\n    isExpired(session.started, maxReplayDuration, targetTime) ||\n    // check that the idle timeout has not been exceeded (i.e. user has\n    // performed an action within the last `sessionIdleExpire` ms)\n    isExpired(session.lastActivity, sessionIdleExpire, targetTime)\n  );\n}\n\n/** If the session should be refreshed or not. */\nfunction shouldRefreshSession(\n  session,\n  { sessionIdleExpire, maxReplayDuration },\n) {\n  // If not expired, all good, just keep the session\n  if (!isSessionExpired(session, { sessionIdleExpire, maxReplayDuration })) {\n    return false;\n  }\n\n  // If we are buffering & haven't ever flushed yet, always continue\n  if (session.sampled === 'buffer' && session.segmentId === 0) {\n    return false;\n  }\n\n  return true;\n}\n\n/**\n * Get or create a session, when initializing the replay.\n * Returns a session that may be unsampled.\n */\nfunction loadOrCreateSession(\n  {\n    sessionIdleExpire,\n    maxReplayDuration,\n    previousSessionId,\n  }\n\n,\n  sessionOptions,\n) {\n  const existingSession = sessionOptions.stickySession && fetchSession();\n\n  // No session exists yet, just create a new one\n  if (!existingSession) {\n    DEBUG_BUILD && debug.infoTick('Creating new session');\n    return createSession(sessionOptions, { previousSessionId });\n  }\n\n  if (!shouldRefreshSession(existingSession, { sessionIdleExpire, maxReplayDuration })) {\n    return existingSession;\n  }\n\n  DEBUG_BUILD && debug.infoTick('Session in sessionStorage is expired, creating new one...');\n  return createSession(sessionOptions, { previousSessionId: existingSession.id });\n}\n\nfunction isCustomEvent(event) {\n  return event.type === EventType.Custom;\n}\n\n/**\n * Add an event to the event buffer.\n * In contrast to `addEvent`, this does not return a promise & does not wait for the adding of the event to succeed/fail.\n * Instead this returns `true` if we tried to add the event, else false.\n * It returns `false` e.g. if we are paused, disabled, or out of the max replay duration.\n *\n * `isCheckout` is true if this is either the very first event, or an event triggered by `checkoutEveryNms`.\n */\nfunction addEventSync(replay, event, isCheckout) {\n  if (!shouldAddEvent(replay, event)) {\n    return false;\n  }\n\n  // This should never reject\n  // eslint-disable-next-line @typescript-eslint/no-floating-promises\n  _addEvent(replay, event, isCheckout);\n\n  return true;\n}\n\n/**\n * Add an event to the event buffer.\n * Resolves to `null` if no event was added, else to `void`.\n *\n * `isCheckout` is true if this is either the very first event, or an event triggered by `checkoutEveryNms`.\n */\nfunction addEvent(\n  replay,\n  event,\n  isCheckout,\n) {\n  if (!shouldAddEvent(replay, event)) {\n    return Promise.resolve(null);\n  }\n\n  return _addEvent(replay, event, isCheckout);\n}\n\nasync function _addEvent(\n  replay,\n  event,\n  isCheckout,\n) {\n  const { eventBuffer } = replay;\n\n  if (!eventBuffer || (eventBuffer.waitForCheckout && !isCheckout)) {\n    return null;\n  }\n\n  const isBufferMode = replay.recordingMode === 'buffer';\n\n  try {\n    if (isCheckout && isBufferMode) {\n      eventBuffer.clear();\n    }\n\n    if (isCheckout) {\n      eventBuffer.hasCheckout = true;\n      eventBuffer.waitForCheckout = false;\n    }\n\n    const replayOptions = replay.getOptions();\n\n    const eventAfterPossibleCallback = maybeApplyCallback(event, replayOptions.beforeAddRecordingEvent);\n\n    if (!eventAfterPossibleCallback) {\n      return;\n    }\n\n    return await eventBuffer.addEvent(eventAfterPossibleCallback);\n  } catch (error) {\n    const isExceeded = error && error instanceof EventBufferSizeExceededError;\n    const reason = isExceeded ? 'addEventSizeExceeded' : 'addEvent';\n\n    if (isExceeded && isBufferMode) {\n      // Clear buffer and wait for next checkout\n      eventBuffer.clear();\n      eventBuffer.waitForCheckout = true;\n\n      return null;\n    }\n\n    replay.handleException(error);\n\n    await replay.stop({ reason });\n\n    const client = getClient();\n\n    if (client) {\n      client.recordDroppedEvent('internal_sdk_error', 'replay');\n    }\n  }\n}\n\n/** Exported only for tests. */\nfunction shouldAddEvent(replay, event) {\n  if (!replay.eventBuffer || replay.isPaused() || !replay.isEnabled()) {\n    return false;\n  }\n\n  const timestampInMs = timestampToMs(event.timestamp);\n\n  // Throw out events that happen more than 5 minutes ago. This can happen if\n  // page has been left open and idle for a long period of time and user\n  // comes back to trigger a new session. The performance entries rely on\n  // `performance.timeOrigin`, which is when the page first opened.\n  if (timestampInMs + replay.timeouts.sessionIdlePause < Date.now()) {\n    return false;\n  }\n\n  // Throw out events that are +60min from the initial timestamp\n  if (timestampInMs > replay.getContext().initialTimestamp + replay.getOptions().maxReplayDuration) {\n    DEBUG_BUILD &&\n      debug.infoTick(`Skipping event with timestamp ${timestampInMs} because it is after maxReplayDuration`);\n    return false;\n  }\n\n  return true;\n}\n\nfunction maybeApplyCallback(\n  event,\n  callback,\n) {\n  try {\n    if (typeof callback === 'function' && isCustomEvent(event)) {\n      return callback(event);\n    }\n  } catch (error) {\n    DEBUG_BUILD &&\n      debug.exception(error, 'An error occurred in the `beforeAddRecordingEvent` callback, skipping the event...');\n    return null;\n  }\n\n  return event;\n}\n\n/** If the event is an error event */\nfunction isErrorEvent(event) {\n  return !event.type;\n}\n\n/** If the event is a transaction event */\nfunction isTransactionEvent(event) {\n  return event.type === 'transaction';\n}\n\n/** If the event is an replay event */\nfunction isReplayEvent(event) {\n  return event.type === 'replay_event';\n}\n\n/** If the event is a feedback event */\nfunction isFeedbackEvent(event) {\n  return event.type === 'feedback';\n}\n\n/**\n * Returns a listener to be added to `client.on('afterSendErrorEvent, listener)`.\n */\nfunction handleAfterSendEvent(replay) {\n  return (event, sendResponse) => {\n    if (!replay.isEnabled() || (!isErrorEvent(event) && !isTransactionEvent(event))) {\n      return;\n    }\n\n    const statusCode = sendResponse?.statusCode;\n\n    // We only want to do stuff on successful error sending, otherwise you get error replays without errors attached\n    // If not using the base transport, we allow `undefined` response (as a custom transport may not implement this correctly yet)\n    // If we do use the base transport, we skip if we encountered an non-OK status code\n    if (!statusCode || statusCode < 200 || statusCode >= 300) {\n      return;\n    }\n\n    if (isTransactionEvent(event)) {\n      handleTransactionEvent(replay, event);\n      return;\n    }\n\n    handleErrorEvent(replay, event);\n  };\n}\n\nfunction handleTransactionEvent(replay, event) {\n  const replayContext = replay.getContext();\n\n  // Collect traceIds in _context regardless of `recordingMode`\n  // In error mode, _context gets cleared on every checkout\n  // We limit to max. 100 transactions linked\n  if (event.contexts?.trace?.trace_id && replayContext.traceIds.size < 100) {\n    replayContext.traceIds.add(event.contexts.trace.trace_id);\n  }\n}\n\nfunction handleErrorEvent(replay, event) {\n  const replayContext = replay.getContext();\n\n  // Add error to list of errorIds of replay. This is ok to do even if not\n  // sampled because context will get reset at next checkout.\n  // XXX: There is also a race condition where it's possible to capture an\n  // error to Sentry before Replay SDK has loaded, but response returns after\n  // it was loaded, and this gets called.\n  // We limit to max. 100 errors linked\n  if (event.event_id && replayContext.errorIds.size < 100) {\n    replayContext.errorIds.add(event.event_id);\n  }\n\n  // If error event is tagged with replay id it means it was sampled (when in buffer mode)\n  // Need to be very careful that this does not cause an infinite loop\n  if (replay.recordingMode !== 'buffer' || !event.tags || !event.tags.replayId) {\n    return;\n  }\n\n  const { beforeErrorSampling } = replay.getOptions();\n  if (typeof beforeErrorSampling === 'function' && !beforeErrorSampling(event)) {\n    return;\n  }\n\n  setTimeout$3(async () => {\n    try {\n      // Capture current event buffer as new replay\n      await replay.sendBufferedReplayOrFlush();\n    } catch (err) {\n      replay.handleException(err);\n    }\n  });\n}\n\n/**\n * Returns a listener to be added to `client.on('afterSendErrorEvent, listener)`.\n */\nfunction handleBeforeSendEvent(replay) {\n  return (event) => {\n    if (!replay.isEnabled() || !isErrorEvent(event)) {\n      return;\n    }\n\n    handleHydrationError(replay, event);\n  };\n}\n\nfunction handleHydrationError(replay, event) {\n  const exceptionValue = event.exception?.values?.[0]?.value;\n  if (typeof exceptionValue !== 'string') {\n    return;\n  }\n\n  if (\n    // Only matches errors in production builds of react-dom\n    // Example https://reactjs.org/docs/error-decoder.html?invariant=423\n    // With newer React versions, the messages changed to a different website https://react.dev/errors/418\n    exceptionValue.match(\n      /(reactjs\\.org\\/docs\\/error-decoder\\.html\\?invariant=|react\\.dev\\/errors\\/)(418|419|422|423|425)/,\n    ) ||\n    // Development builds of react-dom\n    // Error 1: Hydration failed because the initial UI does not match what was rendered on the server.\n    // Error 2: Text content does not match server-rendered HTML. Warning: Text content did not match.\n    exceptionValue.match(/(does not match server-rendered HTML|Hydration failed because)/i)\n  ) {\n    const breadcrumb = createBreadcrumb({\n      category: 'replay.hydrate-error',\n      data: {\n        url: getLocationHref(),\n      },\n    });\n    addBreadcrumbEvent(replay, breadcrumb);\n  }\n}\n\n/**\n * Handle breadcrumbs that Sentry captures, and make sure to capture relevant breadcrumbs to Replay as well.\n */\nfunction handleBreadcrumbs(replay) {\n  const client = getClient();\n\n  if (!client) {\n    return;\n  }\n\n  client.on('beforeAddBreadcrumb', breadcrumb => beforeAddBreadcrumb(replay, breadcrumb));\n}\n\nfunction beforeAddBreadcrumb(replay, breadcrumb) {\n  if (!replay.isEnabled() || !isBreadcrumbWithCategory(breadcrumb)) {\n    return;\n  }\n\n  const result = normalizeBreadcrumb(breadcrumb);\n  if (result) {\n    addBreadcrumbEvent(replay, result);\n  }\n}\n\n/** Exported only for tests. */\nfunction normalizeBreadcrumb(breadcrumb) {\n  if (\n    !isBreadcrumbWithCategory(breadcrumb) ||\n    [\n      // fetch & xhr are handled separately,in handleNetworkBreadcrumbs\n      'fetch',\n      'xhr',\n      // These two are breadcrumbs for emitted sentry events, we don't care about them\n      'sentry.event',\n      'sentry.transaction',\n    ].includes(breadcrumb.category) ||\n    // We capture UI breadcrumbs separately\n    breadcrumb.category.startsWith('ui.')\n  ) {\n    return null;\n  }\n\n  if (breadcrumb.category === 'console') {\n    return normalizeConsoleBreadcrumb(breadcrumb);\n  }\n\n  return createBreadcrumb(breadcrumb);\n}\n\n/** exported for tests only */\nfunction normalizeConsoleBreadcrumb(\n  breadcrumb,\n) {\n  const args = breadcrumb.data?.arguments;\n\n  if (!Array.isArray(args) || args.length === 0) {\n    return createBreadcrumb(breadcrumb);\n  }\n\n  let isTruncated = false;\n\n  // Avoid giant args captures\n  const normalizedArgs = args.map(arg => {\n    if (!arg) {\n      return arg;\n    }\n    if (typeof arg === 'string') {\n      if (arg.length > CONSOLE_ARG_MAX_SIZE) {\n        isTruncated = true;\n        return `${arg.slice(0, CONSOLE_ARG_MAX_SIZE)}…`;\n      }\n\n      return arg;\n    }\n    if (typeof arg === 'object') {\n      try {\n        const normalizedArg = normalize(arg, 7);\n        const stringified = JSON.stringify(normalizedArg);\n        if (stringified.length > CONSOLE_ARG_MAX_SIZE) {\n          isTruncated = true;\n          // We use the pretty printed JSON string here as a base\n          return `${JSON.stringify(normalizedArg, null, 2).slice(0, CONSOLE_ARG_MAX_SIZE)}…`;\n        }\n        return normalizedArg;\n      } catch {\n        // fall back to default\n      }\n    }\n\n    return arg;\n  });\n\n  return createBreadcrumb({\n    ...breadcrumb,\n    data: {\n      ...breadcrumb.data,\n      arguments: normalizedArgs,\n      ...(isTruncated ? { _meta: { warnings: ['CONSOLE_ARG_TRUNCATED'] } } : {}),\n    },\n  });\n}\n\nfunction isBreadcrumbWithCategory(breadcrumb) {\n  return !!breadcrumb.category;\n}\n\n/**\n * Returns true if we think the given event is an error originating inside of rrweb.\n */\nfunction isRrwebError(event, hint) {\n  if (event.type || !event.exception?.values?.length) {\n    return false;\n  }\n\n  // @ts-expect-error this may be set by rrweb when it finds errors\n  if (hint.originalException?.__rrweb__) {\n    return true;\n  }\n\n  return false;\n}\n\n/**\n * Reset the `replay_id` field on the DSC.\n */\nfunction resetReplayIdOnDynamicSamplingContext() {\n  // Reset DSC on the current scope, if there is one\n  const dsc = getCurrentScope().getPropagationContext().dsc;\n  if (dsc) {\n    delete dsc.replay_id;\n  }\n\n  // Clear it from frozen DSC on the active span\n  const activeSpan = getActiveSpan();\n  if (activeSpan) {\n    const dsc = getDynamicSamplingContextFromSpan(activeSpan);\n    delete (dsc ).replay_id;\n  }\n}\n\n/**\n * Add a feedback breadcrumb event to replay.\n */\nfunction addFeedbackBreadcrumb(replay, event) {\n  replay.triggerUserActivity();\n  replay.addUpdate(() => {\n    if (!event.timestamp) {\n      // Ignore events that don't have timestamps (this shouldn't happen, more of a typing issue)\n      // Return true here so that we don't flush\n      return true;\n    }\n\n    // This should never reject\n    // eslint-disable-next-line @typescript-eslint/no-floating-promises\n    replay.throttledAddEvent({\n      type: EventType.Custom,\n      timestamp: event.timestamp * 1000,\n      data: {\n        tag: 'breadcrumb',\n        payload: {\n          timestamp: event.timestamp,\n          type: 'default',\n          category: 'sentry.feedback',\n          data: {\n            feedbackId: event.event_id,\n          },\n        },\n      },\n    } );\n\n    return false;\n  });\n}\n\n/**\n * Determine if event should be sampled (only applies in buffer mode).\n * When an event is captured by `handleGlobalEvent`, when in buffer mode\n * we determine if we want to sample the error or not.\n */\nfunction shouldSampleForBufferEvent(replay, event) {\n  if (replay.recordingMode !== 'buffer') {\n    return false;\n  }\n\n  // ignore this error because otherwise we could loop indefinitely with\n  // trying to capture replay and failing\n  if (event.message === UNABLE_TO_SEND_REPLAY) {\n    return false;\n  }\n\n  // Require the event to be an error event & to have an exception\n  if (!event.exception || event.type) {\n    return false;\n  }\n\n  return isSampled(replay.getOptions().errorSampleRate);\n}\n\n/**\n * Returns a listener to be added to `addEventProcessor(listener)`.\n */\nfunction handleGlobalEventListener(replay) {\n  return Object.assign(\n    (event, hint) => {\n      // Do nothing if replay has been disabled or paused\n      if (!replay.isEnabled() || replay.isPaused()) {\n        return event;\n      }\n\n      if (isReplayEvent(event)) {\n        // Replays have separate set of breadcrumbs, do not include breadcrumbs\n        // from core SDK\n        delete event.breadcrumbs;\n        return event;\n      }\n\n      // We only want to handle errors, transactions, and feedbacks, nothing else\n      if (!isErrorEvent(event) && !isTransactionEvent(event) && !isFeedbackEvent(event)) {\n        return event;\n      }\n\n      // Ensure we do not add replay_id if the session is expired\n      const isSessionActive = replay.checkAndHandleExpiredSession();\n      if (!isSessionActive) {\n        // prevent exceeding replay durations by removing the expired replayId from the DSC\n        resetReplayIdOnDynamicSamplingContext();\n        return event;\n      }\n\n      if (isFeedbackEvent(event)) {\n        // This should never reject\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\n        replay.flush();\n        event.contexts.feedback.replay_id = replay.getSessionId();\n        // Add a replay breadcrumb for this piece of feedback\n        addFeedbackBreadcrumb(replay, event);\n        return event;\n      }\n\n      // Unless `captureExceptions` is enabled, we want to ignore errors coming from rrweb\n      // As there can be a bunch of stuff going wrong in internals there, that we don't want to bubble up to users\n      if (isRrwebError(event, hint) && !replay.getOptions()._experiments.captureExceptions) {\n        DEBUG_BUILD && debug.log('Ignoring error from rrweb internals', event);\n        return null;\n      }\n\n      // When in buffer mode, we decide to sample here.\n      // Later, in `handleAfterSendEvent`, if the replayId is set, we know that we sampled\n      // And convert the buffer session to a full session\n      const isErrorEventSampled = shouldSampleForBufferEvent(replay, event);\n\n      // Tag errors if it has been sampled in buffer mode, or if it is session mode\n      // Only tag transactions if in session mode\n      const shouldTagReplayId = isErrorEventSampled || replay.recordingMode === 'session';\n\n      if (shouldTagReplayId) {\n        event.tags = { ...event.tags, replayId: replay.getSessionId() };\n      }\n\n      return event;\n    },\n    { id: 'Replay' },\n  );\n}\n\n/**\n * Create a \"span\" for each performance entry.\n */\nfunction createPerformanceSpans(\n  replay,\n  entries,\n) {\n  return entries.map(({ type, start, end, name, data }) => {\n    const response = replay.throttledAddEvent({\n      type: EventType.Custom,\n      timestamp: start,\n      data: {\n        tag: 'performanceSpan',\n        payload: {\n          op: type,\n          description: name,\n          startTimestamp: start,\n          endTimestamp: end,\n          data,\n        },\n      },\n    });\n\n    // If response is a string, it means its either THROTTLED or SKIPPED\n    return typeof response === 'string' ? Promise.resolve(null) : response;\n  });\n}\n\nfunction handleHistory(handlerData) {\n  const { from, to } = handlerData;\n\n  const now = Date.now() / 1000;\n\n  return {\n    type: 'navigation.push',\n    start: now,\n    end: now,\n    name: to,\n    data: {\n      previous: from,\n    },\n  };\n}\n\n/**\n * Returns a listener to be added to `addHistoryInstrumentationHandler(listener)`.\n */\nfunction handleHistorySpanListener(replay) {\n  return (handlerData) => {\n    if (!replay.isEnabled()) {\n      return;\n    }\n\n    const result = handleHistory(handlerData);\n\n    if (result === null) {\n      return;\n    }\n\n    // Need to collect visited URLs\n    replay.getContext().urls.push(result.name);\n    replay.triggerUserActivity();\n\n    replay.addUpdate(() => {\n      createPerformanceSpans(replay, [result]);\n      // Returning false to flush\n      return false;\n    });\n  };\n}\n\n/**\n * Check whether a given request URL should be filtered out. This is so we\n * don't log Sentry ingest requests.\n */\nfunction shouldFilterRequest(replay, url) {\n  // If we enabled the `traceInternals` experiment, we want to trace everything\n  if (DEBUG_BUILD && replay.getOptions()._experiments.traceInternals) {\n    return false;\n  }\n\n  return isSentryRequestUrl(url, getClient());\n}\n\n/** Add a performance entry breadcrumb */\nfunction addNetworkBreadcrumb(\n  replay,\n  result,\n) {\n  if (!replay.isEnabled()) {\n    return;\n  }\n\n  if (result === null) {\n    return;\n  }\n\n  if (shouldFilterRequest(replay, result.name)) {\n    return;\n  }\n\n  replay.addUpdate(() => {\n    createPerformanceSpans(replay, [result]);\n    // Returning true will cause `addUpdate` to not flush\n    // We do not want network requests to cause a flush. This will prevent\n    // recurring/polling requests from keeping the replay session alive.\n    return true;\n  });\n}\n\n/** Get the size of a body. */\nfunction getBodySize(body) {\n  if (!body) {\n    return undefined;\n  }\n\n  const textEncoder = new TextEncoder();\n\n  try {\n    if (typeof body === 'string') {\n      return textEncoder.encode(body).length;\n    }\n\n    if (body instanceof URLSearchParams) {\n      return textEncoder.encode(body.toString()).length;\n    }\n\n    if (body instanceof FormData) {\n      const formDataStr = serializeFormData(body);\n      return textEncoder.encode(formDataStr).length;\n    }\n\n    if (body instanceof Blob) {\n      return body.size;\n    }\n\n    if (body instanceof ArrayBuffer) {\n      return body.byteLength;\n    }\n\n    // Currently unhandled types: ArrayBufferView, ReadableStream\n  } catch {\n    // just return undefined\n  }\n\n  return undefined;\n}\n\n/** Convert a Content-Length header to number/undefined.  */\nfunction parseContentLengthHeader(header) {\n  if (!header) {\n    return undefined;\n  }\n\n  const size = parseInt(header, 10);\n  return isNaN(size) ? undefined : size;\n}\n\n/** Merge a warning into an existing network request/response. */\nfunction mergeWarning(\n  info,\n  warning,\n) {\n  if (!info) {\n    return {\n      headers: {},\n      size: undefined,\n      _meta: {\n        warnings: [warning],\n      },\n    };\n  }\n\n  const newMeta = { ...info._meta };\n  const existingWarnings = newMeta.warnings || [];\n  newMeta.warnings = [...existingWarnings, warning];\n\n  info._meta = newMeta;\n  return info;\n}\n\n/** Convert ReplayNetworkRequestData to a PerformanceEntry. */\nfunction makeNetworkReplayBreadcrumb(\n  type,\n  data,\n) {\n  if (!data) {\n    return null;\n  }\n\n  const { startTimestamp, endTimestamp, url, method, statusCode, request, response } = data;\n\n  const result = {\n    type,\n    start: startTimestamp / 1000,\n    end: endTimestamp / 1000,\n    name: url,\n    data: {\n      method,\n      statusCode,\n      request,\n      response,\n    },\n  };\n\n  return result;\n}\n\n/** Build the request or response part of a replay network breadcrumb that was skipped. */\nfunction buildSkippedNetworkRequestOrResponse(bodySize) {\n  return {\n    headers: {},\n    size: bodySize,\n    _meta: {\n      warnings: ['URL_SKIPPED'],\n    },\n  };\n}\n\n/** Build the request or response part of a replay network breadcrumb. */\nfunction buildNetworkRequestOrResponse(\n  headers,\n  bodySize,\n  body,\n) {\n  if (!bodySize && Object.keys(headers).length === 0) {\n    return undefined;\n  }\n\n  if (!bodySize) {\n    return {\n      headers,\n    };\n  }\n\n  if (!body) {\n    return {\n      headers,\n      size: bodySize,\n    };\n  }\n\n  const info = {\n    headers,\n    size: bodySize,\n  };\n\n  const { body: normalizedBody, warnings } = normalizeNetworkBody(body);\n  info.body = normalizedBody;\n  if (warnings?.length) {\n    info._meta = {\n      warnings,\n    };\n  }\n\n  return info;\n}\n\n/** Filter a set of headers */\nfunction getAllowedHeaders(headers, allowedHeaders) {\n  return Object.entries(headers).reduce((filteredHeaders, [key, value]) => {\n    const normalizedKey = key.toLowerCase();\n    // Avoid putting empty strings into the headers\n    if (allowedHeaders.includes(normalizedKey) && headers[key]) {\n      filteredHeaders[normalizedKey] = value;\n    }\n    return filteredHeaders;\n  }, {});\n}\n\nfunction normalizeNetworkBody(body)\n\n {\n  if (!body || typeof body !== 'string') {\n    return {\n      body,\n    };\n  }\n\n  const exceedsSizeLimit = body.length > NETWORK_BODY_MAX_SIZE;\n  const isProbablyJson = _strIsProbablyJson(body);\n\n  if (exceedsSizeLimit) {\n    const truncatedBody = body.slice(0, NETWORK_BODY_MAX_SIZE);\n\n    if (isProbablyJson) {\n      return {\n        body: truncatedBody,\n        warnings: ['MAYBE_JSON_TRUNCATED'],\n      };\n    }\n\n    return {\n      body: `${truncatedBody}…`,\n      warnings: ['TEXT_TRUNCATED'],\n    };\n  }\n\n  if (isProbablyJson) {\n    try {\n      const jsonBody = JSON.parse(body);\n      return {\n        body: jsonBody,\n      };\n    } catch {\n      // fall back to just send the body as string\n    }\n  }\n\n  return {\n    body,\n  };\n}\n\nfunction _strIsProbablyJson(str) {\n  const first = str[0];\n  const last = str[str.length - 1];\n\n  // Simple check: If this does not start & end with {} or [], it's not JSON\n  return (first === '[' && last === ']') || (first === '{' && last === '}');\n}\n\n/** Match an URL against a list of strings/Regex. */\nfunction urlMatches(url, urls) {\n  const fullUrl = getFullUrl(url);\n\n  return stringMatchesSomePattern(fullUrl, urls);\n}\n\n/** exported for tests */\nfunction getFullUrl(url, baseURI = WINDOW.document.baseURI) {\n  // Short circuit for common cases:\n  if (url.startsWith('http://') || url.startsWith('https://') || url.startsWith(WINDOW.location.origin)) {\n    return url;\n  }\n  const fixedUrl = new URL(url, baseURI);\n\n  // If these do not match, we are not dealing with a relative URL, so just return it\n  if (fixedUrl.origin !== new URL(baseURI).origin) {\n    return url;\n  }\n\n  const fullUrl = fixedUrl.href;\n\n  // Remove trailing slashes, if they don't match the original URL\n  if (!url.endsWith('/') && fullUrl.endsWith('/')) {\n    return fullUrl.slice(0, -1);\n  }\n\n  return fullUrl;\n}\n\n/**\n * Capture a fetch breadcrumb to a replay.\n * This adds additional data (where appropriate).\n */\nasync function captureFetchBreadcrumbToReplay(\n  breadcrumb,\n  hint,\n  options\n\n,\n) {\n  try {\n    const data = await _prepareFetchData(breadcrumb, hint, options);\n\n    // Create a replay performance entry from this breadcrumb\n    const result = makeNetworkReplayBreadcrumb('resource.fetch', data);\n    addNetworkBreadcrumb(options.replay, result);\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, 'Failed to capture fetch breadcrumb');\n  }\n}\n\n/**\n * Enrich a breadcrumb with additional data.\n * This has to be sync & mutate the given breadcrumb,\n * as the breadcrumb is afterwards consumed by other handlers.\n */\nfunction enrichFetchBreadcrumb(\n  breadcrumb,\n  hint,\n) {\n  const { input, response } = hint;\n\n  const body = input ? getFetchRequestArgBody(input) : undefined;\n  const reqSize = getBodySize(body);\n\n  const resSize = response ? parseContentLengthHeader(response.headers.get('content-length')) : undefined;\n\n  if (reqSize !== undefined) {\n    breadcrumb.data.request_body_size = reqSize;\n  }\n  if (resSize !== undefined) {\n    breadcrumb.data.response_body_size = resSize;\n  }\n}\n\nasync function _prepareFetchData(\n  breadcrumb,\n  hint,\n  options,\n) {\n  const now = Date.now();\n  const { startTimestamp = now, endTimestamp = now } = hint;\n\n  const {\n    url,\n    method,\n    status_code: statusCode = 0,\n    request_body_size: requestBodySize,\n    response_body_size: responseBodySize,\n  } = breadcrumb.data;\n\n  const captureDetails =\n    urlMatches(url, options.networkDetailAllowUrls) && !urlMatches(url, options.networkDetailDenyUrls);\n\n  const request = captureDetails\n    ? _getRequestInfo(options, hint.input, requestBodySize)\n    : buildSkippedNetworkRequestOrResponse(requestBodySize);\n  const response = await _getResponseInfo(captureDetails, options, hint.response, responseBodySize);\n\n  return {\n    startTimestamp,\n    endTimestamp,\n    url,\n    method,\n    statusCode,\n    request,\n    response,\n  };\n}\n\nfunction _getRequestInfo(\n  { networkCaptureBodies, networkRequestHeaders },\n  input,\n  requestBodySize,\n) {\n  const headers = input ? getRequestHeaders(input, networkRequestHeaders) : {};\n\n  if (!networkCaptureBodies) {\n    return buildNetworkRequestOrResponse(headers, requestBodySize, undefined);\n  }\n\n  // We only want to transmit string or string-like bodies\n  const requestBody = getFetchRequestArgBody(input);\n  const [bodyStr, warning] = getBodyString(requestBody, debug);\n  const data = buildNetworkRequestOrResponse(headers, requestBodySize, bodyStr);\n\n  if (warning) {\n    return mergeWarning(data, warning);\n  }\n\n  return data;\n}\n\n/** Exported only for tests. */\nasync function _getResponseInfo(\n  captureDetails,\n  {\n    networkCaptureBodies,\n    networkResponseHeaders,\n  },\n  response,\n  responseBodySize,\n) {\n  if (!captureDetails && responseBodySize !== undefined) {\n    return buildSkippedNetworkRequestOrResponse(responseBodySize);\n  }\n\n  const headers = response ? getAllHeaders(response.headers, networkResponseHeaders) : {};\n\n  if (!response || (!networkCaptureBodies && responseBodySize !== undefined)) {\n    return buildNetworkRequestOrResponse(headers, responseBodySize, undefined);\n  }\n\n  const [bodyText, warning] = await _parseFetchResponseBody(response);\n  const result = getResponseData(bodyText, {\n    networkCaptureBodies,\n\n    responseBodySize,\n    captureDetails,\n    headers,\n  });\n\n  if (warning) {\n    return mergeWarning(result, warning);\n  }\n\n  return result;\n}\n\nfunction getResponseData(\n  bodyText,\n  {\n    networkCaptureBodies,\n    responseBodySize,\n    captureDetails,\n    headers,\n  }\n\n,\n) {\n  try {\n    const size = bodyText?.length && responseBodySize === undefined ? getBodySize(bodyText) : responseBodySize;\n\n    if (!captureDetails) {\n      return buildSkippedNetworkRequestOrResponse(size);\n    }\n\n    if (networkCaptureBodies) {\n      return buildNetworkRequestOrResponse(headers, size, bodyText);\n    }\n\n    return buildNetworkRequestOrResponse(headers, size, undefined);\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, 'Failed to serialize response body');\n    // fallback\n    return buildNetworkRequestOrResponse(headers, responseBodySize, undefined);\n  }\n}\n\nasync function _parseFetchResponseBody(response) {\n  const res = _tryCloneResponse(response);\n\n  if (!res) {\n    return [undefined, 'BODY_PARSE_ERROR'];\n  }\n\n  try {\n    const text = await _tryGetResponseText(res);\n    return [text];\n  } catch (error) {\n    if (error instanceof Error && error.message.indexOf('Timeout') > -1) {\n      DEBUG_BUILD && debug.warn('Parsing text body from response timed out');\n      return [undefined, 'BODY_PARSE_TIMEOUT'];\n    }\n\n    DEBUG_BUILD && debug.exception(error, 'Failed to get text body from response');\n    return [undefined, 'BODY_PARSE_ERROR'];\n  }\n}\n\nfunction getAllHeaders(headers, allowedHeaders) {\n  const allHeaders = {};\n\n  allowedHeaders.forEach(header => {\n    if (headers.get(header)) {\n      allHeaders[header] = headers.get(header) ;\n    }\n  });\n\n  return allHeaders;\n}\n\nfunction getRequestHeaders(fetchArgs, allowedHeaders) {\n  if (fetchArgs.length === 1 && typeof fetchArgs[0] !== 'string') {\n    return getHeadersFromOptions(fetchArgs[0] , allowedHeaders);\n  }\n\n  if (fetchArgs.length === 2) {\n    return getHeadersFromOptions(fetchArgs[1] , allowedHeaders);\n  }\n\n  return {};\n}\n\nfunction getHeadersFromOptions(\n  input,\n  allowedHeaders,\n) {\n  if (!input) {\n    return {};\n  }\n\n  const headers = input.headers;\n\n  if (!headers) {\n    return {};\n  }\n\n  if (headers instanceof Headers) {\n    return getAllHeaders(headers, allowedHeaders);\n  }\n\n  // We do not support this, as it is not really documented (anymore?)\n  if (Array.isArray(headers)) {\n    return {};\n  }\n\n  return getAllowedHeaders(headers, allowedHeaders);\n}\n\nfunction _tryCloneResponse(response) {\n  try {\n    // We have to clone this, as the body can only be read once\n    return response.clone();\n  } catch (error) {\n    // this can throw if the response was already consumed before\n    DEBUG_BUILD && debug.exception(error, 'Failed to clone response body');\n  }\n}\n\n/**\n * Get the response body of a fetch request, or timeout after 500ms.\n * Fetch can return a streaming body, that may not resolve (or not for a long time).\n * If that happens, we rather abort after a short time than keep waiting for this.\n */\nfunction _tryGetResponseText(response) {\n  return new Promise((resolve, reject) => {\n    const timeout = setTimeout$3(() => reject(new Error('Timeout while trying to read response body')), 500);\n\n    _getResponseText(response)\n      .then(\n        txt => resolve(txt),\n        reason => reject(reason),\n      )\n      .finally(() => clearTimeout(timeout));\n  });\n}\n\nasync function _getResponseText(response) {\n  // Force this to be a promise, just to be safe\n  // eslint-disable-next-line no-return-await\n  return await response.text();\n}\n\n/**\n * Capture an XHR breadcrumb to a replay.\n * This adds additional data (where appropriate).\n */\nasync function captureXhrBreadcrumbToReplay(\n  breadcrumb,\n  hint,\n  options,\n) {\n  try {\n    const data = _prepareXhrData(breadcrumb, hint, options);\n\n    // Create a replay performance entry from this breadcrumb\n    const result = makeNetworkReplayBreadcrumb('resource.xhr', data);\n    addNetworkBreadcrumb(options.replay, result);\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, 'Failed to capture xhr breadcrumb');\n  }\n}\n\n/**\n * Enrich a breadcrumb with additional data.\n * This has to be sync & mutate the given breadcrumb,\n * as the breadcrumb is afterwards consumed by other handlers.\n */\nfunction enrichXhrBreadcrumb(\n  breadcrumb,\n  hint,\n) {\n  const { xhr, input } = hint;\n\n  if (!xhr) {\n    return;\n  }\n\n  const reqSize = getBodySize(input);\n  const resSize = xhr.getResponseHeader('content-length')\n    ? parseContentLengthHeader(xhr.getResponseHeader('content-length'))\n    : _getBodySize(xhr.response, xhr.responseType);\n\n  if (reqSize !== undefined) {\n    breadcrumb.data.request_body_size = reqSize;\n  }\n  if (resSize !== undefined) {\n    breadcrumb.data.response_body_size = resSize;\n  }\n}\n\nfunction _prepareXhrData(\n  breadcrumb,\n  hint,\n  options,\n) {\n  const now = Date.now();\n  const { startTimestamp = now, endTimestamp = now, input, xhr } = hint;\n\n  const {\n    url,\n    method,\n    status_code: statusCode = 0,\n    request_body_size: requestBodySize,\n    response_body_size: responseBodySize,\n  } = breadcrumb.data;\n\n  if (!url) {\n    return null;\n  }\n\n  if (!xhr || !urlMatches(url, options.networkDetailAllowUrls) || urlMatches(url, options.networkDetailDenyUrls)) {\n    const request = buildSkippedNetworkRequestOrResponse(requestBodySize);\n    const response = buildSkippedNetworkRequestOrResponse(responseBodySize);\n    return {\n      startTimestamp,\n      endTimestamp,\n      url,\n      method,\n      statusCode,\n      request,\n      response,\n    };\n  }\n\n  // ---- This additional network data below is only captured for URLs defined in `networkDetailAllowUrls` ----\n\n  const xhrInfo = xhr[SENTRY_XHR_DATA_KEY];\n  const networkRequestHeaders = xhrInfo\n    ? getAllowedHeaders(xhrInfo.request_headers, options.networkRequestHeaders)\n    : {};\n  const networkResponseHeaders = getAllowedHeaders(getResponseHeaders(xhr), options.networkResponseHeaders);\n\n  const [requestBody, requestWarning] = options.networkCaptureBodies ? getBodyString(input, debug) : [undefined];\n  const [responseBody, responseWarning] = options.networkCaptureBodies ? _getXhrResponseBody(xhr) : [undefined];\n\n  const request = buildNetworkRequestOrResponse(networkRequestHeaders, requestBodySize, requestBody);\n  const response = buildNetworkRequestOrResponse(networkResponseHeaders, responseBodySize, responseBody);\n\n  return {\n    startTimestamp,\n    endTimestamp,\n    url,\n    method,\n    statusCode,\n    request: requestWarning ? mergeWarning(request, requestWarning) : request,\n    response: responseWarning ? mergeWarning(response, responseWarning) : response,\n  };\n}\n\nfunction getResponseHeaders(xhr) {\n  const headers = xhr.getAllResponseHeaders();\n\n  if (!headers) {\n    return {};\n  }\n\n  return headers.split('\\r\\n').reduce((acc, line) => {\n    const [key, value] = line.split(': ') ;\n    if (value) {\n      acc[key.toLowerCase()] = value;\n    }\n    return acc;\n  }, {});\n}\n\nfunction _getXhrResponseBody(xhr) {\n  // We collect errors that happen, but only log them if we can't get any response body\n  const errors = [];\n\n  try {\n    return [xhr.responseText];\n  } catch (e) {\n    errors.push(e);\n  }\n\n  // Try to manually parse the response body, if responseText fails\n  try {\n    return _parseXhrResponse(xhr.response, xhr.responseType);\n  } catch (e) {\n    errors.push(e);\n  }\n\n  DEBUG_BUILD && debug.warn('Failed to get xhr response body', ...errors);\n\n  return [undefined];\n}\n\n/**\n * Get the string representation of the XHR response.\n * Based on MDN, these are the possible types of the response:\n * string\n * ArrayBuffer\n * Blob\n * Document\n * POJO\n *\n * Exported only for tests.\n */\nfunction _parseXhrResponse(\n  body,\n  responseType,\n) {\n  try {\n    if (typeof body === 'string') {\n      return [body];\n    }\n\n    if (body instanceof Document) {\n      return [body.body.outerHTML];\n    }\n\n    if (responseType === 'json' && body && typeof body === 'object') {\n      return [JSON.stringify(body)];\n    }\n\n    if (!body) {\n      return [undefined];\n    }\n  } catch (error) {\n    DEBUG_BUILD && debug.exception(error, 'Failed to serialize body', body);\n    return [undefined, 'BODY_PARSE_ERROR'];\n  }\n\n  DEBUG_BUILD && debug.log('Skipping network body because of body type', body);\n\n  return [undefined, 'UNPARSEABLE_BODY_TYPE'];\n}\n\nfunction _getBodySize(\n  body,\n  responseType,\n) {\n  try {\n    const bodyStr = responseType === 'json' && body && typeof body === 'object' ? JSON.stringify(body) : body;\n    return getBodySize(bodyStr);\n  } catch {\n    return undefined;\n  }\n}\n\n/**\n * This method does two things:\n * - It enriches the regular XHR/fetch breadcrumbs with request/response size data\n * - It captures the XHR/fetch breadcrumbs to the replay\n *   (enriching it with further data that is _not_ added to the regular breadcrumbs)\n */\nfunction handleNetworkBreadcrumbs(replay) {\n  const client = getClient();\n\n  try {\n    const {\n      networkDetailAllowUrls,\n      networkDetailDenyUrls,\n      networkCaptureBodies,\n      networkRequestHeaders,\n      networkResponseHeaders,\n    } = replay.getOptions();\n\n    const options = {\n      replay,\n      networkDetailAllowUrls,\n      networkDetailDenyUrls,\n      networkCaptureBodies,\n      networkRequestHeaders,\n      networkResponseHeaders,\n    };\n\n    if (client) {\n      client.on('beforeAddBreadcrumb', (breadcrumb, hint) => beforeAddNetworkBreadcrumb(options, breadcrumb, hint));\n    }\n  } catch {\n    // Do nothing\n  }\n}\n\n/** just exported for tests */\nfunction beforeAddNetworkBreadcrumb(\n  options,\n  breadcrumb,\n  hint,\n) {\n  if (!breadcrumb.data) {\n    return;\n  }\n\n  try {\n    if (_isXhrBreadcrumb(breadcrumb) && _isXhrHint(hint)) {\n      // This has to be sync, as we need to ensure the breadcrumb is enriched in the same tick\n      // Because the hook runs synchronously, and the breadcrumb is afterwards passed on\n      // So any async mutations to it will not be reflected in the final breadcrumb\n      enrichXhrBreadcrumb(breadcrumb, hint);\n\n      // This call should not reject\n      // eslint-disable-next-line @typescript-eslint/no-floating-promises\n      captureXhrBreadcrumbToReplay(breadcrumb, hint, options);\n    }\n\n    if (_isFetchBreadcrumb(breadcrumb) && _isFetchHint(hint)) {\n      // This has to be sync, as we need to ensure the breadcrumb is enriched in the same tick\n      // Because the hook runs synchronously, and the breadcrumb is afterwards passed on\n      // So any async mutations to it will not be reflected in the final breadcrumb\n      enrichFetchBreadcrumb(breadcrumb, hint);\n\n      // This call should not reject\n      // eslint-disable-next-line @typescript-eslint/no-floating-promises\n      captureFetchBreadcrumbToReplay(breadcrumb, hint, options);\n    }\n  } catch (e) {\n    DEBUG_BUILD && debug.exception(e, 'Error when enriching network breadcrumb');\n  }\n}\n\nfunction _isXhrBreadcrumb(breadcrumb) {\n  return breadcrumb.category === 'xhr';\n}\n\nfunction _isFetchBreadcrumb(breadcrumb) {\n  return breadcrumb.category === 'fetch';\n}\n\nfunction _isXhrHint(hint) {\n  return hint?.xhr;\n}\n\nfunction _isFetchHint(hint) {\n  return hint?.response;\n}\n\n/**\n * Add global listeners that cannot be removed.\n */\nfunction addGlobalListeners(replay) {\n  // Listeners from core SDK //\n  const client = getClient();\n\n  addClickKeypressInstrumentationHandler(handleDomListener(replay));\n  addHistoryInstrumentationHandler(handleHistorySpanListener(replay));\n  handleBreadcrumbs(replay);\n  handleNetworkBreadcrumbs(replay);\n\n  // Tag all (non replay) events that get sent to Sentry with the current\n  // replay ID so that we can reference them later in the UI\n  const eventProcessor = handleGlobalEventListener(replay);\n  addEventProcessor(eventProcessor);\n\n  // If a custom client has no hooks yet, we continue to use the \"old\" implementation\n  if (client) {\n    client.on('beforeSendEvent', handleBeforeSendEvent(replay));\n    client.on('afterSendEvent', handleAfterSendEvent(replay));\n    client.on('createDsc', (dsc) => {\n      const replayId = replay.getSessionId();\n      // We do not want to set the DSC when in buffer mode, as that means the replay has not been sent (yet)\n      if (replayId && replay.isEnabled() && replay.recordingMode === 'session') {\n        // Ensure to check that the session is still active - it could have expired in the meanwhile\n        const isSessionActive = replay.checkAndHandleExpiredSession();\n        if (isSessionActive) {\n          dsc.replay_id = replayId;\n        }\n      }\n    });\n\n    client.on('spanStart', span => {\n      replay.lastActiveSpan = span;\n    });\n\n    // We may be missing the initial spanStart due to timing issues,\n    // so we capture it on finish again.\n    client.on('spanEnd', span => {\n      replay.lastActiveSpan = span;\n    });\n\n    // We want to attach the replay id to the feedback event\n    client.on('beforeSendFeedback', async (feedbackEvent, options) => {\n      const replayId = replay.getSessionId();\n      if (options?.includeReplay && replay.isEnabled() && replayId && feedbackEvent.contexts?.feedback) {\n        // In case the feedback is sent via API and not through our widget, we want to flush replay\n        if (feedbackEvent.contexts.feedback.source === 'api') {\n          await replay.sendBufferedReplayOrFlush();\n        }\n        feedbackEvent.contexts.feedback.replay_id = replayId;\n      }\n    });\n\n    client.on('openFeedbackWidget', async () => {\n      await replay.sendBufferedReplayOrFlush();\n    });\n  }\n}\n\n/**\n * Create a \"span\" for the total amount of memory being used by JS objects\n * (including v8 internal objects).\n */\nasync function addMemoryEntry(replay) {\n  // window.performance.memory is a non-standard API and doesn't work on all browsers, so we try-catch this\n  try {\n    return Promise.all(\n      createPerformanceSpans(replay, [\n        // @ts-expect-error memory doesn't exist on type Performance as the API is non-standard (we check that it exists above)\n        createMemoryEntry(WINDOW.performance.memory),\n      ]),\n    );\n  } catch {\n    // Do nothing\n    return [];\n  }\n}\n\nfunction createMemoryEntry(memoryEntry) {\n  const { jsHeapSizeLimit, totalJSHeapSize, usedJSHeapSize } = memoryEntry;\n  // we don't want to use `getAbsoluteTime` because it adds the event time to the\n  // time origin, so we get the current timestamp instead\n  const time = Date.now() / 1000;\n  return {\n    type: 'memory',\n    name: 'memory',\n    start: time,\n    end: time,\n    data: {\n      memory: {\n        jsHeapSizeLimit,\n        totalJSHeapSize,\n        usedJSHeapSize,\n      },\n    },\n  };\n}\n\n/**\n * Heavily simplified debounce function based on lodash.debounce.\n *\n * This function takes a callback function (@param fun) and delays its invocation\n * by @param wait milliseconds. Optionally, a maxWait can be specified in @param options,\n * which ensures that the callback is invoked at least once after the specified max. wait time.\n *\n * @param func the function whose invocation is to be debounced\n * @param wait the minimum time until the function is invoked after it was called once\n * @param options the options object, which can contain the `maxWait` property\n *\n * @returns the debounced version of the function, which needs to be called at least once to start the\n *          debouncing process. Subsequent calls will reset the debouncing timer and, in case @paramfunc\n *          was already invoked in the meantime, return @param func's return value.\n *          The debounced function has two additional properties:\n *          - `flush`: Invokes the debounced function immediately and returns its return value\n *          - `cancel`: Cancels the debouncing process and resets the debouncing timer\n */\nfunction debounce(func, wait, options) {\n  return debounce$1(func, wait, {\n    ...options,\n    // @ts-expect-error - Not quite sure why these types do not match, but this is fine\n    setTimeoutImpl: setTimeout$3,\n  });\n}\n\nconst NAVIGATOR = GLOBAL_OBJ.navigator;\n\n/**\n *  Disable sampling mousemove events on iOS browsers as this can cause blocking the main thread\n *  https://github.com/getsentry/sentry-javascript/issues/14534\n */\nfunction getRecordingSamplingOptions() {\n  if (\n    /iPhone|iPad|iPod/i.test(NAVIGATOR?.userAgent ?? '') ||\n    (/Macintosh/i.test(NAVIGATOR?.userAgent ?? '') && NAVIGATOR?.maxTouchPoints && NAVIGATOR?.maxTouchPoints > 1)\n  ) {\n    return {\n      sampling: {\n        mousemove: false,\n      },\n    };\n  }\n\n  return {};\n}\n\n/**\n * Handler for recording events.\n *\n * Adds to event buffer, and has varying flushing behaviors if the event was a checkout.\n */\nfunction getHandleRecordingEmit(replay) {\n  let hadFirstEvent = false;\n\n  return (event, _isCheckout) => {\n    // If this is false, it means session is expired, create and a new session and wait for checkout\n    if (!replay.checkAndHandleExpiredSession()) {\n      DEBUG_BUILD && debug.warn('Received replay event after session expired.');\n\n      return;\n    }\n\n    // `_isCheckout` is only set when the checkout is due to `checkoutEveryNms`\n    // We also want to treat the first event as a checkout, so we handle this specifically here\n    const isCheckout = _isCheckout || !hadFirstEvent;\n    hadFirstEvent = true;\n\n    if (replay.clickDetector) {\n      updateClickDetectorForRecordingEvent(replay.clickDetector, event);\n    }\n\n    // The handler returns `true` if we do not want to trigger debounced flush, `false` if we want to debounce flush.\n    replay.addUpdate(() => {\n      // The session is always started immediately on pageload/init, but for\n      // error-only replays, it should reflect the most recent checkout\n      // when an error occurs. Clear any state that happens before this current\n      // checkout. This needs to happen before `addEvent()` which updates state\n      // dependent on this reset.\n      if (replay.recordingMode === 'buffer' && isCheckout) {\n        replay.setInitialState();\n      }\n\n      // If the event is not added (e.g. due to being paused, disabled, or out of the max replay duration),\n      // Skip all further steps\n      if (!addEventSync(replay, event, isCheckout)) {\n        // Return true to skip scheduling a debounced flush\n        return true;\n      }\n\n      // Different behavior for full snapshots (type=2), ignore other event types\n      // See https://github.com/rrweb-io/rrweb/blob/d8f9290ca496712aa1e7d472549480c4e7876594/packages/rrweb/src/types.ts#L16\n      if (!isCheckout) {\n        return false;\n      }\n\n      const session = replay.session;\n\n      // Additionally, create a meta event that will capture certain SDK settings.\n      // In order to handle buffer mode, this needs to either be done when we\n      // receive checkout events or at flush time. We have an experimental mode\n      // to perform multiple checkouts a session (the idea is to improve\n      // seeking during playback), so also only include if segmentId is 0\n      // (handled in `addSettingsEvent`).\n      //\n      // `isCheckout` is always true, but want to be explicit that it should\n      // only be added for checkouts\n      addSettingsEvent(replay, isCheckout);\n\n      // When in buffer mode, make sure we adjust the session started date to the current earliest event of the buffer\n      // this should usually be the timestamp of the checkout event, but to be safe...\n      if (replay.recordingMode === 'buffer' && session && replay.eventBuffer) {\n        const earliestEvent = replay.eventBuffer.getEarliestTimestamp();\n        if (earliestEvent) {\n          DEBUG_BUILD &&\n            debug.log(`Updating session start time to earliest event in buffer to ${new Date(earliestEvent)}`);\n\n          session.started = earliestEvent;\n\n          if (replay.getOptions().stickySession) {\n            saveSession(session);\n          }\n        }\n      }\n\n      // If there is a previousSessionId after a full snapshot occurs, then\n      // the replay session was started due to session expiration. The new session\n      // is started before triggering a new checkout and contains the id\n      // of the previous session. Do not immediately flush in this case\n      // to avoid capturing only the checkout and instead the replay will\n      // be captured if they perform any follow-up actions.\n      if (session?.previousSessionId) {\n        return true;\n      }\n\n      if (replay.recordingMode === 'session') {\n        // If the full snapshot is due to an initial load, we will not have\n        // a previous session ID. In this case, we want to buffer events\n        // for a set amount of time before flushing. This can help avoid\n        // capturing replays of users that immediately close the window.\n\n        // This should never reject\n        // eslint-disable-next-line @typescript-eslint/no-floating-promises\n        void replay.flush();\n      }\n\n      return true;\n    });\n  };\n}\n\n/**\n * Exported for tests\n */\nfunction createOptionsEvent(replay) {\n  const options = replay.getOptions();\n  return {\n    type: EventType.Custom,\n    timestamp: Date.now(),\n    data: {\n      tag: 'options',\n      payload: {\n        shouldRecordCanvas: replay.isRecordingCanvas(),\n        sessionSampleRate: options.sessionSampleRate,\n        errorSampleRate: options.errorSampleRate,\n        useCompressionOption: options.useCompression,\n        blockAllMedia: options.blockAllMedia,\n        maskAllText: options.maskAllText,\n        maskAllInputs: options.maskAllInputs,\n        useCompression: replay.eventBuffer ? replay.eventBuffer.type === 'worker' : false,\n        networkDetailHasUrls: options.networkDetailAllowUrls.length > 0,\n        networkCaptureBodies: options.networkCaptureBodies,\n        networkRequestHasHeaders: options.networkRequestHeaders.length > 0,\n        networkResponseHasHeaders: options.networkResponseHeaders.length > 0,\n      },\n    },\n  };\n}\n\n/**\n * Add a \"meta\" event that contains a simplified view on current configuration\n * options. This should only be included on the first segment of a recording.\n */\nfunction addSettingsEvent(replay, isCheckout) {\n  // Only need to add this event when sending the first segment\n  if (!isCheckout || !replay.session || replay.session.segmentId !== 0) {\n    return;\n  }\n\n  addEventSync(replay, createOptionsEvent(replay), false);\n}\n\n/**\n * Vendored in from @sentry-internal/rrweb.\n *\n * This is a copy of the function from rrweb, it is not nicely exported there.\n */\nfunction closestElementOfNode(node) {\n  if (!node) {\n    return null;\n  }\n\n  // Catch access to node properties to avoid Firefox \"permission denied\" errors\n  try {\n    const el = node.nodeType === node.ELEMENT_NODE ? (node ) : node.parentElement;\n    return el;\n  } catch {\n    return null;\n  }\n}\n\n/**\n * Create a replay envelope ready to be sent.\n * This includes both the replay event, as well as the recording data.\n */\nfunction createReplayEnvelope(\n  replayEvent,\n  recordingData,\n  dsn,\n  tunnel,\n) {\n  return createEnvelope(\n    createEventEnvelopeHeaders(replayEvent, getSdkMetadataForEnvelopeHeader(replayEvent), tunnel, dsn),\n    [\n      [{ type: 'replay_event' }, replayEvent],\n      [\n        {\n          type: 'replay_recording',\n          // If string then we need to encode to UTF8, otherwise will have\n          // wrong size. TextEncoder has similar browser support to\n          // MutationObserver, although it does not accept IE11.\n          length:\n            typeof recordingData === 'string' ? new TextEncoder().encode(recordingData).length : recordingData.length,\n        },\n        recordingData,\n      ],\n    ],\n  );\n}\n\n/**\n * Prepare the recording data ready to be sent.\n */\nfunction prepareRecordingData({\n  recordingData,\n  headers,\n}\n\n) {\n  let payloadWithSequence;\n\n  // XXX: newline is needed to separate sequence id from events\n  const replayHeaders = `${JSON.stringify(headers)}\n`;\n\n  if (typeof recordingData === 'string') {\n    payloadWithSequence = `${replayHeaders}${recordingData}`;\n  } else {\n    const enc = new TextEncoder();\n    // XXX: newline is needed to separate sequence id from events\n    const sequence = enc.encode(replayHeaders);\n    // Merge the two Uint8Arrays\n    payloadWithSequence = new Uint8Array(sequence.length + recordingData.length);\n    payloadWithSequence.set(sequence);\n    payloadWithSequence.set(recordingData, sequence.length);\n  }\n\n  return payloadWithSequence;\n}\n\n/**\n * Prepare a replay event & enrich it with the SDK metadata.\n */\nasync function prepareReplayEvent({\n  client,\n  scope,\n  replayId: event_id,\n  event,\n}\n\n) {\n  const integrations =\n    typeof client['_integrations'] === 'object' &&\n    client['_integrations'] !== null &&\n    !Array.isArray(client['_integrations'])\n      ? Object.keys(client['_integrations'])\n      : undefined;\n\n  const eventHint = { event_id, integrations };\n\n  client.emit('preprocessEvent', event, eventHint);\n\n  const preparedEvent = (await prepareEvent(\n    client.getOptions(),\n    event,\n    eventHint,\n    scope,\n    client,\n    getIsolationScope(),\n  )) ;\n\n  // If e.g. a global event processor returned null\n  if (!preparedEvent) {\n    return null;\n  }\n\n  client.emit('postprocessEvent', preparedEvent, eventHint);\n\n  // This normally happens in browser client \"_prepareEvent\"\n  // but since we do not use this private method from the client, but rather the plain import\n  // we need to do this manually.\n  preparedEvent.platform = preparedEvent.platform || 'javascript';\n\n  // extract the SDK name because `client._prepareEvent` doesn't add it to the event\n  const metadata = client.getSdkMetadata();\n  const { name, version, settings } = metadata?.sdk || {};\n\n  preparedEvent.sdk = {\n    ...preparedEvent.sdk,\n    name: name || 'sentry.javascript.unknown',\n    version: version || '0.0.0',\n    settings,\n  };\n\n  return preparedEvent;\n}\n\n/**\n * Send replay attachment using `fetch()`\n */\nasync function sendReplayRequest({\n  recordingData,\n  replayId,\n  segmentId: segment_id,\n  eventContext,\n  timestamp,\n  session,\n}) {\n  const preparedRecordingData = prepareRecordingData({\n    recordingData,\n    headers: {\n      segment_id,\n    },\n  });\n\n  const { urls, errorIds, traceIds, initialTimestamp } = eventContext;\n\n  const client = getClient();\n  const scope = getCurrentScope();\n  const transport = client?.getTransport();\n  const dsn = client?.getDsn();\n\n  if (!client || !transport || !dsn || !session.sampled) {\n    return resolvedSyncPromise({});\n  }\n\n  const baseEvent = {\n    type: REPLAY_EVENT_NAME,\n    replay_start_timestamp: initialTimestamp / 1000,\n    timestamp: timestamp / 1000,\n    error_ids: errorIds,\n    trace_ids: traceIds,\n    urls,\n    replay_id: replayId,\n    segment_id,\n    replay_type: session.sampled,\n  };\n\n  const replayEvent = await prepareReplayEvent({ scope, client, replayId, event: baseEvent });\n\n  if (!replayEvent) {\n    // Taken from baseclient's `_processEvent` method, where this is handled for errors/transactions\n    client.recordDroppedEvent('event_processor', 'replay');\n    DEBUG_BUILD && debug.log('An event processor returned `null`, will not send event.');\n    return resolvedSyncPromise({});\n  }\n\n  /*\n  For reference, the fully built event looks something like this:\n  {\n      \"type\": \"replay_event\",\n      \"timestamp\": 1670837008.634,\n      \"error_ids\": [\n          \"errorId\"\n      ],\n      \"trace_ids\": [\n          \"traceId\"\n      ],\n      \"urls\": [\n          \"https://example.com\"\n      ],\n      \"replay_id\": \"eventId\",\n      \"segment_id\": 3,\n      \"replay_type\": \"error\",\n      \"platform\": \"javascript\",\n      \"event_id\": \"eventId\",\n      \"environment\": \"production\",\n      \"sdk\": {\n          \"integrations\": [\n              \"BrowserTracing\",\n              \"Replay\"\n          ],\n          \"name\": \"sentry.javascript.browser\",\n          \"version\": \"7.25.0\"\n      },\n      \"sdkProcessingMetadata\": {},\n      \"contexts\": {\n      },\n  }\n  */\n\n  // Prevent this data (which, if it exists, was used in earlier steps in the processing pipeline) from being sent to\n  // sentry. (Note: Our use of this property comes and goes with whatever we might be debugging, whatever hacks we may\n  // have temporarily added, etc. Even if we don't happen to be using it at some point in the future, let's not get rid\n  // of this `delete`, lest we miss putting it back in the next time the property is in use.)\n  delete replayEvent.sdkProcessingMetadata;\n\n  const envelope = createReplayEnvelope(replayEvent, preparedRecordingData, dsn, client.getOptions().tunnel);\n\n  let response;\n\n  try {\n    response = await transport.send(envelope);\n  } catch (err) {\n    const error = new Error(UNABLE_TO_SEND_REPLAY);\n\n    try {\n      // In case browsers don't allow this property to be writable\n      // @ts-expect-error This needs lib es2022 and newer\n      error.cause = err;\n    } catch {\n      // nothing to do\n    }\n    throw error;\n  }\n\n  // If the status code is invalid, we want to immediately stop & not retry\n  if (typeof response.statusCode === 'number' && (response.statusCode < 200 || response.statusCode >= 300)) {\n    throw new TransportStatusCodeError(response.statusCode);\n  }\n\n  const rateLimits = updateRateLimits({}, response);\n  if (isRateLimited(rateLimits, 'replay')) {\n    throw new RateLimitError(rateLimits);\n  }\n\n  return response;\n}\n\n/**\n * This error indicates that the transport returned an invalid status code.\n */\nclass TransportStatusCodeError extends Error {\n   constructor(statusCode) {\n    super(`Transport returned status code ${statusCode}`);\n  }\n}\n\n/**\n * This error indicates that we hit a rate limit API error.\n */\nclass RateLimitError extends Error {\n\n   constructor(rateLimits) {\n    super('Rate limit hit');\n    this.rateLimits = rateLimits;\n  }\n}\n\n/**\n * Finalize and send the current replay event to Sentry\n */\nasync function sendReplay(\n  replayData,\n  retryConfig = {\n    count: 0,\n    interval: RETRY_BASE_INTERVAL,\n  },\n) {\n  const { recordingData, onError } = replayData;\n\n  // short circuit if there's no events to upload (this shouldn't happen as _runFlush makes this check)\n  if (!recordingData.length) {\n    return;\n  }\n\n  try {\n    await sendReplayRequest(replayData);\n    return true;\n  } catch (err) {\n    if (err instanceof TransportStatusCodeError || err instanceof RateLimitError) {\n      throw err;\n    }\n\n    // Capture error for every failed replay\n    setContext('Replays', {\n      _retryCount: retryConfig.count,\n    });\n\n    if (onError) {\n      onError(err);\n    }\n\n    // If an error happened here, it's likely that uploading the attachment\n    // failed, we'll can retry with the same events payload\n    if (retryConfig.count >= RETRY_MAX_COUNT) {\n      const error = new Error(`${UNABLE_TO_SEND_REPLAY} - max retries exceeded`);\n\n      try {\n        // In case browsers don't allow this property to be writable\n        // @ts-expect-error This needs lib es2022 and newer\n        error.cause = err;\n      } catch {\n        // nothing to do\n      }\n\n      throw error;\n    }\n\n    // will retry in intervals of 5, 10, 30\n    retryConfig.interval *= ++retryConfig.count;\n\n    return new Promise((resolve, reject) => {\n      setTimeout$3(async () => {\n        try {\n          await sendReplay(replayData, retryConfig);\n          resolve(true);\n        } catch (err) {\n          reject(err);\n        }\n      }, retryConfig.interval);\n    });\n  }\n}\n\nconst THROTTLED = '__THROTTLED';\nconst SKIPPED = '__SKIPPED';\n\n/**\n * Create a throttled function off a given function.\n * When calling the throttled function, it will call the original function only\n * if it hasn't been called more than `maxCount` times in the last `durationSeconds`.\n *\n * Returns `THROTTLED` if throttled for the first time, after that `SKIPPED`,\n * or else the return value of the original function.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction throttle(\n  fn,\n  maxCount,\n  durationSeconds,\n) {\n  const counter = new Map();\n\n  const _cleanup = (now) => {\n    const threshold = now - durationSeconds;\n    counter.forEach((_value, key) => {\n      if (key < threshold) {\n        counter.delete(key);\n      }\n    });\n  };\n\n  const _getTotalCount = () => {\n    return [...counter.values()].reduce((a, b) => a + b, 0);\n  };\n\n  let isThrottled = false;\n\n  return (...rest) => {\n    // Date in second-precision, which we use as basis for the throttling\n    const now = Math.floor(Date.now() / 1000);\n\n    // First, make sure to delete any old entries\n    _cleanup(now);\n\n    // If already over limit, do nothing\n    if (_getTotalCount() >= maxCount) {\n      const wasThrottled = isThrottled;\n      isThrottled = true;\n      return wasThrottled ? SKIPPED : THROTTLED;\n    }\n\n    isThrottled = false;\n    const count = counter.get(now) || 0;\n    counter.set(now, count + 1);\n\n    return fn(...rest);\n  };\n}\n\n/**\n * The main replay container class, which holds all the state and methods for recording and sending replays.\n */\nclass ReplayContainer  {\n\n  /**\n   * Recording can happen in one of two modes:\n   *   - session: Record the whole session, sending it continuously\n   *   - buffer: Always keep the last 60s of recording, requires:\n   *     - having replaysOnErrorSampleRate > 0 to capture replay when an error occurs\n   *     - or calling `flush()` to send the replay\n   */\n\n  /**\n   * The current or last active span.\n   * This is only available when performance is enabled.\n   */\n\n  /**\n   * These are here so we can overwrite them in tests etc.\n   * @hidden\n   */\n\n  /** The replay has to be manually started, because no sample rate (neither session or error) was provided. */\n\n  /**\n   * Options to pass to `rrweb.record()`\n   */\n\n  /**\n   * Timestamp of the last user activity. This lives across sessions.\n   */\n\n  /**\n   * Is the integration currently active?\n   */\n\n  /**\n   * Paused is a state where:\n   * - DOM Recording is not listening at all\n   * - Nothing will be added to event buffer (e.g. core SDK events)\n   */\n\n  /**\n   * Have we attached listeners to the core SDK?\n   * Note we have to track this as there is no way to remove instrumentation handlers.\n   */\n\n  /**\n   * Function to stop recording\n   */\n\n  /**\n   * Internal use for canvas recording options\n   */\n\n  /**\n   * Handle when visibility of the page content changes. Opening a new tab will\n   * cause the state to change to hidden because of content of current page will\n   * be hidden. Likewise, moving a different window to cover the contents of the\n   * page will also trigger a change to a hidden state.\n   */\n\n  /**\n   * Handle when page is blurred\n   */\n\n  /**\n   * Handle when page is focused\n   */\n\n  /** Ensure page remains active when a key is pressed. */\n\n   constructor({\n    options,\n    recordingOptions,\n  }\n\n) {\n    this.eventBuffer = null;\n    this.performanceEntries = [];\n    this.replayPerformanceEntries = [];\n    this.recordingMode = 'session';\n    this.timeouts = {\n      sessionIdlePause: SESSION_IDLE_PAUSE_DURATION,\n      sessionIdleExpire: SESSION_IDLE_EXPIRE_DURATION,\n    } ;\n    this._lastActivity = Date.now();\n    this._isEnabled = false;\n    this._isPaused = false;\n    this._requiresManualStart = false;\n    this._hasInitializedCoreListeners = false;\n    this._context = {\n      errorIds: new Set(),\n      traceIds: new Set(),\n      urls: [],\n      initialTimestamp: Date.now(),\n      initialUrl: '',\n    };\n\n    this._recordingOptions = recordingOptions;\n    this._options = options;\n\n    this._debouncedFlush = debounce(() => this._flush(), this._options.flushMinDelay, {\n      maxWait: this._options.flushMaxDelay,\n    });\n\n    this._throttledAddEvent = throttle(\n      (event, isCheckout) => addEvent(this, event, isCheckout),\n      // Max 300 events...\n      300,\n      // ... per 5s\n      5,\n    );\n\n    const { slowClickTimeout, slowClickIgnoreSelectors } = this.getOptions();\n\n    const slowClickConfig = slowClickTimeout\n      ? {\n          threshold: Math.min(SLOW_CLICK_THRESHOLD, slowClickTimeout),\n          timeout: slowClickTimeout,\n          scrollTimeout: SLOW_CLICK_SCROLL_TIMEOUT,\n          ignoreSelector: slowClickIgnoreSelectors ? slowClickIgnoreSelectors.join(',') : '',\n        }\n      : undefined;\n\n    if (slowClickConfig) {\n      this.clickDetector = new ClickDetector(this, slowClickConfig);\n    }\n\n    // Configure replay debug logger w/ experimental options\n    if (DEBUG_BUILD) {\n      const experiments = options._experiments;\n      debug.setConfig({\n        captureExceptions: !!experiments.captureExceptions,\n        traceInternals: !!experiments.traceInternals,\n      });\n    }\n\n    // We set these handler properties as class properties, to make binding/unbinding them easier\n    this._handleVisibilityChange = () => {\n      if (WINDOW.document.visibilityState === 'visible') {\n        this._doChangeToForegroundTasks();\n      } else {\n        this._doChangeToBackgroundTasks();\n      }\n    };\n\n    /**\n     * Handle when page is blurred\n     */\n    this._handleWindowBlur = () => {\n      const breadcrumb = createBreadcrumb({\n        category: 'ui.blur',\n      });\n\n      // Do not count blur as a user action -- it's part of the process of them\n      // leaving the page\n      this._doChangeToBackgroundTasks(breadcrumb);\n    };\n\n    this._handleWindowFocus = () => {\n      const breadcrumb = createBreadcrumb({\n        category: 'ui.focus',\n      });\n\n      // Do not count focus as a user action -- instead wait until they focus and\n      // interactive with page\n      this._doChangeToForegroundTasks(breadcrumb);\n    };\n\n    /** Ensure page remains active when a key is pressed. */\n    this._handleKeyboardEvent = (event) => {\n      handleKeyboardEvent(this, event);\n    };\n  }\n\n  /** Get the event context. */\n   getContext() {\n    return this._context;\n  }\n\n  /** If recording is currently enabled. */\n   isEnabled() {\n    return this._isEnabled;\n  }\n\n  /** If recording is currently paused. */\n   isPaused() {\n    return this._isPaused;\n  }\n\n  /**\n   * Determine if canvas recording is enabled\n   */\n   isRecordingCanvas() {\n    return Boolean(this._canvas);\n  }\n\n  /** Get the replay integration options. */\n   getOptions() {\n    return this._options;\n  }\n\n  /** A wrapper to conditionally capture exceptions. */\n   handleException(error) {\n    DEBUG_BUILD && debug.exception(error);\n    if (this._options.onError) {\n      this._options.onError(error);\n    }\n  }\n\n  /**\n   * Initializes the plugin based on sampling configuration. Should not be\n   * called outside of constructor.\n   */\n   initializeSampling(previousSessionId) {\n    const { errorSampleRate, sessionSampleRate } = this._options;\n\n    // If neither sample rate is > 0, then do nothing - user will need to call one of\n    // `start()` or `startBuffering` themselves.\n    const requiresManualStart = errorSampleRate <= 0 && sessionSampleRate <= 0;\n\n    this._requiresManualStart = requiresManualStart;\n\n    if (requiresManualStart) {\n      return;\n    }\n\n    // Otherwise if there is _any_ sample rate set, try to load an existing\n    // session, or create a new one.\n    this._initializeSessionForSampling(previousSessionId);\n\n    if (!this.session) {\n      // This should not happen, something wrong has occurred\n      DEBUG_BUILD && debug.exception(new Error('Unable to initialize and create session'));\n      return;\n    }\n\n    if (this.session.sampled === false) {\n      // This should only occur if `errorSampleRate` is 0 and was unsampled for\n      // session-based replay. In this case there is nothing to do.\n      return;\n    }\n\n    // If segmentId > 0, it means we've previously already captured this session\n    // In this case, we still want to continue in `session` recording mode\n    this.recordingMode = this.session.sampled === 'buffer' && this.session.segmentId === 0 ? 'buffer' : 'session';\n\n    DEBUG_BUILD && debug.infoTick(`Starting replay in ${this.recordingMode} mode`);\n\n    this._initializeRecording();\n  }\n\n  /**\n   * Start a replay regardless of sampling rate. Calling this will always\n   * create a new session. Will log a message if replay is already in progress.\n   *\n   * Creates or loads a session, attaches listeners to varying events (DOM,\n   * _performanceObserver, Recording, Sentry SDK, etc)\n   */\n   start() {\n    if (this._isEnabled && this.recordingMode === 'session') {\n      DEBUG_BUILD && debug.log('Recording is already in progress');\n      return;\n    }\n\n    if (this._isEnabled && this.recordingMode === 'buffer') {\n      DEBUG_BUILD && debug.log('Buffering is in progress, call `flush()` to save the replay');\n      return;\n    }\n\n    DEBUG_BUILD && debug.infoTick('Starting replay in session mode');\n\n    // Required as user activity is initially set in\n    // constructor, so if `start()` is called after\n    // session idle expiration, a replay will not be\n    // created due to an idle timeout.\n    this._updateUserActivity();\n\n    const session = loadOrCreateSession(\n      {\n        maxReplayDuration: this._options.maxReplayDuration,\n        sessionIdleExpire: this.timeouts.sessionIdleExpire,\n      },\n      {\n        stickySession: this._options.stickySession,\n        // This is intentional: create a new session-based replay when calling `start()`\n        sessionSampleRate: 1,\n        allowBuffering: false,\n      },\n    );\n\n    this.session = session;\n    this.recordingMode = 'session';\n\n    this._initializeRecording();\n  }\n\n  /**\n   * Start replay buffering. Buffers until `flush()` is called or, if\n   * `replaysOnErrorSampleRate` > 0, an error occurs.\n   */\n   startBuffering() {\n    if (this._isEnabled) {\n      DEBUG_BUILD && debug.log('Buffering is in progress, call `flush()` to save the replay');\n      return;\n    }\n\n    DEBUG_BUILD && debug.infoTick('Starting replay in buffer mode');\n\n    const session = loadOrCreateSession(\n      {\n        sessionIdleExpire: this.timeouts.sessionIdleExpire,\n        maxReplayDuration: this._options.maxReplayDuration,\n      },\n      {\n        stickySession: this._options.stickySession,\n        sessionSampleRate: 0,\n        allowBuffering: true,\n      },\n    );\n\n    this.session = session;\n\n    this.recordingMode = 'buffer';\n    this._initializeRecording();\n  }\n\n  /**\n   * Start recording.\n   *\n   * Note that this will cause a new DOM checkout\n   */\n   startRecording() {\n    try {\n      const canvasOptions = this._canvas;\n\n      this._stopRecording = record({\n        ...this._recordingOptions,\n        // When running in error sampling mode, we need to overwrite `checkoutEveryNms`\n        // Without this, it would record forever, until an error happens, which we don't want\n        // instead, we'll always keep the last 60 seconds of replay before an error happened\n        ...(this.recordingMode === 'buffer'\n          ? { checkoutEveryNms: BUFFER_CHECKOUT_TIME }\n          : // Otherwise, use experimental option w/ min checkout time of 6 minutes\n            // This is to improve playback seeking as there could potentially be\n            // less mutations to process in the worse cases.\n            //\n            // checkout by \"N\" events is probably ideal, but means we have less\n            // control about the number of checkouts we make (which generally\n            // increases replay size)\n            this._options._experiments.continuousCheckout && {\n              // Minimum checkout time is 6 minutes\n              checkoutEveryNms: Math.max(360000, this._options._experiments.continuousCheckout),\n            }),\n        emit: getHandleRecordingEmit(this),\n        ...getRecordingSamplingOptions(),\n        onMutation: this._onMutationHandler.bind(this),\n        ...(canvasOptions\n          ? {\n              recordCanvas: canvasOptions.recordCanvas,\n              getCanvasManager: canvasOptions.getCanvasManager,\n              sampling: canvasOptions.sampling,\n              dataURLOptions: canvasOptions.dataURLOptions,\n            }\n          : {}),\n      });\n    } catch (err) {\n      this.handleException(err);\n    }\n  }\n\n  /**\n   * Stops the recording, if it was running.\n   *\n   * Returns true if it was previously stopped, or is now stopped,\n   * otherwise false.\n   */\n   stopRecording() {\n    try {\n      if (this._stopRecording) {\n        this._stopRecording();\n        this._stopRecording = undefined;\n      }\n\n      return true;\n    } catch (err) {\n      this.handleException(err);\n      return false;\n    }\n  }\n\n  /**\n   * Currently, this needs to be manually called (e.g. for tests). Sentry SDK\n   * does not support a teardown\n   */\n   async stop({ forceFlush = false, reason } = {}) {\n    if (!this._isEnabled) {\n      return;\n    }\n\n    // We can't move `_isEnabled` after awaiting a flush, otherwise we can\n    // enter into an infinite loop when `stop()` is called while flushing.\n    this._isEnabled = false;\n\n    // Make sure to reset `recordingMode` to `buffer` to avoid any additional\n    // breadcrumbs to trigger a flush (e.g. in `addUpdate()`)\n    this.recordingMode = 'buffer';\n\n    try {\n      DEBUG_BUILD && debug.log(`Stopping Replay${reason ? ` triggered by ${reason}` : ''}`);\n\n      resetReplayIdOnDynamicSamplingContext();\n\n      this._removeListeners();\n      this.stopRecording();\n\n      this._debouncedFlush.cancel();\n      // See comment above re: `_isEnabled`, we \"force\" a flush, ignoring the\n      // `_isEnabled` state of the plugin since it was disabled above.\n      if (forceFlush) {\n        await this._flush({ force: true });\n      }\n\n      // After flush, destroy event buffer\n      this.eventBuffer?.destroy();\n      this.eventBuffer = null;\n\n      // Clear session from session storage, note this means if a new session\n      // is started after, it will not have `previousSessionId`\n      clearSession(this);\n    } catch (err) {\n      this.handleException(err);\n    }\n  }\n\n  /**\n   * Pause some replay functionality. See comments for `_isPaused`.\n   * This differs from stop as this only stops DOM recording, it is\n   * not as thorough of a shutdown as `stop()`.\n   */\n   pause() {\n    if (this._isPaused) {\n      return;\n    }\n\n    this._isPaused = true;\n    this.stopRecording();\n\n    DEBUG_BUILD && debug.log('Pausing replay');\n  }\n\n  /**\n   * Resumes recording, see notes for `pause().\n   *\n   * Note that calling `startRecording()` here will cause a\n   * new DOM checkout.`\n   */\n   resume() {\n    if (!this._isPaused || !this._checkSession()) {\n      return;\n    }\n\n    this._isPaused = false;\n    this.startRecording();\n\n    DEBUG_BUILD && debug.log('Resuming replay');\n  }\n\n  /**\n   * If not in \"session\" recording mode, flush event buffer which will create a new replay.\n   * Unless `continueRecording` is false, the replay will continue to record and\n   * behave as a \"session\"-based replay.\n   *\n   * Otherwise, queue up a flush.\n   */\n   async sendBufferedReplayOrFlush({ continueRecording = true } = {}) {\n    if (this.recordingMode === 'session') {\n      return this.flushImmediate();\n    }\n\n    const activityTime = Date.now();\n\n    DEBUG_BUILD && debug.log('Converting buffer to session');\n\n    // Allow flush to complete before resuming as a session recording, otherwise\n    // the checkout from `startRecording` may be included in the payload.\n    // Prefer to keep the error replay as a separate (and smaller) segment\n    // than the session replay.\n    await this.flushImmediate();\n\n    const hasStoppedRecording = this.stopRecording();\n\n    if (!continueRecording || !hasStoppedRecording) {\n      return;\n    }\n\n    // To avoid race conditions where this is called multiple times, we check here again that we are still buffering\n    if ((this.recordingMode ) === 'session') {\n      return;\n    }\n\n    // Re-start recording in session-mode\n    this.recordingMode = 'session';\n\n    // Once this session ends, we do not want to refresh it\n    if (this.session) {\n      this._updateUserActivity(activityTime);\n      this._updateSessionActivity(activityTime);\n      this._maybeSaveSession();\n    }\n\n    this.startRecording();\n  }\n\n  /**\n   * We want to batch uploads of replay events. Save events only if\n   * `<flushMinDelay>` milliseconds have elapsed since the last event\n   * *OR* if `<flushMaxDelay>` milliseconds have elapsed.\n   *\n   * Accepts a callback to perform side-effects and returns true to stop batch\n   * processing and hand back control to caller.\n   */\n   addUpdate(cb) {\n    // We need to always run `cb` (e.g. in the case of `this.recordingMode == 'buffer'`)\n    const cbResult = cb();\n\n    // If this option is turned on then we will only want to call `flush`\n    // explicitly\n    if (this.recordingMode === 'buffer' || !this._isEnabled) {\n      return;\n    }\n\n    // If callback is true, we do not want to continue with flushing -- the\n    // caller will need to handle it.\n    if (cbResult === true) {\n      return;\n    }\n\n    // addUpdate is called quite frequently - use _debouncedFlush so that it\n    // respects the flush delays and does not flush immediately\n    this._debouncedFlush();\n  }\n\n  /**\n   * Updates the user activity timestamp and resumes recording. This should be\n   * called in an event handler for a user action that we consider as the user\n   * being \"active\" (e.g. a mouse click).\n   */\n   triggerUserActivity() {\n    this._updateUserActivity();\n\n    // This case means that recording was once stopped due to inactivity.\n    // Ensure that recording is resumed.\n    if (!this._stopRecording) {\n      // Create a new session, otherwise when the user action is flushed, it\n      // will get rejected due to an expired session.\n      if (!this._checkSession()) {\n        return;\n      }\n\n      // Note: This will cause a new DOM checkout\n      this.resume();\n      return;\n    }\n\n    // Otherwise... recording was never suspended, continue as normalish\n    this.checkAndHandleExpiredSession();\n\n    this._updateSessionActivity();\n  }\n\n  /**\n   * Updates the user activity timestamp *without* resuming\n   * recording. Some user events (e.g. keydown) can be create\n   * low-value replays that only contain the keypress as a\n   * breadcrumb. Instead this would require other events to\n   * create a new replay after a session has expired.\n   */\n   updateUserActivity() {\n    this._updateUserActivity();\n    this._updateSessionActivity();\n  }\n\n  /**\n   * Only flush if `this.recordingMode === 'session'`\n   */\n   conditionalFlush() {\n    if (this.recordingMode === 'buffer') {\n      return Promise.resolve();\n    }\n\n    return this.flushImmediate();\n  }\n\n  /**\n   * Flush using debounce flush\n   */\n   flush() {\n    return this._debouncedFlush() ;\n  }\n\n  /**\n   * Always flush via `_debouncedFlush` so that we do not have flushes triggered\n   * from calling both `flush` and `_debouncedFlush`. Otherwise, there could be\n   * cases of multiple flushes happening closely together.\n   */\n   flushImmediate() {\n    this._debouncedFlush();\n    // `.flush` is provided by the debounced function, analogously to lodash.debounce\n    return this._debouncedFlush.flush() ;\n  }\n\n  /**\n   * Cancels queued up flushes.\n   */\n   cancelFlush() {\n    this._debouncedFlush.cancel();\n  }\n\n  /** Get the current session (=replay) ID */\n   getSessionId() {\n    return this.session?.id;\n  }\n\n  /**\n   * Checks if recording should be stopped due to user inactivity. Otherwise\n   * check if session is expired and create a new session if so. Triggers a new\n   * full snapshot on new session.\n   *\n   * Returns true if session is not expired, false otherwise.\n   * @hidden\n   */\n   checkAndHandleExpiredSession() {\n    // Prevent starting a new session if the last user activity is older than\n    // SESSION_IDLE_PAUSE_DURATION. Otherwise non-user activity can trigger a new\n    // session+recording. This creates noisy replays that do not have much\n    // content in them.\n    if (\n      this._lastActivity &&\n      isExpired(this._lastActivity, this.timeouts.sessionIdlePause) &&\n      this.session &&\n      this.session.sampled === 'session'\n    ) {\n      // Pause recording only for session-based replays. Otherwise, resuming\n      // will create a new replay and will conflict with users who only choose\n      // to record error-based replays only. (e.g. the resumed replay will not\n      // contain a reference to an error)\n      this.pause();\n      return;\n    }\n\n    // --- There is recent user activity --- //\n    // This will create a new session if expired, based on expiry length\n    if (!this._checkSession()) {\n      // Check session handles the refreshing itself\n      return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * Capture some initial state that can change throughout the lifespan of the\n   * replay. This is required because otherwise they would be captured at the\n   * first flush.\n   */\n   setInitialState() {\n    const urlPath = `${WINDOW.location.pathname}${WINDOW.location.hash}${WINDOW.location.search}`;\n    const url = `${WINDOW.location.origin}${urlPath}`;\n\n    this.performanceEntries = [];\n    this.replayPerformanceEntries = [];\n\n    // Reset _context as well\n    this._clearContext();\n\n    this._context.initialUrl = url;\n    this._context.initialTimestamp = Date.now();\n    this._context.urls.push(url);\n  }\n\n  /**\n   * Add a breadcrumb event, that may be throttled.\n   * If it was throttled, we add a custom breadcrumb to indicate that.\n   */\n   throttledAddEvent(\n    event,\n    isCheckout,\n  ) {\n    const res = this._throttledAddEvent(event, isCheckout);\n\n    // If this is THROTTLED, it means we have throttled the event for the first time\n    // In this case, we want to add a breadcrumb indicating that something was skipped\n    if (res === THROTTLED) {\n      const breadcrumb = createBreadcrumb({\n        category: 'replay.throttled',\n      });\n\n      this.addUpdate(() => {\n        // Return `false` if the event _was_ added, as that means we schedule a flush\n        return !addEventSync(this, {\n          type: ReplayEventTypeCustom,\n          timestamp: breadcrumb.timestamp || 0,\n          data: {\n            tag: 'breadcrumb',\n            payload: breadcrumb,\n            metric: true,\n          },\n        });\n      });\n    }\n\n    return res;\n  }\n\n  /**\n   * This will get the parametrized route name of the current page.\n   * This is only available if performance is enabled, and if an instrumented router is used.\n   */\n   getCurrentRoute() {\n    const lastActiveSpan = this.lastActiveSpan || getActiveSpan();\n    const lastRootSpan = lastActiveSpan && getRootSpan(lastActiveSpan);\n\n    const attributes = (lastRootSpan && spanToJSON(lastRootSpan).data) || {};\n    const source = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n    if (!lastRootSpan || !source || !['route', 'custom'].includes(source)) {\n      return undefined;\n    }\n\n    return spanToJSON(lastRootSpan).description;\n  }\n\n  /**\n   * Initialize and start all listeners to varying events (DOM,\n   * Performance Observer, Recording, Sentry SDK, etc)\n   */\n   _initializeRecording() {\n    this.setInitialState();\n\n    // this method is generally called on page load or manually - in both cases\n    // we should treat it as an activity\n    this._updateSessionActivity();\n\n    this.eventBuffer = createEventBuffer({\n      useCompression: this._options.useCompression,\n      workerUrl: this._options.workerUrl,\n    });\n\n    this._removeListeners();\n    this._addListeners();\n\n    // Need to set as enabled before we start recording, as `record()` can trigger a flush with a new checkout\n    this._isEnabled = true;\n    this._isPaused = false;\n\n    this.startRecording();\n  }\n\n  /**\n   * Loads (or refreshes) the current session.\n   */\n   _initializeSessionForSampling(previousSessionId) {\n    // Whenever there is _any_ error sample rate, we always allow buffering\n    // Because we decide on sampling when an error occurs, we need to buffer at all times if sampling for errors\n    const allowBuffering = this._options.errorSampleRate > 0;\n\n    const session = loadOrCreateSession(\n      {\n        sessionIdleExpire: this.timeouts.sessionIdleExpire,\n        maxReplayDuration: this._options.maxReplayDuration,\n        previousSessionId,\n      },\n      {\n        stickySession: this._options.stickySession,\n        sessionSampleRate: this._options.sessionSampleRate,\n        allowBuffering,\n      },\n    );\n\n    this.session = session;\n  }\n\n  /**\n   * Checks and potentially refreshes the current session.\n   * Returns false if session is not recorded.\n   */\n   _checkSession() {\n    // If there is no session yet, we do not want to refresh anything\n    // This should generally not happen, but to be safe....\n    if (!this.session) {\n      return false;\n    }\n\n    const currentSession = this.session;\n\n    if (\n      shouldRefreshSession(currentSession, {\n        sessionIdleExpire: this.timeouts.sessionIdleExpire,\n        maxReplayDuration: this._options.maxReplayDuration,\n      })\n    ) {\n      // This should never reject\n      // eslint-disable-next-line @typescript-eslint/no-floating-promises\n      this._refreshSession(currentSession);\n      return false;\n    }\n\n    return true;\n  }\n\n  /**\n   * Refresh a session with a new one.\n   * This stops the current session (without forcing a flush, as that would never work since we are expired),\n   * and then does a new sampling based on the refreshed session.\n   */\n   async _refreshSession(session) {\n    if (!this._isEnabled) {\n      return;\n    }\n    await this.stop({ reason: 'refresh session' });\n    this.initializeSampling(session.id);\n  }\n\n  /**\n   * Adds listeners to record events for the replay\n   */\n   _addListeners() {\n    try {\n      WINDOW.document.addEventListener('visibilitychange', this._handleVisibilityChange);\n      WINDOW.addEventListener('blur', this._handleWindowBlur);\n      WINDOW.addEventListener('focus', this._handleWindowFocus);\n      WINDOW.addEventListener('keydown', this._handleKeyboardEvent);\n\n      if (this.clickDetector) {\n        this.clickDetector.addListeners();\n      }\n\n      // There is no way to remove these listeners, so ensure they are only added once\n      if (!this._hasInitializedCoreListeners) {\n        addGlobalListeners(this);\n\n        this._hasInitializedCoreListeners = true;\n      }\n    } catch (err) {\n      this.handleException(err);\n    }\n\n    this._performanceCleanupCallback = setupPerformanceObserver(this);\n  }\n\n  /**\n   * Cleans up listeners that were created in `_addListeners`\n   */\n   _removeListeners() {\n    try {\n      WINDOW.document.removeEventListener('visibilitychange', this._handleVisibilityChange);\n\n      WINDOW.removeEventListener('blur', this._handleWindowBlur);\n      WINDOW.removeEventListener('focus', this._handleWindowFocus);\n      WINDOW.removeEventListener('keydown', this._handleKeyboardEvent);\n\n      if (this.clickDetector) {\n        this.clickDetector.removeListeners();\n      }\n\n      if (this._performanceCleanupCallback) {\n        this._performanceCleanupCallback();\n      }\n    } catch (err) {\n      this.handleException(err);\n    }\n  }\n\n  /**\n   * Tasks to run when we consider a page to be hidden (via blurring and/or visibility)\n   */\n   _doChangeToBackgroundTasks(breadcrumb) {\n    if (!this.session) {\n      return;\n    }\n\n    const expired = isSessionExpired(this.session, {\n      maxReplayDuration: this._options.maxReplayDuration,\n      sessionIdleExpire: this.timeouts.sessionIdleExpire,\n    });\n\n    if (expired) {\n      return;\n    }\n\n    if (breadcrumb) {\n      this._createCustomBreadcrumb(breadcrumb);\n    }\n\n    // Send replay when the page/tab becomes hidden. There is no reason to send\n    // replay if it becomes visible, since no actions we care about were done\n    // while it was hidden\n    // This should never reject\n    // eslint-disable-next-line @typescript-eslint/no-floating-promises\n    void this.conditionalFlush();\n  }\n\n  /**\n   * Tasks to run when we consider a page to be visible (via focus and/or visibility)\n   */\n   _doChangeToForegroundTasks(breadcrumb) {\n    if (!this.session) {\n      return;\n    }\n\n    const isSessionActive = this.checkAndHandleExpiredSession();\n\n    if (!isSessionActive) {\n      // If the user has come back to the page within SESSION_IDLE_PAUSE_DURATION\n      // ms, we will re-use the existing session, otherwise create a new\n      // session\n      DEBUG_BUILD && debug.log('Document has become active, but session has expired');\n      return;\n    }\n\n    if (breadcrumb) {\n      this._createCustomBreadcrumb(breadcrumb);\n    }\n  }\n\n  /**\n   * Update user activity (across session lifespans)\n   */\n   _updateUserActivity(_lastActivity = Date.now()) {\n    this._lastActivity = _lastActivity;\n  }\n\n  /**\n   * Updates the session's last activity timestamp\n   */\n   _updateSessionActivity(_lastActivity = Date.now()) {\n    if (this.session) {\n      this.session.lastActivity = _lastActivity;\n      this._maybeSaveSession();\n    }\n  }\n\n  /**\n   * Helper to create (and buffer) a replay breadcrumb from a core SDK breadcrumb\n   */\n   _createCustomBreadcrumb(breadcrumb) {\n    this.addUpdate(() => {\n      // This should never reject\n      // eslint-disable-next-line @typescript-eslint/no-floating-promises\n      this.throttledAddEvent({\n        type: EventType.Custom,\n        timestamp: breadcrumb.timestamp || 0,\n        data: {\n          tag: 'breadcrumb',\n          payload: breadcrumb,\n        },\n      });\n    });\n  }\n\n  /**\n   * Observed performance events are added to `this.performanceEntries`. These\n   * are included in the replay event before it is finished and sent to Sentry.\n   */\n   _addPerformanceEntries() {\n    let performanceEntries = createPerformanceEntries(this.performanceEntries).concat(this.replayPerformanceEntries);\n\n    this.performanceEntries = [];\n    this.replayPerformanceEntries = [];\n\n    // If we are manually starting, we want to ensure we only include performance entries\n    // that are after the initial timestamp\n    // The reason for this is that we may have performance entries from the page load, but may decide to start\n    // the replay later on, in which case we do not want to include these entries.\n    // without this, manually started replays can have events long before the actual replay recording starts,\n    // which messes with the timeline etc.\n    if (this._requiresManualStart) {\n      const initialTimestampInSeconds = this._context.initialTimestamp / 1000;\n      performanceEntries = performanceEntries.filter(entry => entry.start >= initialTimestampInSeconds);\n    }\n\n    return Promise.all(createPerformanceSpans(this, performanceEntries));\n  }\n\n  /**\n   * Clear _context\n   */\n   _clearContext() {\n    // XXX: `initialTimestamp` and `initialUrl` do not get cleared\n    this._context.errorIds.clear();\n    this._context.traceIds.clear();\n    this._context.urls = [];\n  }\n\n  /** Update the initial timestamp based on the buffer content. */\n   _updateInitialTimestampFromEventBuffer() {\n    const { session, eventBuffer } = this;\n    // If replay was started manually (=no sample rate was given),\n    // We do not want to back-port the initial timestamp\n    if (!session || !eventBuffer || this._requiresManualStart) {\n      return;\n    }\n\n    // we only ever update this on the initial segment\n    if (session.segmentId) {\n      return;\n    }\n\n    const earliestEvent = eventBuffer.getEarliestTimestamp();\n    if (earliestEvent && earliestEvent < this._context.initialTimestamp) {\n      this._context.initialTimestamp = earliestEvent;\n    }\n  }\n\n  /**\n   * Return and clear _context\n   */\n   _popEventContext() {\n    const _context = {\n      initialTimestamp: this._context.initialTimestamp,\n      initialUrl: this._context.initialUrl,\n      errorIds: Array.from(this._context.errorIds),\n      traceIds: Array.from(this._context.traceIds),\n      urls: this._context.urls,\n    };\n\n    this._clearContext();\n\n    return _context;\n  }\n\n  /**\n   * Flushes replay event buffer to Sentry.\n   *\n   * Performance events are only added right before flushing - this is\n   * due to the buffered performance observer events.\n   *\n   * Should never be called directly, only by `flush`\n   */\n   async _runFlush() {\n    const replayId = this.getSessionId();\n\n    if (!this.session || !this.eventBuffer || !replayId) {\n      DEBUG_BUILD && debug.error('No session or eventBuffer found to flush.');\n      return;\n    }\n\n    await this._addPerformanceEntries();\n\n    // Check eventBuffer again, as it could have been stopped in the meanwhile\n    if (!this.eventBuffer?.hasEvents) {\n      return;\n    }\n\n    // Only attach memory event if eventBuffer is not empty\n    await addMemoryEntry(this);\n\n    // Check eventBuffer again, as it could have been stopped in the meanwhile\n    if (!this.eventBuffer) {\n      return;\n    }\n\n    // if this changed in the meanwhile, e.g. because the session was refreshed or similar, we abort here\n    if (replayId !== this.getSessionId()) {\n      return;\n    }\n\n    try {\n      // This uses the data from the eventBuffer, so we need to call this before `finish()\n      this._updateInitialTimestampFromEventBuffer();\n\n      const timestamp = Date.now();\n\n      // Check total duration again, to avoid sending outdated stuff\n      // We leave 30s wiggle room to accommodate late flushing etc.\n      // This _could_ happen when the browser is suspended during flushing, in which case we just want to stop\n      if (timestamp - this._context.initialTimestamp > this._options.maxReplayDuration + 30000) {\n        throw new Error('Session is too long, not sending replay');\n      }\n\n      const eventContext = this._popEventContext();\n      // Always increment segmentId regardless of outcome of sending replay\n      const segmentId = this.session.segmentId++;\n      this._maybeSaveSession();\n\n      // Note this empties the event buffer regardless of outcome of sending replay\n      const recordingData = await this.eventBuffer.finish();\n\n      await sendReplay({\n        replayId,\n        recordingData,\n        segmentId,\n        eventContext,\n        session: this.session,\n        timestamp,\n        onError: err => this.handleException(err),\n      });\n    } catch (err) {\n      this.handleException(err);\n\n      // This means we retried 3 times and all of them failed,\n      // or we ran into a problem we don't want to retry, like rate limiting.\n      // In this case, we want to completely stop the replay - otherwise, we may get inconsistent segments\n      // This should never reject\n      // eslint-disable-next-line @typescript-eslint/no-floating-promises\n      this.stop({ reason: 'sendReplay' });\n\n      const client = getClient();\n\n      if (client) {\n        const dropReason = err instanceof RateLimitError ? 'ratelimit_backoff' : 'send_error';\n        client.recordDroppedEvent(dropReason, 'replay');\n      }\n    }\n  }\n\n  /**\n   * Flush recording data to Sentry. Creates a lock so that only a single flush\n   * can be active at a time. Do not call this directly.\n   */\n   async _flush({\n    force = false,\n  }\n\n = {}) {\n    if (!this._isEnabled && !force) {\n      // This can happen if e.g. the replay was stopped because of exceeding the retry limit\n      return;\n    }\n\n    if (!this.checkAndHandleExpiredSession()) {\n      DEBUG_BUILD && debug.error('Attempting to finish replay event after session expired.');\n      return;\n    }\n\n    if (!this.session) {\n      // should never happen, as we would have bailed out before\n      return;\n    }\n\n    const start = this.session.started;\n    const now = Date.now();\n    const duration = now - start;\n\n    // A flush is about to happen, cancel any queued flushes\n    this._debouncedFlush.cancel();\n\n    // If session is too short, or too long (allow some wiggle room over maxReplayDuration), do not send it\n    // This _should_ not happen, but it may happen if flush is triggered due to a page activity change or similar\n    const tooShort = duration < this._options.minReplayDuration;\n    const tooLong = duration > this._options.maxReplayDuration + 5000;\n    if (tooShort || tooLong) {\n      DEBUG_BUILD &&\n        debug.log(\n          `Session duration (${Math.floor(duration / 1000)}s) is too ${\n            tooShort ? 'short' : 'long'\n          }, not sending replay.`,\n        );\n\n      if (tooShort) {\n        this._debouncedFlush();\n      }\n      return;\n    }\n\n    const eventBuffer = this.eventBuffer;\n    if (eventBuffer && this.session.segmentId === 0 && !eventBuffer.hasCheckout) {\n      DEBUG_BUILD && debug.log('Flushing initial segment without checkout.');\n      // TODO FN: Evaluate if we want to stop here, or remove this again?\n    }\n\n    const _flushInProgress = !!this._flushLock;\n\n    // this._flushLock acts as a lock so that future calls to `_flush()` will\n    // be blocked until current flush is finished (i.e. this promise resolves)\n    if (!this._flushLock) {\n      this._flushLock = this._runFlush();\n    }\n\n    try {\n      await this._flushLock;\n    } catch (err) {\n      this.handleException(err);\n    } finally {\n      this._flushLock = undefined;\n\n      if (_flushInProgress) {\n        // Wait for previous flush to finish, then call the debounced\n        // `_flush()`. It's possible there are other flush requests queued and\n        // waiting for it to resolve. We want to reduce all outstanding\n        // requests (as well as any new flush requests that occur within a\n        // second of the locked flush completing) into a single flush.\n        this._debouncedFlush();\n      }\n    }\n  }\n\n  /** Save the session, if it is sticky */\n   _maybeSaveSession() {\n    if (this.session && this._options.stickySession) {\n      saveSession(this.session);\n    }\n  }\n\n  /** Handler for rrweb.record.onMutation */\n   _onMutationHandler(mutations) {\n    const { ignoreMutations } = this._options._experiments;\n    if (ignoreMutations?.length) {\n      if (\n        mutations.some(mutation => {\n          const el = closestElementOfNode(mutation.target);\n          const selector = ignoreMutations.join(',');\n          return el?.matches(selector);\n        })\n      ) {\n        return false;\n      }\n    }\n\n    const count = mutations.length;\n\n    const mutationLimit = this._options.mutationLimit;\n    const mutationBreadcrumbLimit = this._options.mutationBreadcrumbLimit;\n    const overMutationLimit = mutationLimit && count > mutationLimit;\n\n    // Create a breadcrumb if a lot of mutations happen at the same time\n    // We can show this in the UI as an information with potential performance improvements\n    if (count > mutationBreadcrumbLimit || overMutationLimit) {\n      const breadcrumb = createBreadcrumb({\n        category: 'replay.mutations',\n        data: {\n          count,\n          limit: overMutationLimit,\n        },\n      });\n      this._createCustomBreadcrumb(breadcrumb);\n    }\n\n    // Stop replay if over the mutation limit\n    if (overMutationLimit) {\n      // This should never reject\n      // eslint-disable-next-line @typescript-eslint/no-floating-promises\n      this.stop({ reason: 'mutationLimit', forceFlush: this.recordingMode === 'session' });\n      return false;\n    }\n\n    // `true` means we use the regular mutation handling by rrweb\n    return true;\n  }\n}\n\nfunction getOption(selectors, defaultSelectors) {\n  return [\n    ...selectors,\n    // sentry defaults\n    ...defaultSelectors,\n  ].join(',');\n}\n\n/**\n * Returns privacy related configuration for use in rrweb\n */\nfunction getPrivacyOptions({ mask, unmask, block, unblock, ignore }) {\n  const defaultBlockedElements = ['base', 'iframe[srcdoc]:not([src])'];\n\n  const maskSelector = getOption(mask, ['.sentry-mask', '[data-sentry-mask]']);\n  const unmaskSelector = getOption(unmask, []);\n\n  const options = {\n    // We are making the decision to make text and input selectors the same\n    maskTextSelector: maskSelector,\n    unmaskTextSelector: unmaskSelector,\n\n    blockSelector: getOption(block, ['.sentry-block', '[data-sentry-block]', ...defaultBlockedElements]),\n    unblockSelector: getOption(unblock, []),\n    ignoreSelector: getOption(ignore, ['.sentry-ignore', '[data-sentry-ignore]', 'input[type=\"file\"]']),\n  };\n\n  return options;\n}\n\n/**\n * Masks an attribute if necessary, otherwise return attribute value as-is.\n */\nfunction maskAttribute({\n  el,\n  key,\n  maskAttributes,\n  maskAllText,\n  privacyOptions,\n  value,\n}) {\n  // We only mask attributes if `maskAllText` is true\n  if (!maskAllText) {\n    return value;\n  }\n\n  // unmaskTextSelector takes precedence\n  if (privacyOptions.unmaskTextSelector && el.matches(privacyOptions.unmaskTextSelector)) {\n    return value;\n  }\n\n  if (\n    maskAttributes.includes(key) ||\n    // Need to mask `value` attribute for `<input>` if it's a button-like\n    // type\n    (key === 'value' && el.tagName === 'INPUT' && ['submit', 'button'].includes(el.getAttribute('type') || ''))\n  ) {\n    return value.replace(/[\\S]/g, '*');\n  }\n\n  return value;\n}\n\nconst MEDIA_SELECTORS =\n  'img,image,svg,video,object,picture,embed,map,audio,link[rel=\"icon\"],link[rel=\"apple-touch-icon\"]';\n\nconst DEFAULT_NETWORK_HEADERS = ['content-length', 'content-type', 'accept'];\n\nlet _initialized = false;\n\n/**\n * Sentry integration for [Session Replay](https://sentry.io/for/session-replay/).\n *\n * See the [Replay documentation](https://docs.sentry.io/platforms/javascript/guides/session-replay/) for more information.\n *\n * @example\n *\n * ```\n * Sentry.init({\n *   dsn: '__DSN__',\n *   integrations: [Sentry.replayIntegration()],\n * });\n * ```\n */\nconst replayIntegration = ((options) => {\n  return new Replay(options);\n}) ;\n\n/**\n * Replay integration\n */\nclass Replay  {\n  /**\n   * @inheritDoc\n   */\n\n  /**\n   * Options to pass to `rrweb.record()`\n   */\n\n  /**\n   * Initial options passed to the replay integration, merged with default values.\n   * Note: `sessionSampleRate` and `errorSampleRate` are not required here, as they\n   * can only be finally set when setupOnce() is called.\n   *\n   * @private\n   */\n\n   constructor({\n    flushMinDelay = DEFAULT_FLUSH_MIN_DELAY,\n    flushMaxDelay = DEFAULT_FLUSH_MAX_DELAY,\n    minReplayDuration = MIN_REPLAY_DURATION,\n    maxReplayDuration = MAX_REPLAY_DURATION,\n    stickySession = true,\n    useCompression = true,\n    workerUrl,\n    _experiments = {},\n    maskAllText = true,\n    maskAllInputs = true,\n    blockAllMedia = true,\n\n    mutationBreadcrumbLimit = 750,\n    mutationLimit = 10000,\n\n    slowClickTimeout = 7000,\n    slowClickIgnoreSelectors = [],\n\n    networkDetailAllowUrls = [],\n    networkDetailDenyUrls = [],\n    networkCaptureBodies = true,\n    networkRequestHeaders = [],\n    networkResponseHeaders = [],\n\n    mask = [],\n    maskAttributes = ['title', 'placeholder', 'aria-label'],\n    unmask = [],\n    block = [],\n    unblock = [],\n    ignore = [],\n    maskFn,\n\n    beforeAddRecordingEvent,\n    beforeErrorSampling,\n    onError,\n  } = {}) {\n    this.name = 'Replay';\n\n    const privacyOptions = getPrivacyOptions({\n      mask,\n      unmask,\n      block,\n      unblock,\n      ignore,\n    });\n\n    this._recordingOptions = {\n      maskAllInputs,\n      maskAllText,\n      maskInputOptions: { password: true },\n      maskTextFn: maskFn,\n      maskInputFn: maskFn,\n      maskAttributeFn: (key, value, el) =>\n        maskAttribute({\n          maskAttributes,\n          maskAllText,\n          privacyOptions,\n          key,\n          value,\n          el,\n        }),\n\n      ...privacyOptions,\n\n      // Our defaults\n      slimDOMOptions: 'all',\n      inlineStylesheet: true,\n      // Disable inline images as it will increase segment/replay size\n      inlineImages: false,\n      // collect fonts, but be aware that `sentry.io` needs to be an allowed\n      // origin for playback\n      collectFonts: true,\n      errorHandler: (err) => {\n        try {\n          err.__rrweb__ = true;\n        } catch {\n          // ignore errors here\n          // this can happen if the error is frozen or does not allow mutation for other reasons\n        }\n      },\n      // experimental support for recording iframes from different origins\n      recordCrossOriginIframes: Boolean(_experiments.recordCrossOriginIframes),\n    };\n\n    this._initialOptions = {\n      flushMinDelay,\n      flushMaxDelay,\n      minReplayDuration: Math.min(minReplayDuration, MIN_REPLAY_DURATION_LIMIT),\n      maxReplayDuration: Math.min(maxReplayDuration, MAX_REPLAY_DURATION),\n      stickySession,\n      useCompression,\n      workerUrl,\n      blockAllMedia,\n      maskAllInputs,\n      maskAllText,\n      mutationBreadcrumbLimit,\n      mutationLimit,\n      slowClickTimeout,\n      slowClickIgnoreSelectors,\n      networkDetailAllowUrls,\n      networkDetailDenyUrls,\n      networkCaptureBodies,\n      networkRequestHeaders: _getMergedNetworkHeaders(networkRequestHeaders),\n      networkResponseHeaders: _getMergedNetworkHeaders(networkResponseHeaders),\n      beforeAddRecordingEvent,\n      beforeErrorSampling,\n      onError,\n\n      _experiments,\n    };\n\n    if (this._initialOptions.blockAllMedia) {\n      // `blockAllMedia` is a more user friendly option to configure blocking\n      // embedded media elements\n      this._recordingOptions.blockSelector = !this._recordingOptions.blockSelector\n        ? MEDIA_SELECTORS\n        : `${this._recordingOptions.blockSelector},${MEDIA_SELECTORS}`;\n    }\n\n    if (this._isInitialized && isBrowser()) {\n      throw new Error('Multiple Sentry Session Replay instances are not supported');\n    }\n\n    this._isInitialized = true;\n  }\n\n  /** If replay has already been initialized */\n   get _isInitialized() {\n    return _initialized;\n  }\n\n  /** Update _isInitialized */\n   set _isInitialized(value) {\n    _initialized = value;\n  }\n\n  /**\n   * Setup and initialize replay container\n   */\n   afterAllSetup(client) {\n    if (!isBrowser() || this._replay) {\n      return;\n    }\n\n    this._setup(client);\n    this._initialize(client);\n  }\n\n  /**\n   * Start a replay regardless of sampling rate. Calling this will always\n   * create a new session. Will log a message if replay is already in progress.\n   *\n   * Creates or loads a session, attaches listeners to varying events (DOM,\n   * PerformanceObserver, Recording, Sentry SDK, etc)\n   */\n   start() {\n    if (!this._replay) {\n      return;\n    }\n    this._replay.start();\n  }\n\n  /**\n   * Start replay buffering. Buffers until `flush()` is called or, if\n   * `replaysOnErrorSampleRate` > 0, until an error occurs.\n   */\n   startBuffering() {\n    if (!this._replay) {\n      return;\n    }\n\n    this._replay.startBuffering();\n  }\n\n  /**\n   * Currently, this needs to be manually called (e.g. for tests). Sentry SDK\n   * does not support a teardown\n   */\n   stop() {\n    if (!this._replay) {\n      return Promise.resolve();\n    }\n\n    return this._replay.stop({ forceFlush: this._replay.recordingMode === 'session' });\n  }\n\n  /**\n   * If not in \"session\" recording mode, flush event buffer which will create a new replay.\n   * If replay is not enabled, a new session replay is started.\n   * Unless `continueRecording` is false, the replay will continue to record and\n   * behave as a \"session\"-based replay.\n   *\n   * Otherwise, queue up a flush.\n   */\n   flush(options) {\n    if (!this._replay) {\n      return Promise.resolve();\n    }\n\n    // assuming a session should be recorded in this case\n    if (!this._replay.isEnabled()) {\n      this._replay.start();\n      return Promise.resolve();\n    }\n\n    return this._replay.sendBufferedReplayOrFlush(options);\n  }\n\n  /**\n   * Get the current session ID.\n   */\n   getReplayId() {\n    if (!this._replay?.isEnabled()) {\n      return;\n    }\n\n    return this._replay.getSessionId();\n  }\n\n  /**\n   * Get the current recording mode. This can be either `session` or `buffer`.\n   *\n   * `session`: Recording the whole session, sending it continuously\n   * `buffer`: Always keeping the last 60s of recording, requires:\n   *   - having replaysOnErrorSampleRate > 0 to capture replay when an error occurs\n   *   - or calling `flush()` to send the replay\n   */\n   getRecordingMode() {\n    if (!this._replay?.isEnabled()) {\n      return;\n    }\n\n    return this._replay.recordingMode;\n  }\n\n  /**\n   * Initializes replay.\n   */\n   _initialize(client) {\n    if (!this._replay) {\n      return;\n    }\n\n    this._maybeLoadFromReplayCanvasIntegration(client);\n    this._replay.initializeSampling();\n  }\n\n  /** Setup the integration. */\n   _setup(client) {\n    // Client is not available in constructor, so we need to wait until setupOnce\n    const finalOptions = loadReplayOptionsFromClient(this._initialOptions, client);\n\n    this._replay = new ReplayContainer({\n      options: finalOptions,\n      recordingOptions: this._recordingOptions,\n    });\n  }\n\n  /** Get canvas options from ReplayCanvas integration, if it is also added. */\n   _maybeLoadFromReplayCanvasIntegration(client) {\n    // To save bundle size, we skip checking for stuff here\n    // and instead just try-catch everything - as generally this should all be defined\n    /* eslint-disable @typescript-eslint/no-non-null-assertion */\n    try {\n      const canvasIntegration = client.getIntegrationByName('ReplayCanvas')\n\n;\n      if (!canvasIntegration) {\n        return;\n      }\n\n      this._replay['_canvas'] = canvasIntegration.getOptions();\n    } catch {\n      // ignore errors here\n    }\n    /* eslint-enable @typescript-eslint/no-non-null-assertion */\n  }\n}\n\n/** Parse Replay-related options from SDK options */\nfunction loadReplayOptionsFromClient(initialOptions, client) {\n  const opt = client.getOptions() ;\n\n  const finalOptions = {\n    sessionSampleRate: 0,\n    errorSampleRate: 0,\n    ...initialOptions,\n  };\n\n  const replaysSessionSampleRate = parseSampleRate(opt.replaysSessionSampleRate);\n  const replaysOnErrorSampleRate = parseSampleRate(opt.replaysOnErrorSampleRate);\n\n  if (replaysSessionSampleRate == null && replaysOnErrorSampleRate == null) {\n    consoleSandbox(() => {\n      // eslint-disable-next-line no-console\n      console.warn(\n        'Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set.',\n      );\n    });\n  }\n\n  if (replaysSessionSampleRate != null) {\n    finalOptions.sessionSampleRate = replaysSessionSampleRate;\n  }\n\n  if (replaysOnErrorSampleRate != null) {\n    finalOptions.errorSampleRate = replaysOnErrorSampleRate;\n  }\n\n  return finalOptions;\n}\n\nfunction _getMergedNetworkHeaders(headers) {\n  return [...DEFAULT_NETWORK_HEADERS, ...headers.map(header => header.toLowerCase())];\n}\n\n/**\n * This is a small utility to get a type-safe instance of the Replay integration.\n */\nfunction getReplay() {\n  const client = getClient();\n  return client?.getIntegrationByName('Replay');\n}\n\nexport { getReplay, replayIntegration };\n//# sourceMappingURL=index.js.map\n","import { browserPerformanceTimeOrigin } from '@sentry/core';\nimport { extractNetworkProtocol } from '@sentry-internal/browser-utils';\n\nfunction getAbsoluteTime(time = 0) {\n  return ((browserPerformanceTimeOrigin() || performance.timeOrigin) + time) / 1000;\n}\n\n/**\n * Converts a PerformanceResourceTiming entry to span data for the resource span.\n *\n * @param resourceTiming\n * @returns An array where the first element is the attribute name and the second element is the attribute value.\n */\nfunction resourceTimingToSpanAttributes(\n  resourceTiming,\n) {\n  const timingSpanData = [];\n  // Checking for only `undefined` and `null` is intentional because it's\n  // valid for `nextHopProtocol` to be an empty string.\n  if (resourceTiming.nextHopProtocol != undefined) {\n    const { name, version } = extractNetworkProtocol(resourceTiming.nextHopProtocol);\n    timingSpanData.push(['network.protocol.version', version], ['network.protocol.name', name]);\n  }\n  if (!browserPerformanceTimeOrigin()) {\n    return timingSpanData;\n  }\n  return [\n    ...timingSpanData,\n    ['http.request.redirect_start', getAbsoluteTime(resourceTiming.redirectStart)],\n    ['http.request.fetch_start', getAbsoluteTime(resourceTiming.fetchStart)],\n    ['http.request.domain_lookup_start', getAbsoluteTime(resourceTiming.domainLookupStart)],\n    ['http.request.domain_lookup_end', getAbsoluteTime(resourceTiming.domainLookupEnd)],\n    ['http.request.connect_start', getAbsoluteTime(resourceTiming.connectStart)],\n    ['http.request.secure_connection_start', getAbsoluteTime(resourceTiming.secureConnectionStart)],\n    ['http.request.connection_end', getAbsoluteTime(resourceTiming.connectEnd)],\n    ['http.request.request_start', getAbsoluteTime(resourceTiming.requestStart)],\n    ['http.request.response_start', getAbsoluteTime(resourceTiming.responseStart)],\n    ['http.request.response_end', getAbsoluteTime(resourceTiming.responseEnd)],\n  ];\n}\n\nexport { resourceTimingToSpanAttributes };\n//# sourceMappingURL=resource-timing.js.map\n","import { addFetchEndInstrumentationHandler, addFetchInstrumentationHandler, instrumentFetchRequest, parseUrl, getLocationHref, stringMatchesSomePattern, spanToJSON, hasSpansEnabled, setHttpStatus, stripUrlQueryAndFragment, getActiveSpan, startInactiveSpan, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SentryNonRecordingSpan, getClient, getTraceData } from '@sentry/core';\nimport { addXhrInstrumentationHandler, addPerformanceInstrumentationHandler, SENTRY_XHR_DATA_KEY } from '@sentry-internal/browser-utils';\nimport { WINDOW } from '../helpers.js';\nimport { resourceTimingToSpanAttributes } from './resource-timing.js';\n\n/** Options for Request Instrumentation */\n\nconst responseToSpanId = new WeakMap();\nconst spanIdToEndTimestamp = new Map();\n\nconst defaultRequestInstrumentationOptions = {\n  traceFetch: true,\n  traceXHR: true,\n  enableHTTPTimings: true,\n  trackFetchStreamPerformance: false,\n};\n\n/** Registers span creators for xhr and fetch requests  */\nfunction instrumentOutgoingRequests(client, _options) {\n  const {\n    traceFetch,\n    traceXHR,\n    trackFetchStreamPerformance,\n    shouldCreateSpanForRequest,\n    enableHTTPTimings,\n    tracePropagationTargets,\n    onRequestSpanStart,\n  } = {\n    ...defaultRequestInstrumentationOptions,\n    ..._options,\n  };\n\n  const shouldCreateSpan =\n    typeof shouldCreateSpanForRequest === 'function' ? shouldCreateSpanForRequest : (_) => true;\n\n  const shouldAttachHeadersWithTargets = (url) => shouldAttachHeaders(url, tracePropagationTargets);\n\n  const spans = {};\n\n  if (traceFetch) {\n    // Keeping track of http requests, whose body payloads resolved later than the initial resolved request\n    // e.g. streaming using server sent events (SSE)\n    client.addEventProcessor(event => {\n      if (event.type === 'transaction' && event.spans) {\n        event.spans.forEach(span => {\n          if (span.op === 'http.client') {\n            const updatedTimestamp = spanIdToEndTimestamp.get(span.span_id);\n            if (updatedTimestamp) {\n              span.timestamp = updatedTimestamp / 1000;\n              spanIdToEndTimestamp.delete(span.span_id);\n            }\n          }\n        });\n      }\n      return event;\n    });\n\n    if (trackFetchStreamPerformance) {\n      addFetchEndInstrumentationHandler(handlerData => {\n        if (handlerData.response) {\n          const span = responseToSpanId.get(handlerData.response);\n          if (span && handlerData.endTimestamp) {\n            spanIdToEndTimestamp.set(span, handlerData.endTimestamp);\n          }\n        }\n      });\n    }\n\n    addFetchInstrumentationHandler(handlerData => {\n      const createdSpan = instrumentFetchRequest(handlerData, shouldCreateSpan, shouldAttachHeadersWithTargets, spans);\n\n      if (handlerData.response && handlerData.fetchData.__span) {\n        responseToSpanId.set(handlerData.response, handlerData.fetchData.__span);\n      }\n\n      // We cannot use `window.location` in the generic fetch instrumentation,\n      // but we need it for reliable `server.address` attribute.\n      // so we extend this in here\n      if (createdSpan) {\n        const fullUrl = getFullURL(handlerData.fetchData.url);\n        const host = fullUrl ? parseUrl(fullUrl).host : undefined;\n        createdSpan.setAttributes({\n          'http.url': fullUrl,\n          'server.address': host,\n        });\n\n        if (enableHTTPTimings) {\n          addHTTPTimings(createdSpan);\n        }\n\n        onRequestSpanStart?.(createdSpan, { headers: handlerData.headers });\n      }\n    });\n  }\n\n  if (traceXHR) {\n    addXhrInstrumentationHandler(handlerData => {\n      const createdSpan = xhrCallback(handlerData, shouldCreateSpan, shouldAttachHeadersWithTargets, spans);\n      if (createdSpan) {\n        if (enableHTTPTimings) {\n          addHTTPTimings(createdSpan);\n        }\n\n        let headers;\n        try {\n          headers = new Headers(handlerData.xhr.__sentry_xhr_v3__?.request_headers);\n        } catch {\n          // noop\n        }\n        onRequestSpanStart?.(createdSpan, { headers });\n      }\n    });\n  }\n}\n\nfunction isPerformanceResourceTiming(entry) {\n  return (\n    entry.entryType === 'resource' &&\n    'initiatorType' in entry &&\n    typeof (entry ).nextHopProtocol === 'string' &&\n    (entry.initiatorType === 'fetch' || entry.initiatorType === 'xmlhttprequest')\n  );\n}\n\n/**\n * Creates a temporary observer to listen to the next fetch/xhr resourcing timings,\n * so that when timings hit their per-browser limit they don't need to be removed.\n *\n * @param span A span that has yet to be finished, must contain `url` on data.\n */\nfunction addHTTPTimings(span) {\n  const { url } = spanToJSON(span).data;\n\n  if (!url || typeof url !== 'string') {\n    return;\n  }\n\n  const cleanup = addPerformanceInstrumentationHandler('resource', ({ entries }) => {\n    entries.forEach(entry => {\n      if (isPerformanceResourceTiming(entry) && entry.name.endsWith(url)) {\n        const spanAttributes = resourceTimingToSpanAttributes(entry);\n        spanAttributes.forEach(attributeArray => span.setAttribute(...attributeArray));\n        // In the next tick, clean this handler up\n        // We have to wait here because otherwise this cleans itself up before it is fully done\n        setTimeout(cleanup);\n      }\n    });\n  });\n}\n\n/**\n * A function that determines whether to attach tracing headers to a request.\n * We only export this function for testing purposes.\n */\nfunction shouldAttachHeaders(\n  targetUrl,\n  tracePropagationTargets,\n) {\n  // window.location.href not being defined is an edge case in the browser but we need to handle it.\n  // Potentially dangerous situations where it may not be defined: Browser Extensions, Web Workers, patching of the location obj\n  const href = getLocationHref();\n\n  if (!href) {\n    // If there is no window.location.origin, we default to only attaching tracing headers to relative requests, i.e. ones that start with `/`\n    // BIG DISCLAIMER: Users can call URLs with a double slash (fetch(\"//example.com/api\")), this is a shorthand for \"send to the same protocol\",\n    // so we need a to exclude those requests, because they might be cross origin.\n    const isRelativeSameOriginRequest = !!targetUrl.match(/^\\/(?!\\/)/);\n    if (!tracePropagationTargets) {\n      return isRelativeSameOriginRequest;\n    } else {\n      return stringMatchesSomePattern(targetUrl, tracePropagationTargets);\n    }\n  } else {\n    let resolvedUrl;\n    let currentOrigin;\n\n    // URL parsing may fail, we default to not attaching trace headers in that case.\n    try {\n      resolvedUrl = new URL(targetUrl, href);\n      currentOrigin = new URL(href).origin;\n    } catch {\n      return false;\n    }\n\n    const isSameOriginRequest = resolvedUrl.origin === currentOrigin;\n    if (!tracePropagationTargets) {\n      return isSameOriginRequest;\n    } else {\n      return (\n        stringMatchesSomePattern(resolvedUrl.toString(), tracePropagationTargets) ||\n        (isSameOriginRequest && stringMatchesSomePattern(resolvedUrl.pathname, tracePropagationTargets))\n      );\n    }\n  }\n}\n\n/**\n * Create and track xhr request spans\n *\n * @returns Span if a span was created, otherwise void.\n */\nfunction xhrCallback(\n  handlerData,\n  shouldCreateSpan,\n  shouldAttachHeaders,\n  spans,\n) {\n  const xhr = handlerData.xhr;\n  const sentryXhrData = xhr?.[SENTRY_XHR_DATA_KEY];\n\n  if (!xhr || xhr.__sentry_own_request__ || !sentryXhrData) {\n    return undefined;\n  }\n\n  const { url, method } = sentryXhrData;\n\n  const shouldCreateSpanResult = hasSpansEnabled() && shouldCreateSpan(url);\n\n  // check first if the request has finished and is tracked by an existing span which should now end\n  if (handlerData.endTimestamp && shouldCreateSpanResult) {\n    const spanId = xhr.__sentry_xhr_span_id__;\n    if (!spanId) return;\n\n    const span = spans[spanId];\n    if (span && sentryXhrData.status_code !== undefined) {\n      setHttpStatus(span, sentryXhrData.status_code);\n      span.end();\n\n      // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n      delete spans[spanId];\n    }\n    return undefined;\n  }\n\n  const fullUrl = getFullURL(url);\n  const parsedUrl = fullUrl ? parseUrl(fullUrl) : parseUrl(url);\n\n  const urlForSpanName = stripUrlQueryAndFragment(url);\n\n  const hasParent = !!getActiveSpan();\n\n  const span =\n    shouldCreateSpanResult && hasParent\n      ? startInactiveSpan({\n          name: `${method} ${urlForSpanName}`,\n          attributes: {\n            url,\n            type: 'xhr',\n            'http.method': method,\n            'http.url': fullUrl,\n            'server.address': parsedUrl?.host,\n            [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser',\n            [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'http.client',\n            ...(parsedUrl?.search && { 'http.query': parsedUrl?.search }),\n            ...(parsedUrl?.hash && { 'http.fragment': parsedUrl?.hash }),\n          },\n        })\n      : new SentryNonRecordingSpan();\n\n  xhr.__sentry_xhr_span_id__ = span.spanContext().spanId;\n  spans[xhr.__sentry_xhr_span_id__] = span;\n\n  if (shouldAttachHeaders(url)) {\n    addTracingHeadersToXhrRequest(\n      xhr,\n      // If performance is disabled (TWP) or there's no active root span (pageload/navigation/interaction),\n      // we do not want to use the span as base for the trace headers,\n      // which means that the headers will be generated from the scope and the sampling decision is deferred\n      hasSpansEnabled() && hasParent ? span : undefined,\n    );\n  }\n\n  const client = getClient();\n  if (client) {\n    client.emit('beforeOutgoingRequestSpan', span, handlerData );\n  }\n\n  return span;\n}\n\nfunction addTracingHeadersToXhrRequest(xhr, span) {\n  const { 'sentry-trace': sentryTrace, baggage } = getTraceData({ span });\n\n  if (sentryTrace) {\n    setHeaderOnXhr(xhr, sentryTrace, baggage);\n  }\n}\n\nfunction setHeaderOnXhr(\n  xhr,\n  sentryTraceHeader,\n  sentryBaggageHeader,\n) {\n  const originalHeaders = xhr.__sentry_xhr_v3__?.request_headers;\n\n  if (originalHeaders?.['sentry-trace']) {\n    // bail if a sentry-trace header is already set\n    return;\n  }\n\n  try {\n    // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n    xhr.setRequestHeader('sentry-trace', sentryTraceHeader);\n    if (sentryBaggageHeader) {\n      // only add our headers if\n      // - no pre-existing baggage header exists\n      // - or it is set and doesn't yet contain sentry values\n      const originalBaggageHeader = originalHeaders?.['baggage'];\n      if (!originalBaggageHeader || !baggageHeaderHasSentryValues(originalBaggageHeader)) {\n        // From MDN: \"If this method is called several times with the same header, the values are merged into one single request header.\"\n        // We can therefore simply set a baggage header without checking what was there before\n        // https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/setRequestHeader\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        xhr.setRequestHeader('baggage', sentryBaggageHeader);\n      }\n    }\n  } catch {\n    // Error: InvalidStateError: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': The object's state must be OPENED.\n  }\n}\n\nfunction baggageHeaderHasSentryValues(baggageHeader) {\n  return baggageHeader.split(',').some(value => value.trim().startsWith('sentry-'));\n}\n\nfunction getFullURL(url) {\n  try {\n    // By adding a base URL to new URL(), this will also work for relative urls\n    // If `url` is a full URL, the base URL is ignored anyhow\n    const parsed = new URL(url, WINDOW.location.origin);\n    return parsed.href;\n  } catch {\n    return undefined;\n  }\n}\n\nexport { defaultRequestInstrumentationOptions, instrumentOutgoingRequests, shouldAttachHeaders, xhrCallback };\n//# sourceMappingURL=request.js.map\n","import { getActiveSpan, getRootSpan, spanToJSON, debug, SPAN_STATUS_ERROR } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\n/**\n * Add a listener that cancels and finishes a transaction when the global\n * document is hidden.\n */\nfunction registerBackgroundTabDetection() {\n  if (WINDOW.document) {\n    WINDOW.document.addEventListener('visibilitychange', () => {\n      const activeSpan = getActiveSpan();\n      if (!activeSpan) {\n        return;\n      }\n\n      const rootSpan = getRootSpan(activeSpan);\n\n      if (WINDOW.document.hidden && rootSpan) {\n        const cancelledStatus = 'cancelled';\n\n        const { op, status } = spanToJSON(rootSpan);\n\n        if (DEBUG_BUILD) {\n          debug.log(`[Tracing] Transaction: ${cancelledStatus} -> since tab moved to the background, op: ${op}`);\n        }\n\n        // We should not set status if it is already set, this prevent important statuses like\n        // error or data loss from being overwritten on transaction.\n        if (!status) {\n          rootSpan.setStatus({ code: SPAN_STATUS_ERROR, message: cancelledStatus });\n        }\n\n        rootSpan.setAttribute('sentry.cancellation_reason', 'document.hidden');\n        rootSpan.end();\n      }\n    });\n  } else {\n    DEBUG_BUILD && debug.warn('[Tracing] Could not set up background tab detection due to lack of global document');\n  }\n}\n\nexport { registerBackgroundTabDetection };\n//# sourceMappingURL=backgroundtab.js.map\n","import { getRootSpan, getCurrentScope, SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE, spanToJSON, debug, SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE, SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\nimport '@sentry-internal/browser-utils';\nimport '../stack-parsers.js';\nimport '../integrations/breadcrumbs.js';\nimport '../integrations/browserapierrors.js';\nimport '../integrations/browsersession.js';\nimport '../integrations/globalhandlers.js';\nimport '../integrations/httpcontext.js';\nimport '../integrations/linkederrors.js';\n\n// 1h in seconds\nconst PREVIOUS_TRACE_MAX_DURATION = 3600;\n\n// session storage key\nconst PREVIOUS_TRACE_KEY = 'sentry_previous_trace';\n\nconst PREVIOUS_TRACE_TMP_SPAN_ATTRIBUTE = 'sentry.previous_trace';\n\n/**\n * Takes care of linking traces and applying the (consistent) sampling behavoiour based on the passed options\n * @param options - options for linking traces and consistent trace sampling (@see BrowserTracingOptions)\n * @param client - Sentry client\n */\nfunction linkTraces(\n  client,\n  {\n    linkPreviousTrace,\n    consistentTraceSampling,\n  }\n\n,\n) {\n  const useSessionStorage = linkPreviousTrace === 'session-storage';\n\n  let inMemoryPreviousTraceInfo = useSessionStorage ? getPreviousTraceFromSessionStorage() : undefined;\n\n  client.on('spanStart', span => {\n    if (getRootSpan(span) !== span) {\n      return;\n    }\n\n    const oldPropagationContext = getCurrentScope().getPropagationContext();\n    inMemoryPreviousTraceInfo = addPreviousTraceSpanLink(inMemoryPreviousTraceInfo, span, oldPropagationContext);\n\n    if (useSessionStorage) {\n      storePreviousTraceInSessionStorage(inMemoryPreviousTraceInfo);\n    }\n  });\n\n  let isFirstTraceOnPageload = true;\n  if (consistentTraceSampling) {\n    /*\n    When users opt into `consistentTraceSampling`, we need to ensure that we propagate\n    the previous trace's sample rate and rand to the current trace. This is necessary because otherwise, span\n    metric extrapolation is inaccurate, as we'd propagate too high of a sample rate for the subsequent traces.\n\n    So therefore, we pretend that the previous trace was the parent trace of the newly started trace. To do that,\n    we mutate the propagation context of the current trace and set the sample rate and sample rand of the previous trace.\n    Timing-wise, it is fine because it happens before we even sample the root span.\n\n    @see https://github.com/getsentry/sentry-javascript/issues/15754\n    */\n    client.on('beforeSampling', mutableSamplingContextData => {\n      if (!inMemoryPreviousTraceInfo) {\n        return;\n      }\n\n      const scope = getCurrentScope();\n      const currentPropagationContext = scope.getPropagationContext();\n\n      // We do not want to force-continue the sampling decision if we continue a trace\n      // that was started on the backend. Most prominently, this will happen in MPAs where\n      // users hard-navigate between pages. In this case, the sampling decision of a potentially\n      // started trace on the server takes precedence.\n      // Why? We want to prioritize inter-trace consistency over intra-trace consistency.\n      if (isFirstTraceOnPageload && currentPropagationContext.parentSpanId) {\n        isFirstTraceOnPageload = false;\n        return;\n      }\n\n      scope.setPropagationContext({\n        ...currentPropagationContext,\n        dsc: {\n          ...currentPropagationContext.dsc,\n          sample_rate: String(inMemoryPreviousTraceInfo.sampleRate),\n          sampled: String(spanContextSampled(inMemoryPreviousTraceInfo.spanContext)),\n        },\n        sampleRand: inMemoryPreviousTraceInfo.sampleRand,\n      });\n\n      mutableSamplingContextData.parentSampled = spanContextSampled(inMemoryPreviousTraceInfo.spanContext);\n      mutableSamplingContextData.parentSampleRate = inMemoryPreviousTraceInfo.sampleRate;\n\n      mutableSamplingContextData.spanAttributes = {\n        ...mutableSamplingContextData.spanAttributes,\n        [SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE]: inMemoryPreviousTraceInfo.sampleRate,\n      };\n    });\n  }\n}\n\n/**\n * Adds a previous_trace span link to the passed span if the passed\n * previousTraceInfo is still valid.\n *\n * @returns the updated previous trace info (based on the current span/trace) to\n * be used on the next call\n */\nfunction addPreviousTraceSpanLink(\n  previousTraceInfo,\n  span,\n  oldPropagationContext,\n) {\n  const spanJson = spanToJSON(span);\n\n  function getSampleRate() {\n    try {\n      return (\n        Number(oldPropagationContext.dsc?.sample_rate) ?? Number(spanJson.data?.[SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE])\n      );\n    } catch {\n      return 0;\n    }\n  }\n\n  const updatedPreviousTraceInfo = {\n    spanContext: span.spanContext(),\n    startTimestamp: spanJson.start_timestamp,\n    sampleRate: getSampleRate(),\n    sampleRand: oldPropagationContext.sampleRand,\n  };\n\n  if (!previousTraceInfo) {\n    return updatedPreviousTraceInfo;\n  }\n\n  const previousTraceSpanCtx = previousTraceInfo.spanContext;\n  if (previousTraceSpanCtx.traceId === spanJson.trace_id) {\n    // This means, we're still in the same trace so let's not update the previous trace info\n    // or add a link to the current span.\n    // Once we move away from the long-lived, route-based trace model, we can remove this cases\n    return previousTraceInfo;\n  }\n\n  // Only add the link if the startTimeStamp of the previous trace's root span is within\n  // PREVIOUS_TRACE_MAX_DURATION (1h) of the current root span's startTimestamp\n  // This is done to\n  // - avoid adding links to \"stale\" traces\n  // - enable more efficient querying for previous/next traces in Sentry\n  if (Date.now() / 1000 - previousTraceInfo.startTimestamp <= PREVIOUS_TRACE_MAX_DURATION) {\n    if (DEBUG_BUILD) {\n      debug.log(\n        `Adding previous_trace ${previousTraceSpanCtx} link to span ${{\n          op: spanJson.op,\n          ...span.spanContext(),\n        }}`,\n      );\n    }\n\n    span.addLink({\n      context: previousTraceSpanCtx,\n      attributes: {\n        [SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE]: 'previous_trace',\n      },\n    });\n\n    // TODO: Remove this once EAP can store span links. We currently only set this attribute so that we\n    // can obtain the previous trace information from the EAP store. Long-term, EAP will handle\n    // span links and then we should remove this again. Also throwing in a TODO(v11), to remind us\n    // to check this at v11 time :)\n    span.setAttribute(\n      PREVIOUS_TRACE_TMP_SPAN_ATTRIBUTE,\n      `${previousTraceSpanCtx.traceId}-${previousTraceSpanCtx.spanId}-${\n        spanContextSampled(previousTraceSpanCtx) ? 1 : 0\n      }`,\n    );\n  }\n\n  return updatedPreviousTraceInfo;\n}\n\n/**\n * Stores @param previousTraceInfo in sessionStorage.\n */\nfunction storePreviousTraceInSessionStorage(previousTraceInfo) {\n  try {\n    WINDOW.sessionStorage.setItem(PREVIOUS_TRACE_KEY, JSON.stringify(previousTraceInfo));\n  } catch (e) {\n    // Ignore potential errors (e.g. if sessionStorage is not available)\n    DEBUG_BUILD && debug.warn('Could not store previous trace in sessionStorage', e);\n  }\n}\n\n/**\n * Retrieves the previous trace from sessionStorage if available.\n */\nfunction getPreviousTraceFromSessionStorage() {\n  try {\n    const previousTraceInfo = WINDOW.sessionStorage?.getItem(PREVIOUS_TRACE_KEY);\n    // @ts-expect-error - intentionally risking JSON.parse throwing when previousTraceInfo is null to save bundle size\n    return JSON.parse(previousTraceInfo);\n  } catch {\n    return undefined;\n  }\n}\n\n/**\n * see {@link import('@sentry/core').spanIsSampled}\n */\nfunction spanContextSampled(ctx) {\n  return ctx.traceFlags === 0x1;\n}\n\nexport { PREVIOUS_TRACE_KEY, PREVIOUS_TRACE_MAX_DURATION, PREVIOUS_TRACE_TMP_SPAN_ATTRIBUTE, addPreviousTraceSpanLink, getPreviousTraceFromSessionStorage, linkTraces, spanContextSampled, storePreviousTraceInSessionStorage };\n//# sourceMappingURL=linkedTraces.js.map\n","import { TRACING_DEFAULTS, getLocationHref, browserPerformanceTimeOrigin, parseStringToURLObject, registerSpanErrorInstrumentation, GLOBAL_OBJ, getClient, debug, getIsolationScope, generateTraceId, getCurrentScope, propagationContextFromHeaders, spanToJSON, dateTimestampInSeconds, timestampInSeconds, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, startInactiveSpan, startIdleSpan, getDynamicSamplingContextFromSpan, spanIsSampled, SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, addNonEnumerableProperty, SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN } from '@sentry/core';\nimport { addHistoryInstrumentationHandler, registerInpInteractionListener, startTrackingWebVitals, startTrackingINP, startTrackingElementTiming, startTrackingLongAnimationFrames, startTrackingLongTasks, startTrackingInteractions, addPerformanceEntries } from '@sentry-internal/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW, getHttpRequestData } from '../helpers.js';\nimport { registerBackgroundTabDetection } from './backgroundtab.js';\nimport { linkTraces } from './linkedTraces.js';\nimport { defaultRequestInstrumentationOptions, instrumentOutgoingRequests } from './request.js';\n\nconst BROWSER_TRACING_INTEGRATION_ID = 'BrowserTracing';\n\nconst DEFAULT_BROWSER_TRACING_OPTIONS = {\n  ...TRACING_DEFAULTS,\n  instrumentNavigation: true,\n  instrumentPageLoad: true,\n  markBackgroundSpan: true,\n  enableLongTask: true,\n  enableLongAnimationFrame: true,\n  enableInp: true,\n  enableElementTiming: true,\n  ignoreResourceSpans: [],\n  ignorePerformanceApiSpans: [],\n  detectRedirects: true,\n  linkPreviousTrace: 'in-memory',\n  consistentTraceSampling: false,\n  _experiments: {},\n  ...defaultRequestInstrumentationOptions,\n};\n\n/**\n * The Browser Tracing integration automatically instruments browser pageload/navigation\n * actions as transactions, and captures requests, metrics and errors as spans.\n *\n * The integration can be configured with a variety of options, and can be extended to use\n * any routing library.\n *\n * We explicitly export the proper type here, as this has to be extended in some cases.\n */\nconst browserTracingIntegration = ((_options = {}) => {\n  const latestRoute = {\n    name: undefined,\n    source: undefined,\n  };\n\n  /**\n   * This is just a small wrapper that makes `document` optional.\n   * We want to be extra-safe and always check that this exists, to ensure weird environments do not blow up.\n   */\n  const optionalWindowDocument = WINDOW.document ;\n\n  const {\n    enableInp,\n    enableElementTiming,\n    enableLongTask,\n    enableLongAnimationFrame,\n    _experiments: { enableInteractions, enableStandaloneClsSpans, enableStandaloneLcpSpans },\n    beforeStartSpan,\n    idleTimeout,\n    finalTimeout,\n    childSpanTimeout,\n    markBackgroundSpan,\n    traceFetch,\n    traceXHR,\n    trackFetchStreamPerformance,\n    shouldCreateSpanForRequest,\n    enableHTTPTimings,\n    ignoreResourceSpans,\n    ignorePerformanceApiSpans,\n    instrumentPageLoad,\n    instrumentNavigation,\n    detectRedirects,\n    linkPreviousTrace,\n    consistentTraceSampling,\n    onRequestSpanStart,\n  } = {\n    ...DEFAULT_BROWSER_TRACING_OPTIONS,\n    ..._options,\n  };\n\n  let _collectWebVitals;\n  let lastInteractionTimestamp;\n\n  /** Create routing idle transaction. */\n  function _createRouteSpan(client, startSpanOptions, makeActive = true) {\n    const isPageloadTransaction = startSpanOptions.op === 'pageload';\n\n    const finalStartSpanOptions = beforeStartSpan\n      ? beforeStartSpan(startSpanOptions)\n      : startSpanOptions;\n\n    const attributes = finalStartSpanOptions.attributes || {};\n\n    // If `finalStartSpanOptions.name` is different than `startSpanOptions.name`\n    // it is because `beforeStartSpan` set a custom name. Therefore we set the source to 'custom'.\n    if (startSpanOptions.name !== finalStartSpanOptions.name) {\n      attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE] = 'custom';\n      finalStartSpanOptions.attributes = attributes;\n    }\n\n    if (!makeActive) {\n      // We want to ensure this has 0s duration\n      const now = dateTimestampInSeconds();\n      startInactiveSpan({\n        ...finalStartSpanOptions,\n        startTime: now,\n      }).end(now);\n      return;\n    }\n\n    latestRoute.name = finalStartSpanOptions.name;\n    latestRoute.source = attributes[SEMANTIC_ATTRIBUTE_SENTRY_SOURCE];\n\n    const idleSpan = startIdleSpan(finalStartSpanOptions, {\n      idleTimeout,\n      finalTimeout,\n      childSpanTimeout,\n      // should wait for finish signal if it's a pageload transaction\n      disableAutoFinish: isPageloadTransaction,\n      beforeSpanEnd: span => {\n        // This will generally always be defined here, because it is set in `setup()` of the integration\n        // but technically, it is optional, so we guard here to be extra safe\n        _collectWebVitals?.();\n        addPerformanceEntries(span, {\n          recordClsOnPageloadSpan: !enableStandaloneClsSpans,\n          recordLcpOnPageloadSpan: !enableStandaloneLcpSpans,\n          ignoreResourceSpans,\n          ignorePerformanceApiSpans,\n        });\n        setActiveIdleSpan(client, undefined);\n\n        // A trace should stay consistent over the entire timespan of one route - even after the pageload/navigation ended.\n        // Only when another navigation happens, we want to create a new trace.\n        // This way, e.g. errors that occur after the pageload span ended are still associated to the pageload trace.\n        const scope = getCurrentScope();\n        const oldPropagationContext = scope.getPropagationContext();\n\n        scope.setPropagationContext({\n          ...oldPropagationContext,\n          traceId: idleSpan.spanContext().traceId,\n          sampled: spanIsSampled(idleSpan),\n          dsc: getDynamicSamplingContextFromSpan(span),\n        });\n      },\n    });\n\n    setActiveIdleSpan(client, idleSpan);\n\n    function emitFinish() {\n      if (optionalWindowDocument && ['interactive', 'complete'].includes(optionalWindowDocument.readyState)) {\n        client.emit('idleSpanEnableAutoFinish', idleSpan);\n      }\n    }\n\n    if (isPageloadTransaction && optionalWindowDocument) {\n      optionalWindowDocument.addEventListener('readystatechange', () => {\n        emitFinish();\n      });\n\n      emitFinish();\n    }\n  }\n\n  return {\n    name: BROWSER_TRACING_INTEGRATION_ID,\n    setup(client) {\n      registerSpanErrorInstrumentation();\n\n      _collectWebVitals = startTrackingWebVitals({\n        recordClsStandaloneSpans: enableStandaloneClsSpans || false,\n        recordLcpStandaloneSpans: enableStandaloneLcpSpans || false,\n        client,\n      });\n\n      if (enableInp) {\n        startTrackingINP();\n      }\n\n      if (enableElementTiming) {\n        startTrackingElementTiming();\n      }\n\n      if (\n        enableLongAnimationFrame &&\n        GLOBAL_OBJ.PerformanceObserver &&\n        PerformanceObserver.supportedEntryTypes &&\n        PerformanceObserver.supportedEntryTypes.includes('long-animation-frame')\n      ) {\n        startTrackingLongAnimationFrames();\n      } else if (enableLongTask) {\n        startTrackingLongTasks();\n      }\n\n      if (enableInteractions) {\n        startTrackingInteractions();\n      }\n\n      if (detectRedirects && optionalWindowDocument) {\n        const interactionHandler = () => {\n          lastInteractionTimestamp = timestampInSeconds();\n        };\n        addEventListener('click', interactionHandler, { capture: true });\n        addEventListener('keydown', interactionHandler, { capture: true, passive: true });\n      }\n\n      function maybeEndActiveSpan() {\n        const activeSpan = getActiveIdleSpan(client);\n\n        if (activeSpan && !spanToJSON(activeSpan).timestamp) {\n          DEBUG_BUILD && debug.log(`[Tracing] Finishing current active span with op: ${spanToJSON(activeSpan).op}`);\n          // If there's an open active span, we need to finish it before creating an new one.\n          activeSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, 'cancelled');\n          activeSpan.end();\n        }\n      }\n\n      client.on('startNavigationSpan', (startSpanOptions, navigationOptions) => {\n        if (getClient() !== client) {\n          return;\n        }\n\n        if (navigationOptions?.isRedirect) {\n          DEBUG_BUILD &&\n            debug.warn('[Tracing] Detected redirect, navigation span will not be the root span, but a child span.');\n          _createRouteSpan(\n            client,\n            {\n              op: 'navigation.redirect',\n              ...startSpanOptions,\n            },\n            false,\n          );\n          return;\n        }\n\n        // Reset the last interaction timestamp since we now start a new navigation.\n        // Any subsequent navigation span starts could again be a redirect, so we\n        // should reset our heuristic detectors.\n        lastInteractionTimestamp = undefined;\n\n        maybeEndActiveSpan();\n\n        getIsolationScope().setPropagationContext({ traceId: generateTraceId(), sampleRand: Math.random() });\n\n        const scope = getCurrentScope();\n        scope.setPropagationContext({ traceId: generateTraceId(), sampleRand: Math.random() });\n        // We reset this to ensure we do not have lingering incorrect data here\n        // places that call this hook may set this where appropriate - else, the URL at span sending time is used\n        scope.setSDKProcessingMetadata({\n          normalizedRequest: undefined,\n        });\n\n        _createRouteSpan(client, {\n          op: 'navigation',\n          ...startSpanOptions,\n        });\n      });\n\n      client.on('startPageLoadSpan', (startSpanOptions, traceOptions = {}) => {\n        if (getClient() !== client) {\n          return;\n        }\n        maybeEndActiveSpan();\n\n        const sentryTrace = traceOptions.sentryTrace || getMetaContent('sentry-trace');\n        const baggage = traceOptions.baggage || getMetaContent('baggage');\n\n        const propagationContext = propagationContextFromHeaders(sentryTrace, baggage);\n\n        const scope = getCurrentScope();\n        scope.setPropagationContext(propagationContext);\n\n        // We store the normalized request data on the scope, so we get the request data at time of span creation\n        // otherwise, the URL etc. may already be of the following navigation, and we'd report the wrong URL\n        scope.setSDKProcessingMetadata({\n          normalizedRequest: getHttpRequestData(),\n        });\n\n        _createRouteSpan(client, {\n          op: 'pageload',\n          ...startSpanOptions,\n        });\n      });\n    },\n    afterAllSetup(client) {\n      let startingUrl = getLocationHref();\n\n      if (linkPreviousTrace !== 'off') {\n        linkTraces(client, { linkPreviousTrace, consistentTraceSampling });\n      }\n\n      if (WINDOW.location) {\n        if (instrumentPageLoad) {\n          const origin = browserPerformanceTimeOrigin();\n          startBrowserTracingPageLoadSpan(client, {\n            name: WINDOW.location.pathname,\n            // pageload should always start at timeOrigin (and needs to be in s, not ms)\n            startTime: origin ? origin / 1000 : undefined,\n            attributes: {\n              [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',\n              [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.pageload.browser',\n            },\n          });\n        }\n\n        if (instrumentNavigation) {\n          addHistoryInstrumentationHandler(({ to, from }) => {\n            /**\n             * This early return is there to account for some cases where a navigation transaction starts right after\n             * long-running pageload. We make sure that if `from` is undefined and a valid `startingURL` exists, we don't\n             * create an uneccessary navigation transaction.\n             *\n             * This was hard to duplicate, but this behavior stopped as soon as this fix was applied. This issue might also\n             * only be caused in certain development environments where the usage of a hot module reloader is causing\n             * errors.\n             */\n            if (from === undefined && startingUrl?.indexOf(to) !== -1) {\n              startingUrl = undefined;\n              return;\n            }\n\n            startingUrl = undefined;\n            const parsed = parseStringToURLObject(to);\n            const activeSpan = getActiveIdleSpan(client);\n            const navigationIsRedirect =\n              activeSpan && detectRedirects && isRedirect(activeSpan, lastInteractionTimestamp);\n\n            startBrowserTracingNavigationSpan(\n              client,\n              {\n                name: parsed?.pathname || WINDOW.location.pathname,\n                attributes: {\n                  [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',\n                  [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.navigation.browser',\n                },\n              },\n              { url: to, isRedirect: navigationIsRedirect },\n            );\n          });\n        }\n      }\n\n      if (markBackgroundSpan) {\n        registerBackgroundTabDetection();\n      }\n\n      if (enableInteractions) {\n        registerInteractionListener(client, idleTimeout, finalTimeout, childSpanTimeout, latestRoute);\n      }\n\n      if (enableInp) {\n        registerInpInteractionListener();\n      }\n\n      instrumentOutgoingRequests(client, {\n        traceFetch,\n        traceXHR,\n        trackFetchStreamPerformance,\n        tracePropagationTargets: client.getOptions().tracePropagationTargets,\n        shouldCreateSpanForRequest,\n        enableHTTPTimings,\n        onRequestSpanStart,\n      });\n    },\n  };\n}) ;\n\n/**\n * Manually start a page load span.\n * This will only do something if a browser tracing integration integration has been setup.\n *\n * If you provide a custom `traceOptions` object, it will be used to continue the trace\n * instead of the default behavior, which is to look it up on the <meta> tags.\n */\nfunction startBrowserTracingPageLoadSpan(\n  client,\n  spanOptions,\n  traceOptions,\n) {\n  client.emit('startPageLoadSpan', spanOptions, traceOptions);\n  getCurrentScope().setTransactionName(spanOptions.name);\n\n  const pageloadSpan = getActiveIdleSpan(client);\n\n  if (pageloadSpan) {\n    client.emit('afterStartPageLoadSpan', pageloadSpan);\n  }\n\n  return pageloadSpan;\n}\n\n/**\n * Manually start a navigation span.\n * This will only do something if a browser tracing integration has been setup.\n */\nfunction startBrowserTracingNavigationSpan(\n  client,\n  spanOptions,\n  options,\n) {\n  const { url, isRedirect } = options || {};\n  client.emit('beforeStartNavigationSpan', spanOptions, { isRedirect });\n  client.emit('startNavigationSpan', spanOptions, { isRedirect });\n\n  const scope = getCurrentScope();\n  scope.setTransactionName(spanOptions.name);\n\n  // We store the normalized request data on the scope, so we get the request data at time of span creation\n  // otherwise, the URL etc. may already be of the following navigation, and we'd report the wrong URL\n  if (url && !isRedirect) {\n    scope.setSDKProcessingMetadata({\n      normalizedRequest: {\n        ...getHttpRequestData(),\n        url,\n      },\n    });\n  }\n\n  return getActiveIdleSpan(client);\n}\n\n/** Returns the value of a meta tag */\nfunction getMetaContent(metaName) {\n  /**\n   * This is just a small wrapper that makes `document` optional.\n   * We want to be extra-safe and always check that this exists, to ensure weird environments do not blow up.\n   */\n  const optionalWindowDocument = WINDOW.document ;\n\n  const metaTag = optionalWindowDocument?.querySelector(`meta[name=${metaName}]`);\n  return metaTag?.getAttribute('content') || undefined;\n}\n\n/** Start listener for interaction transactions */\nfunction registerInteractionListener(\n  client,\n  idleTimeout,\n  finalTimeout,\n  childSpanTimeout,\n  latestRoute,\n) {\n  /**\n   * This is just a small wrapper that makes `document` optional.\n   * We want to be extra-safe and always check that this exists, to ensure weird environments do not blow up.\n   */\n  const optionalWindowDocument = WINDOW.document ;\n\n  let inflightInteractionSpan;\n  const registerInteractionTransaction = () => {\n    const op = 'ui.action.click';\n\n    const activeIdleSpan = getActiveIdleSpan(client);\n    if (activeIdleSpan) {\n      const currentRootSpanOp = spanToJSON(activeIdleSpan).op;\n      if (['navigation', 'pageload'].includes(currentRootSpanOp )) {\n        DEBUG_BUILD &&\n          debug.warn(`[Tracing] Did not create ${op} span because a pageload or navigation span is in progress.`);\n        return undefined;\n      }\n    }\n\n    if (inflightInteractionSpan) {\n      inflightInteractionSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON, 'interactionInterrupted');\n      inflightInteractionSpan.end();\n      inflightInteractionSpan = undefined;\n    }\n\n    if (!latestRoute.name) {\n      DEBUG_BUILD && debug.warn(`[Tracing] Did not create ${op} transaction because _latestRouteName is missing.`);\n      return undefined;\n    }\n\n    inflightInteractionSpan = startIdleSpan(\n      {\n        name: latestRoute.name,\n        op,\n        attributes: {\n          [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: latestRoute.source || 'url',\n        },\n      },\n      {\n        idleTimeout,\n        finalTimeout,\n        childSpanTimeout,\n      },\n    );\n  };\n\n  if (optionalWindowDocument) {\n    addEventListener('click', registerInteractionTransaction, { capture: true });\n  }\n}\n\n// We store the active idle span on the client object, so we can access it from exported functions\nconst ACTIVE_IDLE_SPAN_PROPERTY = '_sentry_idleSpan';\nfunction getActiveIdleSpan(client) {\n  return (client )[ACTIVE_IDLE_SPAN_PROPERTY];\n}\n\nfunction setActiveIdleSpan(client, span) {\n  addNonEnumerableProperty(client, ACTIVE_IDLE_SPAN_PROPERTY, span);\n}\n\n// The max. time in seconds between two pageload/navigation spans that makes us consider the second one a redirect\nconst REDIRECT_THRESHOLD = 1.5;\n\nfunction isRedirect(activeSpan, lastInteractionTimestamp) {\n  const spanData = spanToJSON(activeSpan);\n\n  const now = dateTimestampInSeconds();\n\n  // More than REDIRECT_THRESHOLD seconds since last navigation/pageload span?\n  // --> never consider this a redirect\n  const startTimestamp = spanData.start_timestamp;\n  if (now - startTimestamp > REDIRECT_THRESHOLD) {\n    return false;\n  }\n\n  // A click happened in the last REDIRECT_THRESHOLD seconds?\n  // --> never consider this a redirect\n  if (lastInteractionTimestamp && now - lastInteractionTimestamp <= REDIRECT_THRESHOLD) {\n    return false;\n  }\n\n  return true;\n}\n\nexport { BROWSER_TRACING_INTEGRATION_ID, browserTracingIntegration, getMetaContent, startBrowserTracingNavigationSpan, startBrowserTracingPageLoadSpan };\n//# sourceMappingURL=browserTracingIntegration.js.map\n","import { makeOfflineTransport, parseEnvelope, serializeEnvelope } from '@sentry/core';\nimport { WINDOW } from '../helpers.js';\nimport { makeFetchTransport } from './fetch.js';\n\n// 'Store', 'promisifyRequest' and 'createStore' were originally copied from the 'idb-keyval' package before being\n// modified and simplified: https://github.com/jakearchibald/idb-keyval\n//\n// At commit: 0420a704fd6cbb4225429c536b1f61112d012fca\n// Original license:\n\n// Copyright 2016, Jake Archibald\n//\n// Licensed under the Apache License, Version 2.0 (the \"License\");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n//   http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an \"AS IS\" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n\nfunction promisifyRequest(request) {\n  return new Promise((resolve, reject) => {\n    // @ts-expect-error - file size hacks\n    request.oncomplete = request.onsuccess = () => resolve(request.result);\n    // @ts-expect-error - file size hacks\n    request.onabort = request.onerror = () => reject(request.error);\n  });\n}\n\n/** Create or open an IndexedDb store */\nfunction createStore(dbName, storeName) {\n  const request = indexedDB.open(dbName);\n  request.onupgradeneeded = () => request.result.createObjectStore(storeName);\n  const dbp = promisifyRequest(request);\n\n  return callback => dbp.then(db => callback(db.transaction(storeName, 'readwrite').objectStore(storeName)));\n}\n\nfunction keys(store) {\n  return promisifyRequest(store.getAllKeys() );\n}\n\n/** Insert into the end of the store */\nfunction push(store, value, maxQueueSize) {\n  return store(store => {\n    return keys(store).then(keys => {\n      if (keys.length >= maxQueueSize) {\n        return;\n      }\n\n      // We insert with an incremented key so that the entries are popped in order\n      store.put(value, Math.max(...keys, 0) + 1);\n      return promisifyRequest(store.transaction);\n    });\n  });\n}\n\n/** Insert into the front of the store */\nfunction unshift(store, value, maxQueueSize) {\n  return store(store => {\n    return keys(store).then(keys => {\n      if (keys.length >= maxQueueSize) {\n        return;\n      }\n\n      // We insert with an decremented key so that the entries are popped in order\n      store.put(value, Math.min(...keys, 0) - 1);\n      return promisifyRequest(store.transaction);\n    });\n  });\n}\n\n/** Pop the oldest value from the store */\nfunction shift(store) {\n  return store(store => {\n    return keys(store).then(keys => {\n      const firstKey = keys[0];\n      if (firstKey == null) {\n        return undefined;\n      }\n\n      return promisifyRequest(store.get(firstKey)).then(value => {\n        store.delete(firstKey);\n        return promisifyRequest(store.transaction).then(() => value);\n      });\n    });\n  });\n}\n\nfunction createIndexedDbStore(options) {\n  let store;\n\n  // Lazily create the store only when it's needed\n  function getStore() {\n    if (store == undefined) {\n      store = createStore(options.dbName || 'sentry-offline', options.storeName || 'queue');\n    }\n\n    return store;\n  }\n\n  return {\n    push: async (env) => {\n      try {\n        const serialized = await serializeEnvelope(env);\n        await push(getStore(), serialized, options.maxQueueSize || 30);\n      } catch {\n        //\n      }\n    },\n    unshift: async (env) => {\n      try {\n        const serialized = await serializeEnvelope(env);\n        await unshift(getStore(), serialized, options.maxQueueSize || 30);\n      } catch {\n        //\n      }\n    },\n    shift: async () => {\n      try {\n        const deserialized = await shift(getStore());\n        if (deserialized) {\n          return parseEnvelope(deserialized);\n        }\n      } catch {\n        //\n      }\n\n      return undefined;\n    },\n  };\n}\n\nfunction makeIndexedDbOfflineTransport(\n  createTransport,\n) {\n  return options => {\n    const transport = createTransport({ ...options, createStore: createIndexedDbStore });\n\n    WINDOW.addEventListener('online', async _ => {\n      await transport.flush();\n    });\n\n    return transport;\n  };\n}\n\n/**\n * Creates a transport that uses IndexedDb to store events when offline.\n */\nfunction makeBrowserOfflineTransport(\n  createTransport = makeFetchTransport,\n) {\n  return makeIndexedDbOfflineTransport(makeOfflineTransport(createTransport));\n}\n\nexport { createStore, makeBrowserOfflineTransport, push, shift, unshift };\n//# sourceMappingURL=offline.js.map\n","import { spanToJSON, debug, getClient, forEachEnvelopeItem, timestampInSeconds, uuid4, DEFAULT_ENVIRONMENT, getDebugImagesForResources, browserPerformanceTimeOrigin } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\n\nconst MS_TO_NS = 1e6;\n// Use 0 as main thread id which is identical to threadId in node:worker_threads\n// where main logs 0 and workers seem to log in increments of 1\nconst THREAD_ID_STRING = String(0);\nconst THREAD_NAME = 'main';\n\n// We force make this optional to be on the safe side...\nconst navigator = WINDOW.navigator ;\n\n// Machine properties (eval only once)\nlet OS_PLATFORM = '';\nlet OS_PLATFORM_VERSION = '';\nlet OS_ARCH = '';\nlet OS_BROWSER = navigator?.userAgent || '';\nlet OS_MODEL = '';\nconst OS_LOCALE = navigator?.language || navigator?.languages?.[0] || '';\n\nfunction isUserAgentData(data) {\n  return typeof data === 'object' && data !== null && 'getHighEntropyValues' in data;\n}\n\n// @ts-expect-error userAgentData is not part of the navigator interface yet\nconst userAgentData = navigator?.userAgentData;\n\nif (isUserAgentData(userAgentData)) {\n  userAgentData\n    .getHighEntropyValues(['architecture', 'model', 'platform', 'platformVersion', 'fullVersionList'])\n    .then((ua) => {\n      OS_PLATFORM = ua.platform || '';\n      OS_ARCH = ua.architecture || '';\n      OS_MODEL = ua.model || '';\n      OS_PLATFORM_VERSION = ua.platformVersion || '';\n\n      if (ua.fullVersionList?.length) {\n        // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n        const firstUa = ua.fullVersionList[ua.fullVersionList.length - 1];\n        OS_BROWSER = `${firstUa.brand} ${firstUa.version}`;\n      }\n    })\n    .catch(e => void 0);\n}\n\nfunction isProcessedJSSelfProfile(profile) {\n  return !('thread_metadata' in profile);\n}\n\n// Enriches the profile with threadId of the current thread.\n// This is done in node as we seem to not be able to get the info from C native code.\n/**\n *\n */\nfunction enrichWithThreadInformation(profile) {\n  if (!isProcessedJSSelfProfile(profile)) {\n    return profile;\n  }\n\n  return convertJSSelfProfileToSampledFormat(profile);\n}\n\n// Profile is marked as optional because it is deleted from the metadata\n// by the integration before the event is processed by other integrations.\n\nfunction getTraceId(event) {\n  const traceId = event.contexts?.trace?.trace_id;\n  // Log a warning if the profile has an invalid traceId (should be uuidv4).\n  // All profiles and transactions are rejected if this is the case and we want to\n  // warn users that this is happening if they enable debug flag\n  if (typeof traceId === 'string' && traceId.length !== 32) {\n    if (DEBUG_BUILD) {\n      debug.log(`[Profiling] Invalid traceId: ${traceId} on profiled event`);\n    }\n  }\n  if (typeof traceId !== 'string') {\n    return '';\n  }\n\n  return traceId;\n}\n/**\n * Creates a profiling event envelope from a Sentry event. If profile does not pass\n * validation, returns null.\n * @param event\n * @param dsn\n * @param metadata\n * @param tunnel\n * @returns {EventEnvelope | null}\n */\n\n/**\n * Creates a profiling event envelope from a Sentry event.\n */\nfunction createProfilePayload(\n  profile_id,\n  start_timestamp,\n  processed_profile,\n  event,\n) {\n  if (event.type !== 'transaction') {\n    // createProfilingEventEnvelope should only be called for transactions,\n    // we type guard this behavior with isProfiledTransactionEvent.\n    throw new TypeError('Profiling events may only be attached to transactions, this should never occur.');\n  }\n\n  if (processed_profile === undefined || processed_profile === null) {\n    throw new TypeError(\n      `Cannot construct profiling event envelope without a valid profile. Got ${processed_profile} instead.`,\n    );\n  }\n\n  const traceId = getTraceId(event);\n  const enrichedThreadProfile = enrichWithThreadInformation(processed_profile);\n  const transactionStartMs = start_timestamp\n    ? start_timestamp\n    : typeof event.start_timestamp === 'number'\n      ? event.start_timestamp * 1000\n      : timestampInSeconds() * 1000;\n  const transactionEndMs = typeof event.timestamp === 'number' ? event.timestamp * 1000 : timestampInSeconds() * 1000;\n\n  const profile = {\n    event_id: profile_id,\n    timestamp: new Date(transactionStartMs).toISOString(),\n    platform: 'javascript',\n    version: '1',\n    release: event.release || '',\n    environment: event.environment || DEFAULT_ENVIRONMENT,\n    runtime: {\n      name: 'javascript',\n      version: WINDOW.navigator.userAgent,\n    },\n    os: {\n      name: OS_PLATFORM,\n      version: OS_PLATFORM_VERSION,\n      build_number: OS_BROWSER,\n    },\n    device: {\n      locale: OS_LOCALE,\n      model: OS_MODEL,\n      manufacturer: OS_BROWSER,\n      architecture: OS_ARCH,\n      is_emulator: false,\n    },\n    debug_meta: {\n      images: applyDebugMetadata(processed_profile.resources),\n    },\n    profile: enrichedThreadProfile,\n    transactions: [\n      {\n        name: event.transaction || '',\n        id: event.event_id || uuid4(),\n        trace_id: traceId,\n        active_thread_id: THREAD_ID_STRING,\n        relative_start_ns: '0',\n        relative_end_ns: ((transactionEndMs - transactionStartMs) * 1e6).toFixed(0),\n      },\n    ],\n  };\n\n  return profile;\n}\n\n/*\n  See packages/browser-utils/src/browser/router.ts\n*/\n/**\n *\n */\nfunction isAutomatedPageLoadSpan(span) {\n  return spanToJSON(span).op === 'pageload';\n}\n\n/**\n * Converts a JSSelfProfile to a our sampled format.\n * Does not currently perform stack indexing.\n */\nfunction convertJSSelfProfileToSampledFormat(input) {\n  let EMPTY_STACK_ID = undefined;\n  let STACK_ID = 0;\n\n  // Initialize the profile that we will fill with data\n  const profile = {\n    samples: [],\n    stacks: [],\n    frames: [],\n    thread_metadata: {\n      [THREAD_ID_STRING]: { name: THREAD_NAME },\n    },\n  };\n\n  const firstSample = input.samples[0];\n  if (!firstSample) {\n    return profile;\n  }\n\n  // We assert samples.length > 0 above and timestamp should always be present\n  const start = firstSample.timestamp;\n  // The JS SDK might change it's time origin based on some heuristic (see See packages/utils/src/time.ts)\n  // when that happens, we need to ensure we are correcting the profile timings so the two timelines stay in sync.\n  // Since JS self profiling time origin is always initialized to performance.timeOrigin, we need to adjust for\n  // the drift between the SDK selected value and our profile time origin.\n  const perfOrigin = browserPerformanceTimeOrigin();\n  const origin = typeof performance.timeOrigin === 'number' ? performance.timeOrigin : perfOrigin || 0;\n  const adjustForOriginChange = origin - (perfOrigin || origin);\n\n  input.samples.forEach((jsSample, i) => {\n    // If sample has no stack, add an empty sample\n    if (jsSample.stackId === undefined) {\n      if (EMPTY_STACK_ID === undefined) {\n        EMPTY_STACK_ID = STACK_ID;\n        profile.stacks[EMPTY_STACK_ID] = [];\n        STACK_ID++;\n      }\n\n      profile['samples'][i] = {\n        // convert ms timestamp to ns\n        elapsed_since_start_ns: ((jsSample.timestamp + adjustForOriginChange - start) * MS_TO_NS).toFixed(0),\n        stack_id: EMPTY_STACK_ID,\n        thread_id: THREAD_ID_STRING,\n      };\n      return;\n    }\n\n    let stackTop = input.stacks[jsSample.stackId];\n\n    // Functions in top->down order (root is last)\n    // We follow the stackTop.parentId trail and collect each visited frameId\n    const stack = [];\n\n    while (stackTop) {\n      stack.push(stackTop.frameId);\n\n      const frame = input.frames[stackTop.frameId];\n\n      // If our frame has not been indexed yet, index it\n      if (frame && profile.frames[stackTop.frameId] === undefined) {\n        profile.frames[stackTop.frameId] = {\n          function: frame.name,\n          abs_path: typeof frame.resourceId === 'number' ? input.resources[frame.resourceId] : undefined,\n          lineno: frame.line,\n          colno: frame.column,\n        };\n      }\n\n      stackTop = stackTop.parentId === undefined ? undefined : input.stacks[stackTop.parentId];\n    }\n\n    const sample = {\n      // convert ms timestamp to ns\n      elapsed_since_start_ns: ((jsSample.timestamp + adjustForOriginChange - start) * MS_TO_NS).toFixed(0),\n      stack_id: STACK_ID,\n      thread_id: THREAD_ID_STRING,\n    };\n\n    profile['stacks'][STACK_ID] = stack;\n    profile['samples'][i] = sample;\n    STACK_ID++;\n  });\n\n  return profile;\n}\n\n/**\n * Adds items to envelope if they are not already present - mutates the envelope.\n * @param envelope\n */\nfunction addProfilesToEnvelope(envelope, profiles) {\n  if (!profiles.length) {\n    return envelope;\n  }\n\n  for (const profile of profiles) {\n    envelope[1].push([{ type: 'profile' }, profile]);\n  }\n  return envelope;\n}\n\n/**\n * Finds transactions with profile_id context in the envelope\n * @param envelope\n * @returns\n */\nfunction findProfiledTransactionsFromEnvelope(envelope) {\n  const events = [];\n\n  forEachEnvelopeItem(envelope, (item, type) => {\n    if (type !== 'transaction') {\n      return;\n    }\n\n    for (let j = 1; j < item.length; j++) {\n      const event = item[j] ;\n\n      if (event?.contexts?.profile?.profile_id) {\n        events.push(item[j] );\n      }\n    }\n  });\n\n  return events;\n}\n\n/**\n * Applies debug meta data to an event from a list of paths to resources (sourcemaps)\n */\nfunction applyDebugMetadata(resource_paths) {\n  const client = getClient();\n  const options = client?.getOptions();\n  const stackParser = options?.stackParser;\n\n  if (!stackParser) {\n    return [];\n  }\n\n  return getDebugImagesForResources(stackParser, resource_paths);\n}\n\n/**\n * Checks the given sample rate to make sure it is valid type and value (a boolean, or a number between 0 and 1).\n */\nfunction isValidSampleRate(rate) {\n  // we need to check NaN explicitly because it's of type 'number' and therefore wouldn't get caught by this typecheck\n  if ((typeof rate !== 'number' && typeof rate !== 'boolean') || (typeof rate === 'number' && isNaN(rate))) {\n    DEBUG_BUILD &&\n      debug.warn(\n        `[Profiling] Invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(\n          rate,\n        )} of type ${JSON.stringify(typeof rate)}.`,\n      );\n    return false;\n  }\n\n  // Boolean sample rates are always valid\n  if (rate === true || rate === false) {\n    return true;\n  }\n\n  // in case sampleRate is a boolean, it will get automatically cast to 1 if it's true and 0 if it's false\n  if (rate < 0 || rate > 1) {\n    DEBUG_BUILD && debug.warn(`[Profiling] Invalid sample rate. Sample rate must be between 0 and 1. Got ${rate}.`);\n    return false;\n  }\n  return true;\n}\n\nfunction isValidProfile(profile) {\n  if (profile.samples.length < 2) {\n    if (DEBUG_BUILD) {\n      // Log a warning if the profile has less than 2 samples so users can know why\n      // they are not seeing any profiling data and we cant avoid the back and forth\n      // of asking them to provide us with a dump of the profile data.\n      debug.log('[Profiling] Discarding profile because it contains less than 2 samples');\n    }\n    return false;\n  }\n\n  if (!profile.frames.length) {\n    if (DEBUG_BUILD) {\n      debug.log('[Profiling] Discarding profile because it contains no frames');\n    }\n    return false;\n  }\n\n  return true;\n}\n\n// Keep a flag value to avoid re-initializing the profiler constructor. If it fails\n// once, it will always fail and this allows us to early return.\nlet PROFILING_CONSTRUCTOR_FAILED = false;\nconst MAX_PROFILE_DURATION_MS = 30000;\n\n/**\n * Check if profiler constructor is available.\n * @param maybeProfiler\n */\nfunction isJSProfilerSupported(maybeProfiler) {\n  return typeof maybeProfiler === 'function';\n}\n\n/**\n * Starts the profiler and returns the profiler instance.\n */\nfunction startJSSelfProfile() {\n  // Feature support check first\n  const JSProfilerConstructor = WINDOW.Profiler;\n\n  if (!isJSProfilerSupported(JSProfilerConstructor)) {\n    if (DEBUG_BUILD) {\n      debug.log('[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object.');\n    }\n    return;\n  }\n\n  // From initial testing, it seems that the minimum value for sampleInterval is 10ms.\n  const samplingIntervalMS = 10;\n  // Start the profiler\n  const maxSamples = Math.floor(MAX_PROFILE_DURATION_MS / samplingIntervalMS);\n\n  // Attempt to initialize the profiler constructor, if it fails, we disable profiling for the current user session.\n  // This is likely due to a missing 'Document-Policy': 'js-profiling' header. We do not want to throw an error if this happens\n  // as we risk breaking the user's application, so just disable profiling and log an error.\n  try {\n    return new JSProfilerConstructor({ sampleInterval: samplingIntervalMS, maxBufferSize: maxSamples });\n  } catch (e) {\n    if (DEBUG_BUILD) {\n      debug.log(\n        \"[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header.\",\n      );\n      debug.log('[Profiling] Disabling profiling for current user session.');\n    }\n    PROFILING_CONSTRUCTOR_FAILED = true;\n  }\n\n  return;\n}\n\n/**\n * Determine if a profile should be profiled.\n */\nfunction shouldProfileSpan(span) {\n  // If constructor failed once, it will always fail, so we can early return.\n  if (PROFILING_CONSTRUCTOR_FAILED) {\n    if (DEBUG_BUILD) {\n      debug.log('[Profiling] Profiling has been disabled for the duration of the current user session.');\n    }\n    return false;\n  }\n\n  if (!span.isRecording()) {\n    if (DEBUG_BUILD) {\n      debug.log('[Profiling] Discarding profile because transaction was not sampled.');\n    }\n    return false;\n  }\n\n  const client = getClient();\n  const options = client?.getOptions();\n  if (!options) {\n    DEBUG_BUILD && debug.log('[Profiling] Profiling disabled, no options found.');\n    return false;\n  }\n\n  // @ts-expect-error profilesSampleRate is not part of the browser options yet\n  const profilesSampleRate = options.profilesSampleRate;\n\n  // Since this is coming from the user (or from a function provided by the user), who knows what we might get. (The\n  // only valid values are booleans or numbers between 0 and 1.)\n  if (!isValidSampleRate(profilesSampleRate)) {\n    DEBUG_BUILD && debug.warn('[Profiling] Discarding profile because of invalid sample rate.');\n    return false;\n  }\n\n  // if the function returned 0 (or false), or if `profileSampleRate` is 0, it's a sign the profile should be dropped\n  if (!profilesSampleRate) {\n    DEBUG_BUILD &&\n      debug.log(\n        '[Profiling] Discarding profile because a negative sampling decision was inherited or profileSampleRate is set to 0',\n      );\n    return false;\n  }\n\n  // Now we roll the dice. Math.random is inclusive of 0, but not of 1, so strict < is safe here. In case sampleRate is\n  // a boolean, the < comparison will cause it to be automatically cast to 1 if it's true and 0 if it's false.\n  const sampled = profilesSampleRate === true ? true : Math.random() < profilesSampleRate;\n  // Check if we should sample this profile\n  if (!sampled) {\n    DEBUG_BUILD &&\n      debug.log(\n        `[Profiling] Discarding profile because it's not included in the random sample (sampling rate = ${Number(\n          profilesSampleRate,\n        )})`,\n      );\n    return false;\n  }\n\n  return true;\n}\n\n/**\n * Creates a profiling envelope item, if the profile does not pass validation, returns null.\n * @param event\n * @returns {Profile | null}\n */\nfunction createProfilingEvent(\n  profile_id,\n  start_timestamp,\n  profile,\n  event,\n) {\n  if (!isValidProfile(profile)) {\n    return null;\n  }\n\n  return createProfilePayload(profile_id, start_timestamp, profile, event);\n}\n\n// TODO (v8): We need to obtain profile ids in @sentry-internal/tracing,\n// but we don't have access to this map because importing this map would\n// cause a circular dependency. We need to resolve this in v8.\nconst PROFILE_MAP = new Map();\n/**\n *\n */\nfunction getActiveProfilesCount() {\n  return PROFILE_MAP.size;\n}\n\n/**\n * Retrieves profile from global cache and removes it.\n */\nfunction takeProfileFromGlobalCache(profile_id) {\n  const profile = PROFILE_MAP.get(profile_id);\n  if (profile) {\n    PROFILE_MAP.delete(profile_id);\n  }\n  return profile;\n}\n/**\n * Adds profile to global cache and evicts the oldest profile if the cache is full.\n */\nfunction addProfileToGlobalCache(profile_id, profile) {\n  PROFILE_MAP.set(profile_id, profile);\n\n  if (PROFILE_MAP.size > 30) {\n    const last = PROFILE_MAP.keys().next().value;\n    PROFILE_MAP.delete(last);\n  }\n}\n\nexport { MAX_PROFILE_DURATION_MS, addProfileToGlobalCache, addProfilesToEnvelope, applyDebugMetadata, convertJSSelfProfileToSampledFormat, createProfilePayload, createProfilingEvent, enrichWithThreadInformation, findProfiledTransactionsFromEnvelope, getActiveProfilesCount, isAutomatedPageLoadSpan, isValidSampleRate, shouldProfileSpan, startJSSelfProfile, takeProfileFromGlobalCache };\n//# sourceMappingURL=utils.js.map\n","import { timestampInSeconds, debug, spanToJSON, uuid4, getCurrentScope } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { WINDOW } from '../helpers.js';\nimport { isAutomatedPageLoadSpan, startJSSelfProfile, MAX_PROFILE_DURATION_MS, addProfileToGlobalCache } from './utils.js';\n\n/**\n * Wraps startTransaction and stopTransaction with profiling related logic.\n * startProfileForTransaction is called after the call to startTransaction in order to avoid our own code from\n * being profiled. Because of that same reason, stopProfiling is called before the call to stopTransaction.\n */\nfunction startProfileForSpan(span) {\n  // Start the profiler and get the profiler instance.\n  let startTimestamp;\n  if (isAutomatedPageLoadSpan(span)) {\n    startTimestamp = timestampInSeconds() * 1000;\n  }\n\n  const profiler = startJSSelfProfile();\n\n  // We failed to construct the profiler, so we skip.\n  // No need to log anything as this has already been logged in startProfile.\n  if (!profiler) {\n    return;\n  }\n\n  if (DEBUG_BUILD) {\n    debug.log(`[Profiling] started profiling span: ${spanToJSON(span).description}`);\n  }\n\n  // We create \"unique\" span names to avoid concurrent spans with same names\n  // from being ignored by the profiler. From here on, only this span name should be used when\n  // calling the profiler methods. Note: we log the original name to the user to avoid confusion.\n  const profileId = uuid4();\n\n  getCurrentScope().setContext('profile', {\n    profile_id: profileId,\n    start_timestamp: startTimestamp,\n  });\n\n  /**\n   * Idempotent handler for profile stop\n   */\n  async function onProfileHandler() {\n    // Check if the profile exists and return it the behavior has to be idempotent as users may call span.finish multiple times.\n    if (!span) {\n      return;\n    }\n    // Satisfy the type checker, but profiler will always be defined here.\n    if (!profiler) {\n      return;\n    }\n\n    return profiler\n      .stop()\n      .then((profile) => {\n        if (maxDurationTimeoutID) {\n          WINDOW.clearTimeout(maxDurationTimeoutID);\n          maxDurationTimeoutID = undefined;\n        }\n\n        if (DEBUG_BUILD) {\n          debug.log(`[Profiling] stopped profiling of span: ${spanToJSON(span).description}`);\n        }\n\n        // In case of an overlapping span, stopProfiling may return null and silently ignore the overlapping profile.\n        if (!profile) {\n          if (DEBUG_BUILD) {\n            debug.log(\n              `[Profiling] profiler returned null profile for: ${spanToJSON(span).description}`,\n              'this may indicate an overlapping span or a call to stopProfiling with a profile title that was never started',\n            );\n          }\n          return;\n        }\n\n        addProfileToGlobalCache(profileId, profile);\n      })\n      .catch(error => {\n        if (DEBUG_BUILD) {\n          debug.log('[Profiling] error while stopping profiler:', error);\n        }\n      });\n  }\n\n  // Enqueue a timeout to prevent profiles from running over max duration.\n  let maxDurationTimeoutID = WINDOW.setTimeout(() => {\n    if (DEBUG_BUILD) {\n      debug.log('[Profiling] max profile duration elapsed, stopping profiling for:', spanToJSON(span).description);\n    }\n    // If the timeout exceeds, we want to stop profiling, but not finish the span\n    // eslint-disable-next-line @typescript-eslint/no-floating-promises\n    onProfileHandler();\n  }, MAX_PROFILE_DURATION_MS);\n\n  // We need to reference the original end call to avoid creating an infinite loop\n  const originalEnd = span.end.bind(span);\n\n  /**\n   * Wraps span `end()` with profiling related logic.\n   * startProfiling is called after the call to spanStart in order to avoid our own code from\n   * being profiled. Because of that same reason, stopProfiling is called before the call to spanEnd.\n   */\n  function profilingWrappedSpanEnd() {\n    if (!span) {\n      return originalEnd();\n    }\n    // onProfileHandler should always return the same profile even if this is called multiple times.\n    // Always call onProfileHandler to ensure stopProfiling is called and the timeout is cleared.\n    void onProfileHandler().then(\n      () => {\n        originalEnd();\n      },\n      () => {\n        // If onProfileHandler fails, we still want to call the original finish method.\n        originalEnd();\n      },\n    );\n\n    return span;\n  }\n\n  span.end = profilingWrappedSpanEnd;\n}\n\nexport { startProfileForSpan };\n//# sourceMappingURL=startProfileForSpan.js.map\n","import { defineIntegration, getActiveSpan, getRootSpan, debug } from '@sentry/core';\nimport { DEBUG_BUILD } from '../debug-build.js';\nimport { startProfileForSpan } from './startProfileForSpan.js';\nimport { isAutomatedPageLoadSpan, shouldProfileSpan, getActiveProfilesCount, findProfiledTransactionsFromEnvelope, takeProfileFromGlobalCache, createProfilingEvent, addProfilesToEnvelope } from './utils.js';\n\nconst INTEGRATION_NAME = 'BrowserProfiling';\n\nconst _browserProfilingIntegration = (() => {\n  return {\n    name: INTEGRATION_NAME,\n    setup(client) {\n      const activeSpan = getActiveSpan();\n      const rootSpan = activeSpan && getRootSpan(activeSpan);\n\n      if (rootSpan && isAutomatedPageLoadSpan(rootSpan)) {\n        if (shouldProfileSpan(rootSpan)) {\n          startProfileForSpan(rootSpan);\n        }\n      }\n\n      client.on('spanStart', (span) => {\n        if (span === getRootSpan(span) && shouldProfileSpan(span)) {\n          startProfileForSpan(span);\n        }\n      });\n\n      client.on('beforeEnvelope', (envelope) => {\n        // if not profiles are in queue, there is nothing to add to the envelope.\n        if (!getActiveProfilesCount()) {\n          return;\n        }\n\n        const profiledTransactionEvents = findProfiledTransactionsFromEnvelope(envelope);\n        if (!profiledTransactionEvents.length) {\n          return;\n        }\n\n        const profilesToAddToEnvelope = [];\n\n        for (const profiledTransaction of profiledTransactionEvents) {\n          const context = profiledTransaction?.contexts;\n          const profile_id = context?.profile?.['profile_id'];\n          const start_timestamp = context?.profile?.['start_timestamp'];\n\n          if (typeof profile_id !== 'string') {\n            DEBUG_BUILD && debug.log('[Profiling] cannot find profile for a span without a profile context');\n            continue;\n          }\n\n          if (!profile_id) {\n            DEBUG_BUILD && debug.log('[Profiling] cannot find profile for a span without a profile context');\n            continue;\n          }\n\n          // Remove the profile from the span context before sending, relay will take care of the rest.\n          if (context?.profile) {\n            delete context.profile;\n          }\n\n          const profile = takeProfileFromGlobalCache(profile_id);\n          if (!profile) {\n            DEBUG_BUILD && debug.log(`[Profiling] Could not retrieve profile for span: ${profile_id}`);\n            continue;\n          }\n\n          const profileEvent = createProfilingEvent(\n            profile_id,\n            start_timestamp ,\n            profile,\n            profiledTransaction ,\n          );\n          if (profileEvent) {\n            profilesToAddToEnvelope.push(profileEvent);\n          }\n        }\n\n        addProfilesToEnvelope(envelope , profilesToAddToEnvelope);\n      });\n    },\n  };\n}) ;\n\nconst browserProfilingIntegration = defineIntegration(_browserProfilingIntegration);\n\nexport { browserProfilingIntegration };\n//# sourceMappingURL=integration.js.map\n","import { defineIntegration, debug, serializeEnvelope } from '@sentry/core';\nimport { getNativeImplementation } from '@sentry-internal/browser-utils';\nimport { DEBUG_BUILD } from '../debug-build.js';\n\nconst INTEGRATION_NAME = 'SpotlightBrowser';\n\nconst _spotlightIntegration = ((options = {}) => {\n  const sidecarUrl = options.sidecarUrl || 'http://localhost:8969/stream';\n\n  return {\n    name: INTEGRATION_NAME,\n    setup: () => {\n      DEBUG_BUILD && debug.log('Using Sidecar URL', sidecarUrl);\n    },\n    // We don't want to send interaction transactions/root spans created from\n    // clicks within Spotlight to Sentry. Neither do we want them to be sent to\n    // spotlight.\n    processEvent: event => (isSpotlightInteraction(event) ? null : event),\n    afterAllSetup: (client) => {\n      setupSidecarForwarding(client, sidecarUrl);\n    },\n  };\n}) ;\n\nfunction setupSidecarForwarding(client, sidecarUrl) {\n  const makeFetch = getNativeImplementation('fetch');\n  let failCount = 0;\n\n  client.on('beforeEnvelope', (envelope) => {\n    if (failCount > 3) {\n      debug.warn('[Spotlight] Disabled Sentry -> Spotlight integration due to too many failed requests:', failCount);\n      return;\n    }\n\n    makeFetch(sidecarUrl, {\n      method: 'POST',\n      body: serializeEnvelope(envelope),\n      headers: {\n        'Content-Type': 'application/x-sentry-envelope',\n      },\n      mode: 'cors',\n    }).then(\n      res => {\n        if (res.status >= 200 && res.status < 400) {\n          // Reset failed requests counter on success\n          failCount = 0;\n        }\n      },\n      err => {\n        failCount++;\n        debug.error(\n          \"Sentry SDK can't connect to Sidecar is it running? See: https://spotlightjs.com/sidecar/npx/\",\n          err,\n        );\n      },\n    );\n  });\n}\n\n/**\n * Use this integration to send errors and transactions to Spotlight.\n *\n * Learn more about spotlight at https://spotlightjs.com\n */\nconst spotlightBrowserIntegration = defineIntegration(_spotlightIntegration);\n\n/**\n * Flags if the event is a transaction created from an interaction with the spotlight UI.\n */\nfunction isSpotlightInteraction(event) {\n  return Boolean(\n    event.type === 'transaction' &&\n      event.spans &&\n      event.contexts?.trace &&\n      event.contexts.trace.op === 'ui.action.click' &&\n      event.spans.some(({ description }) => description?.includes('#sentry-spotlight')),\n  );\n}\n\nexport { INTEGRATION_NAME, isSpotlightInteraction, spotlightBrowserIntegration };\n//# sourceMappingURL=spotlight.js.map\n","import { setContext, init as init$1 } from '@sentry/browser';\nimport { applySdkMetadata } from '@sentry/core';\nimport { version } from 'react';\n\n/**\n * Inits the React SDK\n */\nfunction init(options) {\n  const opts = {\n    ...options,\n  };\n\n  applySdkMetadata(opts, 'react');\n  setContext('react', { version });\n  return init$1(opts);\n}\n\nexport { init };\n//# sourceMappingURL=sdk.js.map\n","import { browserTracingIntegration, WINDOW, startBrowserTracingPageLoadSpan, startBrowserTracingNavigationSpan } from '@sentry/browser';\nimport { SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN, SEMANTIC_ATTRIBUTE_SENTRY_OP, SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, debug, getActiveSpan, getRootSpan, spanToJSON, getCurrentScope, getClient, addNonEnumerableProperty } from '@sentry/core';\nimport * as React from 'react';\nimport { DEBUG_BUILD } from './debug-build.js';\nimport { hoistNonReactStatics } from './hoist-non-react-statics.js';\n\n/* eslint-disable max-lines */\n// Inspired from Donnie McNeal's solution:\n// https://gist.github.com/wontondon/e8c4bdf2888875e4c755712e99279536\n\n\nlet _useEffect;\nlet _useLocation;\nlet _useNavigationType;\nlet _createRoutesFromChildren;\nlet _matchRoutes;\nlet _stripBasename = false;\nlet _enableAsyncRouteHandlers = false;\n\nconst CLIENTS_WITH_INSTRUMENT_NAVIGATION = new WeakSet();\n\n// Keeping as a global variable for cross-usage in multiple functions\nconst allRoutes = new Set();\n\n/**\n * Adds resolved routes as children to the parent route.\n * Prevents duplicate routes by checking if they already exist.\n */\nfunction addResolvedRoutesToParent(resolvedRoutes, parentRoute) {\n  const existingChildren = parentRoute.children || [];\n\n  const newRoutes = resolvedRoutes.filter(\n    newRoute =>\n      !existingChildren.some(\n        existing =>\n          existing === newRoute ||\n          (newRoute.path && existing.path === newRoute.path) ||\n          (newRoute.id && existing.id === newRoute.id),\n      ),\n  );\n\n  if (newRoutes.length > 0) {\n    parentRoute.children = [...existingChildren, ...newRoutes];\n  }\n}\n\n/**\n * Handles the result of an async handler function call.\n */\nfunction handleAsyncHandlerResult(result, route, handlerKey) {\n  if (\n    result &&\n    typeof result === 'object' &&\n    'then' in result &&\n    typeof (result ).then === 'function'\n  ) {\n    (result )\n      .then((resolvedRoutes) => {\n        if (Array.isArray(resolvedRoutes)) {\n          processResolvedRoutes(resolvedRoutes, route);\n        }\n      })\n      .catch((e) => {\n        DEBUG_BUILD && debug.warn(`Error resolving async handler '${handlerKey}' for route`, route, e);\n      });\n  } else if (Array.isArray(result)) {\n    processResolvedRoutes(result, route);\n  }\n}\n\n/**\n * Processes resolved routes by adding them to allRoutes and checking for nested async handlers.\n */\nfunction processResolvedRoutes(resolvedRoutes, parentRoute) {\n  resolvedRoutes.forEach(child => {\n    allRoutes.add(child);\n    // Only check for async handlers if the feature is enabled\n    if (_enableAsyncRouteHandlers) {\n      checkRouteForAsyncHandler(child);\n    }\n  });\n\n  if (parentRoute) {\n    // If a parent route is provided, add the resolved routes as children to the parent route\n    addResolvedRoutesToParent(resolvedRoutes, parentRoute);\n  }\n\n  // After processing lazy routes, check if we need to update an active pageload transaction\n  const activeRootSpan = getActiveRootSpan();\n  if (activeRootSpan && spanToJSON(activeRootSpan).op === 'pageload') {\n    const location = WINDOW.location;\n    if (location) {\n      // Re-run the pageload transaction update with the newly loaded routes\n      updatePageloadTransaction(\n        activeRootSpan,\n        { pathname: location.pathname },\n        Array.from(allRoutes),\n        undefined,\n        undefined,\n        Array.from(allRoutes),\n      );\n    }\n  }\n}\n\n/**\n * Creates a proxy wrapper for an async handler function.\n */\nfunction createAsyncHandlerProxy(\n  originalFunction,\n  route,\n  handlerKey,\n) {\n  const proxy = new Proxy(originalFunction, {\n    apply(target, thisArg, argArray) {\n      const result = target.apply(thisArg, argArray);\n      handleAsyncHandlerResult(result, route, handlerKey);\n      return result;\n    },\n  });\n\n  addNonEnumerableProperty(proxy, '__sentry_proxied__', true);\n\n  return proxy;\n}\n\n/**\n * Recursively checks a route for async handlers and sets up Proxies to add discovered child routes to allRoutes when called.\n */\nfunction checkRouteForAsyncHandler(route) {\n  // Set up proxies for any functions in the route's handle\n  if (route.handle && typeof route.handle === 'object') {\n    for (const key of Object.keys(route.handle)) {\n      const maybeFn = route.handle[key];\n      if (typeof maybeFn === 'function' && !(maybeFn ).__sentry_proxied__) {\n        route.handle[key] = createAsyncHandlerProxy(maybeFn, route, key);\n      }\n    }\n  }\n\n  // Recursively check child routes\n  if (Array.isArray(route.children)) {\n    for (const child of route.children) {\n      checkRouteForAsyncHandler(child);\n    }\n  }\n}\n\n/**\n * Creates a wrapCreateBrowserRouter function that can be used with all React Router v6 compatible versions.\n */\nfunction createV6CompatibleWrapCreateBrowserRouter\n\n(\n  createRouterFunction,\n  version,\n) {\n  if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n    DEBUG_BUILD &&\n      debug.warn(\n        `reactRouterV${version}Instrumentation was unable to wrap the \\`createRouter\\` function because of one or more missing parameters.`,\n      );\n\n    return createRouterFunction;\n  }\n\n  return function (routes, opts) {\n    addRoutesToAllRoutes(routes);\n\n    // Check for async handlers that might contain sub-route declarations (only if enabled)\n    if (_enableAsyncRouteHandlers) {\n      for (const route of routes) {\n        checkRouteForAsyncHandler(route);\n      }\n    }\n\n    const router = createRouterFunction(routes, opts);\n    const basename = opts?.basename;\n\n    const activeRootSpan = getActiveRootSpan();\n\n    // The initial load ends when `createBrowserRouter` is called.\n    // This is the earliest convenient time to update the transaction name.\n    // Callbacks to `router.subscribe` are not called for the initial load.\n    if (router.state.historyAction === 'POP' && activeRootSpan) {\n      updatePageloadTransaction(\n        activeRootSpan,\n        router.state.location,\n        routes,\n        undefined,\n        basename,\n        Array.from(allRoutes),\n      );\n    }\n\n    router.subscribe((state) => {\n      if (state.historyAction === 'PUSH' || state.historyAction === 'POP') {\n        // Wait for the next render if loading an unsettled route\n        if (state.navigation.state !== 'idle') {\n          requestAnimationFrame(() => {\n            handleNavigation({\n              location: state.location,\n              routes,\n              navigationType: state.historyAction,\n              version,\n              basename,\n              allRoutes: Array.from(allRoutes),\n            });\n          });\n        } else {\n          handleNavigation({\n            location: state.location,\n            routes,\n            navigationType: state.historyAction,\n            version,\n            basename,\n            allRoutes: Array.from(allRoutes),\n          });\n        }\n      }\n    });\n\n    return router;\n  };\n}\n\n/**\n * Creates a wrapCreateMemoryRouter function that can be used with all React Router v6 compatible versions.\n */\nfunction createV6CompatibleWrapCreateMemoryRouter\n\n(\n  createRouterFunction,\n  version,\n) {\n  if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n    DEBUG_BUILD &&\n      debug.warn(\n        `reactRouterV${version}Instrumentation was unable to wrap the \\`createMemoryRouter\\` function because of one or more missing parameters.`,\n      );\n\n    return createRouterFunction;\n  }\n\n  return function (\n    routes,\n    opts\n\n,\n  ) {\n    addRoutesToAllRoutes(routes);\n\n    // Check for async handlers that might contain sub-route declarations (only if enabled)\n    if (_enableAsyncRouteHandlers) {\n      for (const route of routes) {\n        checkRouteForAsyncHandler(route);\n      }\n    }\n\n    const router = createRouterFunction(routes, opts);\n    const basename = opts?.basename;\n\n    const activeRootSpan = getActiveRootSpan();\n    let initialEntry = undefined;\n\n    const initialEntries = opts?.initialEntries;\n    const initialIndex = opts?.initialIndex;\n\n    const hasOnlyOneInitialEntry = initialEntries && initialEntries.length === 1;\n    const hasIndexedEntry = initialIndex !== undefined && initialEntries && initialEntries[initialIndex];\n\n    initialEntry = hasOnlyOneInitialEntry\n      ? initialEntries[0]\n      : hasIndexedEntry\n        ? initialEntries[initialIndex]\n        : undefined;\n\n    const location = initialEntry\n      ? typeof initialEntry === 'string'\n        ? { pathname: initialEntry }\n        : initialEntry\n      : router.state.location;\n\n    if (router.state.historyAction === 'POP' && activeRootSpan) {\n      updatePageloadTransaction(activeRootSpan, location, routes, undefined, basename, Array.from(allRoutes));\n    }\n\n    router.subscribe((state) => {\n      const location = state.location;\n      if (state.historyAction === 'PUSH' || state.historyAction === 'POP') {\n        handleNavigation({\n          location,\n          routes,\n          navigationType: state.historyAction,\n          version,\n          basename,\n          allRoutes: Array.from(allRoutes),\n        });\n      }\n    });\n\n    return router;\n  };\n}\n\n/**\n * Creates a browser tracing integration that can be used with all React Router v6 compatible versions.\n */\nfunction createReactRouterV6CompatibleTracingIntegration(\n  options,\n  version,\n) {\n  const integration = browserTracingIntegration({\n    ...options,\n    instrumentPageLoad: false,\n    instrumentNavigation: false,\n  });\n\n  const {\n    useEffect,\n    useLocation,\n    useNavigationType,\n    createRoutesFromChildren,\n    matchRoutes,\n    stripBasename,\n    enableAsyncRouteHandlers = false,\n    instrumentPageLoad = true,\n    instrumentNavigation = true,\n  } = options;\n\n  return {\n    ...integration,\n    setup(client) {\n      integration.setup(client);\n\n      _useEffect = useEffect;\n      _useLocation = useLocation;\n      _useNavigationType = useNavigationType;\n      _matchRoutes = matchRoutes;\n      _createRoutesFromChildren = createRoutesFromChildren;\n      _stripBasename = stripBasename || false;\n      _enableAsyncRouteHandlers = enableAsyncRouteHandlers;\n    },\n    afterAllSetup(client) {\n      integration.afterAllSetup(client);\n\n      const initPathName = WINDOW.location?.pathname;\n      if (instrumentPageLoad && initPathName) {\n        startBrowserTracingPageLoadSpan(client, {\n          name: initPathName,\n          attributes: {\n            [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'url',\n            [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'pageload',\n            [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.pageload.react.reactrouter_v${version}`,\n          },\n        });\n      }\n\n      if (instrumentNavigation) {\n        CLIENTS_WITH_INSTRUMENT_NAVIGATION.add(client);\n      }\n    },\n  };\n}\n\nfunction createV6CompatibleWrapUseRoutes(origUseRoutes, version) {\n  if (!_useEffect || !_useLocation || !_useNavigationType || !_matchRoutes) {\n    DEBUG_BUILD &&\n      debug.warn(\n        'reactRouterV6Instrumentation was unable to wrap `useRoutes` because of one or more missing parameters.',\n      );\n\n    return origUseRoutes;\n  }\n\n  const SentryRoutes\n\n = (props) => {\n    const isMountRenderPass = React.useRef(true);\n    const { routes, locationArg } = props;\n\n    const Routes = origUseRoutes(routes, locationArg);\n\n    const location = _useLocation();\n    const navigationType = _useNavigationType();\n\n    // A value with stable identity to either pick `locationArg` if available or `location` if not\n    const stableLocationParam =\n      typeof locationArg === 'string' || locationArg?.pathname ? (locationArg ) : location;\n\n    _useEffect(() => {\n      const normalizedLocation =\n        typeof stableLocationParam === 'string' ? { pathname: stableLocationParam } : stableLocationParam;\n\n      if (isMountRenderPass.current) {\n        addRoutesToAllRoutes(routes);\n\n        updatePageloadTransaction(\n          getActiveRootSpan(),\n          normalizedLocation,\n          routes,\n          undefined,\n          undefined,\n          Array.from(allRoutes),\n        );\n        isMountRenderPass.current = false;\n      } else {\n        handleNavigation({\n          location: normalizedLocation,\n          routes,\n          navigationType,\n          version,\n          allRoutes: Array.from(allRoutes),\n        });\n      }\n    }, [navigationType, stableLocationParam]);\n\n    return Routes;\n  };\n\n  // eslint-disable-next-line react/display-name\n  return (routes, locationArg) => {\n    return React.createElement(SentryRoutes, { routes: routes, locationArg: locationArg,} );\n  };\n}\n\nfunction handleNavigation(opts\n\n) {\n  const { location, routes, navigationType, version, matches, basename, allRoutes } = opts;\n  const branches = Array.isArray(matches) ? matches : _matchRoutes(routes, location, basename);\n\n  const client = getClient();\n  if (!client || !CLIENTS_WITH_INSTRUMENT_NAVIGATION.has(client)) {\n    return;\n  }\n\n  if ((navigationType === 'PUSH' || navigationType === 'POP') && branches) {\n    let name,\n      source = 'url';\n    const isInDescendantRoute = locationIsInsideDescendantRoute(location, allRoutes || routes);\n\n    if (isInDescendantRoute) {\n      name = prefixWithSlash(rebuildRoutePathFromAllRoutes(allRoutes || routes, location));\n      source = 'route';\n    }\n\n    if (!isInDescendantRoute || !name) {\n      [name, source] = getNormalizedName(routes, location, branches, basename);\n    }\n\n    const activeSpan = getActiveSpan();\n    const isAlreadyInNavigationSpan = activeSpan && spanToJSON(activeSpan).op === 'navigation';\n\n    // Cross usage can result in multiple navigation spans being created without this check\n    if (isAlreadyInNavigationSpan) {\n      activeSpan?.updateName(name);\n      activeSpan?.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, source);\n    } else {\n      startBrowserTracingNavigationSpan(client, {\n        name,\n        attributes: {\n          [SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: source,\n          [SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'navigation',\n          [SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: `auto.navigation.react.reactrouter_v${version}`,\n        },\n      });\n    }\n  }\n}\n\n/**\n * Strip the basename from a pathname if exists.\n *\n * Vendored and modified from `react-router`\n * https://github.com/remix-run/react-router/blob/462bb712156a3f739d6139a0f14810b76b002df6/packages/router/utils.ts#L1038\n */\nfunction stripBasenameFromPathname(pathname, basename) {\n  if (!basename || basename === '/') {\n    return pathname;\n  }\n\n  if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n    return pathname;\n  }\n\n  // We want to leave trailing slash behavior in the user's control, so if they\n  // specify a basename with a trailing slash, we should support it\n  const startIndex = basename.endsWith('/') ? basename.length - 1 : basename.length;\n  const nextChar = pathname.charAt(startIndex);\n  if (nextChar && nextChar !== '/') {\n    // pathname does not start with basename/\n    return pathname;\n  }\n\n  return pathname.slice(startIndex) || '/';\n}\n\nfunction sendIndexPath(pathBuilder, pathname, basename) {\n  const reconstructedPath = pathBuilder || _stripBasename ? stripBasenameFromPathname(pathname, basename) : pathname;\n\n  const formattedPath =\n    // If the path ends with a slash, remove it\n    reconstructedPath[reconstructedPath.length - 1] === '/'\n      ? reconstructedPath.slice(0, -1)\n      : // If the path ends with a wildcard, remove it\n        reconstructedPath.slice(-2) === '/*'\n        ? reconstructedPath.slice(0, -1)\n        : reconstructedPath;\n\n  return [formattedPath, 'route'];\n}\n\nfunction pathEndsWithWildcard(path) {\n  return path.endsWith('*');\n}\n\nfunction pathIsWildcardAndHasChildren(path, branch) {\n  return (pathEndsWithWildcard(path) && !!branch.route.children?.length) || false;\n}\n\nfunction routeIsDescendant(route) {\n  return !!(!route.children && route.element && route.path?.endsWith('/*'));\n}\n\nfunction locationIsInsideDescendantRoute(location, routes) {\n  const matchedRoutes = _matchRoutes(routes, location) ;\n\n  if (matchedRoutes) {\n    for (const match of matchedRoutes) {\n      if (routeIsDescendant(match.route) && pickSplat(match)) {\n        return true;\n      }\n    }\n  }\n\n  return false;\n}\n\nfunction addRoutesToAllRoutes(routes) {\n  routes.forEach(route => {\n    const extractedChildRoutes = getChildRoutesRecursively(route);\n\n    extractedChildRoutes.forEach(r => {\n      allRoutes.add(r);\n    });\n  });\n}\n\nfunction getChildRoutesRecursively(route, allRoutes = new Set()) {\n  if (!allRoutes.has(route)) {\n    allRoutes.add(route);\n\n    if (route.children && !route.index) {\n      route.children.forEach(child => {\n        const childRoutes = getChildRoutesRecursively(child, allRoutes);\n\n        childRoutes.forEach(r => {\n          allRoutes.add(r);\n        });\n      });\n    }\n  }\n\n  return allRoutes;\n}\n\nfunction pickPath(match) {\n  return trimWildcard(match.route.path || '');\n}\n\nfunction pickSplat(match) {\n  return match.params['*'] || '';\n}\n\nfunction trimWildcard(path) {\n  return path[path.length - 1] === '*' ? path.slice(0, -1) : path;\n}\n\nfunction trimSlash(path) {\n  return path[path.length - 1] === '/' ? path.slice(0, -1) : path;\n}\n\nfunction prefixWithSlash(path) {\n  return path[0] === '/' ? path : `/${path}`;\n}\n\nfunction rebuildRoutePathFromAllRoutes(allRoutes, location) {\n  const matchedRoutes = _matchRoutes(allRoutes, location) ;\n\n  if (!matchedRoutes || matchedRoutes.length === 0) {\n    return '';\n  }\n\n  for (const match of matchedRoutes) {\n    if (match.route.path && match.route.path !== '*') {\n      const path = pickPath(match);\n      const strippedPath = stripBasenameFromPathname(location.pathname, prefixWithSlash(match.pathnameBase));\n\n      if (location.pathname === strippedPath) {\n        return trimSlash(strippedPath);\n      }\n\n      return trimSlash(\n        trimSlash(path || '') +\n          prefixWithSlash(\n            rebuildRoutePathFromAllRoutes(\n              allRoutes.filter(route => route !== match.route),\n              {\n                pathname: strippedPath,\n              },\n            ),\n          ),\n      );\n    }\n  }\n\n  return '';\n}\n\nfunction getNormalizedName(\n  routes,\n  location,\n  branches,\n  basename = '',\n) {\n  if (!routes || routes.length === 0) {\n    return [_stripBasename ? stripBasenameFromPathname(location.pathname, basename) : location.pathname, 'url'];\n  }\n\n  let pathBuilder = '';\n\n  if (branches) {\n    for (const branch of branches) {\n      const route = branch.route;\n      if (route) {\n        // Early return if index route\n        if (route.index) {\n          return sendIndexPath(pathBuilder, branch.pathname, basename);\n        }\n        const path = route.path;\n\n        // If path is not a wildcard and has no child routes, append the path\n        if (path && !pathIsWildcardAndHasChildren(path, branch)) {\n          const newPath = path[0] === '/' || pathBuilder[pathBuilder.length - 1] === '/' ? path : `/${path}`;\n          pathBuilder = trimSlash(pathBuilder) + prefixWithSlash(newPath);\n\n          // If the path matches the current location, return the path\n          if (trimSlash(location.pathname) === trimSlash(basename + branch.pathname)) {\n            if (\n              // If the route defined on the element is something like\n              // <Route path=\"/stores/:storeId/products/:productId\" element={<div>Product</div>} />\n              // We should check against the branch.pathname for the number of / separators\n              getNumberOfUrlSegments(pathBuilder) !== getNumberOfUrlSegments(branch.pathname) &&\n              // We should not count wildcard operators in the url segments calculation\n              !pathEndsWithWildcard(pathBuilder)\n            ) {\n              return [(_stripBasename ? '' : basename) + newPath, 'route'];\n            }\n\n            // if the last character of the pathbuilder is a wildcard and there are children, remove the wildcard\n            if (pathIsWildcardAndHasChildren(pathBuilder, branch)) {\n              pathBuilder = pathBuilder.slice(0, -1);\n            }\n\n            return [(_stripBasename ? '' : basename) + pathBuilder, 'route'];\n          }\n        }\n      }\n    }\n  }\n\n  const fallbackTransactionName = _stripBasename\n    ? stripBasenameFromPathname(location.pathname, basename)\n    : location.pathname || '/';\n\n  return [fallbackTransactionName, 'url'];\n}\n\nfunction updatePageloadTransaction(\n  activeRootSpan,\n  location,\n  routes,\n  matches,\n  basename,\n  allRoutes,\n) {\n  const branches = Array.isArray(matches)\n    ? matches\n    : (_matchRoutes(allRoutes || routes, location, basename) );\n\n  if (branches) {\n    let name,\n      source = 'url';\n\n    const isInDescendantRoute = locationIsInsideDescendantRoute(location, allRoutes || routes);\n\n    if (isInDescendantRoute) {\n      name = prefixWithSlash(rebuildRoutePathFromAllRoutes(allRoutes || routes, location));\n      source = 'route';\n    }\n\n    if (!isInDescendantRoute || !name) {\n      [name, source] = getNormalizedName(routes, location, branches, basename);\n    }\n\n    getCurrentScope().setTransactionName(name || '/');\n\n    if (activeRootSpan) {\n      activeRootSpan.updateName(name);\n      activeRootSpan.setAttribute(SEMANTIC_ATTRIBUTE_SENTRY_SOURCE, source);\n    }\n  }\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction createV6CompatibleWithSentryReactRouterRouting(\n  Routes,\n  version,\n) {\n  if (!_useEffect || !_useLocation || !_useNavigationType || !_createRoutesFromChildren || !_matchRoutes) {\n    DEBUG_BUILD &&\n      debug.warn(`reactRouterV6Instrumentation was unable to wrap Routes because of one or more missing parameters.\n      useEffect: ${_useEffect}. useLocation: ${_useLocation}. useNavigationType: ${_useNavigationType}.\n      createRoutesFromChildren: ${_createRoutesFromChildren}. matchRoutes: ${_matchRoutes}.`);\n\n    return Routes;\n  }\n\n  const SentryRoutes = (props) => {\n    const isMountRenderPass = React.useRef(true);\n\n    const location = _useLocation();\n    const navigationType = _useNavigationType();\n\n    _useEffect(\n      () => {\n        const routes = _createRoutesFromChildren(props.children) ;\n\n        if (isMountRenderPass.current) {\n          addRoutesToAllRoutes(routes);\n\n          updatePageloadTransaction(getActiveRootSpan(), location, routes, undefined, undefined, Array.from(allRoutes));\n          isMountRenderPass.current = false;\n        } else {\n          handleNavigation({\n            location,\n            routes,\n            navigationType,\n            version,\n            allRoutes: Array.from(allRoutes),\n          });\n        }\n      },\n      // `props.children` is purposely not included in the dependency array, because we do not want to re-run this effect\n      // when the children change. We only want to start transactions when the location or navigation type change.\n      [location, navigationType],\n    );\n\n    // @ts-expect-error Setting more specific React Component typing for `R` generic above\n    // will break advanced type inference done by react router params\n    return React.createElement(Routes, { ...props,} );\n  };\n\n  hoistNonReactStatics(SentryRoutes, Routes);\n\n  // @ts-expect-error Setting more specific React Component typing for `R` generic above\n  // will break advanced type inference done by react router params\n  return SentryRoutes;\n}\n\nfunction getActiveRootSpan() {\n  const span = getActiveSpan();\n  const rootSpan = span ? getRootSpan(span) : undefined;\n\n  if (!rootSpan) {\n    return undefined;\n  }\n\n  const op = spanToJSON(rootSpan).op;\n\n  // Only use this root span if it is a pageload or navigation span\n  return op === 'navigation' || op === 'pageload' ? rootSpan : undefined;\n}\n\n/**\n * Returns number of URL segments of a passed string URL.\n */\nfunction getNumberOfUrlSegments(url) {\n  // split at '/' or at '\\/' to split regex urls correctly\n  return url.split(/\\\\?\\//).filter(s => s.length > 0 && s !== ',').length;\n}\n\nexport { checkRouteForAsyncHandler, createReactRouterV6CompatibleTracingIntegration, createV6CompatibleWithSentryReactRouterRouting, createV6CompatibleWrapCreateBrowserRouter, createV6CompatibleWrapCreateMemoryRouter, createV6CompatibleWrapUseRoutes, getNumberOfUrlSegments, handleNavigation };\n//# sourceMappingURL=reactrouterv6-compat-utils.js.map\n","import { createReactRouterV6CompatibleTracingIntegration, createV6CompatibleWithSentryReactRouterRouting, createV6CompatibleWrapUseRoutes, createV6CompatibleWrapCreateBrowserRouter, createV6CompatibleWrapCreateMemoryRouter } from './reactrouterv6-compat-utils.js';\n\n/**\n * A browser tracing integration that uses React Router v6 to instrument navigations.\n * Expects `useEffect`, `useLocation`, `useNavigationType`, `createRoutesFromChildren` and `matchRoutes` to be passed as options.\n */\nfunction reactRouterV6BrowserTracingIntegration(\n  options,\n) {\n  return createReactRouterV6CompatibleTracingIntegration(options, '6');\n}\n\n/**\n * A wrapper function that adds Sentry routing instrumentation to a React Router v6 useRoutes hook.\n * This is used to automatically capture route changes as transactions when using the useRoutes hook.\n */\nfunction wrapUseRoutesV6(origUseRoutes) {\n  return createV6CompatibleWrapUseRoutes(origUseRoutes, '6');\n}\n\n/**\n * A wrapper function that adds Sentry routing instrumentation to a React Router v6 createBrowserRouter function.\n * This is used to automatically capture route changes as transactions when using the createBrowserRouter API.\n */\nfunction wrapCreateBrowserRouterV6\n\n(createRouterFunction) {\n  return createV6CompatibleWrapCreateBrowserRouter(createRouterFunction, '6');\n}\n\n/**\n * A wrapper function that adds Sentry routing instrumentation to a React Router v6 createMemoryRouter function.\n * This is used to automatically capture route changes as transactions when using the createMemoryRouter API.\n * The difference between createBrowserRouter and createMemoryRouter is that with createMemoryRouter,\n * optional `initialEntries` are also taken into account.\n */\nfunction wrapCreateMemoryRouterV6\n\n(createMemoryRouterFunction) {\n  return createV6CompatibleWrapCreateMemoryRouter(createMemoryRouterFunction, '6');\n}\n\n/**\n * A higher-order component that adds Sentry routing instrumentation to a React Router v6 Route component.\n * This is used to automatically capture route changes as transactions.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction withSentryReactRouterV6Routing(routes) {\n  return createV6CompatibleWithSentryReactRouterRouting(routes, '6');\n}\n\nexport { reactRouterV6BrowserTracingIntegration, withSentryReactRouterV6Routing, wrapCreateBrowserRouterV6, wrapCreateMemoryRouterV6, wrapUseRoutesV6 };\n//# sourceMappingURL=reactrouterv6.js.map\n","'use strict';\n\nvar m = require('react-dom');\nif (process.env.NODE_ENV === 'production') {\n  exports.createRoot = m.createRoot;\n  exports.hydrateRoot = m.hydrateRoot;\n} else {\n  var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n  exports.createRoot = function(c, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.createRoot(c, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n  exports.hydrateRoot = function(c, h, o) {\n    i.usingClientEntryPoint = true;\n    try {\n      return m.hydrateRoot(c, h, o);\n    } finally {\n      i.usingClientEntryPoint = false;\n    }\n  };\n}\n","let SERVER_TIMING_DATA: Map<string, string> | null = null;\n\nexport function getDataFromServerTiming(name: string): string | undefined {\n  if (!SERVER_TIMING_DATA) {\n    SERVER_TIMING_DATA = new Map();\n    const navTiming = performance.getEntriesByType(\"navigation\");\n    if (navTiming.length === 0) {\n      return undefined;\n    }\n    const serverTiming = (navTiming[0] as PerformanceNavigationTiming).serverTiming;\n    if (!serverTiming || serverTiming.length === 0) {\n      return undefined;\n    }\n    for (const { name, description } of serverTiming) {\n      SERVER_TIMING_DATA.set(name, description);\n    }\n  }\n  return SERVER_TIMING_DATA.get(name);\n}\n","import * as Sentry from \"@sentry/react\";\nimport { createRoutesFromChildren, matchRoutes, useLocation, useNavigationType } from \"react-router-dom\";\nimport { useEffect } from \"../react-instance\";\nimport { getDataFromServerTiming } from \"./serverTimingMeta\";\n\nconst TRACE_PARENT_KEYS = [\"sentryTrace\", \"baggage\"];\n\nexport default function initSentry() {\n  const traceParentData = TRACE_PARENT_KEYS.map(key => [key, getDataFromServerTiming(key)]);\n\n  const hasTraceParent = traceParentData.every(([, value]) => Boolean(value));\n  const integrations = [\n    // See docs for support of different versions of variation of react router\n    // https://docs.sentry.io/platforms/javascript/guides/react/configuration/integrations/react-router/\n    Sentry.reactRouterV6BrowserTracingIntegration({\n      instrumentPageLoad: !hasTraceParent,\n      useEffect,\n      useLocation,\n      useNavigationType,\n      createRoutesFromChildren,\n      matchRoutes,\n    }),\n    Sentry.replayIntegration(),\n    Sentry.browserProfilingIntegration(),\n  ];\n  const hash = document.location.hash.slice(1);\n  if (hash.startsWith(\"spotlight\")) {\n    const splitterPos = hash.indexOf(\"=\");\n    const sidecarUrl = splitterPos > -1 ? decodeURIComponent(hash.slice(splitterPos + 1)) : undefined;\n    integrations.push(Sentry.spotlightBrowserIntegration({ sidecarUrl }));\n  }\n\n  const sentryClient = Sentry.init({\n    transport: Sentry.makeBrowserOfflineTransport(Sentry.makeFetchTransport),\n    dsn: \"https://51bcd92dba1128934afd1c5726c84442@o1.ingest.us.sentry.io/4508404727283713\",\n    environment: process.env.NODE_ENV || \"development\",\n    release: `spotlight@${process.env.npm_package_version}`,\n\n    integrations,\n\n    tracesSampleRate: 1,\n    tracePropagationTargets: [/^\\//, document.location.origin],\n    profilesSampleRate: 1,\n\n    // Capture Replay for 1% of all sessions,\n    // plus for 100% of sessions with an error\n    // Learn more at\n    // https://docs.sentry.io/platforms/javascript/session-replay/configuration/#general-integration-configuration\n    replaysSessionSampleRate: 0.01,\n    replaysOnErrorSampleRate: 1.0,\n  });\n\n  if (hasTraceParent && sentryClient) {\n    Sentry.startBrowserTracingPageLoadSpan(sentryClient, { name: \"pageload\" }, Object.fromEntries(traceParentData));\n  }\n}\n","import fontStyles from \"@fontsource/raleway/index.css?inline\";\nimport { CONTEXT_LINES_ENDPOINT } from \"@spotlightjs/sidecar/constants\";\nimport App from \"./App\";\nimport { DEFAULT_SIDECAR_STREAM_URL } from \"./constants\";\nimport globalStyles from \"./index.css?inline\";\nimport { Router } from \"./lib/Router\";\nimport initSentry from \"./lib/instrumentation\";\nimport { activateLogger, log } from \"./lib/logger\";\nimport { removeURLSuffix } from \"./lib/removeURLSuffix\";\nimport { getDataFromServerTiming } from \"./lib/serverTimingMeta\";\nimport { SpotlightContextProvider } from \"./lib/useSpotlightContext\";\nimport { React, ReactDOM } from \"./react-instance\";\n\nexport { CONTEXT_LINES_ENDPOINT, DEFAULT_SIDECAR_STREAM_URL as DEFAULT_SIDECAR_URL, React, ReactDOM };\n\nexport type SpotlightInitOptions = {\n  sidecarUrl?: string;\n  debug?: boolean;\n};\n\n/**\n * @deprecated This function is deprecated and should not be used.\n */\nexport async function init(_initOptions: SpotlightInitOptions = {}) {\n  console.warn(\"Spotlight has moved away from the embedded UI overlay model so you should not be using this module at all.\");\n  console.info(\"See the new roadmap for Spotlight here: https://github.com/getsentry/spotlight/issues/891\");\n  console.info(\"Our standalone UI along with the Electron app are going stronger than ever so please try those out and share any feedback you have with us.\");\n  console.info(\"Thanks for using Spotlight!\");\n}\n\nexport async function _init(initOptions: SpotlightInitOptions = {}) {\n  // The undefined document guard is to avoid being initialized in a Worker\n  // @see https://github.com/vitejs/vite/discussions/17644#discussioncomment-10026390\n  if (typeof document === \"undefined\") return;\n\n  if (document.getElementById(\"spotlight-root\")) {\n    log(\"Spotlight already initialized, skipping\");\n    return;\n  }\n\n  if (initOptions.debug ?? document.location.hash.endsWith(\"debug\")) {\n    activateLogger();\n  }\n\n  const customSidecarPort = getDataFromServerTiming(\"sentrySpotlightPort\");\n  const sidecarUrl =\n    initOptions.sidecarUrl ??\n    (customSidecarPort ? `http://localhost:${customSidecarPort}/stream` : DEFAULT_SIDECAR_STREAM_URL);\n  log(\"Using sidecar URL:\", sidecarUrl);\n  const sidecarBaseUrl = removeURLSuffix(sidecarUrl, \"/stream\");\n\n  const appRoot = document.createElement(\"div\");\n  appRoot.id = \"spotlight-root\";\n  appRoot.style.height = \"100vh\";\n  appRoot.style.width = \"100vw\";\n\n  // Add styles\n  const styleElement = document.createElement(\"style\");\n  styleElement.textContent = `${fontStyles}\\n${globalStyles}`;\n  document.head.appendChild(styleElement);\n  initSentry();\n\n  const context = {\n    sidecarUrl: sidecarBaseUrl,\n  };\n\n  function startApp() {\n    if (document.getElementById(\"spotlight-root\")) {\n      log(\"Spotlight already rendered, skipping re-initialization\");\n      return;\n    }\n\n    document.body.innerHTML = \"\";\n    document.body.appendChild(appRoot);\n\n    ReactDOM.createRoot(appRoot).render(\n      <Router>\n        <SpotlightContextProvider context={context}>\n          <App sidecarUrl={sidecarUrl} />\n        </SpotlightContextProvider>\n      </Router>,\n    );\n  }\n\n  if (document.readyState === \"complete\") {\n    startApp();\n  } else {\n    window.addEventListener(\"load\", startApp);\n  }\n}\n","/* Theme: andromeeda */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#23262E\\\",\\\"activityBar.dropBackground\\\":\\\"#3a404e\\\",\\\"activityBar.foreground\\\":\\\"#BAAFC0\\\",\\\"activityBarBadge.background\\\":\\\"#00b0ff\\\",\\\"activityBarBadge.foreground\\\":\\\"#20232B\\\",\\\"badge.background\\\":\\\"#00b0ff\\\",\\\"badge.foreground\\\":\\\"#20232B\\\",\\\"button.background\\\":\\\"#00e8c5cc\\\",\\\"button.hoverBackground\\\":\\\"#07d4b6cc\\\",\\\"debugExceptionWidget.background\\\":\\\"#FF9F2E60\\\",\\\"debugExceptionWidget.border\\\":\\\"#FF9F2E60\\\",\\\"debugToolBar.background\\\":\\\"#20232A\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#29BF1220\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#F21B3F20\\\",\\\"dropdown.background\\\":\\\"#2b303b\\\",\\\"dropdown.border\\\":\\\"#363c49\\\",\\\"editor.background\\\":\\\"#23262E\\\",\\\"editor.findMatchBackground\\\":\\\"#f39d1256\\\",\\\"editor.findMatchBorder\\\":\\\"#f39d12b6\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#59b8b377\\\",\\\"editor.foreground\\\":\\\"#D5CED9\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#373941\\\",\\\"editor.lineHighlightBackground\\\":\\\"#2e323d\\\",\\\"editor.lineHighlightBorder\\\":\\\"#2e323d\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#372F3C\\\",\\\"editor.selectionBackground\\\":\\\"#3D4352\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#4F435580\\\",\\\"editor.wordHighlightBackground\\\":\\\"#4F4355\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#db45a280\\\",\\\"editorBracketMatch.background\\\":\\\"#746f77\\\",\\\"editorBracketMatch.border\\\":\\\"#746f77\\\",\\\"editorCodeLens.foreground\\\":\\\"#746f77\\\",\\\"editorCursor.foreground\\\":\\\"#FFF\\\",\\\"editorError.foreground\\\":\\\"#FC644D\\\",\\\"editorGroup.background\\\":\\\"#23262E\\\",\\\"editorGroup.dropBackground\\\":\\\"#495061d7\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#23262E\\\",\\\"editorGutter.addedBackground\\\":\\\"#9BC53DBB\\\",\\\"editorGutter.deletedBackground\\\":\\\"#FC644DBB\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#5BC0EBBB\\\",\\\"editorHoverWidget.background\\\":\\\"#373941\\\",\\\"editorHoverWidget.border\\\":\\\"#00e8c5cc\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#585C66\\\",\\\"editorIndentGuide.background\\\":\\\"#333844\\\",\\\"editorLineNumber.foreground\\\":\\\"#746f77\\\",\\\"editorLink.activeForeground\\\":\\\"#3B79C7\\\",\\\"editorOverviewRuler.border\\\":\\\"#1B1D23\\\",\\\"editorRuler.foreground\\\":\\\"#4F4355\\\",\\\"editorSuggestWidget.background\\\":\\\"#20232A\\\",\\\"editorSuggestWidget.border\\\":\\\"#372F3C\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#373941\\\",\\\"editorWarning.foreground\\\":\\\"#FF9F2E\\\",\\\"editorWhitespace.foreground\\\":\\\"#333844\\\",\\\"editorWidget.background\\\":\\\"#20232A\\\",\\\"errorForeground\\\":\\\"#FC644D\\\",\\\"extensionButton.prominentBackground\\\":\\\"#07d4b6cc\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#07d4b5b0\\\",\\\"focusBorder\\\":\\\"#746f77\\\",\\\"foreground\\\":\\\"#D5CED9\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#555555\\\",\\\"input.background\\\":\\\"#2b303b\\\",\\\"input.placeholderForeground\\\":\\\"#746f77\\\",\\\"inputOption.activeBorder\\\":\\\"#C668BA\\\",\\\"inputValidation.errorBackground\\\":\\\"#D65343\\\",\\\"inputValidation.errorBorder\\\":\\\"#D65343\\\",\\\"inputValidation.infoBackground\\\":\\\"#3A6395\\\",\\\"inputValidation.infoBorder\\\":\\\"#3A6395\\\",\\\"inputValidation.warningBackground\\\":\\\"#DE9237\\\",\\\"inputValidation.warningBorder\\\":\\\"#DE9237\\\",\\\"list.activeSelectionBackground\\\":\\\"#23262E\\\",\\\"list.activeSelectionForeground\\\":\\\"#00e8c6\\\",\\\"list.dropBackground\\\":\\\"#3a404e\\\",\\\"list.focusBackground\\\":\\\"#282b35\\\",\\\"list.focusForeground\\\":\\\"#eee\\\",\\\"list.hoverBackground\\\":\\\"#23262E\\\",\\\"list.hoverForeground\\\":\\\"#eee\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#23262E\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#00e8c6\\\",\\\"merge.currentContentBackground\\\":\\\"#F9267240\\\",\\\"merge.currentHeaderBackground\\\":\\\"#F92672\\\",\\\"merge.incomingContentBackground\\\":\\\"#3B79C740\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#3B79C7BB\\\",\\\"minimapSlider.activeBackground\\\":\\\"#60698060\\\",\\\"minimapSlider.background\\\":\\\"#58607460\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#60698060\\\",\\\"notification.background\\\":\\\"#2d313b\\\",\\\"notification.buttonBackground\\\":\\\"#00e8c5cc\\\",\\\"notification.buttonHoverBackground\\\":\\\"#07d4b5b0\\\",\\\"notification.errorBackground\\\":\\\"#FC644D\\\",\\\"notification.infoBackground\\\":\\\"#00b0ff\\\",\\\"notification.warningBackground\\\":\\\"#FF9F2E\\\",\\\"panel.background\\\":\\\"#23262E\\\",\\\"panel.border\\\":\\\"#1B1D23\\\",\\\"panelTitle.activeBorder\\\":\\\"#23262E\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#746f77\\\",\\\"peekView.border\\\":\\\"#23262E\\\",\\\"peekViewEditor.background\\\":\\\"#1A1C22\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#FF9F2E60\\\",\\\"peekViewResult.background\\\":\\\"#1A1C22\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#FF9F2E60\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#23262E\\\",\\\"peekViewTitle.background\\\":\\\"#1A1C22\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#746f77\\\",\\\"pickerGroup.border\\\":\\\"#4F4355\\\",\\\"pickerGroup.foreground\\\":\\\"#746f77\\\",\\\"progressBar.background\\\":\\\"#C668BA\\\",\\\"scrollbar.shadow\\\":\\\"#23262E\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#3A3F4CCC\\\",\\\"scrollbarSlider.background\\\":\\\"#3A3F4C77\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#3A3F4CAA\\\",\\\"selection.background\\\":\\\"#746f77\\\",\\\"sideBar.background\\\":\\\"#23262E\\\",\\\"sideBar.foreground\\\":\\\"#999999\\\",\\\"sideBarSectionHeader.background\\\":\\\"#23262E\\\",\\\"sideBarTitle.foreground\\\":\\\"#00e8c6\\\",\\\"statusBar.background\\\":\\\"#23262E\\\",\\\"statusBar.debuggingBackground\\\":\\\"#FC644D\\\",\\\"statusBar.noFolderBackground\\\":\\\"#23262E\\\",\\\"statusBarItem.activeBackground\\\":\\\"#00e8c5cc\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#07d4b5b0\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#07d4b5b0\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#00e8c5cc\\\",\\\"tab.activeBackground\\\":\\\"#23262e\\\",\\\"tab.activeBorder\\\":\\\"#00e8c6\\\",\\\"tab.activeForeground\\\":\\\"#00e8c6\\\",\\\"tab.inactiveBackground\\\":\\\"#23262E\\\",\\\"tab.inactiveForeground\\\":\\\"#746f77\\\",\\\"terminal.ansiBlue\\\":\\\"#7cb7ff\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7cb7ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#00e8c6\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#96E072\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#ff00aa\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ee5d43\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFE66D\\\",\\\"terminal.ansiCyan\\\":\\\"#00e8c6\\\",\\\"terminal.ansiGreen\\\":\\\"#96E072\\\",\\\"terminal.ansiMagenta\\\":\\\"#ff00aa\\\",\\\"terminal.ansiRed\\\":\\\"#ee5d43\\\",\\\"terminal.ansiYellow\\\":\\\"#FFE66D\\\",\\\"terminalCursor.background\\\":\\\"#23262E\\\",\\\"terminalCursor.foreground\\\":\\\"#FFE66D\\\",\\\"titleBar.activeBackground\\\":\\\"#23262E\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#23262E\\\",\\\"widget.shadow\\\":\\\"#14151A\\\"},\\\"displayName\\\":\\\"Andromeeda\\\",\\\"name\\\":\\\"andromeeda\\\",\\\"semanticTokenColors\\\":{\\\"property.declaration:javascript\\\":\\\"#D5CED9\\\",\\\"variable.defaultLibrary:javascript\\\":\\\"#f39c12\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#23262E\\\",\\\"foreground\\\":\\\"#D5CED9\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"markup.quote.markdown\\\",\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A1A7cc\\\"}},{\\\"scope\\\":[\\\"meta.template.expression.js\\\",\\\"constant.name.attribute.tag.jade\\\",\\\"punctuation.definition.metadata.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"punctuation.definition.string.begin.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D5CED9\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"support.variable\\\",\\\"entity.name.tag.yaml\\\",\\\"constant.character.entity.html\\\",\\\"source.css entity.name.tag.reference\\\",\\\"beginning.punctuation.definition.list.markdown\\\",\\\"source.css entity.other.attribute-name.parent-selector\\\",\\\"meta.structure.dictionary.json support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00e8c6\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"constant.numeric\\\",\\\"meta.group.regexp\\\",\\\"constant.other.php\\\",\\\"support.constant.ext.php\\\",\\\"constant.other.class.php\\\",\\\"support.constant.core.php\\\",\\\"fenced_code.block.language\\\",\\\"constant.other.caps.python\\\",\\\"entity.other.attribute-name\\\",\\\"support.type.exception.python\\\",\\\"source.css keyword.other.unit\\\",\\\"variable.other.object.property.js.jsx\\\",\\\"variable.other.object.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f39c12\\\"}},{\\\"scope\\\":[\\\"markup.list\\\",\\\"text.xml string\\\",\\\"entity.name.type\\\",\\\"support.function\\\",\\\"entity.other.attribute-name\\\",\\\"meta.at-rule.extend\\\",\\\"entity.name.function\\\",\\\"entity.other.inherited-class\\\",\\\"entity.other.keyframe-offset.css\\\",\\\"text.html.markdown string.quoted\\\",\\\"meta.function-call.generic.python\\\",\\\"meta.at-rule.extend support.constant\\\",\\\"entity.other.attribute-name.class.jade\\\",\\\"source.css entity.other.attribute-name\\\",\\\"text.xml punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFE66D\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"variable.language.this.js\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff00aa\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.interpolation\\\",\\\"punctuation.section.embedded.end.php\\\",\\\"punctuation.section.embedded.end.ruby\\\",\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.begin.ruby\\\",\\\"punctuation.definition.template-expression\\\",\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f92672\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"keyword\\\",\\\"meta.link\\\",\\\"meta.image\\\",\\\"markup.italic\\\",\\\"source.js support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c74ded\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7cb7ff\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.class\\\",\\\"keyword.operator\\\",\\\"support.constant\\\",\\\"text.html.markdown string\\\",\\\"source.css support.function\\\",\\\"source.php support.function\\\",\\\"support.function.magic.python\\\",\\\"entity.other.attribute-name.id\\\",\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee5d43\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"text.html.php string\\\",\\\"markup.inline.raw\\\",\\\"markup.inserted\\\",\\\"punctuation.definition.string\\\",\\\"punctuation.definition.markdown\\\",\\\"text.html meta.embedded source.js string\\\",\\\"text.html.php punctuation.definition.string\\\",\\\"text.html meta.embedded source.js punctuation.definition.string\\\",\\\"text.html punctuation.definition.string\\\",\\\"text.html string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#96E072\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: aurora-x */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#07090F\\\",\\\"activityBar.foreground\\\":\\\"#86A5FF\\\",\\\"activityBar.inactiveForeground\\\":\\\"#576dafc5\\\",\\\"activityBarBadge.background\\\":\\\"#86A5FF\\\",\\\"activityBarBadge.foreground\\\":\\\"#07090F\\\",\\\"badge.background\\\":\\\"#86A5FF\\\",\\\"badge.foreground\\\":\\\"#07090F\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#86A5FF\\\",\\\"breadcrumb.focusForeground\\\":\\\"#576daf\\\",\\\"breadcrumb.foreground\\\":\\\"#576dafa6\\\",\\\"breadcrumbPicker.background\\\":\\\"#07090F\\\",\\\"button.background\\\":\\\"#86A5FF\\\",\\\"button.foreground\\\":\\\"#07090F\\\",\\\"button.hoverBackground\\\":\\\"#A8BEFF\\\",\\\"descriptionForeground\\\":\\\"#576daf79\\\",\\\"diffEditor.diagonalFill\\\":\\\"#15182B\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#64d3892c\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#dd50742c\\\",\\\"dropdown.background\\\":\\\"#15182B\\\",\\\"dropdown.foreground\\\":\\\"#c7d5ff99\\\",\\\"editor.background\\\":\\\"#07090F\\\",\\\"editor.findMatchBackground\\\":\\\"#576daf\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#262E47\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#262e47be\\\",\\\"editor.selectionBackground\\\":\\\"#262E47\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#262E47\\\",\\\"editor.wordHighlightBackground\\\":\\\"#262E47\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#262E47\\\",\\\"editorCodeLens.foreground\\\":\\\"#262E47\\\",\\\"editorCursor.background\\\":\\\"#01030b\\\",\\\"editorCursor.foreground\\\":\\\"#86A5FF\\\",\\\"editorGroup.background\\\":\\\"#07090F\\\",\\\"editorGroup.border\\\":\\\"#15182B\\\",\\\"editorGroup.dropBackground\\\":\\\"#0C0E19\\\",\\\"editorGroup.emptyBackground\\\":\\\"#07090F\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#07090F\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#576dafd8\\\",\\\"editorLineNumber.foreground\\\":\\\"#262e47bb\\\",\\\"editorWidget.background\\\":\\\"#15182B\\\",\\\"editorWidget.border\\\":\\\"#576daf\\\",\\\"extensionButton.prominentBackground\\\":\\\"#C7D5FF\\\",\\\"extensionButton.prominentForeground\\\":\\\"#07090F\\\",\\\"focusBorder\\\":\\\"#262E47\\\",\\\"foreground\\\":\\\"#576daf\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#64d389fd\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#dd5074\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#576daf90\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#c778db\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#576daf90\\\",\\\"icon.foreground\\\":\\\"#576daf\\\",\\\"input.background\\\":\\\"#15182B\\\",\\\"input.foreground\\\":\\\"#86A5FF\\\",\\\"inputOption.activeForeground\\\":\\\"#86A5FF\\\",\\\"inputValidation.errorBackground\\\":\\\"#dd5073\\\",\\\"inputValidation.errorBorder\\\":\\\"#dd5073\\\",\\\"inputValidation.errorForeground\\\":\\\"#07090F\\\",\\\"list.activeSelectionBackground\\\":\\\"#000000\\\",\\\"list.activeSelectionForeground\\\":\\\"#86A5FF\\\",\\\"list.dropBackground\\\":\\\"#000000\\\",\\\"list.errorForeground\\\":\\\"#dd5074\\\",\\\"list.focusBackground\\\":\\\"#01030b\\\",\\\"list.focusForeground\\\":\\\"#86A5FF\\\",\\\"list.highlightForeground\\\":\\\"#A8BEFF\\\",\\\"list.hoverBackground\\\":\\\"#000000\\\",\\\"list.hoverForeground\\\":\\\"#A8BEFF\\\",\\\"list.inactiveFocusBackground\\\":\\\"#01030b\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#000000\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#86A5FF\\\",\\\"list.warningForeground\\\":\\\"#e6db7f\\\",\\\"notificationCenterHeader.background\\\":\\\"#15182B\\\",\\\"notifications.background\\\":\\\"#15182B\\\",\\\"panel.border\\\":\\\"#15182B\\\",\\\"panelTitle.activeBorder\\\":\\\"#86A5FF\\\",\\\"panelTitle.activeForeground\\\":\\\"#C7D5FF\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#576daf\\\",\\\"peekViewTitle.background\\\":\\\"#262E47\\\",\\\"quickInput.background\\\":\\\"#0C0E19\\\",\\\"scrollbar.shadow\\\":\\\"#01030b\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#576daf\\\",\\\"scrollbarSlider.background\\\":\\\"#262E47\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#576daf\\\",\\\"selection.background\\\":\\\"#01030b\\\",\\\"sideBar.background\\\":\\\"#07090F\\\",\\\"sideBar.border\\\":\\\"#15182B\\\",\\\"sideBarSectionHeader.background\\\":\\\"#07090F\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#86A5FF\\\",\\\"statusBar.background\\\":\\\"#86A5FF\\\",\\\"statusBar.debuggingBackground\\\":\\\"#c778db\\\",\\\"statusBar.foreground\\\":\\\"#07090F\\\",\\\"tab.activeBackground\\\":\\\"#07090F\\\",\\\"tab.activeBorder\\\":\\\"#86A5FF\\\",\\\"tab.activeForeground\\\":\\\"#C7D5FF\\\",\\\"tab.border\\\":\\\"#07090F\\\",\\\"tab.inactiveBackground\\\":\\\"#07090F\\\",\\\"tab.inactiveForeground\\\":\\\"#576dafd8\\\",\\\"terminal.ansiBrightRed\\\":\\\"#dd5073\\\",\\\"terminal.ansiGreen\\\":\\\"#63eb90\\\",\\\"terminal.ansiRed\\\":\\\"#dd5073\\\",\\\"terminal.foreground\\\":\\\"#A8BEFF\\\",\\\"textLink.foreground\\\":\\\"#86A5FF\\\",\\\"titleBar.activeBackground\\\":\\\"#07090F\\\",\\\"titleBar.activeForeground\\\":\\\"#86A5FF\\\",\\\"titleBar.inactiveBackground\\\":\\\"#07090F\\\",\\\"tree.indentGuidesStroke\\\":\\\"#576daf\\\",\\\"widget.shadow\\\":\\\"#01030b\\\"},\\\"displayName\\\":\\\"Aurora X\\\",\\\"name\\\":\\\"aurora-x\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#546E7A\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"string constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"constant.other.color\\\",\\\"punctuation\\\",\\\"meta.tag\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\",\\\"markup.deleted.git_gutter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call\\\",\\\"variable.function\\\",\\\"support.function\\\",\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\",\\\"variable.parameter\\\",\\\"keyword.other.unit\\\",\\\"keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"entity.other.inherited-class\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.type\\\",\\\"support.class\\\",\\\"support.orther.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"markup.changed.git_gutter\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"text.html.basic entity.other.attribute-name.html\\\",\\\"text.html.basic entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C17E70\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#65737E\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"markup.heading | markup.heading entity.name\\\",\\\"markup.heading.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#65737E\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00000050\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00000050\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#65737E\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#65737E\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: ayu-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#e6b450b3\\\",\\\"activityBar.background\\\":\\\"#0b0e14\\\",\\\"activityBar.border\\\":\\\"#0b0e14\\\",\\\"activityBar.foreground\\\":\\\"#565b66cc\\\",\\\"activityBar.inactiveForeground\\\":\\\"#565b6699\\\",\\\"activityBarBadge.background\\\":\\\"#e6b450\\\",\\\"activityBarBadge.foreground\\\":\\\"#0b0e14\\\",\\\"badge.background\\\":\\\"#e6b45033\\\",\\\"badge.foreground\\\":\\\"#e6b450\\\",\\\"button.background\\\":\\\"#e6b450\\\",\\\"button.foreground\\\":\\\"#0b0e14\\\",\\\"button.hoverBackground\\\":\\\"#e1af4b\\\",\\\"button.secondaryBackground\\\":\\\"#565b6633\\\",\\\"button.secondaryForeground\\\":\\\"#bfbdb6\\\",\\\"button.secondaryHoverBackground\\\":\\\"#565b6680\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#e6b450\\\",\\\"debugExceptionWidget.background\\\":\\\"#0f131a\\\",\\\"debugExceptionWidget.border\\\":\\\"#11151c\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#f2966880\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f29668\\\",\\\"debugToolBar.background\\\":\\\"#0f131a\\\",\\\"descriptionForeground\\\":\\\"#565b66\\\",\\\"diffEditor.diagonalFill\\\":\\\"#11151c\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#7fd9621f\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f26d781f\\\",\\\"dropdown.background\\\":\\\"#0d1017\\\",\\\"dropdown.border\\\":\\\"#565b6645\\\",\\\"dropdown.foreground\\\":\\\"#565b66\\\",\\\"editor.background\\\":\\\"#0b0e14\\\",\\\"editor.findMatchBackground\\\":\\\"#6c5980\\\",\\\"editor.findMatchBorder\\\":\\\"#6c5980\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#6c598066\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#5f4c7266\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#6c598040\\\",\\\"editor.foreground\\\":\\\"#bfbdb6\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#409fff21\\\",\\\"editor.lineHighlightBackground\\\":\\\"#131721\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#6c598033\\\",\\\"editor.selectionBackground\\\":\\\"#409fff4d\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#7fd96226\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#7fd96200\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#7fd96233\\\",\\\"editor.wordHighlightBackground\\\":\\\"#73b8ff14\\\",\\\"editor.wordHighlightBorder\\\":\\\"#73b8ff80\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#7fd96214\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#7fd96280\\\",\\\"editorBracketMatch.background\\\":\\\"#6c73804d\\\",\\\"editorBracketMatch.border\\\":\\\"#6c73804d\\\",\\\"editorCodeLens.foreground\\\":\\\"#acb6bf8c\\\",\\\"editorCursor.foreground\\\":\\\"#e6b450\\\",\\\"editorError.foreground\\\":\\\"#d95757\\\",\\\"editorGroup.background\\\":\\\"#0f131a\\\",\\\"editorGroup.border\\\":\\\"#11151c\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#0b0e14\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0b0e14\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#0b0e14\\\",\\\"editorGutter.addedBackground\\\":\\\"#7fd962cc\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f26d78cc\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#73b8ffcc\\\",\\\"editorHoverWidget.background\\\":\\\"#0f131a\\\",\\\"editorHoverWidget.border\\\":\\\"#11151c\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#6c738080\\\",\\\"editorIndentGuide.background\\\":\\\"#6c738033\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#6c7380e6\\\",\\\"editorLineNumber.foreground\\\":\\\"#6c738099\\\",\\\"editorLink.activeForeground\\\":\\\"#e6b450\\\",\\\"editorMarkerNavigation.background\\\":\\\"#0f131a\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#7fd962\\\",\\\"editorOverviewRuler.border\\\":\\\"#11151c\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#6c7380b3\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#f26d78\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#d95757\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#6c5980\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#73b8ff\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#e6b450\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#73b8ff66\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#7fd96266\\\",\\\"editorRuler.foreground\\\":\\\"#6c738033\\\",\\\"editorSuggestWidget.background\\\":\\\"#0f131a\\\",\\\"editorSuggestWidget.border\\\":\\\"#11151c\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#e6b450\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#47526640\\\",\\\"editorWarning.foreground\\\":\\\"#e6b450\\\",\\\"editorWhitespace.foreground\\\":\\\"#6c738099\\\",\\\"editorWidget.background\\\":\\\"#0f131a\\\",\\\"editorWidget.border\\\":\\\"#11151c\\\",\\\"errorForeground\\\":\\\"#d95757\\\",\\\"extensionButton.prominentBackground\\\":\\\"#e6b450\\\",\\\"extensionButton.prominentForeground\\\":\\\"#0d1017\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#e1af4b\\\",\\\"focusBorder\\\":\\\"#e6b450b3\\\",\\\"foreground\\\":\\\"#565b66\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f26d78b3\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#565b6680\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#73b8ffb3\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#d2a6ffb3\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#7fd962b3\\\",\\\"icon.foreground\\\":\\\"#565b66\\\",\\\"input.background\\\":\\\"#0d1017\\\",\\\"input.border\\\":\\\"#565b6645\\\",\\\"input.foreground\\\":\\\"#bfbdb6\\\",\\\"input.placeholderForeground\\\":\\\"#565b6680\\\",\\\"inputOption.activeBackground\\\":\\\"#e6b45033\\\",\\\"inputOption.activeBorder\\\":\\\"#e6b4504d\\\",\\\"inputOption.activeForeground\\\":\\\"#e6b450\\\",\\\"inputValidation.errorBackground\\\":\\\"#0d1017\\\",\\\"inputValidation.errorBorder\\\":\\\"#d95757\\\",\\\"inputValidation.infoBackground\\\":\\\"#0b0e14\\\",\\\"inputValidation.infoBorder\\\":\\\"#39bae6\\\",\\\"inputValidation.warningBackground\\\":\\\"#0b0e14\\\",\\\"inputValidation.warningBorder\\\":\\\"#ffb454\\\",\\\"keybindingLabel.background\\\":\\\"#565b661a\\\",\\\"keybindingLabel.border\\\":\\\"#bfbdb61a\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#bfbdb61a\\\",\\\"keybindingLabel.foreground\\\":\\\"#bfbdb6\\\",\\\"list.activeSelectionBackground\\\":\\\"#47526640\\\",\\\"list.activeSelectionForeground\\\":\\\"#bfbdb6\\\",\\\"list.deemphasizedForeground\\\":\\\"#d95757\\\",\\\"list.errorForeground\\\":\\\"#d95757\\\",\\\"list.filterMatchBackground\\\":\\\"#5f4c7266\\\",\\\"list.filterMatchBorder\\\":\\\"#6c598066\\\",\\\"list.focusBackground\\\":\\\"#47526640\\\",\\\"list.focusForeground\\\":\\\"#bfbdb6\\\",\\\"list.focusOutline\\\":\\\"#47526640\\\",\\\"list.highlightForeground\\\":\\\"#e6b450\\\",\\\"list.hoverBackground\\\":\\\"#47526640\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#47526633\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#565b66\\\",\\\"list.invalidItemForeground\\\":\\\"#565b664d\\\",\\\"listFilterWidget.background\\\":\\\"#0f131a\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#d95757\\\",\\\"listFilterWidget.outline\\\":\\\"#e6b450\\\",\\\"minimap.background\\\":\\\"#0b0e14\\\",\\\"minimap.errorHighlight\\\":\\\"#d95757\\\",\\\"minimap.findMatchHighlight\\\":\\\"#6c5980\\\",\\\"minimap.selectionHighlight\\\":\\\"#409fff4d\\\",\\\"minimapGutter.addedBackground\\\":\\\"#7fd962\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f26d78\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#73b8ff\\\",\\\"panel.background\\\":\\\"#0b0e14\\\",\\\"panel.border\\\":\\\"#11151c\\\",\\\"panelTitle.activeBorder\\\":\\\"#e6b450\\\",\\\"panelTitle.activeForeground\\\":\\\"#bfbdb6\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#565b66\\\",\\\"peekView.border\\\":\\\"#47526640\\\",\\\"peekViewEditor.background\\\":\\\"#0f131a\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#6c598066\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#5f4c7266\\\",\\\"peekViewResult.background\\\":\\\"#0f131a\\\",\\\"peekViewResult.fileForeground\\\":\\\"#bfbdb6\\\",\\\"peekViewResult.lineForeground\\\":\\\"#565b66\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#6c598066\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#47526640\\\",\\\"peekViewTitle.background\\\":\\\"#47526640\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#565b66\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#bfbdb6\\\",\\\"pickerGroup.border\\\":\\\"#11151c\\\",\\\"pickerGroup.foreground\\\":\\\"#565b6680\\\",\\\"progressBar.background\\\":\\\"#e6b450\\\",\\\"scrollbar.shadow\\\":\\\"#11151c00\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#565b66b3\\\",\\\"scrollbarSlider.background\\\":\\\"#565b6666\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#565b6699\\\",\\\"selection.background\\\":\\\"#409fff4d\\\",\\\"settings.headerForeground\\\":\\\"#bfbdb6\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#73b8ff\\\",\\\"sideBar.background\\\":\\\"#0b0e14\\\",\\\"sideBar.border\\\":\\\"#0b0e14\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0b0e14\\\",\\\"sideBarSectionHeader.border\\\":\\\"#0b0e14\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#565b66\\\",\\\"sideBarTitle.foreground\\\":\\\"#565b66\\\",\\\"statusBar.background\\\":\\\"#0b0e14\\\",\\\"statusBar.border\\\":\\\"#0b0e14\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f29668\\\",\\\"statusBar.debuggingForeground\\\":\\\"#0d1017\\\",\\\"statusBar.foreground\\\":\\\"#565b66\\\",\\\"statusBar.noFolderBackground\\\":\\\"#0f131a\\\",\\\"statusBarItem.activeBackground\\\":\\\"#565b6633\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#565b6633\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#11151c\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#00000030\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#e6b450\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#0d1017\\\",\\\"tab.activeBackground\\\":\\\"#0b0e14\\\",\\\"tab.activeBorder\\\":\\\"#e6b450\\\",\\\"tab.activeForeground\\\":\\\"#bfbdb6\\\",\\\"tab.border\\\":\\\"#0b0e14\\\",\\\"tab.inactiveBackground\\\":\\\"#0b0e14\\\",\\\"tab.inactiveForeground\\\":\\\"#565b66\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#565b66\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#565b66\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#565b66\\\",\\\"terminal.ansiBlack\\\":\\\"#11151c\\\",\\\"terminal.ansiBlue\\\":\\\"#53bdfa\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#686868\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#59c2ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#95e6cb\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#aad94c\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d2a6ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffb454\\\",\\\"terminal.ansiCyan\\\":\\\"#90e1c6\\\",\\\"terminal.ansiGreen\\\":\\\"#7fd962\\\",\\\"terminal.ansiMagenta\\\":\\\"#cda1fa\\\",\\\"terminal.ansiRed\\\":\\\"#ea6c73\\\",\\\"terminal.ansiWhite\\\":\\\"#c7c7c7\\\",\\\"terminal.ansiYellow\\\":\\\"#f9af4f\\\",\\\"terminal.background\\\":\\\"#0b0e14\\\",\\\"terminal.foreground\\\":\\\"#bfbdb6\\\",\\\"textBlockQuote.background\\\":\\\"#0f131a\\\",\\\"textLink.activeForeground\\\":\\\"#e6b450\\\",\\\"textLink.foreground\\\":\\\"#e6b450\\\",\\\"textPreformat.foreground\\\":\\\"#bfbdb6\\\",\\\"titleBar.activeBackground\\\":\\\"#0b0e14\\\",\\\"titleBar.activeForeground\\\":\\\"#bfbdb6\\\",\\\"titleBar.border\\\":\\\"#0b0e14\\\",\\\"titleBar.inactiveBackground\\\":\\\"#0b0e14\\\",\\\"titleBar.inactiveForeground\\\":\\\"#565b66\\\",\\\"tree.indentGuidesStroke\\\":\\\"#6c738080\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#0f131a\\\",\\\"welcomePage.buttonBackground\\\":\\\"#e6b45066\\\",\\\"welcomePage.progress.background\\\":\\\"#131721\\\",\\\"welcomePage.tileBackground\\\":\\\"#0b0e14\\\",\\\"welcomePage.tileShadow\\\":\\\"#00000080\\\",\\\"widget.shadow\\\":\\\"#00000080\\\"},\\\"displayName\\\":\\\"Ayu Dark\\\",\\\"name\\\":\\\"ayu-dark\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"parameter.label\\\":\\\"#bfbdb6\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#0b0e14\\\",\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"constant.other.symbol\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"variable.parameter.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"variable.member\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"storage\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"punctuation.separator\\\",\\\"punctuation.terminator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6b3\\\"}},{\\\"scope\\\":[\\\"punctuation.section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bfbdb6\\\"}},{\\\"scope\\\":[\\\"source.java storage.type\\\",\\\"source.haskell storage.type\\\",\\\"source.c storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"storage.type.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"source.java storage.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a6ff\\\"}},{\\\"scope\\\":[\\\"variable.function\\\",\\\"variable.annotation\\\",\\\"meta.function-call.generic\\\",\\\"support.function.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"support.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"entity.name.import\\\",\\\"entity.name.package\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag.end\\\",\\\"punctuation.definition.tag.begin\\\",\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae680\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\",\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"meta.decorator variable.other\\\",\\\"meta.decorator punctuation.decorator\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6b673\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d95757\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c594c5\\\"}},{\\\"scope\\\":[\\\"source.ruby variable.other.readwrite\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"source.css entity.name.tag\\\",\\\"source.sass entity.name.tag\\\",\\\"source.scss entity.name.tag\\\",\\\"source.less entity.name.tag\\\",\\\"source.stylus entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59c2ff\\\"}},{\\\"scope\\\":[\\\"source.css support.type\\\",\\\"source.sass support.type\\\",\\\"source.scss support.type\\\",\\\"source.less support.type\\\",\\\"source.stylus support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"support.type.property-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"constant.numeric.line-number.find-in-files - match\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"constant.numeric.line-number.match\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8f40\\\"}},{\\\"scope\\\":[\\\"entity.name.filename.find-in-files\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"message.error\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d95757\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#aad94c\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.italic markup.bold\\\",\\\"markup.bold markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold italic\\\"}},{\\\"scope\\\":[\\\"markup.raw\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb605\\\"}},{\\\"scope\\\":[\\\"markup.raw.inline\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\",\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#95e6cb\\\"}},{\\\"scope\\\":[\\\"markup.list punctuation.definition.list.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fd962\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73b8ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f26d78\\\"}},{\\\"scope\\\":[\\\"markup.strike\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6b673\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb60f\\\",\\\"foreground\\\":\\\"#39bae6\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f29668\\\"}},{\\\"scope\\\":[\\\"text.html.markdown meta.dummy.line-break\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#acb6bf8c\\\",\\\"foreground\\\":\\\"#acb6bf8c\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.markdown\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#bfbdb6\\\",\\\"foreground\\\":\\\"#acb6bf8c\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: catppuccin-frappe */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#00000000\\\",\\\"activityBar.activeBorder\\\":\\\"#00000000\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#00000000\\\",\\\"activityBar.background\\\":\\\"#232634\\\",\\\"activityBar.border\\\":\\\"#00000000\\\",\\\"activityBar.dropBorder\\\":\\\"#ca9ee633\\\",\\\"activityBar.foreground\\\":\\\"#ca9ee6\\\",\\\"activityBar.inactiveForeground\\\":\\\"#737994\\\",\\\"activityBarBadge.background\\\":\\\"#ca9ee6\\\",\\\"activityBarBadge.foreground\\\":\\\"#232634\\\",\\\"activityBarTop.activeBorder\\\":\\\"#00000000\\\",\\\"activityBarTop.dropBorder\\\":\\\"#ca9ee633\\\",\\\"activityBarTop.foreground\\\":\\\"#ca9ee6\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#737994\\\",\\\"badge.background\\\":\\\"#51576d\\\",\\\"badge.foreground\\\":\\\"#c6d0f5\\\",\\\"banner.background\\\":\\\"#51576d\\\",\\\"banner.foreground\\\":\\\"#c6d0f5\\\",\\\"banner.iconForeground\\\":\\\"#c6d0f5\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#ca9ee6\\\",\\\"breadcrumb.background\\\":\\\"#303446\\\",\\\"breadcrumb.focusForeground\\\":\\\"#ca9ee6\\\",\\\"breadcrumb.foreground\\\":\\\"#c6d0f5cc\\\",\\\"breadcrumbPicker.background\\\":\\\"#292c3c\\\",\\\"button.background\\\":\\\"#ca9ee6\\\",\\\"button.border\\\":\\\"#00000000\\\",\\\"button.foreground\\\":\\\"#232634\\\",\\\"button.hoverBackground\\\":\\\"#d9baed\\\",\\\"button.secondaryBackground\\\":\\\"#626880\\\",\\\"button.secondaryBorder\\\":\\\"#ca9ee6\\\",\\\"button.secondaryForeground\\\":\\\"#c6d0f5\\\",\\\"button.secondaryHoverBackground\\\":\\\"#727993\\\",\\\"button.separator\\\":\\\"#00000000\\\",\\\"charts.blue\\\":\\\"#8caaee\\\",\\\"charts.foreground\\\":\\\"#c6d0f5\\\",\\\"charts.green\\\":\\\"#a6d189\\\",\\\"charts.lines\\\":\\\"#b5bfe2\\\",\\\"charts.orange\\\":\\\"#ef9f76\\\",\\\"charts.purple\\\":\\\"#ca9ee6\\\",\\\"charts.red\\\":\\\"#e78284\\\",\\\"charts.yellow\\\":\\\"#e5c890\\\",\\\"checkbox.background\\\":\\\"#51576d\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#ca9ee6\\\",\\\"commandCenter.activeBackground\\\":\\\"#62688033\\\",\\\"commandCenter.activeBorder\\\":\\\"#ca9ee6\\\",\\\"commandCenter.activeForeground\\\":\\\"#ca9ee6\\\",\\\"commandCenter.background\\\":\\\"#292c3c\\\",\\\"commandCenter.border\\\":\\\"#00000000\\\",\\\"commandCenter.foreground\\\":\\\"#b5bfe2\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#00000000\\\",\\\"commandCenter.inactiveForeground\\\":\\\"#b5bfe2\\\",\\\"debugConsole.errorForeground\\\":\\\"#e78284\\\",\\\"debugConsole.infoForeground\\\":\\\"#8caaee\\\",\\\"debugConsole.sourceForeground\\\":\\\"#f2d5cf\\\",\\\"debugConsole.warningForeground\\\":\\\"#ef9f76\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#c6d0f5\\\",\\\"debugExceptionWidget.background\\\":\\\"#232634\\\",\\\"debugExceptionWidget.border\\\":\\\"#ca9ee6\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#626880\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#e7828499\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#e78284\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#626880\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#a57582\\\",\\\"debugIcon.continueForeground\\\":\\\"#a6d189\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#626880\\\",\\\"debugIcon.pauseForeground\\\":\\\"#8caaee\\\",\\\"debugIcon.restartForeground\\\":\\\"#81c8be\\\",\\\"debugIcon.startForeground\\\":\\\"#a6d189\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#626880\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#c6d0f5\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#c6d0f5\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#ca9ee6\\\",\\\"debugIcon.stopForeground\\\":\\\"#e78284\\\",\\\"debugTokenExpression.boolean\\\":\\\"#ca9ee6\\\",\\\"debugTokenExpression.error\\\":\\\"#e78284\\\",\\\"debugTokenExpression.number\\\":\\\"#ef9f76\\\",\\\"debugTokenExpression.string\\\":\\\"#a6d189\\\",\\\"debugToolBar.background\\\":\\\"#232634\\\",\\\"debugToolBar.border\\\":\\\"#00000000\\\",\\\"descriptionForeground\\\":\\\"#c6d0f5\\\",\\\"diffEditor.border\\\":\\\"#626880\\\",\\\"diffEditor.diagonalFill\\\":\\\"#62688099\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#a6d18926\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#a6d18933\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#e7828426\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#e7828433\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#a6d189cc\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#e78284cc\\\",\\\"disabledForeground\\\":\\\"#a5adce\\\",\\\"dropdown.background\\\":\\\"#292c3c\\\",\\\"dropdown.border\\\":\\\"#ca9ee6\\\",\\\"dropdown.foreground\\\":\\\"#c6d0f5\\\",\\\"dropdown.listBackground\\\":\\\"#626880\\\",\\\"editor.background\\\":\\\"#303446\\\",\\\"editor.findMatchBackground\\\":\\\"#674b59\\\",\\\"editor.findMatchBorder\\\":\\\"#e7828433\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#506373\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#99d1db33\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#506373\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#99d1db33\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#a6d18926\\\",\\\"editor.foldBackground\\\":\\\"#99d1db40\\\",\\\"editor.foreground\\\":\\\"#c6d0f5\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#99d1db40\\\",\\\"editor.lineHighlightBackground\\\":\\\"#c6d0f512\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#99d1db40\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.selectionBackground\\\":\\\"#949cbb40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#949cbb33\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#949cbb33\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#e5c89026\\\",\\\"editor.wordHighlightBackground\\\":\\\"#949cbb33\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#8caaee33\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#e78284\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#ef9f76\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#e5c890\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#a6d189\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#85c1dc\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#ca9ee6\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#ea999c\\\",\\\"editorBracketMatch.background\\\":\\\"#949cbb1a\\\",\\\"editorBracketMatch.border\\\":\\\"#949cbb\\\",\\\"editorCodeLens.foreground\\\":\\\"#838ba7\\\",\\\"editorCursor.background\\\":\\\"#303446\\\",\\\"editorCursor.foreground\\\":\\\"#f2d5cf\\\",\\\"editorError.background\\\":\\\"#00000000\\\",\\\"editorError.border\\\":\\\"#00000000\\\",\\\"editorError.foreground\\\":\\\"#e78284\\\",\\\"editorGroup.border\\\":\\\"#626880\\\",\\\"editorGroup.dropBackground\\\":\\\"#ca9ee633\\\",\\\"editorGroup.emptyBackground\\\":\\\"#303446\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#232634\\\",\\\"editorGutter.addedBackground\\\":\\\"#a6d189\\\",\\\"editorGutter.background\\\":\\\"#303446\\\",\\\"editorGutter.commentGlyphForeground\\\":\\\"#ca9ee6\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#414559\\\",\\\"editorGutter.deletedBackground\\\":\\\"#e78284\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#949cbb\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#e5c890\\\",\\\"editorHoverWidget.background\\\":\\\"#292c3c\\\",\\\"editorHoverWidget.border\\\":\\\"#626880\\\",\\\"editorHoverWidget.foreground\\\":\\\"#c6d0f5\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#626880\\\",\\\"editorIndentGuide.background\\\":\\\"#51576d\\\",\\\"editorInfo.background\\\":\\\"#00000000\\\",\\\"editorInfo.border\\\":\\\"#00000000\\\",\\\"editorInfo.foreground\\\":\\\"#8caaee\\\",\\\"editorInlayHint.background\\\":\\\"#292c3cbf\\\",\\\"editorInlayHint.foreground\\\":\\\"#626880\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#292c3cbf\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#a5adce\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#292c3cbf\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#b5bfe2\\\",\\\"editorLightBulb.foreground\\\":\\\"#e5c890\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#ca9ee6\\\",\\\"editorLineNumber.foreground\\\":\\\"#838ba7\\\",\\\"editorLink.activeForeground\\\":\\\"#ca9ee6\\\",\\\"editorMarkerNavigation.background\\\":\\\"#292c3c\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#e78284\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#8caaee\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#ef9f76\\\",\\\"editorOverviewRuler.background\\\":\\\"#292c3c\\\",\\\"editorOverviewRuler.border\\\":\\\"#c6d0f512\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#e5c890\\\",\\\"editorRuler.foreground\\\":\\\"#626880\\\",\\\"editorStickyScrollHover.background\\\":\\\"#414559\\\",\\\"editorSuggestWidget.background\\\":\\\"#292c3c\\\",\\\"editorSuggestWidget.border\\\":\\\"#626880\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#c6d0f5\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#ca9ee6\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#414559\\\",\\\"editorWarning.background\\\":\\\"#00000000\\\",\\\"editorWarning.border\\\":\\\"#00000000\\\",\\\"editorWarning.foreground\\\":\\\"#ef9f76\\\",\\\"editorWhitespace.foreground\\\":\\\"#949cbb66\\\",\\\"editorWidget.background\\\":\\\"#292c3c\\\",\\\"editorWidget.foreground\\\":\\\"#c6d0f5\\\",\\\"editorWidget.resizeBorder\\\":\\\"#626880\\\",\\\"errorForeground\\\":\\\"#e78284\\\",\\\"errorLens.errorBackground\\\":\\\"#e7828426\\\",\\\"errorLens.errorBackgroundLight\\\":\\\"#e7828426\\\",\\\"errorLens.errorForeground\\\":\\\"#e78284\\\",\\\"errorLens.errorForegroundLight\\\":\\\"#e78284\\\",\\\"errorLens.errorMessageBackground\\\":\\\"#e7828426\\\",\\\"errorLens.hintBackground\\\":\\\"#a6d18926\\\",\\\"errorLens.hintBackgroundLight\\\":\\\"#a6d18926\\\",\\\"errorLens.hintForeground\\\":\\\"#a6d189\\\",\\\"errorLens.hintForegroundLight\\\":\\\"#a6d189\\\",\\\"errorLens.hintMessageBackground\\\":\\\"#a6d18926\\\",\\\"errorLens.infoBackground\\\":\\\"#8caaee26\\\",\\\"errorLens.infoBackgroundLight\\\":\\\"#8caaee26\\\",\\\"errorLens.infoForeground\\\":\\\"#8caaee\\\",\\\"errorLens.infoForegroundLight\\\":\\\"#8caaee\\\",\\\"errorLens.infoMessageBackground\\\":\\\"#8caaee26\\\",\\\"errorLens.statusBarErrorForeground\\\":\\\"#e78284\\\",\\\"errorLens.statusBarHintForeground\\\":\\\"#a6d189\\\",\\\"errorLens.statusBarIconErrorForeground\\\":\\\"#e78284\\\",\\\"errorLens.statusBarIconWarningForeground\\\":\\\"#ef9f76\\\",\\\"errorLens.statusBarInfoForeground\\\":\\\"#8caaee\\\",\\\"errorLens.statusBarWarningForeground\\\":\\\"#ef9f76\\\",\\\"errorLens.warningBackground\\\":\\\"#ef9f7626\\\",\\\"errorLens.warningBackgroundLight\\\":\\\"#ef9f7626\\\",\\\"errorLens.warningForeground\\\":\\\"#ef9f76\\\",\\\"errorLens.warningForegroundLight\\\":\\\"#ef9f76\\\",\\\"errorLens.warningMessageBackground\\\":\\\"#ef9f7626\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#8caaee\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#232634\\\",\\\"extensionButton.prominentBackground\\\":\\\"#ca9ee6\\\",\\\"extensionButton.prominentForeground\\\":\\\"#232634\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#d9baed\\\",\\\"extensionButton.separator\\\":\\\"#303446\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#626880\\\",\\\"extensionIcon.sponsorForeground\\\":\\\"#f4b8e4\\\",\\\"extensionIcon.starForeground\\\":\\\"#e5c890\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#a6d189\\\",\\\"focusBorder\\\":\\\"#ca9ee6\\\",\\\"foreground\\\":\\\"#c6d0f5\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#a6d189\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#ca9ee6\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#e78284\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#737994\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#e5c890\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#e78284\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#e5c890\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#8caaee\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#a6d189\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#e78284\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#a6d189\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#ef9f76\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#e5c890\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#ef9f76\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#a6d189\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#ea999c\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#e5c890\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a5adce\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#ef9f76\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#ea999c\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#a6d189\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#e78284\\\",\\\"gitlens.graphLane10Color\\\":\\\"#f4b8e4\\\",\\\"gitlens.graphLane1Color\\\":\\\"#ca9ee6\\\",\\\"gitlens.graphLane2Color\\\":\\\"#e5c890\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8caaee\\\",\\\"gitlens.graphLane4Color\\\":\\\"#eebebe\\\",\\\"gitlens.graphLane5Color\\\":\\\"#a6d189\\\",\\\"gitlens.graphLane6Color\\\":\\\"#babbf1\\\",\\\"gitlens.graphLane7Color\\\":\\\"#f2d5cf\\\",\\\"gitlens.graphLane8Color\\\":\\\"#e78284\\\",\\\"gitlens.graphLane9Color\\\":\\\"#81c8be\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#a6d189\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#e5c890\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#8caaee\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#769aeb\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#eebebe\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#98ca77\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#a6d189\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#e5c890\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#8caaee\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#769aeb\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#eebebe\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#98ca77\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#4145594d\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#c6d0f5\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#ca9ee626\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#ca9ee6cc\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#ca9ee6\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#a6d189\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#a6d189\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#00000000\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#c6d0f54d\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#a6d189\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#a6d189\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#ef9f76\\\",\\\"icon.foreground\\\":\\\"#ca9ee6\\\",\\\"input.background\\\":\\\"#414559\\\",\\\"input.border\\\":\\\"#00000000\\\",\\\"input.foreground\\\":\\\"#c6d0f5\\\",\\\"input.placeholderForeground\\\":\\\"#c6d0f573\\\",\\\"inputOption.activeBackground\\\":\\\"#626880\\\",\\\"inputOption.activeBorder\\\":\\\"#ca9ee6\\\",\\\"inputOption.activeForeground\\\":\\\"#c6d0f5\\\",\\\"inputValidation.errorBackground\\\":\\\"#e78284\\\",\\\"inputValidation.errorBorder\\\":\\\"#23263433\\\",\\\"inputValidation.errorForeground\\\":\\\"#232634\\\",\\\"inputValidation.infoBackground\\\":\\\"#8caaee\\\",\\\"inputValidation.infoBorder\\\":\\\"#23263433\\\",\\\"inputValidation.infoForeground\\\":\\\"#232634\\\",\\\"inputValidation.warningBackground\\\":\\\"#ef9f76\\\",\\\"inputValidation.warningBorder\\\":\\\"#23263433\\\",\\\"inputValidation.warningForeground\\\":\\\"#232634\\\",\\\"issues.closed\\\":\\\"#ca9ee6\\\",\\\"issues.newIssueDecoration\\\":\\\"#f2d5cf\\\",\\\"issues.open\\\":\\\"#a6d189\\\",\\\"list.activeSelectionBackground\\\":\\\"#414559\\\",\\\"list.activeSelectionForeground\\\":\\\"#c6d0f5\\\",\\\"list.dropBackground\\\":\\\"#ca9ee633\\\",\\\"list.focusAndSelectionBackground\\\":\\\"#51576d\\\",\\\"list.focusBackground\\\":\\\"#414559\\\",\\\"list.focusForeground\\\":\\\"#c6d0f5\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#ca9ee6\\\",\\\"list.hoverBackground\\\":\\\"#41455980\\\",\\\"list.hoverForeground\\\":\\\"#c6d0f5\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#414559\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#c6d0f5\\\",\\\"list.warningForeground\\\":\\\"#ef9f76\\\",\\\"listFilterWidget.background\\\":\\\"#51576d\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#e78284\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#303446\\\",\\\"menu.border\\\":\\\"#30344680\\\",\\\"menu.foreground\\\":\\\"#c6d0f5\\\",\\\"menu.selectionBackground\\\":\\\"#626880\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#c6d0f5\\\",\\\"menu.separatorBackground\\\":\\\"#626880\\\",\\\"menubar.selectionBackground\\\":\\\"#51576d\\\",\\\"menubar.selectionForeground\\\":\\\"#c6d0f5\\\",\\\"merge.commonContentBackground\\\":\\\"#51576d\\\",\\\"merge.commonHeaderBackground\\\":\\\"#626880\\\",\\\"merge.currentContentBackground\\\":\\\"#a6d18933\\\",\\\"merge.currentHeaderBackground\\\":\\\"#a6d18966\\\",\\\"merge.incomingContentBackground\\\":\\\"#8caaee33\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#8caaee66\\\",\\\"minimap.background\\\":\\\"#292c3c80\\\",\\\"minimap.errorHighlight\\\":\\\"#e78284bf\\\",\\\"minimap.findMatchHighlight\\\":\\\"#99d1db4d\\\",\\\"minimap.selectionHighlight\\\":\\\"#626880bf\\\",\\\"minimap.selectionOccurrenceHighlight\\\":\\\"#626880bf\\\",\\\"minimap.warningHighlight\\\":\\\"#ef9f76bf\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a6d189bf\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#e78284bf\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#e5c890bf\\\",\\\"minimapSlider.activeBackground\\\":\\\"#ca9ee699\\\",\\\"minimapSlider.background\\\":\\\"#ca9ee633\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#ca9ee666\\\",\\\"notificationCenter.border\\\":\\\"#ca9ee6\\\",\\\"notificationCenterHeader.background\\\":\\\"#292c3c\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#c6d0f5\\\",\\\"notificationLink.foreground\\\":\\\"#8caaee\\\",\\\"notificationToast.border\\\":\\\"#ca9ee6\\\",\\\"notifications.background\\\":\\\"#292c3c\\\",\\\"notifications.border\\\":\\\"#ca9ee6\\\",\\\"notifications.foreground\\\":\\\"#c6d0f5\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#e78284\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#8caaee\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#ef9f76\\\",\\\"panel.background\\\":\\\"#303446\\\",\\\"panel.border\\\":\\\"#626880\\\",\\\"panelSection.border\\\":\\\"#626880\\\",\\\"panelSection.dropBackground\\\":\\\"#ca9ee633\\\",\\\"panelTitle.activeBorder\\\":\\\"#ca9ee6\\\",\\\"panelTitle.activeForeground\\\":\\\"#c6d0f5\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#a5adce\\\",\\\"peekView.border\\\":\\\"#ca9ee6\\\",\\\"peekViewEditor.background\\\":\\\"#292c3c\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#99d1db4d\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#00000000\\\",\\\"peekViewEditorGutter.background\\\":\\\"#292c3c\\\",\\\"peekViewResult.background\\\":\\\"#292c3c\\\",\\\"peekViewResult.fileForeground\\\":\\\"#c6d0f5\\\",\\\"peekViewResult.lineForeground\\\":\\\"#c6d0f5\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#99d1db4d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#414559\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#c6d0f5\\\",\\\"peekViewTitle.background\\\":\\\"#303446\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#b5bfe2b3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#c6d0f5\\\",\\\"pickerGroup.border\\\":\\\"#ca9ee6\\\",\\\"pickerGroup.foreground\\\":\\\"#ca9ee6\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#e78284\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#8caaee\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#ef9f76\\\",\\\"progressBar.background\\\":\\\"#ca9ee6\\\",\\\"pullRequests.closed\\\":\\\"#e78284\\\",\\\"pullRequests.draft\\\":\\\"#949cbb\\\",\\\"pullRequests.merged\\\":\\\"#ca9ee6\\\",\\\"pullRequests.notification\\\":\\\"#c6d0f5\\\",\\\"pullRequests.open\\\":\\\"#a6d189\\\",\\\"sash.hoverBorder\\\":\\\"#ca9ee6\\\",\\\"scmGraph.foreground1\\\":\\\"#e5c890\\\",\\\"scmGraph.foreground2\\\":\\\"#e78284\\\",\\\"scmGraph.foreground3\\\":\\\"#a6d189\\\",\\\"scmGraph.foreground4\\\":\\\"#ca9ee6\\\",\\\"scmGraph.foreground5\\\":\\\"#81c8be\\\",\\\"scmGraph.historyItemBaseRefColor\\\":\\\"#ef9f76\\\",\\\"scmGraph.historyItemRefColor\\\":\\\"#8caaee\\\",\\\"scmGraph.historyItemRemoteRefColor\\\":\\\"#ca9ee6\\\",\\\"scrollbar.shadow\\\":\\\"#232634\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#41455966\\\",\\\"scrollbarSlider.background\\\":\\\"#62688080\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#737994\\\",\\\"selection.background\\\":\\\"#ca9ee666\\\",\\\"settings.dropdownBackground\\\":\\\"#51576d\\\",\\\"settings.dropdownListBorder\\\":\\\"#00000000\\\",\\\"settings.focusedRowBackground\\\":\\\"#62688033\\\",\\\"settings.headerForeground\\\":\\\"#c6d0f5\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#ca9ee6\\\",\\\"settings.numberInputBackground\\\":\\\"#51576d\\\",\\\"settings.numberInputBorder\\\":\\\"#00000000\\\",\\\"settings.textInputBackground\\\":\\\"#51576d\\\",\\\"settings.textInputBorder\\\":\\\"#00000000\\\",\\\"sideBar.background\\\":\\\"#292c3c\\\",\\\"sideBar.border\\\":\\\"#00000000\\\",\\\"sideBar.dropBackground\\\":\\\"#ca9ee633\\\",\\\"sideBar.foreground\\\":\\\"#c6d0f5\\\",\\\"sideBarSectionHeader.background\\\":\\\"#292c3c\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#c6d0f5\\\",\\\"sideBarTitle.foreground\\\":\\\"#ca9ee6\\\",\\\"statusBar.background\\\":\\\"#232634\\\",\\\"statusBar.border\\\":\\\"#00000000\\\",\\\"statusBar.debuggingBackground\\\":\\\"#ef9f76\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#232634\\\",\\\"statusBar.foreground\\\":\\\"#c6d0f5\\\",\\\"statusBar.noFolderBackground\\\":\\\"#232634\\\",\\\"statusBar.noFolderBorder\\\":\\\"#00000000\\\",\\\"statusBar.noFolderForeground\\\":\\\"#c6d0f5\\\",\\\"statusBarItem.activeBackground\\\":\\\"#62688066\\\",\\\"statusBarItem.errorBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.errorForeground\\\":\\\"#e78284\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#62688033\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#ca9ee6\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#62688033\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#8caaee\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#232634\\\",\\\"statusBarItem.warningBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.warningForeground\\\":\\\"#ef9f76\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#ef9f76\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#ca9ee6\\\",\\\"symbolIcon.classForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.colorForeground\\\":\\\"#f4b8e4\\\",\\\"symbolIcon.constantForeground\\\":\\\"#ef9f76\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#babbf1\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.eventForeground\\\":\\\"#f4b8e4\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#c6d0f5\\\",\\\"symbolIcon.fileForeground\\\":\\\"#ca9ee6\\\",\\\"symbolIcon.folderForeground\\\":\\\"#ca9ee6\\\",\\\"symbolIcon.functionForeground\\\":\\\"#8caaee\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.keyForeground\\\":\\\"#81c8be\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#ca9ee6\\\",\\\"symbolIcon.methodForeground\\\":\\\"#8caaee\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#c6d0f5\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.nullForeground\\\":\\\"#ea999c\\\",\\\"symbolIcon.numberForeground\\\":\\\"#ef9f76\\\",\\\"symbolIcon.objectForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#81c8be\\\",\\\"symbolIcon.packageForeground\\\":\\\"#eebebe\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#ea999c\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#e5c890\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#eebebe\\\",\\\"symbolIcon.stringForeground\\\":\\\"#a6d189\\\",\\\"symbolIcon.structForeground\\\":\\\"#81c8be\\\",\\\"symbolIcon.textForeground\\\":\\\"#c6d0f5\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#ea999c\\\",\\\"symbolIcon.unitForeground\\\":\\\"#c6d0f5\\\",\\\"symbolIcon.variableForeground\\\":\\\"#c6d0f5\\\",\\\"tab.activeBackground\\\":\\\"#303446\\\",\\\"tab.activeBorder\\\":\\\"#00000000\\\",\\\"tab.activeBorderTop\\\":\\\"#ca9ee6\\\",\\\"tab.activeForeground\\\":\\\"#ca9ee6\\\",\\\"tab.activeModifiedBorder\\\":\\\"#e5c890\\\",\\\"tab.border\\\":\\\"#292c3c\\\",\\\"tab.hoverBackground\\\":\\\"#3a3f55\\\",\\\"tab.hoverBorder\\\":\\\"#00000000\\\",\\\"tab.hoverForeground\\\":\\\"#ca9ee6\\\",\\\"tab.inactiveBackground\\\":\\\"#292c3c\\\",\\\"tab.inactiveForeground\\\":\\\"#737994\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#e5c8904d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#ca9ee6\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#292c3c\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#ca9ee64d\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#1f212d\\\",\\\"table.headerBackground\\\":\\\"#414559\\\",\\\"table.headerForeground\\\":\\\"#c6d0f5\\\",\\\"terminal.ansiBlack\\\":\\\"#51576d\\\",\\\"terminal.ansiBlue\\\":\\\"#8caaee\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#626880\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7b9ef0\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#5abfb5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#8ec772\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#f2a4db\\\",\\\"terminal.ansiBrightRed\\\":\\\"#e67172\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#b5bfe2\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#d9ba73\\\",\\\"terminal.ansiCyan\\\":\\\"#81c8be\\\",\\\"terminal.ansiGreen\\\":\\\"#a6d189\\\",\\\"terminal.ansiMagenta\\\":\\\"#f4b8e4\\\",\\\"terminal.ansiRed\\\":\\\"#e78284\\\",\\\"terminal.ansiWhite\\\":\\\"#a5adce\\\",\\\"terminal.ansiYellow\\\":\\\"#e5c890\\\",\\\"terminal.border\\\":\\\"#626880\\\",\\\"terminal.dropBackground\\\":\\\"#ca9ee633\\\",\\\"terminal.foreground\\\":\\\"#c6d0f5\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#62688080\\\",\\\"terminal.selectionBackground\\\":\\\"#626880\\\",\\\"terminal.tab.activeBorder\\\":\\\"#ca9ee6\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#626880\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#e78284\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#a6d189\\\",\\\"terminalCursor.background\\\":\\\"#303446\\\",\\\"terminalCursor.foreground\\\":\\\"#f2d5cf\\\",\\\"testing.coverCountBadgeBackground\\\":\\\"#00000000\\\",\\\"testing.coverCountBadgeForeground\\\":\\\"#ca9ee6\\\",\\\"testing.coveredBackground\\\":\\\"#a6d1894d\\\",\\\"testing.coveredBorder\\\":\\\"#00000000\\\",\\\"testing.coveredGutterBackground\\\":\\\"#a6d1894d\\\",\\\"testing.iconErrored\\\":\\\"#e78284\\\",\\\"testing.iconErrored.retired\\\":\\\"#e78284\\\",\\\"testing.iconFailed\\\":\\\"#e78284\\\",\\\"testing.iconFailed.retired\\\":\\\"#e78284\\\",\\\"testing.iconPassed\\\":\\\"#a6d189\\\",\\\"testing.iconPassed.retired\\\":\\\"#a6d189\\\",\\\"testing.iconQueued\\\":\\\"#8caaee\\\",\\\"testing.iconQueued.retired\\\":\\\"#8caaee\\\",\\\"testing.iconSkipped\\\":\\\"#a5adce\\\",\\\"testing.iconSkipped.retired\\\":\\\"#a5adce\\\",\\\"testing.iconUnset\\\":\\\"#c6d0f5\\\",\\\"testing.iconUnset.retired\\\":\\\"#c6d0f5\\\",\\\"testing.message.error.lineBackground\\\":\\\"#e7828426\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#a6d189cc\\\",\\\"testing.message.info.lineBackground\\\":\\\"#a6d18926\\\",\\\"testing.messagePeekBorder\\\":\\\"#ca9ee6\\\",\\\"testing.messagePeekHeaderBackground\\\":\\\"#626880\\\",\\\"testing.peekBorder\\\":\\\"#ca9ee6\\\",\\\"testing.peekHeaderBackground\\\":\\\"#626880\\\",\\\"testing.runAction\\\":\\\"#ca9ee6\\\",\\\"testing.uncoveredBackground\\\":\\\"#e7828433\\\",\\\"testing.uncoveredBorder\\\":\\\"#00000000\\\",\\\"testing.uncoveredBranchBackground\\\":\\\"#e7828433\\\",\\\"testing.uncoveredGutterBackground\\\":\\\"#e7828440\\\",\\\"textBlockQuote.background\\\":\\\"#292c3c\\\",\\\"textBlockQuote.border\\\":\\\"#232634\\\",\\\"textCodeBlock.background\\\":\\\"#292c3c\\\",\\\"textLink.activeForeground\\\":\\\"#99d1db\\\",\\\"textLink.foreground\\\":\\\"#8caaee\\\",\\\"textPreformat.foreground\\\":\\\"#c6d0f5\\\",\\\"textSeparator.foreground\\\":\\\"#ca9ee6\\\",\\\"titleBar.activeBackground\\\":\\\"#232634\\\",\\\"titleBar.activeForeground\\\":\\\"#c6d0f5\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#232634\\\",\\\"titleBar.inactiveForeground\\\":\\\"#c6d0f580\\\",\\\"tree.inactiveIndentGuidesStroke\\\":\\\"#51576d\\\",\\\"tree.indentGuidesStroke\\\":\\\"#949cbb\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#3034464d\\\",\\\"welcomePage.progress.background\\\":\\\"#232634\\\",\\\"welcomePage.progress.foreground\\\":\\\"#ca9ee6\\\",\\\"welcomePage.tileBackground\\\":\\\"#292c3c\\\",\\\"widget.shadow\\\":\\\"#292c3c80\\\",\\\"window.activeBorder\\\":\\\"#00000000\\\",\\\"window.inactiveBorder\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Catppuccin Frappé\\\",\\\"name\\\":\\\"catppuccin-frappe\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"boolean\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"},\\\"builtinAttribute.attribute.library:rust\\\":{\\\"foreground\\\":\\\"#8caaee\\\"},\\\"class.builtin:python\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"},\\\"class:python\\\":{\\\"foreground\\\":\\\"#e5c890\\\"},\\\"constant.builtin.readonly:nix\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#81c8be\\\"},\\\"function.decorator:python\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"},\\\"generic.attribute:rust\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"heading\\\":{\\\"foreground\\\":\\\"#e78284\\\"},\\\"number\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"},\\\"pol\\\":{\\\"foreground\\\":\\\"#eebebe\\\"},\\\"property.readonly:javascript\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"property.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"property.readonly:typescript\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"property.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"selfKeyword\\\":{\\\"foreground\\\":\\\"#e78284\\\"},\\\"text.emph\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e78284\\\"},\\\"text.math\\\":{\\\"foreground\\\":\\\"#eebebe\\\"},\\\"text.strong\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e78284\\\"},\\\"tomlArrayKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"},\\\"tomlTableKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"},\\\"type.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#ea999c\\\"},\\\"variable.readonly.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"},\\\"variable.readonly:javascript\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.readonly:scala\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.readonly:typescript\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"},\\\"variable.typeHint:python\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"text\\\",\\\"source\\\",\\\"variable.other.readwrite\\\",\\\"punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#949cbb\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#949cbb\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.constant\\\",\\\"entity.name.constant\\\",\\\"constant.language.boolean\\\",\\\"constant.language.false\\\",\\\"constant.language.true\\\",\\\"keyword.other.unit.user-defined\\\",\\\"keyword.other.unit.suffix.floating-point\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.operator.word\\\",\\\"keyword.operator.new\\\",\\\"variable.language.super\\\",\\\"support.type.primitive\\\",\\\"storage.type\\\",\\\"storage.modifier\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"entity.name.tag.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"punctuation.accessor\\\",\\\"punctuation.definition.generic\\\",\\\"meta.function.closure punctuation.section.parameters\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.key-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.method\\\",\\\"support.function\\\",\\\"support.function.misc\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\",\\\"meta.function-call.constructor\\\",\\\"entity.name.struct\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"entity.name.enum\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"meta.enum variable.other.readwrite\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"meta.property.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"meta.type\\\",\\\"meta.type-alias\\\",\\\"support.type\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"meta.annotation variable.function\\\",\\\"meta.annotation variable.annotation.function\\\",\\\"meta.annotation punctuation.definition.annotation\\\",\\\"meta.decorator\\\",\\\"punctuation.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.function.parameters\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.function.builtin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive\\\",\\\"punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"punctuation.definition.typeparameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.css\\\",\\\"support.type.property-name.less\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"variable.language.this punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"variable.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"string.template variable\\\",\\\"string variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.extern.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"entity.name.scope-resolution.template.call.cpp\\\",\\\"entity.name.scope-resolution.parameter.cpp\\\",\\\"entity.name.scope-resolution.cpp\\\",\\\"entity.name.scope-resolution.function.definition.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"storage.type.class.doxygen\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"storage.modifier.reference.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"meta.interpolation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"comment.block.documentation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"source.css entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"punctuation.separator.operator.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"source.css constant.other.unicode-range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"source.css variable.parameter.url\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-value variable\\\",\\\"source.css meta.property-value variable.other.less\\\",\\\"source.css meta.property-value variable.other.less punctuation.definition.variable.less\\\",\\\"meta.definition.variable.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-list variable\\\",\\\"meta.property-list variable.other.less\\\",\\\"meta.property-list variable.other.less punctuation.definition.variable.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.percentage.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"source.css meta.attribute-selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\",\\\"punctuation.support.type.property-name.json\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.support.type.property-name.toml\\\",\\\"support.type.property-name.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"punctuation.support.type.property-name.yaml\\\",\\\"support.type.property-name.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\",\\\"constant.language.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"entity.name.type.anchor.yaml\\\",\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.table\\\",\\\"entity.name.section.group-title.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"constant.other.time.datetime.offset.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.anchor.yaml\\\",\\\"punctuation.definition.alias.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"entity.other.document.begin.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"string.quoted variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"support.function.builtin.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"constant.language.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.parameters.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"constant.language.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"variable.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eebebe\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eebebe\\\"}},{\\\"scope\\\":[\\\"keyword.other.doctype\\\",\\\"meta.tag.sgml.doctype punctuation.definition.tag\\\",\\\"meta.tag.metadata.doctype entity.name.tag\\\",\\\"meta.tag.metadata.doctype punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"text.html constant.character.entity\\\",\\\"text.html constant.character.entity punctuation\\\",\\\"constant.character.entity.xml\\\",\\\"constant.character.entity.xml punctuation\\\",\\\"constant.character.entity.js.jsx\\\",\\\"constant.charactger.entity.js.jsx punctuation\\\",\\\"constant.character.entity.tsx\\\",\\\"constant.character.entity.tsx punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\",\\\"support.class.component.jsx\\\",\\\"support.class.component.tsx\\\",\\\"support.class.component.vue\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.annotation\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"constant.other.enum.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc.java keyword.other.documentation.javadoc.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.export variable.other.readwrite.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.property.js\\\",\\\"variable.other.property.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"comment.block.documentation variable.other\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"support.type.object.console.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"support.constant.node\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"storage.modifier.implements\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"constant.language.null.js\\\",\\\"constant.language.null.ts\\\",\\\"constant.language.undefined.js\\\",\\\"constant.language.undefined.ts\\\",\\\"support.type.builtin.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"variable.parameter.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"keyword.declaration.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"punctuation.decorator.ts\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.infer.ts\\\",\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.is\\\",\\\"keyword.operator.expression.keyof.ts\\\",\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.typeof.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"text.tex keyword.control.preamble\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"text.tex support.function.be\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":\\\"constant.other.general.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eebebe\\\"}},{\\\"scope\\\":\\\"variable.language.liquid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"comment.line.double-dash.documentation.lua storage.type.annotation.lua\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"comment.line.double-dash.documentation.lua entity.name.variable.lua\\\",\\\"comment.line.double-dash.documentation.lua variable.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown punctuation.definition.heading.markdown\\\",\\\"heading.1.markdown\\\",\\\"heading.1.quarto punctuation.definition.heading.quarto\\\",\\\"heading.1.quarto\\\",\\\"markup.heading.atx.1.mdx\\\",\\\"markup.heading.atx.1.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.heading-0.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown punctuation.definition.heading.markdown\\\",\\\"heading.2.markdown\\\",\\\"heading.2.quarto punctuation.definition.heading.quarto\\\",\\\"heading.2.quarto\\\",\\\"markup.heading.atx.2.mdx\\\",\\\"markup.heading.atx.2.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.2.markdown\\\",\\\"markup.heading.heading-1.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown punctuation.definition.heading.markdown\\\",\\\"heading.3.markdown\\\",\\\"heading.3.quarto punctuation.definition.heading.quarto\\\",\\\"heading.3.quarto\\\",\\\"markup.heading.atx.3.mdx\\\",\\\"markup.heading.atx.3.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-2.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown punctuation.definition.heading.markdown\\\",\\\"heading.4.markdown\\\",\\\"heading.4.quarto punctuation.definition.heading.quarto\\\",\\\"heading.4.quarto\\\",\\\"markup.heading.atx.4.mdx\\\",\\\"markup.heading.atx.4.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-3.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown punctuation.definition.heading.markdown\\\",\\\"heading.5.markdown\\\",\\\"heading.5.quarto punctuation.definition.heading.quarto\\\",\\\"heading.5.quarto\\\",\\\"markup.heading.atx.5.mdx\\\",\\\"markup.heading.atx.5.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-4.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#85c1dc\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown punctuation.definition.heading.markdown\\\",\\\"heading.6.markdown\\\",\\\"heading.6.quarto punctuation.definition.heading.quarto\\\",\\\"heading.6.quarto\\\",\\\"markup.heading.atx.6.mdx\\\",\\\"markup.heading.atx.6.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-5.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#babbf1\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\",\\\"foreground\\\":\\\"#a5adce\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.link\\\",\\\"markup.underline.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.link.title\\\",\\\"text.html.quarto punctuation.definition.link.title\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.title.quarto\\\",\\\"markup.link\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.constant.quarto\\\",\\\"constant.other.reference.link.markdown\\\",\\\"constant.other.reference.link.quarto\\\",\\\"markup.substitution.attribute-reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#babbf1\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.raw.quarto\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"markup.inline.raw.string.quarto\\\",\\\"markup.raw.block.markdown\\\",\\\"markup.raw.block.quarto\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block punctuation.definition\\\",\\\"markup.raw support.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949cbb\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\",\\\"punctuation.definition.quote.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\",\\\"punctuation.definition.list.begin.quarto\\\",\\\"markup.list.bullet\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"markup.heading.quarto\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.multipart.nix\\\",\\\"entity.other.attribute-name.single.nix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"meta.embedded variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#babbf1\\\"}},{\\\"scope\\\":\\\"string.unquoted.path.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"support.attribute.builtin\\\",\\\"meta.attribute.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.php punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"constant.language.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"text.html.php support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":\\\"keyword.other.phpdoc.php\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"support.variable.magic.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"support.function.magic.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.python\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"storage.type.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":[\\\"support.token.decorator.python\\\",\\\"meta.function.decorator.identifier.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator.python\\\",\\\"punctuation.definition.decorator.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"support.type.exception.python\\\",\\\"support.function.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"support.type.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"meta.indexed-name.python\\\",\\\"meta.item-access.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"storage.type.string.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.function-call.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"keyword.control.anchor.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"string.regexp.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"keyword.other.back-reference.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6d189\\\"}},{\\\"scope\\\":\\\"punctuation.definition.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.range.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f2d5cf\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"constant.character.numeric.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.no-capture.regexp\\\",\\\"meta.assertion.look-ahead.regexp\\\",\\\"meta.assertion.negative-look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"meta.annotation.rust\\\",\\\"meta.annotation.rust punctuation\\\",\\\"meta.attribute.rust\\\",\\\"punctuation.definition.attribute.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":[\\\"meta.attribute.rust string.quoted.double.rust\\\",\\\"meta.attribute.rust string.quoted.single.char.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro.rules.rust\\\",\\\"storage.type.module.rust\\\",\\\"storage.modifier.rust\\\",\\\"storage.type.struct.rust\\\",\\\"storage.type.enum.rust\\\",\\\"storage.type.trait.rust\\\",\\\"storage.type.union.rust\\\",\\\"storage.type.impl.rust\\\",\\\"storage.type.rust\\\",\\\"storage.type.function.rust\\\",\\\"storage.type.type.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"entity.name.type.numeric.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"meta.generic.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"entity.name.impl.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"entity.name.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":\\\"entity.name.trait.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"entity.name.union.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c890\\\"}},{\\\"scope\\\":\\\"meta.enum.rust storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"support.macro.rust\\\",\\\"meta.macro.rust support.function.rust\\\",\\\"entity.name.function.macro.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":[\\\"storage.modifier.lifetime.rust\\\",\\\"entity.name.type.lifetime\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"string.quoted.double.rust constant.other.placeholder.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"meta.function.return-type.rust meta.generic.rust storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8caaee\\\"}},{\\\"scope\\\":\\\"punctuation.brackets.angle.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#99d1db\\\"}},{\\\"scope\\\":\\\"constant.other.caps.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"meta.function.definition.rust variable.other.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea999c\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust variable.other.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":\\\"variable.language.self.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":[\\\"variable.other.metavariable.name.rust\\\",\\\"meta.macro.metavariable.rust keyword.operator.macro.dollar.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":[\\\"comment.line.shebang\\\",\\\"comment.line.shebang punctuation.definition.comment\\\",\\\"comment.line.shebang\\\",\\\"punctuation.definition.comment.shebang.shell\\\",\\\"meta.shebang.shell\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f4b8e4\\\"}},{\\\"scope\\\":\\\"comment.line.shebang constant.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":[\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\",\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}},{\\\"scope\\\":\\\"meta.string meta.interpolation.parameter.shell variable.other.readwrite\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ef9f76\\\"}},{\\\"scope\\\":[\\\"source.shell punctuation.section.interpolation\\\",\\\"punctuation.definition.evaluation.backticks.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81c8be\\\"}},{\\\"scope\\\":\\\"entity.name.tag.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ca9ee6\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell variable.other.normal.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6d0f5\\\"}},{\\\"scope\\\":[\\\"markup.heading.typst\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e78284\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: catppuccin-latte */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#00000000\\\",\\\"activityBar.activeBorder\\\":\\\"#00000000\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#00000000\\\",\\\"activityBar.background\\\":\\\"#dce0e8\\\",\\\"activityBar.border\\\":\\\"#00000000\\\",\\\"activityBar.dropBorder\\\":\\\"#8839ef33\\\",\\\"activityBar.foreground\\\":\\\"#8839ef\\\",\\\"activityBar.inactiveForeground\\\":\\\"#9ca0b0\\\",\\\"activityBarBadge.background\\\":\\\"#8839ef\\\",\\\"activityBarBadge.foreground\\\":\\\"#dce0e8\\\",\\\"activityBarTop.activeBorder\\\":\\\"#00000000\\\",\\\"activityBarTop.dropBorder\\\":\\\"#8839ef33\\\",\\\"activityBarTop.foreground\\\":\\\"#8839ef\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#9ca0b0\\\",\\\"badge.background\\\":\\\"#bcc0cc\\\",\\\"badge.foreground\\\":\\\"#4c4f69\\\",\\\"banner.background\\\":\\\"#bcc0cc\\\",\\\"banner.foreground\\\":\\\"#4c4f69\\\",\\\"banner.iconForeground\\\":\\\"#4c4f69\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#8839ef\\\",\\\"breadcrumb.background\\\":\\\"#eff1f5\\\",\\\"breadcrumb.focusForeground\\\":\\\"#8839ef\\\",\\\"breadcrumb.foreground\\\":\\\"#4c4f69cc\\\",\\\"breadcrumbPicker.background\\\":\\\"#e6e9ef\\\",\\\"button.background\\\":\\\"#8839ef\\\",\\\"button.border\\\":\\\"#00000000\\\",\\\"button.foreground\\\":\\\"#dce0e8\\\",\\\"button.hoverBackground\\\":\\\"#9c5af2\\\",\\\"button.secondaryBackground\\\":\\\"#acb0be\\\",\\\"button.secondaryBorder\\\":\\\"#8839ef\\\",\\\"button.secondaryForeground\\\":\\\"#4c4f69\\\",\\\"button.secondaryHoverBackground\\\":\\\"#c0c3ce\\\",\\\"button.separator\\\":\\\"#00000000\\\",\\\"charts.blue\\\":\\\"#1e66f5\\\",\\\"charts.foreground\\\":\\\"#4c4f69\\\",\\\"charts.green\\\":\\\"#40a02b\\\",\\\"charts.lines\\\":\\\"#5c5f77\\\",\\\"charts.orange\\\":\\\"#fe640b\\\",\\\"charts.purple\\\":\\\"#8839ef\\\",\\\"charts.red\\\":\\\"#d20f39\\\",\\\"charts.yellow\\\":\\\"#df8e1d\\\",\\\"checkbox.background\\\":\\\"#bcc0cc\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#8839ef\\\",\\\"commandCenter.activeBackground\\\":\\\"#acb0be33\\\",\\\"commandCenter.activeBorder\\\":\\\"#8839ef\\\",\\\"commandCenter.activeForeground\\\":\\\"#8839ef\\\",\\\"commandCenter.background\\\":\\\"#e6e9ef\\\",\\\"commandCenter.border\\\":\\\"#00000000\\\",\\\"commandCenter.foreground\\\":\\\"#5c5f77\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#00000000\\\",\\\"commandCenter.inactiveForeground\\\":\\\"#5c5f77\\\",\\\"debugConsole.errorForeground\\\":\\\"#d20f39\\\",\\\"debugConsole.infoForeground\\\":\\\"#1e66f5\\\",\\\"debugConsole.sourceForeground\\\":\\\"#dc8a78\\\",\\\"debugConsole.warningForeground\\\":\\\"#fe640b\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#4c4f69\\\",\\\"debugExceptionWidget.background\\\":\\\"#dce0e8\\\",\\\"debugExceptionWidget.border\\\":\\\"#8839ef\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#acb0be\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#d20f3999\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#d20f39\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#acb0be\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#bf607c\\\",\\\"debugIcon.continueForeground\\\":\\\"#40a02b\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#acb0be\\\",\\\"debugIcon.pauseForeground\\\":\\\"#1e66f5\\\",\\\"debugIcon.restartForeground\\\":\\\"#179299\\\",\\\"debugIcon.startForeground\\\":\\\"#40a02b\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#acb0be\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#4c4f69\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#4c4f69\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#8839ef\\\",\\\"debugIcon.stopForeground\\\":\\\"#d20f39\\\",\\\"debugTokenExpression.boolean\\\":\\\"#8839ef\\\",\\\"debugTokenExpression.error\\\":\\\"#d20f39\\\",\\\"debugTokenExpression.number\\\":\\\"#fe640b\\\",\\\"debugTokenExpression.string\\\":\\\"#40a02b\\\",\\\"debugToolBar.background\\\":\\\"#dce0e8\\\",\\\"debugToolBar.border\\\":\\\"#00000000\\\",\\\"descriptionForeground\\\":\\\"#4c4f69\\\",\\\"diffEditor.border\\\":\\\"#acb0be\\\",\\\"diffEditor.diagonalFill\\\":\\\"#acb0be99\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#40a02b26\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#40a02b33\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#d20f3926\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#d20f3933\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#40a02bcc\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#d20f39cc\\\",\\\"disabledForeground\\\":\\\"#6c6f85\\\",\\\"dropdown.background\\\":\\\"#e6e9ef\\\",\\\"dropdown.border\\\":\\\"#8839ef\\\",\\\"dropdown.foreground\\\":\\\"#4c4f69\\\",\\\"dropdown.listBackground\\\":\\\"#acb0be\\\",\\\"editor.background\\\":\\\"#eff1f5\\\",\\\"editor.findMatchBackground\\\":\\\"#e6adbd\\\",\\\"editor.findMatchBorder\\\":\\\"#d20f3933\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#a9daf0\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#04a5e533\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#a9daf0\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#04a5e533\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#40a02b26\\\",\\\"editor.foldBackground\\\":\\\"#04a5e540\\\",\\\"editor.foreground\\\":\\\"#4c4f69\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#04a5e540\\\",\\\"editor.lineHighlightBackground\\\":\\\"#4c4f6912\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#04a5e540\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.selectionBackground\\\":\\\"#7c7f934d\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#7c7f9333\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#7c7f9333\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#df8e1d26\\\",\\\"editor.wordHighlightBackground\\\":\\\"#7c7f9333\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#1e66f526\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#d20f39\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#fe640b\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#df8e1d\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#40a02b\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#209fb5\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#8839ef\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#e64553\\\",\\\"editorBracketMatch.background\\\":\\\"#7c7f931a\\\",\\\"editorBracketMatch.border\\\":\\\"#7c7f93\\\",\\\"editorCodeLens.foreground\\\":\\\"#8c8fa1\\\",\\\"editorCursor.background\\\":\\\"#eff1f5\\\",\\\"editorCursor.foreground\\\":\\\"#dc8a78\\\",\\\"editorError.background\\\":\\\"#00000000\\\",\\\"editorError.border\\\":\\\"#00000000\\\",\\\"editorError.foreground\\\":\\\"#d20f39\\\",\\\"editorGroup.border\\\":\\\"#acb0be\\\",\\\"editorGroup.dropBackground\\\":\\\"#8839ef33\\\",\\\"editorGroup.emptyBackground\\\":\\\"#eff1f5\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#dce0e8\\\",\\\"editorGutter.addedBackground\\\":\\\"#40a02b\\\",\\\"editorGutter.background\\\":\\\"#eff1f5\\\",\\\"editorGutter.commentGlyphForeground\\\":\\\"#8839ef\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#ccd0da\\\",\\\"editorGutter.deletedBackground\\\":\\\"#d20f39\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#7c7f93\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#df8e1d\\\",\\\"editorHoverWidget.background\\\":\\\"#e6e9ef\\\",\\\"editorHoverWidget.border\\\":\\\"#acb0be\\\",\\\"editorHoverWidget.foreground\\\":\\\"#4c4f69\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#acb0be\\\",\\\"editorIndentGuide.background\\\":\\\"#bcc0cc\\\",\\\"editorInfo.background\\\":\\\"#00000000\\\",\\\"editorInfo.border\\\":\\\"#00000000\\\",\\\"editorInfo.foreground\\\":\\\"#1e66f5\\\",\\\"editorInlayHint.background\\\":\\\"#e6e9efbf\\\",\\\"editorInlayHint.foreground\\\":\\\"#acb0be\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#e6e9efbf\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#6c6f85\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#e6e9efbf\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#5c5f77\\\",\\\"editorLightBulb.foreground\\\":\\\"#df8e1d\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#8839ef\\\",\\\"editorLineNumber.foreground\\\":\\\"#8c8fa1\\\",\\\"editorLink.activeForeground\\\":\\\"#8839ef\\\",\\\"editorMarkerNavigation.background\\\":\\\"#e6e9ef\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#d20f39\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#1e66f5\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#fe640b\\\",\\\"editorOverviewRuler.background\\\":\\\"#e6e9ef\\\",\\\"editorOverviewRuler.border\\\":\\\"#4c4f6912\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#df8e1d\\\",\\\"editorRuler.foreground\\\":\\\"#acb0be\\\",\\\"editorStickyScrollHover.background\\\":\\\"#ccd0da\\\",\\\"editorSuggestWidget.background\\\":\\\"#e6e9ef\\\",\\\"editorSuggestWidget.border\\\":\\\"#acb0be\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#4c4f69\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#8839ef\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#ccd0da\\\",\\\"editorWarning.background\\\":\\\"#00000000\\\",\\\"editorWarning.border\\\":\\\"#00000000\\\",\\\"editorWarning.foreground\\\":\\\"#fe640b\\\",\\\"editorWhitespace.foreground\\\":\\\"#7c7f9366\\\",\\\"editorWidget.background\\\":\\\"#e6e9ef\\\",\\\"editorWidget.foreground\\\":\\\"#4c4f69\\\",\\\"editorWidget.resizeBorder\\\":\\\"#acb0be\\\",\\\"errorForeground\\\":\\\"#d20f39\\\",\\\"errorLens.errorBackground\\\":\\\"#d20f3926\\\",\\\"errorLens.errorBackgroundLight\\\":\\\"#d20f3926\\\",\\\"errorLens.errorForeground\\\":\\\"#d20f39\\\",\\\"errorLens.errorForegroundLight\\\":\\\"#d20f39\\\",\\\"errorLens.errorMessageBackground\\\":\\\"#d20f3926\\\",\\\"errorLens.hintBackground\\\":\\\"#40a02b26\\\",\\\"errorLens.hintBackgroundLight\\\":\\\"#40a02b26\\\",\\\"errorLens.hintForeground\\\":\\\"#40a02b\\\",\\\"errorLens.hintForegroundLight\\\":\\\"#40a02b\\\",\\\"errorLens.hintMessageBackground\\\":\\\"#40a02b26\\\",\\\"errorLens.infoBackground\\\":\\\"#1e66f526\\\",\\\"errorLens.infoBackgroundLight\\\":\\\"#1e66f526\\\",\\\"errorLens.infoForeground\\\":\\\"#1e66f5\\\",\\\"errorLens.infoForegroundLight\\\":\\\"#1e66f5\\\",\\\"errorLens.infoMessageBackground\\\":\\\"#1e66f526\\\",\\\"errorLens.statusBarErrorForeground\\\":\\\"#d20f39\\\",\\\"errorLens.statusBarHintForeground\\\":\\\"#40a02b\\\",\\\"errorLens.statusBarIconErrorForeground\\\":\\\"#d20f39\\\",\\\"errorLens.statusBarIconWarningForeground\\\":\\\"#fe640b\\\",\\\"errorLens.statusBarInfoForeground\\\":\\\"#1e66f5\\\",\\\"errorLens.statusBarWarningForeground\\\":\\\"#fe640b\\\",\\\"errorLens.warningBackground\\\":\\\"#fe640b26\\\",\\\"errorLens.warningBackgroundLight\\\":\\\"#fe640b26\\\",\\\"errorLens.warningForeground\\\":\\\"#fe640b\\\",\\\"errorLens.warningForegroundLight\\\":\\\"#fe640b\\\",\\\"errorLens.warningMessageBackground\\\":\\\"#fe640b26\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#1e66f5\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#dce0e8\\\",\\\"extensionButton.prominentBackground\\\":\\\"#8839ef\\\",\\\"extensionButton.prominentForeground\\\":\\\"#dce0e8\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#9c5af2\\\",\\\"extensionButton.separator\\\":\\\"#eff1f5\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#acb0be\\\",\\\"extensionIcon.sponsorForeground\\\":\\\"#ea76cb\\\",\\\"extensionIcon.starForeground\\\":\\\"#df8e1d\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#40a02b\\\",\\\"focusBorder\\\":\\\"#8839ef\\\",\\\"foreground\\\":\\\"#4c4f69\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#40a02b\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#8839ef\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#d20f39\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#9ca0b0\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#df8e1d\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#d20f39\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#df8e1d\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#1e66f5\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#40a02b\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#8839ef\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#d20f39\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#40a02b\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#fe640b\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#df8e1d\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#fe640b\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#40a02b\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#e64553\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#df8e1d\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#8839ef\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#6c6f85\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#8839ef\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#fe640b\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#e64553\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#40a02b\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#d20f39\\\",\\\"gitlens.graphLane10Color\\\":\\\"#ea76cb\\\",\\\"gitlens.graphLane1Color\\\":\\\"#8839ef\\\",\\\"gitlens.graphLane2Color\\\":\\\"#df8e1d\\\",\\\"gitlens.graphLane3Color\\\":\\\"#1e66f5\\\",\\\"gitlens.graphLane4Color\\\":\\\"#dd7878\\\",\\\"gitlens.graphLane5Color\\\":\\\"#40a02b\\\",\\\"gitlens.graphLane6Color\\\":\\\"#7287fd\\\",\\\"gitlens.graphLane7Color\\\":\\\"#dc8a78\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d20f39\\\",\\\"gitlens.graphLane9Color\\\":\\\"#179299\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#40a02b\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#df8e1d\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#1e66f5\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#0b57ef\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#8839ef\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#dd7878\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#388c26\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#40a02b\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#df8e1d\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#1e66f5\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#0b57ef\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#8839ef\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#dd7878\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#388c26\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#ccd0da4d\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#4c4f69\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#8839ef\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#8839ef26\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#8839efcc\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#8839ef\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#40a02b\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#40a02b\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#00000000\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#4c4f694d\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#40a02b\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#40a02b\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#fe640b\\\",\\\"icon.foreground\\\":\\\"#8839ef\\\",\\\"input.background\\\":\\\"#ccd0da\\\",\\\"input.border\\\":\\\"#00000000\\\",\\\"input.foreground\\\":\\\"#4c4f69\\\",\\\"input.placeholderForeground\\\":\\\"#4c4f6973\\\",\\\"inputOption.activeBackground\\\":\\\"#acb0be\\\",\\\"inputOption.activeBorder\\\":\\\"#8839ef\\\",\\\"inputOption.activeForeground\\\":\\\"#4c4f69\\\",\\\"inputValidation.errorBackground\\\":\\\"#d20f39\\\",\\\"inputValidation.errorBorder\\\":\\\"#dce0e833\\\",\\\"inputValidation.errorForeground\\\":\\\"#dce0e8\\\",\\\"inputValidation.infoBackground\\\":\\\"#1e66f5\\\",\\\"inputValidation.infoBorder\\\":\\\"#dce0e833\\\",\\\"inputValidation.infoForeground\\\":\\\"#dce0e8\\\",\\\"inputValidation.warningBackground\\\":\\\"#fe640b\\\",\\\"inputValidation.warningBorder\\\":\\\"#dce0e833\\\",\\\"inputValidation.warningForeground\\\":\\\"#dce0e8\\\",\\\"issues.closed\\\":\\\"#8839ef\\\",\\\"issues.newIssueDecoration\\\":\\\"#dc8a78\\\",\\\"issues.open\\\":\\\"#40a02b\\\",\\\"list.activeSelectionBackground\\\":\\\"#ccd0da\\\",\\\"list.activeSelectionForeground\\\":\\\"#4c4f69\\\",\\\"list.dropBackground\\\":\\\"#8839ef33\\\",\\\"list.focusAndSelectionBackground\\\":\\\"#bcc0cc\\\",\\\"list.focusBackground\\\":\\\"#ccd0da\\\",\\\"list.focusForeground\\\":\\\"#4c4f69\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#8839ef\\\",\\\"list.hoverBackground\\\":\\\"#ccd0da80\\\",\\\"list.hoverForeground\\\":\\\"#4c4f69\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#ccd0da\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#4c4f69\\\",\\\"list.warningForeground\\\":\\\"#fe640b\\\",\\\"listFilterWidget.background\\\":\\\"#bcc0cc\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#d20f39\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#eff1f5\\\",\\\"menu.border\\\":\\\"#eff1f580\\\",\\\"menu.foreground\\\":\\\"#4c4f69\\\",\\\"menu.selectionBackground\\\":\\\"#acb0be\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#4c4f69\\\",\\\"menu.separatorBackground\\\":\\\"#acb0be\\\",\\\"menubar.selectionBackground\\\":\\\"#bcc0cc\\\",\\\"menubar.selectionForeground\\\":\\\"#4c4f69\\\",\\\"merge.commonContentBackground\\\":\\\"#bcc0cc\\\",\\\"merge.commonHeaderBackground\\\":\\\"#acb0be\\\",\\\"merge.currentContentBackground\\\":\\\"#40a02b33\\\",\\\"merge.currentHeaderBackground\\\":\\\"#40a02b66\\\",\\\"merge.incomingContentBackground\\\":\\\"#1e66f533\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#1e66f566\\\",\\\"minimap.background\\\":\\\"#e6e9ef80\\\",\\\"minimap.errorHighlight\\\":\\\"#d20f39bf\\\",\\\"minimap.findMatchHighlight\\\":\\\"#04a5e54d\\\",\\\"minimap.selectionHighlight\\\":\\\"#acb0bebf\\\",\\\"minimap.selectionOccurrenceHighlight\\\":\\\"#acb0bebf\\\",\\\"minimap.warningHighlight\\\":\\\"#fe640bbf\\\",\\\"minimapGutter.addedBackground\\\":\\\"#40a02bbf\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#d20f39bf\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#df8e1dbf\\\",\\\"minimapSlider.activeBackground\\\":\\\"#8839ef99\\\",\\\"minimapSlider.background\\\":\\\"#8839ef33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#8839ef66\\\",\\\"notificationCenter.border\\\":\\\"#8839ef\\\",\\\"notificationCenterHeader.background\\\":\\\"#e6e9ef\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#4c4f69\\\",\\\"notificationLink.foreground\\\":\\\"#1e66f5\\\",\\\"notificationToast.border\\\":\\\"#8839ef\\\",\\\"notifications.background\\\":\\\"#e6e9ef\\\",\\\"notifications.border\\\":\\\"#8839ef\\\",\\\"notifications.foreground\\\":\\\"#4c4f69\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#d20f39\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#1e66f5\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#fe640b\\\",\\\"panel.background\\\":\\\"#eff1f5\\\",\\\"panel.border\\\":\\\"#acb0be\\\",\\\"panelSection.border\\\":\\\"#acb0be\\\",\\\"panelSection.dropBackground\\\":\\\"#8839ef33\\\",\\\"panelTitle.activeBorder\\\":\\\"#8839ef\\\",\\\"panelTitle.activeForeground\\\":\\\"#4c4f69\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#6c6f85\\\",\\\"peekView.border\\\":\\\"#8839ef\\\",\\\"peekViewEditor.background\\\":\\\"#e6e9ef\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#04a5e54d\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#00000000\\\",\\\"peekViewEditorGutter.background\\\":\\\"#e6e9ef\\\",\\\"peekViewResult.background\\\":\\\"#e6e9ef\\\",\\\"peekViewResult.fileForeground\\\":\\\"#4c4f69\\\",\\\"peekViewResult.lineForeground\\\":\\\"#4c4f69\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#04a5e54d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#ccd0da\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#4c4f69\\\",\\\"peekViewTitle.background\\\":\\\"#eff1f5\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#5c5f77b3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#4c4f69\\\",\\\"pickerGroup.border\\\":\\\"#8839ef\\\",\\\"pickerGroup.foreground\\\":\\\"#8839ef\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#d20f39\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#1e66f5\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#fe640b\\\",\\\"progressBar.background\\\":\\\"#8839ef\\\",\\\"pullRequests.closed\\\":\\\"#d20f39\\\",\\\"pullRequests.draft\\\":\\\"#7c7f93\\\",\\\"pullRequests.merged\\\":\\\"#8839ef\\\",\\\"pullRequests.notification\\\":\\\"#4c4f69\\\",\\\"pullRequests.open\\\":\\\"#40a02b\\\",\\\"sash.hoverBorder\\\":\\\"#8839ef\\\",\\\"scmGraph.foreground1\\\":\\\"#df8e1d\\\",\\\"scmGraph.foreground2\\\":\\\"#d20f39\\\",\\\"scmGraph.foreground3\\\":\\\"#40a02b\\\",\\\"scmGraph.foreground4\\\":\\\"#8839ef\\\",\\\"scmGraph.foreground5\\\":\\\"#179299\\\",\\\"scmGraph.historyItemBaseRefColor\\\":\\\"#fe640b\\\",\\\"scmGraph.historyItemRefColor\\\":\\\"#1e66f5\\\",\\\"scmGraph.historyItemRemoteRefColor\\\":\\\"#8839ef\\\",\\\"scrollbar.shadow\\\":\\\"#dce0e8\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#ccd0da66\\\",\\\"scrollbarSlider.background\\\":\\\"#acb0be80\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#9ca0b0\\\",\\\"selection.background\\\":\\\"#8839ef66\\\",\\\"settings.dropdownBackground\\\":\\\"#bcc0cc\\\",\\\"settings.dropdownListBorder\\\":\\\"#00000000\\\",\\\"settings.focusedRowBackground\\\":\\\"#acb0be33\\\",\\\"settings.headerForeground\\\":\\\"#4c4f69\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#8839ef\\\",\\\"settings.numberInputBackground\\\":\\\"#bcc0cc\\\",\\\"settings.numberInputBorder\\\":\\\"#00000000\\\",\\\"settings.textInputBackground\\\":\\\"#bcc0cc\\\",\\\"settings.textInputBorder\\\":\\\"#00000000\\\",\\\"sideBar.background\\\":\\\"#e6e9ef\\\",\\\"sideBar.border\\\":\\\"#00000000\\\",\\\"sideBar.dropBackground\\\":\\\"#8839ef33\\\",\\\"sideBar.foreground\\\":\\\"#4c4f69\\\",\\\"sideBarSectionHeader.background\\\":\\\"#e6e9ef\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#4c4f69\\\",\\\"sideBarTitle.foreground\\\":\\\"#8839ef\\\",\\\"statusBar.background\\\":\\\"#dce0e8\\\",\\\"statusBar.border\\\":\\\"#00000000\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fe640b\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#dce0e8\\\",\\\"statusBar.foreground\\\":\\\"#4c4f69\\\",\\\"statusBar.noFolderBackground\\\":\\\"#dce0e8\\\",\\\"statusBar.noFolderBorder\\\":\\\"#00000000\\\",\\\"statusBar.noFolderForeground\\\":\\\"#4c4f69\\\",\\\"statusBarItem.activeBackground\\\":\\\"#acb0be66\\\",\\\"statusBarItem.errorBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.errorForeground\\\":\\\"#d20f39\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#acb0be33\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#8839ef\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#acb0be33\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#1e66f5\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#dce0e8\\\",\\\"statusBarItem.warningBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.warningForeground\\\":\\\"#fe640b\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#fe640b\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#8839ef\\\",\\\"symbolIcon.classForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.colorForeground\\\":\\\"#ea76cb\\\",\\\"symbolIcon.constantForeground\\\":\\\"#fe640b\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#7287fd\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.eventForeground\\\":\\\"#ea76cb\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#4c4f69\\\",\\\"symbolIcon.fileForeground\\\":\\\"#8839ef\\\",\\\"symbolIcon.folderForeground\\\":\\\"#8839ef\\\",\\\"symbolIcon.functionForeground\\\":\\\"#1e66f5\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.keyForeground\\\":\\\"#179299\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#8839ef\\\",\\\"symbolIcon.methodForeground\\\":\\\"#1e66f5\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#4c4f69\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.nullForeground\\\":\\\"#e64553\\\",\\\"symbolIcon.numberForeground\\\":\\\"#fe640b\\\",\\\"symbolIcon.objectForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#179299\\\",\\\"symbolIcon.packageForeground\\\":\\\"#dd7878\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#e64553\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#df8e1d\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#dd7878\\\",\\\"symbolIcon.stringForeground\\\":\\\"#40a02b\\\",\\\"symbolIcon.structForeground\\\":\\\"#179299\\\",\\\"symbolIcon.textForeground\\\":\\\"#4c4f69\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#e64553\\\",\\\"symbolIcon.unitForeground\\\":\\\"#4c4f69\\\",\\\"symbolIcon.variableForeground\\\":\\\"#4c4f69\\\",\\\"tab.activeBackground\\\":\\\"#eff1f5\\\",\\\"tab.activeBorder\\\":\\\"#00000000\\\",\\\"tab.activeBorderTop\\\":\\\"#8839ef\\\",\\\"tab.activeForeground\\\":\\\"#8839ef\\\",\\\"tab.activeModifiedBorder\\\":\\\"#df8e1d\\\",\\\"tab.border\\\":\\\"#e6e9ef\\\",\\\"tab.hoverBackground\\\":\\\"#ffffff\\\",\\\"tab.hoverBorder\\\":\\\"#00000000\\\",\\\"tab.hoverForeground\\\":\\\"#8839ef\\\",\\\"tab.inactiveBackground\\\":\\\"#e6e9ef\\\",\\\"tab.inactiveForeground\\\":\\\"#9ca0b0\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#df8e1d4d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#8839ef\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#e6e9ef\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#8839ef4d\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#d6dbe5\\\",\\\"table.headerBackground\\\":\\\"#ccd0da\\\",\\\"table.headerForeground\\\":\\\"#4c4f69\\\",\\\"terminal.ansiBlack\\\":\\\"#5c5f77\\\",\\\"terminal.ansiBlue\\\":\\\"#1e66f5\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#6c6f85\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#456eff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#2d9fa8\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#49af3d\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#fe85d8\\\",\\\"terminal.ansiBrightRed\\\":\\\"#de293e\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#bcc0cc\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#eea02d\\\",\\\"terminal.ansiCyan\\\":\\\"#179299\\\",\\\"terminal.ansiGreen\\\":\\\"#40a02b\\\",\\\"terminal.ansiMagenta\\\":\\\"#ea76cb\\\",\\\"terminal.ansiRed\\\":\\\"#d20f39\\\",\\\"terminal.ansiWhite\\\":\\\"#acb0be\\\",\\\"terminal.ansiYellow\\\":\\\"#df8e1d\\\",\\\"terminal.border\\\":\\\"#acb0be\\\",\\\"terminal.dropBackground\\\":\\\"#8839ef33\\\",\\\"terminal.foreground\\\":\\\"#4c4f69\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#acb0be80\\\",\\\"terminal.selectionBackground\\\":\\\"#acb0be\\\",\\\"terminal.tab.activeBorder\\\":\\\"#8839ef\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#acb0be\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#d20f39\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#40a02b\\\",\\\"terminalCursor.background\\\":\\\"#eff1f5\\\",\\\"terminalCursor.foreground\\\":\\\"#dc8a78\\\",\\\"testing.coverCountBadgeBackground\\\":\\\"#00000000\\\",\\\"testing.coverCountBadgeForeground\\\":\\\"#8839ef\\\",\\\"testing.coveredBackground\\\":\\\"#40a02b4d\\\",\\\"testing.coveredBorder\\\":\\\"#00000000\\\",\\\"testing.coveredGutterBackground\\\":\\\"#40a02b4d\\\",\\\"testing.iconErrored\\\":\\\"#d20f39\\\",\\\"testing.iconErrored.retired\\\":\\\"#d20f39\\\",\\\"testing.iconFailed\\\":\\\"#d20f39\\\",\\\"testing.iconFailed.retired\\\":\\\"#d20f39\\\",\\\"testing.iconPassed\\\":\\\"#40a02b\\\",\\\"testing.iconPassed.retired\\\":\\\"#40a02b\\\",\\\"testing.iconQueued\\\":\\\"#1e66f5\\\",\\\"testing.iconQueued.retired\\\":\\\"#1e66f5\\\",\\\"testing.iconSkipped\\\":\\\"#6c6f85\\\",\\\"testing.iconSkipped.retired\\\":\\\"#6c6f85\\\",\\\"testing.iconUnset\\\":\\\"#4c4f69\\\",\\\"testing.iconUnset.retired\\\":\\\"#4c4f69\\\",\\\"testing.message.error.lineBackground\\\":\\\"#d20f3926\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#40a02bcc\\\",\\\"testing.message.info.lineBackground\\\":\\\"#40a02b26\\\",\\\"testing.messagePeekBorder\\\":\\\"#8839ef\\\",\\\"testing.messagePeekHeaderBackground\\\":\\\"#acb0be\\\",\\\"testing.peekBorder\\\":\\\"#8839ef\\\",\\\"testing.peekHeaderBackground\\\":\\\"#acb0be\\\",\\\"testing.runAction\\\":\\\"#8839ef\\\",\\\"testing.uncoveredBackground\\\":\\\"#d20f3933\\\",\\\"testing.uncoveredBorder\\\":\\\"#00000000\\\",\\\"testing.uncoveredBranchBackground\\\":\\\"#d20f3933\\\",\\\"testing.uncoveredGutterBackground\\\":\\\"#d20f3940\\\",\\\"textBlockQuote.background\\\":\\\"#e6e9ef\\\",\\\"textBlockQuote.border\\\":\\\"#dce0e8\\\",\\\"textCodeBlock.background\\\":\\\"#e6e9ef\\\",\\\"textLink.activeForeground\\\":\\\"#04a5e5\\\",\\\"textLink.foreground\\\":\\\"#1e66f5\\\",\\\"textPreformat.foreground\\\":\\\"#4c4f69\\\",\\\"textSeparator.foreground\\\":\\\"#8839ef\\\",\\\"titleBar.activeBackground\\\":\\\"#dce0e8\\\",\\\"titleBar.activeForeground\\\":\\\"#4c4f69\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#dce0e8\\\",\\\"titleBar.inactiveForeground\\\":\\\"#4c4f6980\\\",\\\"tree.inactiveIndentGuidesStroke\\\":\\\"#bcc0cc\\\",\\\"tree.indentGuidesStroke\\\":\\\"#7c7f93\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#eff1f54d\\\",\\\"welcomePage.progress.background\\\":\\\"#dce0e8\\\",\\\"welcomePage.progress.foreground\\\":\\\"#8839ef\\\",\\\"welcomePage.tileBackground\\\":\\\"#e6e9ef\\\",\\\"widget.shadow\\\":\\\"#e6e9ef80\\\",\\\"window.activeBorder\\\":\\\"#00000000\\\",\\\"window.inactiveBorder\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Catppuccin Latte\\\",\\\"name\\\":\\\"catppuccin-latte\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"boolean\\\":{\\\"foreground\\\":\\\"#fe640b\\\"},\\\"builtinAttribute.attribute.library:rust\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"},\\\"class.builtin:python\\\":{\\\"foreground\\\":\\\"#8839ef\\\"},\\\"class:python\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"},\\\"constant.builtin.readonly:nix\\\":{\\\"foreground\\\":\\\"#8839ef\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#179299\\\"},\\\"function.decorator:python\\\":{\\\"foreground\\\":\\\"#fe640b\\\"},\\\"generic.attribute:rust\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"heading\\\":{\\\"foreground\\\":\\\"#d20f39\\\"},\\\"number\\\":{\\\"foreground\\\":\\\"#fe640b\\\"},\\\"pol\\\":{\\\"foreground\\\":\\\"#dd7878\\\"},\\\"property.readonly:javascript\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"property.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"property.readonly:typescript\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"property.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"selfKeyword\\\":{\\\"foreground\\\":\\\"#d20f39\\\"},\\\"text.emph\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#d20f39\\\"},\\\"text.math\\\":{\\\"foreground\\\":\\\"#dd7878\\\"},\\\"text.strong\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#d20f39\\\"},\\\"tomlArrayKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"},\\\"tomlTableKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"},\\\"type.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#8839ef\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#e64553\\\"},\\\"variable.readonly.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#8839ef\\\"},\\\"variable.readonly:javascript\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.readonly:scala\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.readonly:typescript\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"},\\\"variable.typeHint:python\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"text\\\",\\\"source\\\",\\\"variable.other.readwrite\\\",\\\"punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7c7f93\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#7c7f93\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.constant\\\",\\\"entity.name.constant\\\",\\\"constant.language.boolean\\\",\\\"constant.language.false\\\",\\\"constant.language.true\\\",\\\"keyword.other.unit.user-defined\\\",\\\"keyword.other.unit.suffix.floating-point\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.operator.word\\\",\\\"keyword.operator.new\\\",\\\"variable.language.super\\\",\\\"support.type.primitive\\\",\\\"storage.type\\\",\\\"storage.modifier\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"entity.name.tag.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"punctuation.accessor\\\",\\\"punctuation.definition.generic\\\",\\\"meta.function.closure punctuation.section.parameters\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.key-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.method\\\",\\\"support.function\\\",\\\"support.function.misc\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\",\\\"meta.function-call.constructor\\\",\\\"entity.name.struct\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"entity.name.enum\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"meta.enum variable.other.readwrite\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"meta.property.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"meta.type\\\",\\\"meta.type-alias\\\",\\\"support.type\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"meta.annotation variable.function\\\",\\\"meta.annotation variable.annotation.function\\\",\\\"meta.annotation punctuation.definition.annotation\\\",\\\"meta.decorator\\\",\\\"punctuation.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.function.parameters\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.function.builtin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive\\\",\\\"punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"punctuation.definition.typeparameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.css\\\",\\\"support.type.property-name.less\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"variable.language.this punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"variable.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"string.template variable\\\",\\\"string variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.extern.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"entity.name.scope-resolution.template.call.cpp\\\",\\\"entity.name.scope-resolution.parameter.cpp\\\",\\\"entity.name.scope-resolution.cpp\\\",\\\"entity.name.scope-resolution.function.definition.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"storage.type.class.doxygen\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"storage.modifier.reference.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"meta.interpolation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"comment.block.documentation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"source.css entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"punctuation.separator.operator.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"source.css constant.other.unicode-range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"source.css variable.parameter.url\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-value variable\\\",\\\"source.css meta.property-value variable.other.less\\\",\\\"source.css meta.property-value variable.other.less punctuation.definition.variable.less\\\",\\\"meta.definition.variable.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-list variable\\\",\\\"meta.property-list variable.other.less\\\",\\\"meta.property-list variable.other.less punctuation.definition.variable.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.percentage.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"source.css meta.attribute-selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\",\\\"punctuation.support.type.property-name.json\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.support.type.property-name.toml\\\",\\\"support.type.property-name.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"punctuation.support.type.property-name.yaml\\\",\\\"support.type.property-name.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\",\\\"constant.language.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"entity.name.type.anchor.yaml\\\",\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.table\\\",\\\"entity.name.section.group-title.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"constant.other.time.datetime.offset.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.anchor.yaml\\\",\\\"punctuation.definition.alias.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"entity.other.document.begin.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"string.quoted variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"support.function.builtin.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"constant.language.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.parameters.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"constant.language.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"variable.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dd7878\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dd7878\\\"}},{\\\"scope\\\":[\\\"keyword.other.doctype\\\",\\\"meta.tag.sgml.doctype punctuation.definition.tag\\\",\\\"meta.tag.metadata.doctype entity.name.tag\\\",\\\"meta.tag.metadata.doctype punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"text.html constant.character.entity\\\",\\\"text.html constant.character.entity punctuation\\\",\\\"constant.character.entity.xml\\\",\\\"constant.character.entity.xml punctuation\\\",\\\"constant.character.entity.js.jsx\\\",\\\"constant.charactger.entity.js.jsx punctuation\\\",\\\"constant.character.entity.tsx\\\",\\\"constant.character.entity.tsx punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\",\\\"support.class.component.jsx\\\",\\\"support.class.component.tsx\\\",\\\"support.class.component.vue\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.annotation\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"constant.other.enum.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc.java keyword.other.documentation.javadoc.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.export variable.other.readwrite.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.property.js\\\",\\\"variable.other.property.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"comment.block.documentation variable.other\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"support.type.object.console.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"support.constant.node\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"storage.modifier.implements\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"constant.language.null.js\\\",\\\"constant.language.null.ts\\\",\\\"constant.language.undefined.js\\\",\\\"constant.language.undefined.ts\\\",\\\"support.type.builtin.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"variable.parameter.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"keyword.declaration.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"punctuation.decorator.ts\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.infer.ts\\\",\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.is\\\",\\\"keyword.operator.expression.keyof.ts\\\",\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.typeof.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"text.tex keyword.control.preamble\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"text.tex support.function.be\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":\\\"constant.other.general.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dd7878\\\"}},{\\\"scope\\\":\\\"variable.language.liquid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"comment.line.double-dash.documentation.lua storage.type.annotation.lua\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"comment.line.double-dash.documentation.lua entity.name.variable.lua\\\",\\\"comment.line.double-dash.documentation.lua variable.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown punctuation.definition.heading.markdown\\\",\\\"heading.1.markdown\\\",\\\"heading.1.quarto punctuation.definition.heading.quarto\\\",\\\"heading.1.quarto\\\",\\\"markup.heading.atx.1.mdx\\\",\\\"markup.heading.atx.1.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.heading-0.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown punctuation.definition.heading.markdown\\\",\\\"heading.2.markdown\\\",\\\"heading.2.quarto punctuation.definition.heading.quarto\\\",\\\"heading.2.quarto\\\",\\\"markup.heading.atx.2.mdx\\\",\\\"markup.heading.atx.2.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.2.markdown\\\",\\\"markup.heading.heading-1.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown punctuation.definition.heading.markdown\\\",\\\"heading.3.markdown\\\",\\\"heading.3.quarto punctuation.definition.heading.quarto\\\",\\\"heading.3.quarto\\\",\\\"markup.heading.atx.3.mdx\\\",\\\"markup.heading.atx.3.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-2.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown punctuation.definition.heading.markdown\\\",\\\"heading.4.markdown\\\",\\\"heading.4.quarto punctuation.definition.heading.quarto\\\",\\\"heading.4.quarto\\\",\\\"markup.heading.atx.4.mdx\\\",\\\"markup.heading.atx.4.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-3.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown punctuation.definition.heading.markdown\\\",\\\"heading.5.markdown\\\",\\\"heading.5.quarto punctuation.definition.heading.quarto\\\",\\\"heading.5.quarto\\\",\\\"markup.heading.atx.5.mdx\\\",\\\"markup.heading.atx.5.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-4.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#209fb5\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown punctuation.definition.heading.markdown\\\",\\\"heading.6.markdown\\\",\\\"heading.6.quarto punctuation.definition.heading.quarto\\\",\\\"heading.6.quarto\\\",\\\"markup.heading.atx.6.mdx\\\",\\\"markup.heading.atx.6.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-5.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7287fd\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\",\\\"foreground\\\":\\\"#6c6f85\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.link\\\",\\\"markup.underline.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.link.title\\\",\\\"text.html.quarto punctuation.definition.link.title\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.title.quarto\\\",\\\"markup.link\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.constant.quarto\\\",\\\"constant.other.reference.link.markdown\\\",\\\"constant.other.reference.link.quarto\\\",\\\"markup.substitution.attribute-reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7287fd\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.raw.quarto\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"markup.inline.raw.string.quarto\\\",\\\"markup.raw.block.markdown\\\",\\\"markup.raw.block.quarto\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block punctuation.definition\\\",\\\"markup.raw support.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7c7f93\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\",\\\"punctuation.definition.quote.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\",\\\"punctuation.definition.list.begin.quarto\\\",\\\"markup.list.bullet\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"markup.heading.quarto\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.multipart.nix\\\",\\\"entity.other.attribute-name.single.nix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"meta.embedded variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7287fd\\\"}},{\\\"scope\\\":\\\"string.unquoted.path.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"support.attribute.builtin\\\",\\\"meta.attribute.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.php punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"constant.language.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"text.html.php support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":\\\"keyword.other.phpdoc.php\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"support.variable.magic.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"support.function.magic.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.python\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"storage.type.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":[\\\"support.token.decorator.python\\\",\\\"meta.function.decorator.identifier.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator.python\\\",\\\"punctuation.definition.decorator.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"support.type.exception.python\\\",\\\"support.function.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"support.type.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"meta.indexed-name.python\\\",\\\"meta.item-access.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"storage.type.string.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.function-call.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"keyword.control.anchor.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"string.regexp.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"keyword.other.back-reference.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40a02b\\\"}},{\\\"scope\\\":\\\"punctuation.definition.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.range.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dc8a78\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"constant.character.numeric.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.no-capture.regexp\\\",\\\"meta.assertion.look-ahead.regexp\\\",\\\"meta.assertion.negative-look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"meta.annotation.rust\\\",\\\"meta.annotation.rust punctuation\\\",\\\"meta.attribute.rust\\\",\\\"punctuation.definition.attribute.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":[\\\"meta.attribute.rust string.quoted.double.rust\\\",\\\"meta.attribute.rust string.quoted.single.char.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro.rules.rust\\\",\\\"storage.type.module.rust\\\",\\\"storage.modifier.rust\\\",\\\"storage.type.struct.rust\\\",\\\"storage.type.enum.rust\\\",\\\"storage.type.trait.rust\\\",\\\"storage.type.union.rust\\\",\\\"storage.type.impl.rust\\\",\\\"storage.type.rust\\\",\\\"storage.type.function.rust\\\",\\\"storage.type.type.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"entity.name.type.numeric.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"meta.generic.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"entity.name.impl.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"entity.name.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":\\\"entity.name.trait.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"entity.name.union.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df8e1d\\\"}},{\\\"scope\\\":\\\"meta.enum.rust storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"support.macro.rust\\\",\\\"meta.macro.rust support.function.rust\\\",\\\"entity.name.function.macro.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":[\\\"storage.modifier.lifetime.rust\\\",\\\"entity.name.type.lifetime\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"string.quoted.double.rust constant.other.placeholder.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"meta.function.return-type.rust meta.generic.rust storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1e66f5\\\"}},{\\\"scope\\\":\\\"punctuation.brackets.angle.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#04a5e5\\\"}},{\\\"scope\\\":\\\"constant.other.caps.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"meta.function.definition.rust variable.other.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e64553\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust variable.other.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":\\\"variable.language.self.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":[\\\"variable.other.metavariable.name.rust\\\",\\\"meta.macro.metavariable.rust keyword.operator.macro.dollar.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":[\\\"comment.line.shebang\\\",\\\"comment.line.shebang punctuation.definition.comment\\\",\\\"comment.line.shebang\\\",\\\"punctuation.definition.comment.shebang.shell\\\",\\\"meta.shebang.shell\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ea76cb\\\"}},{\\\"scope\\\":\\\"comment.line.shebang constant.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":[\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\",\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}},{\\\"scope\\\":\\\"meta.string meta.interpolation.parameter.shell variable.other.readwrite\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fe640b\\\"}},{\\\"scope\\\":[\\\"source.shell punctuation.section.interpolation\\\",\\\"punctuation.definition.evaluation.backticks.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#179299\\\"}},{\\\"scope\\\":\\\"entity.name.tag.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8839ef\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell variable.other.normal.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4c4f69\\\"}},{\\\"scope\\\":[\\\"markup.heading.typst\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d20f39\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: catppuccin-macchiato */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#00000000\\\",\\\"activityBar.activeBorder\\\":\\\"#00000000\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#00000000\\\",\\\"activityBar.background\\\":\\\"#181926\\\",\\\"activityBar.border\\\":\\\"#00000000\\\",\\\"activityBar.dropBorder\\\":\\\"#c6a0f633\\\",\\\"activityBar.foreground\\\":\\\"#c6a0f6\\\",\\\"activityBar.inactiveForeground\\\":\\\"#6e738d\\\",\\\"activityBarBadge.background\\\":\\\"#c6a0f6\\\",\\\"activityBarBadge.foreground\\\":\\\"#181926\\\",\\\"activityBarTop.activeBorder\\\":\\\"#00000000\\\",\\\"activityBarTop.dropBorder\\\":\\\"#c6a0f633\\\",\\\"activityBarTop.foreground\\\":\\\"#c6a0f6\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#6e738d\\\",\\\"badge.background\\\":\\\"#494d64\\\",\\\"badge.foreground\\\":\\\"#cad3f5\\\",\\\"banner.background\\\":\\\"#494d64\\\",\\\"banner.foreground\\\":\\\"#cad3f5\\\",\\\"banner.iconForeground\\\":\\\"#cad3f5\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#c6a0f6\\\",\\\"breadcrumb.background\\\":\\\"#24273a\\\",\\\"breadcrumb.focusForeground\\\":\\\"#c6a0f6\\\",\\\"breadcrumb.foreground\\\":\\\"#cad3f5cc\\\",\\\"breadcrumbPicker.background\\\":\\\"#1e2030\\\",\\\"button.background\\\":\\\"#c6a0f6\\\",\\\"button.border\\\":\\\"#00000000\\\",\\\"button.foreground\\\":\\\"#181926\\\",\\\"button.hoverBackground\\\":\\\"#dac1f9\\\",\\\"button.secondaryBackground\\\":\\\"#5b6078\\\",\\\"button.secondaryBorder\\\":\\\"#c6a0f6\\\",\\\"button.secondaryForeground\\\":\\\"#cad3f5\\\",\\\"button.secondaryHoverBackground\\\":\\\"#6a708c\\\",\\\"button.separator\\\":\\\"#00000000\\\",\\\"charts.blue\\\":\\\"#8aadf4\\\",\\\"charts.foreground\\\":\\\"#cad3f5\\\",\\\"charts.green\\\":\\\"#a6da95\\\",\\\"charts.lines\\\":\\\"#b8c0e0\\\",\\\"charts.orange\\\":\\\"#f5a97f\\\",\\\"charts.purple\\\":\\\"#c6a0f6\\\",\\\"charts.red\\\":\\\"#ed8796\\\",\\\"charts.yellow\\\":\\\"#eed49f\\\",\\\"checkbox.background\\\":\\\"#494d64\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#c6a0f6\\\",\\\"commandCenter.activeBackground\\\":\\\"#5b607833\\\",\\\"commandCenter.activeBorder\\\":\\\"#c6a0f6\\\",\\\"commandCenter.activeForeground\\\":\\\"#c6a0f6\\\",\\\"commandCenter.background\\\":\\\"#1e2030\\\",\\\"commandCenter.border\\\":\\\"#00000000\\\",\\\"commandCenter.foreground\\\":\\\"#b8c0e0\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#00000000\\\",\\\"commandCenter.inactiveForeground\\\":\\\"#b8c0e0\\\",\\\"debugConsole.errorForeground\\\":\\\"#ed8796\\\",\\\"debugConsole.infoForeground\\\":\\\"#8aadf4\\\",\\\"debugConsole.sourceForeground\\\":\\\"#f4dbd6\\\",\\\"debugConsole.warningForeground\\\":\\\"#f5a97f\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#cad3f5\\\",\\\"debugExceptionWidget.background\\\":\\\"#181926\\\",\\\"debugExceptionWidget.border\\\":\\\"#c6a0f6\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#5b6078\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#ed879699\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#ed8796\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#5b6078\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#a47487\\\",\\\"debugIcon.continueForeground\\\":\\\"#a6da95\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#5b6078\\\",\\\"debugIcon.pauseForeground\\\":\\\"#8aadf4\\\",\\\"debugIcon.restartForeground\\\":\\\"#8bd5ca\\\",\\\"debugIcon.startForeground\\\":\\\"#a6da95\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#5b6078\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#cad3f5\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#cad3f5\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#c6a0f6\\\",\\\"debugIcon.stopForeground\\\":\\\"#ed8796\\\",\\\"debugTokenExpression.boolean\\\":\\\"#c6a0f6\\\",\\\"debugTokenExpression.error\\\":\\\"#ed8796\\\",\\\"debugTokenExpression.number\\\":\\\"#f5a97f\\\",\\\"debugTokenExpression.string\\\":\\\"#a6da95\\\",\\\"debugToolBar.background\\\":\\\"#181926\\\",\\\"debugToolBar.border\\\":\\\"#00000000\\\",\\\"descriptionForeground\\\":\\\"#cad3f5\\\",\\\"diffEditor.border\\\":\\\"#5b6078\\\",\\\"diffEditor.diagonalFill\\\":\\\"#5b607899\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#a6da9526\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#a6da9533\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#ed879626\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ed879633\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#a6da95cc\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#ed8796cc\\\",\\\"disabledForeground\\\":\\\"#a5adcb\\\",\\\"dropdown.background\\\":\\\"#1e2030\\\",\\\"dropdown.border\\\":\\\"#c6a0f6\\\",\\\"dropdown.foreground\\\":\\\"#cad3f5\\\",\\\"dropdown.listBackground\\\":\\\"#5b6078\\\",\\\"editor.background\\\":\\\"#24273a\\\",\\\"editor.findMatchBackground\\\":\\\"#604456\\\",\\\"editor.findMatchBorder\\\":\\\"#ed879633\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#455c6d\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#91d7e333\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#455c6d\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#91d7e333\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#a6da9526\\\",\\\"editor.foldBackground\\\":\\\"#91d7e340\\\",\\\"editor.foreground\\\":\\\"#cad3f5\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#91d7e340\\\",\\\"editor.lineHighlightBackground\\\":\\\"#cad3f512\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#91d7e340\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.selectionBackground\\\":\\\"#939ab740\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#939ab733\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#939ab733\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#eed49f26\\\",\\\"editor.wordHighlightBackground\\\":\\\"#939ab733\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#8aadf433\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#ed8796\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#f5a97f\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#eed49f\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#a6da95\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#7dc4e4\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#c6a0f6\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#ee99a0\\\",\\\"editorBracketMatch.background\\\":\\\"#939ab71a\\\",\\\"editorBracketMatch.border\\\":\\\"#939ab7\\\",\\\"editorCodeLens.foreground\\\":\\\"#8087a2\\\",\\\"editorCursor.background\\\":\\\"#24273a\\\",\\\"editorCursor.foreground\\\":\\\"#f4dbd6\\\",\\\"editorError.background\\\":\\\"#00000000\\\",\\\"editorError.border\\\":\\\"#00000000\\\",\\\"editorError.foreground\\\":\\\"#ed8796\\\",\\\"editorGroup.border\\\":\\\"#5b6078\\\",\\\"editorGroup.dropBackground\\\":\\\"#c6a0f633\\\",\\\"editorGroup.emptyBackground\\\":\\\"#24273a\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#181926\\\",\\\"editorGutter.addedBackground\\\":\\\"#a6da95\\\",\\\"editorGutter.background\\\":\\\"#24273a\\\",\\\"editorGutter.commentGlyphForeground\\\":\\\"#c6a0f6\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#363a4f\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ed8796\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#939ab7\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#eed49f\\\",\\\"editorHoverWidget.background\\\":\\\"#1e2030\\\",\\\"editorHoverWidget.border\\\":\\\"#5b6078\\\",\\\"editorHoverWidget.foreground\\\":\\\"#cad3f5\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#5b6078\\\",\\\"editorIndentGuide.background\\\":\\\"#494d64\\\",\\\"editorInfo.background\\\":\\\"#00000000\\\",\\\"editorInfo.border\\\":\\\"#00000000\\\",\\\"editorInfo.foreground\\\":\\\"#8aadf4\\\",\\\"editorInlayHint.background\\\":\\\"#1e2030bf\\\",\\\"editorInlayHint.foreground\\\":\\\"#5b6078\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#1e2030bf\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#a5adcb\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#1e2030bf\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#b8c0e0\\\",\\\"editorLightBulb.foreground\\\":\\\"#eed49f\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#c6a0f6\\\",\\\"editorLineNumber.foreground\\\":\\\"#8087a2\\\",\\\"editorLink.activeForeground\\\":\\\"#c6a0f6\\\",\\\"editorMarkerNavigation.background\\\":\\\"#1e2030\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#ed8796\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#8aadf4\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#f5a97f\\\",\\\"editorOverviewRuler.background\\\":\\\"#1e2030\\\",\\\"editorOverviewRuler.border\\\":\\\"#cad3f512\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#eed49f\\\",\\\"editorRuler.foreground\\\":\\\"#5b6078\\\",\\\"editorStickyScrollHover.background\\\":\\\"#363a4f\\\",\\\"editorSuggestWidget.background\\\":\\\"#1e2030\\\",\\\"editorSuggestWidget.border\\\":\\\"#5b6078\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#cad3f5\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#c6a0f6\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#363a4f\\\",\\\"editorWarning.background\\\":\\\"#00000000\\\",\\\"editorWarning.border\\\":\\\"#00000000\\\",\\\"editorWarning.foreground\\\":\\\"#f5a97f\\\",\\\"editorWhitespace.foreground\\\":\\\"#939ab766\\\",\\\"editorWidget.background\\\":\\\"#1e2030\\\",\\\"editorWidget.foreground\\\":\\\"#cad3f5\\\",\\\"editorWidget.resizeBorder\\\":\\\"#5b6078\\\",\\\"errorForeground\\\":\\\"#ed8796\\\",\\\"errorLens.errorBackground\\\":\\\"#ed879626\\\",\\\"errorLens.errorBackgroundLight\\\":\\\"#ed879626\\\",\\\"errorLens.errorForeground\\\":\\\"#ed8796\\\",\\\"errorLens.errorForegroundLight\\\":\\\"#ed8796\\\",\\\"errorLens.errorMessageBackground\\\":\\\"#ed879626\\\",\\\"errorLens.hintBackground\\\":\\\"#a6da9526\\\",\\\"errorLens.hintBackgroundLight\\\":\\\"#a6da9526\\\",\\\"errorLens.hintForeground\\\":\\\"#a6da95\\\",\\\"errorLens.hintForegroundLight\\\":\\\"#a6da95\\\",\\\"errorLens.hintMessageBackground\\\":\\\"#a6da9526\\\",\\\"errorLens.infoBackground\\\":\\\"#8aadf426\\\",\\\"errorLens.infoBackgroundLight\\\":\\\"#8aadf426\\\",\\\"errorLens.infoForeground\\\":\\\"#8aadf4\\\",\\\"errorLens.infoForegroundLight\\\":\\\"#8aadf4\\\",\\\"errorLens.infoMessageBackground\\\":\\\"#8aadf426\\\",\\\"errorLens.statusBarErrorForeground\\\":\\\"#ed8796\\\",\\\"errorLens.statusBarHintForeground\\\":\\\"#a6da95\\\",\\\"errorLens.statusBarIconErrorForeground\\\":\\\"#ed8796\\\",\\\"errorLens.statusBarIconWarningForeground\\\":\\\"#f5a97f\\\",\\\"errorLens.statusBarInfoForeground\\\":\\\"#8aadf4\\\",\\\"errorLens.statusBarWarningForeground\\\":\\\"#f5a97f\\\",\\\"errorLens.warningBackground\\\":\\\"#f5a97f26\\\",\\\"errorLens.warningBackgroundLight\\\":\\\"#f5a97f26\\\",\\\"errorLens.warningForeground\\\":\\\"#f5a97f\\\",\\\"errorLens.warningForegroundLight\\\":\\\"#f5a97f\\\",\\\"errorLens.warningMessageBackground\\\":\\\"#f5a97f26\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#8aadf4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#181926\\\",\\\"extensionButton.prominentBackground\\\":\\\"#c6a0f6\\\",\\\"extensionButton.prominentForeground\\\":\\\"#181926\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#dac1f9\\\",\\\"extensionButton.separator\\\":\\\"#24273a\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#5b6078\\\",\\\"extensionIcon.sponsorForeground\\\":\\\"#f5bde6\\\",\\\"extensionIcon.starForeground\\\":\\\"#eed49f\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#a6da95\\\",\\\"focusBorder\\\":\\\"#c6a0f6\\\",\\\"foreground\\\":\\\"#cad3f5\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#a6da95\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#c6a0f6\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#ed8796\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e738d\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#eed49f\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#ed8796\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#eed49f\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#8aadf4\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#a6da95\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#ed8796\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#a6da95\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#f5a97f\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#eed49f\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#f5a97f\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#a6da95\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#ee99a0\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#eed49f\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a5adcb\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#f5a97f\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#ee99a0\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#a6da95\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#ed8796\\\",\\\"gitlens.graphLane10Color\\\":\\\"#f5bde6\\\",\\\"gitlens.graphLane1Color\\\":\\\"#c6a0f6\\\",\\\"gitlens.graphLane2Color\\\":\\\"#eed49f\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8aadf4\\\",\\\"gitlens.graphLane4Color\\\":\\\"#f0c6c6\\\",\\\"gitlens.graphLane5Color\\\":\\\"#a6da95\\\",\\\"gitlens.graphLane6Color\\\":\\\"#b7bdf8\\\",\\\"gitlens.graphLane7Color\\\":\\\"#f4dbd6\\\",\\\"gitlens.graphLane8Color\\\":\\\"#ed8796\\\",\\\"gitlens.graphLane9Color\\\":\\\"#8bd5ca\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#a6da95\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#eed49f\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#8aadf4\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#739df2\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#f0c6c6\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#96d382\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#a6da95\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#eed49f\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#8aadf4\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#739df2\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#f0c6c6\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#96d382\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#363a4f4d\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#cad3f5\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#c6a0f626\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#c6a0f6cc\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#c6a0f6\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#a6da95\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#a6da95\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#00000000\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#cad3f54d\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#a6da95\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#a6da95\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#f5a97f\\\",\\\"icon.foreground\\\":\\\"#c6a0f6\\\",\\\"input.background\\\":\\\"#363a4f\\\",\\\"input.border\\\":\\\"#00000000\\\",\\\"input.foreground\\\":\\\"#cad3f5\\\",\\\"input.placeholderForeground\\\":\\\"#cad3f573\\\",\\\"inputOption.activeBackground\\\":\\\"#5b6078\\\",\\\"inputOption.activeBorder\\\":\\\"#c6a0f6\\\",\\\"inputOption.activeForeground\\\":\\\"#cad3f5\\\",\\\"inputValidation.errorBackground\\\":\\\"#ed8796\\\",\\\"inputValidation.errorBorder\\\":\\\"#18192633\\\",\\\"inputValidation.errorForeground\\\":\\\"#181926\\\",\\\"inputValidation.infoBackground\\\":\\\"#8aadf4\\\",\\\"inputValidation.infoBorder\\\":\\\"#18192633\\\",\\\"inputValidation.infoForeground\\\":\\\"#181926\\\",\\\"inputValidation.warningBackground\\\":\\\"#f5a97f\\\",\\\"inputValidation.warningBorder\\\":\\\"#18192633\\\",\\\"inputValidation.warningForeground\\\":\\\"#181926\\\",\\\"issues.closed\\\":\\\"#c6a0f6\\\",\\\"issues.newIssueDecoration\\\":\\\"#f4dbd6\\\",\\\"issues.open\\\":\\\"#a6da95\\\",\\\"list.activeSelectionBackground\\\":\\\"#363a4f\\\",\\\"list.activeSelectionForeground\\\":\\\"#cad3f5\\\",\\\"list.dropBackground\\\":\\\"#c6a0f633\\\",\\\"list.focusAndSelectionBackground\\\":\\\"#494d64\\\",\\\"list.focusBackground\\\":\\\"#363a4f\\\",\\\"list.focusForeground\\\":\\\"#cad3f5\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#c6a0f6\\\",\\\"list.hoverBackground\\\":\\\"#363a4f80\\\",\\\"list.hoverForeground\\\":\\\"#cad3f5\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#363a4f\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#cad3f5\\\",\\\"list.warningForeground\\\":\\\"#f5a97f\\\",\\\"listFilterWidget.background\\\":\\\"#494d64\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#ed8796\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#24273a\\\",\\\"menu.border\\\":\\\"#24273a80\\\",\\\"menu.foreground\\\":\\\"#cad3f5\\\",\\\"menu.selectionBackground\\\":\\\"#5b6078\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#cad3f5\\\",\\\"menu.separatorBackground\\\":\\\"#5b6078\\\",\\\"menubar.selectionBackground\\\":\\\"#494d64\\\",\\\"menubar.selectionForeground\\\":\\\"#cad3f5\\\",\\\"merge.commonContentBackground\\\":\\\"#494d64\\\",\\\"merge.commonHeaderBackground\\\":\\\"#5b6078\\\",\\\"merge.currentContentBackground\\\":\\\"#a6da9533\\\",\\\"merge.currentHeaderBackground\\\":\\\"#a6da9566\\\",\\\"merge.incomingContentBackground\\\":\\\"#8aadf433\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#8aadf466\\\",\\\"minimap.background\\\":\\\"#1e203080\\\",\\\"minimap.errorHighlight\\\":\\\"#ed8796bf\\\",\\\"minimap.findMatchHighlight\\\":\\\"#91d7e34d\\\",\\\"minimap.selectionHighlight\\\":\\\"#5b6078bf\\\",\\\"minimap.selectionOccurrenceHighlight\\\":\\\"#5b6078bf\\\",\\\"minimap.warningHighlight\\\":\\\"#f5a97fbf\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a6da95bf\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#ed8796bf\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#eed49fbf\\\",\\\"minimapSlider.activeBackground\\\":\\\"#c6a0f699\\\",\\\"minimapSlider.background\\\":\\\"#c6a0f633\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#c6a0f666\\\",\\\"notificationCenter.border\\\":\\\"#c6a0f6\\\",\\\"notificationCenterHeader.background\\\":\\\"#1e2030\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#cad3f5\\\",\\\"notificationLink.foreground\\\":\\\"#8aadf4\\\",\\\"notificationToast.border\\\":\\\"#c6a0f6\\\",\\\"notifications.background\\\":\\\"#1e2030\\\",\\\"notifications.border\\\":\\\"#c6a0f6\\\",\\\"notifications.foreground\\\":\\\"#cad3f5\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#ed8796\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#8aadf4\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#f5a97f\\\",\\\"panel.background\\\":\\\"#24273a\\\",\\\"panel.border\\\":\\\"#5b6078\\\",\\\"panelSection.border\\\":\\\"#5b6078\\\",\\\"panelSection.dropBackground\\\":\\\"#c6a0f633\\\",\\\"panelTitle.activeBorder\\\":\\\"#c6a0f6\\\",\\\"panelTitle.activeForeground\\\":\\\"#cad3f5\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#a5adcb\\\",\\\"peekView.border\\\":\\\"#c6a0f6\\\",\\\"peekViewEditor.background\\\":\\\"#1e2030\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#91d7e34d\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#00000000\\\",\\\"peekViewEditorGutter.background\\\":\\\"#1e2030\\\",\\\"peekViewResult.background\\\":\\\"#1e2030\\\",\\\"peekViewResult.fileForeground\\\":\\\"#cad3f5\\\",\\\"peekViewResult.lineForeground\\\":\\\"#cad3f5\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#91d7e34d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#363a4f\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#cad3f5\\\",\\\"peekViewTitle.background\\\":\\\"#24273a\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#b8c0e0b3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#cad3f5\\\",\\\"pickerGroup.border\\\":\\\"#c6a0f6\\\",\\\"pickerGroup.foreground\\\":\\\"#c6a0f6\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#ed8796\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#8aadf4\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#f5a97f\\\",\\\"progressBar.background\\\":\\\"#c6a0f6\\\",\\\"pullRequests.closed\\\":\\\"#ed8796\\\",\\\"pullRequests.draft\\\":\\\"#939ab7\\\",\\\"pullRequests.merged\\\":\\\"#c6a0f6\\\",\\\"pullRequests.notification\\\":\\\"#cad3f5\\\",\\\"pullRequests.open\\\":\\\"#a6da95\\\",\\\"sash.hoverBorder\\\":\\\"#c6a0f6\\\",\\\"scmGraph.foreground1\\\":\\\"#eed49f\\\",\\\"scmGraph.foreground2\\\":\\\"#ed8796\\\",\\\"scmGraph.foreground3\\\":\\\"#a6da95\\\",\\\"scmGraph.foreground4\\\":\\\"#c6a0f6\\\",\\\"scmGraph.foreground5\\\":\\\"#8bd5ca\\\",\\\"scmGraph.historyItemBaseRefColor\\\":\\\"#f5a97f\\\",\\\"scmGraph.historyItemRefColor\\\":\\\"#8aadf4\\\",\\\"scmGraph.historyItemRemoteRefColor\\\":\\\"#c6a0f6\\\",\\\"scrollbar.shadow\\\":\\\"#181926\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#363a4f66\\\",\\\"scrollbarSlider.background\\\":\\\"#5b607880\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6e738d\\\",\\\"selection.background\\\":\\\"#c6a0f666\\\",\\\"settings.dropdownBackground\\\":\\\"#494d64\\\",\\\"settings.dropdownListBorder\\\":\\\"#00000000\\\",\\\"settings.focusedRowBackground\\\":\\\"#5b607833\\\",\\\"settings.headerForeground\\\":\\\"#cad3f5\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#c6a0f6\\\",\\\"settings.numberInputBackground\\\":\\\"#494d64\\\",\\\"settings.numberInputBorder\\\":\\\"#00000000\\\",\\\"settings.textInputBackground\\\":\\\"#494d64\\\",\\\"settings.textInputBorder\\\":\\\"#00000000\\\",\\\"sideBar.background\\\":\\\"#1e2030\\\",\\\"sideBar.border\\\":\\\"#00000000\\\",\\\"sideBar.dropBackground\\\":\\\"#c6a0f633\\\",\\\"sideBar.foreground\\\":\\\"#cad3f5\\\",\\\"sideBarSectionHeader.background\\\":\\\"#1e2030\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#cad3f5\\\",\\\"sideBarTitle.foreground\\\":\\\"#c6a0f6\\\",\\\"statusBar.background\\\":\\\"#181926\\\",\\\"statusBar.border\\\":\\\"#00000000\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f5a97f\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#181926\\\",\\\"statusBar.foreground\\\":\\\"#cad3f5\\\",\\\"statusBar.noFolderBackground\\\":\\\"#181926\\\",\\\"statusBar.noFolderBorder\\\":\\\"#00000000\\\",\\\"statusBar.noFolderForeground\\\":\\\"#cad3f5\\\",\\\"statusBarItem.activeBackground\\\":\\\"#5b607866\\\",\\\"statusBarItem.errorBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.errorForeground\\\":\\\"#ed8796\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#5b607833\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#c6a0f6\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#5b607833\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#8aadf4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#181926\\\",\\\"statusBarItem.warningBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.warningForeground\\\":\\\"#f5a97f\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#f5a97f\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#c6a0f6\\\",\\\"symbolIcon.classForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.colorForeground\\\":\\\"#f5bde6\\\",\\\"symbolIcon.constantForeground\\\":\\\"#f5a97f\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#b7bdf8\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.eventForeground\\\":\\\"#f5bde6\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#cad3f5\\\",\\\"symbolIcon.fileForeground\\\":\\\"#c6a0f6\\\",\\\"symbolIcon.folderForeground\\\":\\\"#c6a0f6\\\",\\\"symbolIcon.functionForeground\\\":\\\"#8aadf4\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.keyForeground\\\":\\\"#8bd5ca\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#c6a0f6\\\",\\\"symbolIcon.methodForeground\\\":\\\"#8aadf4\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#cad3f5\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.nullForeground\\\":\\\"#ee99a0\\\",\\\"symbolIcon.numberForeground\\\":\\\"#f5a97f\\\",\\\"symbolIcon.objectForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#8bd5ca\\\",\\\"symbolIcon.packageForeground\\\":\\\"#f0c6c6\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#ee99a0\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#eed49f\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#f0c6c6\\\",\\\"symbolIcon.stringForeground\\\":\\\"#a6da95\\\",\\\"symbolIcon.structForeground\\\":\\\"#8bd5ca\\\",\\\"symbolIcon.textForeground\\\":\\\"#cad3f5\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#ee99a0\\\",\\\"symbolIcon.unitForeground\\\":\\\"#cad3f5\\\",\\\"symbolIcon.variableForeground\\\":\\\"#cad3f5\\\",\\\"tab.activeBackground\\\":\\\"#24273a\\\",\\\"tab.activeBorder\\\":\\\"#00000000\\\",\\\"tab.activeBorderTop\\\":\\\"#c6a0f6\\\",\\\"tab.activeForeground\\\":\\\"#c6a0f6\\\",\\\"tab.activeModifiedBorder\\\":\\\"#eed49f\\\",\\\"tab.border\\\":\\\"#1e2030\\\",\\\"tab.hoverBackground\\\":\\\"#2e324a\\\",\\\"tab.hoverBorder\\\":\\\"#00000000\\\",\\\"tab.hoverForeground\\\":\\\"#c6a0f6\\\",\\\"tab.inactiveBackground\\\":\\\"#1e2030\\\",\\\"tab.inactiveForeground\\\":\\\"#6e738d\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#eed49f4d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#c6a0f6\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#1e2030\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#c6a0f64d\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#141620\\\",\\\"table.headerBackground\\\":\\\"#363a4f\\\",\\\"table.headerForeground\\\":\\\"#cad3f5\\\",\\\"terminal.ansiBlack\\\":\\\"#494d64\\\",\\\"terminal.ansiBlue\\\":\\\"#8aadf4\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#5b6078\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#78a1f6\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#63cbc0\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#8ccf7f\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#f2a9dd\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ec7486\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#b8c0e0\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e1c682\\\",\\\"terminal.ansiCyan\\\":\\\"#8bd5ca\\\",\\\"terminal.ansiGreen\\\":\\\"#a6da95\\\",\\\"terminal.ansiMagenta\\\":\\\"#f5bde6\\\",\\\"terminal.ansiRed\\\":\\\"#ed8796\\\",\\\"terminal.ansiWhite\\\":\\\"#a5adcb\\\",\\\"terminal.ansiYellow\\\":\\\"#eed49f\\\",\\\"terminal.border\\\":\\\"#5b6078\\\",\\\"terminal.dropBackground\\\":\\\"#c6a0f633\\\",\\\"terminal.foreground\\\":\\\"#cad3f5\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#5b607880\\\",\\\"terminal.selectionBackground\\\":\\\"#5b6078\\\",\\\"terminal.tab.activeBorder\\\":\\\"#c6a0f6\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#5b6078\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#ed8796\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#a6da95\\\",\\\"terminalCursor.background\\\":\\\"#24273a\\\",\\\"terminalCursor.foreground\\\":\\\"#f4dbd6\\\",\\\"testing.coverCountBadgeBackground\\\":\\\"#00000000\\\",\\\"testing.coverCountBadgeForeground\\\":\\\"#c6a0f6\\\",\\\"testing.coveredBackground\\\":\\\"#a6da954d\\\",\\\"testing.coveredBorder\\\":\\\"#00000000\\\",\\\"testing.coveredGutterBackground\\\":\\\"#a6da954d\\\",\\\"testing.iconErrored\\\":\\\"#ed8796\\\",\\\"testing.iconErrored.retired\\\":\\\"#ed8796\\\",\\\"testing.iconFailed\\\":\\\"#ed8796\\\",\\\"testing.iconFailed.retired\\\":\\\"#ed8796\\\",\\\"testing.iconPassed\\\":\\\"#a6da95\\\",\\\"testing.iconPassed.retired\\\":\\\"#a6da95\\\",\\\"testing.iconQueued\\\":\\\"#8aadf4\\\",\\\"testing.iconQueued.retired\\\":\\\"#8aadf4\\\",\\\"testing.iconSkipped\\\":\\\"#a5adcb\\\",\\\"testing.iconSkipped.retired\\\":\\\"#a5adcb\\\",\\\"testing.iconUnset\\\":\\\"#cad3f5\\\",\\\"testing.iconUnset.retired\\\":\\\"#cad3f5\\\",\\\"testing.message.error.lineBackground\\\":\\\"#ed879626\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#a6da95cc\\\",\\\"testing.message.info.lineBackground\\\":\\\"#a6da9526\\\",\\\"testing.messagePeekBorder\\\":\\\"#c6a0f6\\\",\\\"testing.messagePeekHeaderBackground\\\":\\\"#5b6078\\\",\\\"testing.peekBorder\\\":\\\"#c6a0f6\\\",\\\"testing.peekHeaderBackground\\\":\\\"#5b6078\\\",\\\"testing.runAction\\\":\\\"#c6a0f6\\\",\\\"testing.uncoveredBackground\\\":\\\"#ed879633\\\",\\\"testing.uncoveredBorder\\\":\\\"#00000000\\\",\\\"testing.uncoveredBranchBackground\\\":\\\"#ed879633\\\",\\\"testing.uncoveredGutterBackground\\\":\\\"#ed879640\\\",\\\"textBlockQuote.background\\\":\\\"#1e2030\\\",\\\"textBlockQuote.border\\\":\\\"#181926\\\",\\\"textCodeBlock.background\\\":\\\"#1e2030\\\",\\\"textLink.activeForeground\\\":\\\"#91d7e3\\\",\\\"textLink.foreground\\\":\\\"#8aadf4\\\",\\\"textPreformat.foreground\\\":\\\"#cad3f5\\\",\\\"textSeparator.foreground\\\":\\\"#c6a0f6\\\",\\\"titleBar.activeBackground\\\":\\\"#181926\\\",\\\"titleBar.activeForeground\\\":\\\"#cad3f5\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#181926\\\",\\\"titleBar.inactiveForeground\\\":\\\"#cad3f580\\\",\\\"tree.inactiveIndentGuidesStroke\\\":\\\"#494d64\\\",\\\"tree.indentGuidesStroke\\\":\\\"#939ab7\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#24273a4d\\\",\\\"welcomePage.progress.background\\\":\\\"#181926\\\",\\\"welcomePage.progress.foreground\\\":\\\"#c6a0f6\\\",\\\"welcomePage.tileBackground\\\":\\\"#1e2030\\\",\\\"widget.shadow\\\":\\\"#1e203080\\\",\\\"window.activeBorder\\\":\\\"#00000000\\\",\\\"window.inactiveBorder\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Catppuccin Macchiato\\\",\\\"name\\\":\\\"catppuccin-macchiato\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"boolean\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"},\\\"builtinAttribute.attribute.library:rust\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"},\\\"class.builtin:python\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"},\\\"class:python\\\":{\\\"foreground\\\":\\\"#eed49f\\\"},\\\"constant.builtin.readonly:nix\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"},\\\"function.decorator:python\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"},\\\"generic.attribute:rust\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"heading\\\":{\\\"foreground\\\":\\\"#ed8796\\\"},\\\"number\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"},\\\"pol\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"},\\\"property.readonly:javascript\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"property.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"property.readonly:typescript\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"property.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"selfKeyword\\\":{\\\"foreground\\\":\\\"#ed8796\\\"},\\\"text.emph\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ed8796\\\"},\\\"text.math\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"},\\\"text.strong\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ed8796\\\"},\\\"tomlArrayKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"},\\\"tomlTableKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"},\\\"type.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"},\\\"variable.readonly.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"},\\\"variable.readonly:javascript\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.readonly:scala\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.readonly:typescript\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"},\\\"variable.typeHint:python\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"text\\\",\\\"source\\\",\\\"variable.other.readwrite\\\",\\\"punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#939ab7\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#939ab7\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.constant\\\",\\\"entity.name.constant\\\",\\\"constant.language.boolean\\\",\\\"constant.language.false\\\",\\\"constant.language.true\\\",\\\"keyword.other.unit.user-defined\\\",\\\"keyword.other.unit.suffix.floating-point\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.operator.word\\\",\\\"keyword.operator.new\\\",\\\"variable.language.super\\\",\\\"support.type.primitive\\\",\\\"storage.type\\\",\\\"storage.modifier\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"entity.name.tag.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"punctuation.accessor\\\",\\\"punctuation.definition.generic\\\",\\\"meta.function.closure punctuation.section.parameters\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.key-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.method\\\",\\\"support.function\\\",\\\"support.function.misc\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\",\\\"meta.function-call.constructor\\\",\\\"entity.name.struct\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"entity.name.enum\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"meta.enum variable.other.readwrite\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"meta.property.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"meta.type\\\",\\\"meta.type-alias\\\",\\\"support.type\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"meta.annotation variable.function\\\",\\\"meta.annotation variable.annotation.function\\\",\\\"meta.annotation punctuation.definition.annotation\\\",\\\"meta.decorator\\\",\\\"punctuation.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.function.parameters\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.function.builtin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive\\\",\\\"punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"punctuation.definition.typeparameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.css\\\",\\\"support.type.property-name.less\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"variable.language.this punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"variable.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"string.template variable\\\",\\\"string variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.extern.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"entity.name.scope-resolution.template.call.cpp\\\",\\\"entity.name.scope-resolution.parameter.cpp\\\",\\\"entity.name.scope-resolution.cpp\\\",\\\"entity.name.scope-resolution.function.definition.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"storage.type.class.doxygen\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"storage.modifier.reference.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"meta.interpolation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"comment.block.documentation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"source.css entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"punctuation.separator.operator.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"source.css constant.other.unicode-range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"source.css variable.parameter.url\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-value variable\\\",\\\"source.css meta.property-value variable.other.less\\\",\\\"source.css meta.property-value variable.other.less punctuation.definition.variable.less\\\",\\\"meta.definition.variable.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-list variable\\\",\\\"meta.property-list variable.other.less\\\",\\\"meta.property-list variable.other.less punctuation.definition.variable.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.percentage.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"source.css meta.attribute-selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\",\\\"punctuation.support.type.property-name.json\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.support.type.property-name.toml\\\",\\\"support.type.property-name.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"punctuation.support.type.property-name.yaml\\\",\\\"support.type.property-name.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\",\\\"constant.language.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"entity.name.type.anchor.yaml\\\",\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.table\\\",\\\"entity.name.section.group-title.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"constant.other.time.datetime.offset.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.anchor.yaml\\\",\\\"punctuation.definition.alias.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"entity.other.document.begin.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"string.quoted variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"support.function.builtin.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"constant.language.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.parameters.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"constant.language.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"variable.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"}},{\\\"scope\\\":[\\\"keyword.other.doctype\\\",\\\"meta.tag.sgml.doctype punctuation.definition.tag\\\",\\\"meta.tag.metadata.doctype entity.name.tag\\\",\\\"meta.tag.metadata.doctype punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"text.html constant.character.entity\\\",\\\"text.html constant.character.entity punctuation\\\",\\\"constant.character.entity.xml\\\",\\\"constant.character.entity.xml punctuation\\\",\\\"constant.character.entity.js.jsx\\\",\\\"constant.charactger.entity.js.jsx punctuation\\\",\\\"constant.character.entity.tsx\\\",\\\"constant.character.entity.tsx punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\",\\\"support.class.component.jsx\\\",\\\"support.class.component.tsx\\\",\\\"support.class.component.vue\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.annotation\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"constant.other.enum.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc.java keyword.other.documentation.javadoc.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.export variable.other.readwrite.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.property.js\\\",\\\"variable.other.property.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"comment.block.documentation variable.other\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"support.type.object.console.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"support.constant.node\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"storage.modifier.implements\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"constant.language.null.js\\\",\\\"constant.language.null.ts\\\",\\\"constant.language.undefined.js\\\",\\\"constant.language.undefined.ts\\\",\\\"support.type.builtin.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"variable.parameter.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"keyword.declaration.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"punctuation.decorator.ts\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.infer.ts\\\",\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.is\\\",\\\"keyword.operator.expression.keyof.ts\\\",\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.typeof.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"text.tex keyword.control.preamble\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"text.tex support.function.be\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":\\\"constant.other.general.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f0c6c6\\\"}},{\\\"scope\\\":\\\"variable.language.liquid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"comment.line.double-dash.documentation.lua storage.type.annotation.lua\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"comment.line.double-dash.documentation.lua entity.name.variable.lua\\\",\\\"comment.line.double-dash.documentation.lua variable.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown punctuation.definition.heading.markdown\\\",\\\"heading.1.markdown\\\",\\\"heading.1.quarto punctuation.definition.heading.quarto\\\",\\\"heading.1.quarto\\\",\\\"markup.heading.atx.1.mdx\\\",\\\"markup.heading.atx.1.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.heading-0.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown punctuation.definition.heading.markdown\\\",\\\"heading.2.markdown\\\",\\\"heading.2.quarto punctuation.definition.heading.quarto\\\",\\\"heading.2.quarto\\\",\\\"markup.heading.atx.2.mdx\\\",\\\"markup.heading.atx.2.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.2.markdown\\\",\\\"markup.heading.heading-1.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown punctuation.definition.heading.markdown\\\",\\\"heading.3.markdown\\\",\\\"heading.3.quarto punctuation.definition.heading.quarto\\\",\\\"heading.3.quarto\\\",\\\"markup.heading.atx.3.mdx\\\",\\\"markup.heading.atx.3.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-2.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown punctuation.definition.heading.markdown\\\",\\\"heading.4.markdown\\\",\\\"heading.4.quarto punctuation.definition.heading.quarto\\\",\\\"heading.4.quarto\\\",\\\"markup.heading.atx.4.mdx\\\",\\\"markup.heading.atx.4.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-3.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown punctuation.definition.heading.markdown\\\",\\\"heading.5.markdown\\\",\\\"heading.5.quarto punctuation.definition.heading.quarto\\\",\\\"heading.5.quarto\\\",\\\"markup.heading.atx.5.mdx\\\",\\\"markup.heading.atx.5.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-4.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dc4e4\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown punctuation.definition.heading.markdown\\\",\\\"heading.6.markdown\\\",\\\"heading.6.quarto punctuation.definition.heading.quarto\\\",\\\"heading.6.quarto\\\",\\\"markup.heading.atx.6.mdx\\\",\\\"markup.heading.atx.6.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-5.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b7bdf8\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\",\\\"foreground\\\":\\\"#a5adcb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.link\\\",\\\"markup.underline.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.link.title\\\",\\\"text.html.quarto punctuation.definition.link.title\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.title.quarto\\\",\\\"markup.link\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.constant.quarto\\\",\\\"constant.other.reference.link.markdown\\\",\\\"constant.other.reference.link.quarto\\\",\\\"markup.substitution.attribute-reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b7bdf8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.raw.quarto\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"markup.inline.raw.string.quarto\\\",\\\"markup.raw.block.markdown\\\",\\\"markup.raw.block.quarto\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block punctuation.definition\\\",\\\"markup.raw support.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#939ab7\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\",\\\"punctuation.definition.quote.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\",\\\"punctuation.definition.list.begin.quarto\\\",\\\"markup.list.bullet\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"markup.heading.quarto\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.multipart.nix\\\",\\\"entity.other.attribute-name.single.nix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"meta.embedded variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#b7bdf8\\\"}},{\\\"scope\\\":\\\"string.unquoted.path.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"support.attribute.builtin\\\",\\\"meta.attribute.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.php punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"constant.language.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"text.html.php support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":\\\"keyword.other.phpdoc.php\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"support.variable.magic.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"support.function.magic.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.python\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"storage.type.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":[\\\"support.token.decorator.python\\\",\\\"meta.function.decorator.identifier.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator.python\\\",\\\"punctuation.definition.decorator.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"support.type.exception.python\\\",\\\"support.function.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"support.type.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"meta.indexed-name.python\\\",\\\"meta.item-access.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"storage.type.string.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.function-call.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"keyword.control.anchor.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"string.regexp.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"keyword.other.back-reference.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6da95\\\"}},{\\\"scope\\\":\\\"punctuation.definition.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.range.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f4dbd6\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"constant.character.numeric.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.no-capture.regexp\\\",\\\"meta.assertion.look-ahead.regexp\\\",\\\"meta.assertion.negative-look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"meta.annotation.rust\\\",\\\"meta.annotation.rust punctuation\\\",\\\"meta.attribute.rust\\\",\\\"punctuation.definition.attribute.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":[\\\"meta.attribute.rust string.quoted.double.rust\\\",\\\"meta.attribute.rust string.quoted.single.char.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro.rules.rust\\\",\\\"storage.type.module.rust\\\",\\\"storage.modifier.rust\\\",\\\"storage.type.struct.rust\\\",\\\"storage.type.enum.rust\\\",\\\"storage.type.trait.rust\\\",\\\"storage.type.union.rust\\\",\\\"storage.type.impl.rust\\\",\\\"storage.type.rust\\\",\\\"storage.type.function.rust\\\",\\\"storage.type.type.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"entity.name.type.numeric.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"meta.generic.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"entity.name.impl.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"entity.name.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":\\\"entity.name.trait.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"entity.name.union.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eed49f\\\"}},{\\\"scope\\\":\\\"meta.enum.rust storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"support.macro.rust\\\",\\\"meta.macro.rust support.function.rust\\\",\\\"entity.name.function.macro.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":[\\\"storage.modifier.lifetime.rust\\\",\\\"entity.name.type.lifetime\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"string.quoted.double.rust constant.other.placeholder.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"meta.function.return-type.rust meta.generic.rust storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8aadf4\\\"}},{\\\"scope\\\":\\\"punctuation.brackets.angle.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91d7e3\\\"}},{\\\"scope\\\":\\\"constant.other.caps.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"meta.function.definition.rust variable.other.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee99a0\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust variable.other.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":\\\"variable.language.self.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":[\\\"variable.other.metavariable.name.rust\\\",\\\"meta.macro.metavariable.rust keyword.operator.macro.dollar.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":[\\\"comment.line.shebang\\\",\\\"comment.line.shebang punctuation.definition.comment\\\",\\\"comment.line.shebang\\\",\\\"punctuation.definition.comment.shebang.shell\\\",\\\"meta.shebang.shell\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f5bde6\\\"}},{\\\"scope\\\":\\\"comment.line.shebang constant.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":[\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\",\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}},{\\\"scope\\\":\\\"meta.string meta.interpolation.parameter.shell variable.other.readwrite\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f5a97f\\\"}},{\\\"scope\\\":[\\\"source.shell punctuation.section.interpolation\\\",\\\"punctuation.definition.evaluation.backticks.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8bd5ca\\\"}},{\\\"scope\\\":\\\"entity.name.tag.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c6a0f6\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell variable.other.normal.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cad3f5\\\"}},{\\\"scope\\\":[\\\"markup.heading.typst\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ed8796\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: catppuccin-mocha */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#00000000\\\",\\\"activityBar.activeBorder\\\":\\\"#00000000\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#00000000\\\",\\\"activityBar.background\\\":\\\"#11111b\\\",\\\"activityBar.border\\\":\\\"#00000000\\\",\\\"activityBar.dropBorder\\\":\\\"#cba6f733\\\",\\\"activityBar.foreground\\\":\\\"#cba6f7\\\",\\\"activityBar.inactiveForeground\\\":\\\"#6c7086\\\",\\\"activityBarBadge.background\\\":\\\"#cba6f7\\\",\\\"activityBarBadge.foreground\\\":\\\"#11111b\\\",\\\"activityBarTop.activeBorder\\\":\\\"#00000000\\\",\\\"activityBarTop.dropBorder\\\":\\\"#cba6f733\\\",\\\"activityBarTop.foreground\\\":\\\"#cba6f7\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#6c7086\\\",\\\"badge.background\\\":\\\"#45475a\\\",\\\"badge.foreground\\\":\\\"#cdd6f4\\\",\\\"banner.background\\\":\\\"#45475a\\\",\\\"banner.foreground\\\":\\\"#cdd6f4\\\",\\\"banner.iconForeground\\\":\\\"#cdd6f4\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#cba6f7\\\",\\\"breadcrumb.background\\\":\\\"#1e1e2e\\\",\\\"breadcrumb.focusForeground\\\":\\\"#cba6f7\\\",\\\"breadcrumb.foreground\\\":\\\"#cdd6f4cc\\\",\\\"breadcrumbPicker.background\\\":\\\"#181825\\\",\\\"button.background\\\":\\\"#cba6f7\\\",\\\"button.border\\\":\\\"#00000000\\\",\\\"button.foreground\\\":\\\"#11111b\\\",\\\"button.hoverBackground\\\":\\\"#dec7fa\\\",\\\"button.secondaryBackground\\\":\\\"#585b70\\\",\\\"button.secondaryBorder\\\":\\\"#cba6f7\\\",\\\"button.secondaryForeground\\\":\\\"#cdd6f4\\\",\\\"button.secondaryHoverBackground\\\":\\\"#686b84\\\",\\\"button.separator\\\":\\\"#00000000\\\",\\\"charts.blue\\\":\\\"#89b4fa\\\",\\\"charts.foreground\\\":\\\"#cdd6f4\\\",\\\"charts.green\\\":\\\"#a6e3a1\\\",\\\"charts.lines\\\":\\\"#bac2de\\\",\\\"charts.orange\\\":\\\"#fab387\\\",\\\"charts.purple\\\":\\\"#cba6f7\\\",\\\"charts.red\\\":\\\"#f38ba8\\\",\\\"charts.yellow\\\":\\\"#f9e2af\\\",\\\"checkbox.background\\\":\\\"#45475a\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#cba6f7\\\",\\\"commandCenter.activeBackground\\\":\\\"#585b7033\\\",\\\"commandCenter.activeBorder\\\":\\\"#cba6f7\\\",\\\"commandCenter.activeForeground\\\":\\\"#cba6f7\\\",\\\"commandCenter.background\\\":\\\"#181825\\\",\\\"commandCenter.border\\\":\\\"#00000000\\\",\\\"commandCenter.foreground\\\":\\\"#bac2de\\\",\\\"commandCenter.inactiveBorder\\\":\\\"#00000000\\\",\\\"commandCenter.inactiveForeground\\\":\\\"#bac2de\\\",\\\"debugConsole.errorForeground\\\":\\\"#f38ba8\\\",\\\"debugConsole.infoForeground\\\":\\\"#89b4fa\\\",\\\"debugConsole.sourceForeground\\\":\\\"#f5e0dc\\\",\\\"debugConsole.warningForeground\\\":\\\"#fab387\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#cdd6f4\\\",\\\"debugExceptionWidget.background\\\":\\\"#11111b\\\",\\\"debugExceptionWidget.border\\\":\\\"#cba6f7\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#585b70\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#f38ba899\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f38ba8\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#585b70\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#a6738c\\\",\\\"debugIcon.continueForeground\\\":\\\"#a6e3a1\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#585b70\\\",\\\"debugIcon.pauseForeground\\\":\\\"#89b4fa\\\",\\\"debugIcon.restartForeground\\\":\\\"#94e2d5\\\",\\\"debugIcon.startForeground\\\":\\\"#a6e3a1\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#585b70\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#cdd6f4\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#cdd6f4\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#cba6f7\\\",\\\"debugIcon.stopForeground\\\":\\\"#f38ba8\\\",\\\"debugTokenExpression.boolean\\\":\\\"#cba6f7\\\",\\\"debugTokenExpression.error\\\":\\\"#f38ba8\\\",\\\"debugTokenExpression.number\\\":\\\"#fab387\\\",\\\"debugTokenExpression.string\\\":\\\"#a6e3a1\\\",\\\"debugToolBar.background\\\":\\\"#11111b\\\",\\\"debugToolBar.border\\\":\\\"#00000000\\\",\\\"descriptionForeground\\\":\\\"#cdd6f4\\\",\\\"diffEditor.border\\\":\\\"#585b70\\\",\\\"diffEditor.diagonalFill\\\":\\\"#585b7099\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#a6e3a126\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#a6e3a133\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#f38ba826\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f38ba833\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#a6e3a1cc\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#f38ba8cc\\\",\\\"disabledForeground\\\":\\\"#a6adc8\\\",\\\"dropdown.background\\\":\\\"#181825\\\",\\\"dropdown.border\\\":\\\"#cba6f7\\\",\\\"dropdown.foreground\\\":\\\"#cdd6f4\\\",\\\"dropdown.listBackground\\\":\\\"#585b70\\\",\\\"editor.background\\\":\\\"#1e1e2e\\\",\\\"editor.findMatchBackground\\\":\\\"#5e3f53\\\",\\\"editor.findMatchBorder\\\":\\\"#f38ba833\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#3e5767\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#89dceb33\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#3e5767\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#89dceb33\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#a6e3a126\\\",\\\"editor.foldBackground\\\":\\\"#89dceb40\\\",\\\"editor.foreground\\\":\\\"#cdd6f4\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#89dceb40\\\",\\\"editor.lineHighlightBackground\\\":\\\"#cdd6f412\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#89dceb40\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.selectionBackground\\\":\\\"#9399b240\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#9399b233\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#9399b233\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#f9e2af26\\\",\\\"editor.wordHighlightBackground\\\":\\\"#9399b233\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#89b4fa33\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#f38ba8\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#fab387\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#f9e2af\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#a6e3a1\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#74c7ec\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#cba6f7\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#eba0ac\\\",\\\"editorBracketMatch.background\\\":\\\"#9399b21a\\\",\\\"editorBracketMatch.border\\\":\\\"#9399b2\\\",\\\"editorCodeLens.foreground\\\":\\\"#7f849c\\\",\\\"editorCursor.background\\\":\\\"#1e1e2e\\\",\\\"editorCursor.foreground\\\":\\\"#f5e0dc\\\",\\\"editorError.background\\\":\\\"#00000000\\\",\\\"editorError.border\\\":\\\"#00000000\\\",\\\"editorError.foreground\\\":\\\"#f38ba8\\\",\\\"editorGroup.border\\\":\\\"#585b70\\\",\\\"editorGroup.dropBackground\\\":\\\"#cba6f733\\\",\\\"editorGroup.emptyBackground\\\":\\\"#1e1e2e\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#11111b\\\",\\\"editorGutter.addedBackground\\\":\\\"#a6e3a1\\\",\\\"editorGutter.background\\\":\\\"#1e1e2e\\\",\\\"editorGutter.commentGlyphForeground\\\":\\\"#cba6f7\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#313244\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f38ba8\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#9399b2\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#f9e2af\\\",\\\"editorHoverWidget.background\\\":\\\"#181825\\\",\\\"editorHoverWidget.border\\\":\\\"#585b70\\\",\\\"editorHoverWidget.foreground\\\":\\\"#cdd6f4\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#585b70\\\",\\\"editorIndentGuide.background\\\":\\\"#45475a\\\",\\\"editorInfo.background\\\":\\\"#00000000\\\",\\\"editorInfo.border\\\":\\\"#00000000\\\",\\\"editorInfo.foreground\\\":\\\"#89b4fa\\\",\\\"editorInlayHint.background\\\":\\\"#181825bf\\\",\\\"editorInlayHint.foreground\\\":\\\"#585b70\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#181825bf\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#a6adc8\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#181825bf\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#bac2de\\\",\\\"editorLightBulb.foreground\\\":\\\"#f9e2af\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#cba6f7\\\",\\\"editorLineNumber.foreground\\\":\\\"#7f849c\\\",\\\"editorLink.activeForeground\\\":\\\"#cba6f7\\\",\\\"editorMarkerNavigation.background\\\":\\\"#181825\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#f38ba8\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#89b4fa\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#fab387\\\",\\\"editorOverviewRuler.background\\\":\\\"#181825\\\",\\\"editorOverviewRuler.border\\\":\\\"#cdd6f412\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#f9e2af\\\",\\\"editorRuler.foreground\\\":\\\"#585b70\\\",\\\"editorStickyScrollHover.background\\\":\\\"#313244\\\",\\\"editorSuggestWidget.background\\\":\\\"#181825\\\",\\\"editorSuggestWidget.border\\\":\\\"#585b70\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#cdd6f4\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#cba6f7\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#313244\\\",\\\"editorWarning.background\\\":\\\"#00000000\\\",\\\"editorWarning.border\\\":\\\"#00000000\\\",\\\"editorWarning.foreground\\\":\\\"#fab387\\\",\\\"editorWhitespace.foreground\\\":\\\"#9399b266\\\",\\\"editorWidget.background\\\":\\\"#181825\\\",\\\"editorWidget.foreground\\\":\\\"#cdd6f4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#585b70\\\",\\\"errorForeground\\\":\\\"#f38ba8\\\",\\\"errorLens.errorBackground\\\":\\\"#f38ba826\\\",\\\"errorLens.errorBackgroundLight\\\":\\\"#f38ba826\\\",\\\"errorLens.errorForeground\\\":\\\"#f38ba8\\\",\\\"errorLens.errorForegroundLight\\\":\\\"#f38ba8\\\",\\\"errorLens.errorMessageBackground\\\":\\\"#f38ba826\\\",\\\"errorLens.hintBackground\\\":\\\"#a6e3a126\\\",\\\"errorLens.hintBackgroundLight\\\":\\\"#a6e3a126\\\",\\\"errorLens.hintForeground\\\":\\\"#a6e3a1\\\",\\\"errorLens.hintForegroundLight\\\":\\\"#a6e3a1\\\",\\\"errorLens.hintMessageBackground\\\":\\\"#a6e3a126\\\",\\\"errorLens.infoBackground\\\":\\\"#89b4fa26\\\",\\\"errorLens.infoBackgroundLight\\\":\\\"#89b4fa26\\\",\\\"errorLens.infoForeground\\\":\\\"#89b4fa\\\",\\\"errorLens.infoForegroundLight\\\":\\\"#89b4fa\\\",\\\"errorLens.infoMessageBackground\\\":\\\"#89b4fa26\\\",\\\"errorLens.statusBarErrorForeground\\\":\\\"#f38ba8\\\",\\\"errorLens.statusBarHintForeground\\\":\\\"#a6e3a1\\\",\\\"errorLens.statusBarIconErrorForeground\\\":\\\"#f38ba8\\\",\\\"errorLens.statusBarIconWarningForeground\\\":\\\"#fab387\\\",\\\"errorLens.statusBarInfoForeground\\\":\\\"#89b4fa\\\",\\\"errorLens.statusBarWarningForeground\\\":\\\"#fab387\\\",\\\"errorLens.warningBackground\\\":\\\"#fab38726\\\",\\\"errorLens.warningBackgroundLight\\\":\\\"#fab38726\\\",\\\"errorLens.warningForeground\\\":\\\"#fab387\\\",\\\"errorLens.warningForegroundLight\\\":\\\"#fab387\\\",\\\"errorLens.warningMessageBackground\\\":\\\"#fab38726\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#89b4fa\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#11111b\\\",\\\"extensionButton.prominentBackground\\\":\\\"#cba6f7\\\",\\\"extensionButton.prominentForeground\\\":\\\"#11111b\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#dec7fa\\\",\\\"extensionButton.separator\\\":\\\"#1e1e2e\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#585b70\\\",\\\"extensionIcon.sponsorForeground\\\":\\\"#f5c2e7\\\",\\\"extensionIcon.starForeground\\\":\\\"#f9e2af\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#a6e3a1\\\",\\\"focusBorder\\\":\\\"#cba6f7\\\",\\\"foreground\\\":\\\"#cdd6f4\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#a6e3a1\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#cba6f7\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f38ba8\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6c7086\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#f9e2af\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#f38ba8\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#f9e2af\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#89b4fa\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#a6e3a1\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#cba6f7\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#f38ba8\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#fab387\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#f9e2af\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#fab387\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#eba0ac\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#f9e2af\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#cba6f7\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a6adc8\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#cba6f7\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#fab387\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#eba0ac\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#f38ba8\\\",\\\"gitlens.graphLane10Color\\\":\\\"#f5c2e7\\\",\\\"gitlens.graphLane1Color\\\":\\\"#cba6f7\\\",\\\"gitlens.graphLane2Color\\\":\\\"#f9e2af\\\",\\\"gitlens.graphLane3Color\\\":\\\"#89b4fa\\\",\\\"gitlens.graphLane4Color\\\":\\\"#f2cdcd\\\",\\\"gitlens.graphLane5Color\\\":\\\"#a6e3a1\\\",\\\"gitlens.graphLane6Color\\\":\\\"#b4befe\\\",\\\"gitlens.graphLane7Color\\\":\\\"#f5e0dc\\\",\\\"gitlens.graphLane8Color\\\":\\\"#f38ba8\\\",\\\"gitlens.graphLane9Color\\\":\\\"#94e2d5\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#f9e2af\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#89b4fa\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#71a4f9\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#cba6f7\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#f2cdcd\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#93dd8d\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#f9e2af\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#89b4fa\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#71a4f9\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#cba6f7\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#f2cdcd\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#93dd8d\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#3132444d\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#cdd6f4\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#cba6f7\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#cba6f726\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#cba6f7cc\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#cba6f7\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#00000000\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#cdd6f44d\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#a6e3a1\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#fab387\\\",\\\"icon.foreground\\\":\\\"#cba6f7\\\",\\\"input.background\\\":\\\"#313244\\\",\\\"input.border\\\":\\\"#00000000\\\",\\\"input.foreground\\\":\\\"#cdd6f4\\\",\\\"input.placeholderForeground\\\":\\\"#cdd6f473\\\",\\\"inputOption.activeBackground\\\":\\\"#585b70\\\",\\\"inputOption.activeBorder\\\":\\\"#cba6f7\\\",\\\"inputOption.activeForeground\\\":\\\"#cdd6f4\\\",\\\"inputValidation.errorBackground\\\":\\\"#f38ba8\\\",\\\"inputValidation.errorBorder\\\":\\\"#11111b33\\\",\\\"inputValidation.errorForeground\\\":\\\"#11111b\\\",\\\"inputValidation.infoBackground\\\":\\\"#89b4fa\\\",\\\"inputValidation.infoBorder\\\":\\\"#11111b33\\\",\\\"inputValidation.infoForeground\\\":\\\"#11111b\\\",\\\"inputValidation.warningBackground\\\":\\\"#fab387\\\",\\\"inputValidation.warningBorder\\\":\\\"#11111b33\\\",\\\"inputValidation.warningForeground\\\":\\\"#11111b\\\",\\\"issues.closed\\\":\\\"#cba6f7\\\",\\\"issues.newIssueDecoration\\\":\\\"#f5e0dc\\\",\\\"issues.open\\\":\\\"#a6e3a1\\\",\\\"list.activeSelectionBackground\\\":\\\"#313244\\\",\\\"list.activeSelectionForeground\\\":\\\"#cdd6f4\\\",\\\"list.dropBackground\\\":\\\"#cba6f733\\\",\\\"list.focusAndSelectionBackground\\\":\\\"#45475a\\\",\\\"list.focusBackground\\\":\\\"#313244\\\",\\\"list.focusForeground\\\":\\\"#cdd6f4\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#cba6f7\\\",\\\"list.hoverBackground\\\":\\\"#31324480\\\",\\\"list.hoverForeground\\\":\\\"#cdd6f4\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#313244\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#cdd6f4\\\",\\\"list.warningForeground\\\":\\\"#fab387\\\",\\\"listFilterWidget.background\\\":\\\"#45475a\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#f38ba8\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#1e1e2e\\\",\\\"menu.border\\\":\\\"#1e1e2e80\\\",\\\"menu.foreground\\\":\\\"#cdd6f4\\\",\\\"menu.selectionBackground\\\":\\\"#585b70\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#cdd6f4\\\",\\\"menu.separatorBackground\\\":\\\"#585b70\\\",\\\"menubar.selectionBackground\\\":\\\"#45475a\\\",\\\"menubar.selectionForeground\\\":\\\"#cdd6f4\\\",\\\"merge.commonContentBackground\\\":\\\"#45475a\\\",\\\"merge.commonHeaderBackground\\\":\\\"#585b70\\\",\\\"merge.currentContentBackground\\\":\\\"#a6e3a133\\\",\\\"merge.currentHeaderBackground\\\":\\\"#a6e3a166\\\",\\\"merge.incomingContentBackground\\\":\\\"#89b4fa33\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#89b4fa66\\\",\\\"minimap.background\\\":\\\"#18182580\\\",\\\"minimap.errorHighlight\\\":\\\"#f38ba8bf\\\",\\\"minimap.findMatchHighlight\\\":\\\"#89dceb4d\\\",\\\"minimap.selectionHighlight\\\":\\\"#585b70bf\\\",\\\"minimap.selectionOccurrenceHighlight\\\":\\\"#585b70bf\\\",\\\"minimap.warningHighlight\\\":\\\"#fab387bf\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a6e3a1bf\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f38ba8bf\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#f9e2afbf\\\",\\\"minimapSlider.activeBackground\\\":\\\"#cba6f799\\\",\\\"minimapSlider.background\\\":\\\"#cba6f733\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#cba6f766\\\",\\\"notificationCenter.border\\\":\\\"#cba6f7\\\",\\\"notificationCenterHeader.background\\\":\\\"#181825\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#cdd6f4\\\",\\\"notificationLink.foreground\\\":\\\"#89b4fa\\\",\\\"notificationToast.border\\\":\\\"#cba6f7\\\",\\\"notifications.background\\\":\\\"#181825\\\",\\\"notifications.border\\\":\\\"#cba6f7\\\",\\\"notifications.foreground\\\":\\\"#cdd6f4\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f38ba8\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#89b4fa\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#fab387\\\",\\\"panel.background\\\":\\\"#1e1e2e\\\",\\\"panel.border\\\":\\\"#585b70\\\",\\\"panelSection.border\\\":\\\"#585b70\\\",\\\"panelSection.dropBackground\\\":\\\"#cba6f733\\\",\\\"panelTitle.activeBorder\\\":\\\"#cba6f7\\\",\\\"panelTitle.activeForeground\\\":\\\"#cdd6f4\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#a6adc8\\\",\\\"peekView.border\\\":\\\"#cba6f7\\\",\\\"peekViewEditor.background\\\":\\\"#181825\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#89dceb4d\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#00000000\\\",\\\"peekViewEditorGutter.background\\\":\\\"#181825\\\",\\\"peekViewResult.background\\\":\\\"#181825\\\",\\\"peekViewResult.fileForeground\\\":\\\"#cdd6f4\\\",\\\"peekViewResult.lineForeground\\\":\\\"#cdd6f4\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#89dceb4d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#313244\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#cdd6f4\\\",\\\"peekViewTitle.background\\\":\\\"#1e1e2e\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#bac2deb3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#cdd6f4\\\",\\\"pickerGroup.border\\\":\\\"#cba6f7\\\",\\\"pickerGroup.foreground\\\":\\\"#cba6f7\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#f38ba8\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#89b4fa\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#fab387\\\",\\\"progressBar.background\\\":\\\"#cba6f7\\\",\\\"pullRequests.closed\\\":\\\"#f38ba8\\\",\\\"pullRequests.draft\\\":\\\"#9399b2\\\",\\\"pullRequests.merged\\\":\\\"#cba6f7\\\",\\\"pullRequests.notification\\\":\\\"#cdd6f4\\\",\\\"pullRequests.open\\\":\\\"#a6e3a1\\\",\\\"sash.hoverBorder\\\":\\\"#cba6f7\\\",\\\"scmGraph.foreground1\\\":\\\"#f9e2af\\\",\\\"scmGraph.foreground2\\\":\\\"#f38ba8\\\",\\\"scmGraph.foreground3\\\":\\\"#a6e3a1\\\",\\\"scmGraph.foreground4\\\":\\\"#cba6f7\\\",\\\"scmGraph.foreground5\\\":\\\"#94e2d5\\\",\\\"scmGraph.historyItemBaseRefColor\\\":\\\"#fab387\\\",\\\"scmGraph.historyItemRefColor\\\":\\\"#89b4fa\\\",\\\"scmGraph.historyItemRemoteRefColor\\\":\\\"#cba6f7\\\",\\\"scrollbar.shadow\\\":\\\"#11111b\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#31324466\\\",\\\"scrollbarSlider.background\\\":\\\"#585b7080\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6c7086\\\",\\\"selection.background\\\":\\\"#cba6f766\\\",\\\"settings.dropdownBackground\\\":\\\"#45475a\\\",\\\"settings.dropdownListBorder\\\":\\\"#00000000\\\",\\\"settings.focusedRowBackground\\\":\\\"#585b7033\\\",\\\"settings.headerForeground\\\":\\\"#cdd6f4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#cba6f7\\\",\\\"settings.numberInputBackground\\\":\\\"#45475a\\\",\\\"settings.numberInputBorder\\\":\\\"#00000000\\\",\\\"settings.textInputBackground\\\":\\\"#45475a\\\",\\\"settings.textInputBorder\\\":\\\"#00000000\\\",\\\"sideBar.background\\\":\\\"#181825\\\",\\\"sideBar.border\\\":\\\"#00000000\\\",\\\"sideBar.dropBackground\\\":\\\"#cba6f733\\\",\\\"sideBar.foreground\\\":\\\"#cdd6f4\\\",\\\"sideBarSectionHeader.background\\\":\\\"#181825\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#cdd6f4\\\",\\\"sideBarTitle.foreground\\\":\\\"#cba6f7\\\",\\\"statusBar.background\\\":\\\"#11111b\\\",\\\"statusBar.border\\\":\\\"#00000000\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fab387\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#11111b\\\",\\\"statusBar.foreground\\\":\\\"#cdd6f4\\\",\\\"statusBar.noFolderBackground\\\":\\\"#11111b\\\",\\\"statusBar.noFolderBorder\\\":\\\"#00000000\\\",\\\"statusBar.noFolderForeground\\\":\\\"#cdd6f4\\\",\\\"statusBarItem.activeBackground\\\":\\\"#585b7066\\\",\\\"statusBarItem.errorBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.errorForeground\\\":\\\"#f38ba8\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#585b7033\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#cba6f7\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#585b7033\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#89b4fa\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#11111b\\\",\\\"statusBarItem.warningBackground\\\":\\\"#00000000\\\",\\\"statusBarItem.warningForeground\\\":\\\"#fab387\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#fab387\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#cba6f7\\\",\\\"symbolIcon.classForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.colorForeground\\\":\\\"#f5c2e7\\\",\\\"symbolIcon.constantForeground\\\":\\\"#fab387\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#b4befe\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.eventForeground\\\":\\\"#f5c2e7\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#cdd6f4\\\",\\\"symbolIcon.fileForeground\\\":\\\"#cba6f7\\\",\\\"symbolIcon.folderForeground\\\":\\\"#cba6f7\\\",\\\"symbolIcon.functionForeground\\\":\\\"#89b4fa\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.keyForeground\\\":\\\"#94e2d5\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#cba6f7\\\",\\\"symbolIcon.methodForeground\\\":\\\"#89b4fa\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#cdd6f4\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.nullForeground\\\":\\\"#eba0ac\\\",\\\"symbolIcon.numberForeground\\\":\\\"#fab387\\\",\\\"symbolIcon.objectForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#94e2d5\\\",\\\"symbolIcon.packageForeground\\\":\\\"#f2cdcd\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#eba0ac\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#f9e2af\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#f2cdcd\\\",\\\"symbolIcon.stringForeground\\\":\\\"#a6e3a1\\\",\\\"symbolIcon.structForeground\\\":\\\"#94e2d5\\\",\\\"symbolIcon.textForeground\\\":\\\"#cdd6f4\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#eba0ac\\\",\\\"symbolIcon.unitForeground\\\":\\\"#cdd6f4\\\",\\\"symbolIcon.variableForeground\\\":\\\"#cdd6f4\\\",\\\"tab.activeBackground\\\":\\\"#1e1e2e\\\",\\\"tab.activeBorder\\\":\\\"#00000000\\\",\\\"tab.activeBorderTop\\\":\\\"#cba6f7\\\",\\\"tab.activeForeground\\\":\\\"#cba6f7\\\",\\\"tab.activeModifiedBorder\\\":\\\"#f9e2af\\\",\\\"tab.border\\\":\\\"#181825\\\",\\\"tab.hoverBackground\\\":\\\"#28283d\\\",\\\"tab.hoverBorder\\\":\\\"#00000000\\\",\\\"tab.hoverForeground\\\":\\\"#cba6f7\\\",\\\"tab.inactiveBackground\\\":\\\"#181825\\\",\\\"tab.inactiveForeground\\\":\\\"#6c7086\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#f9e2af4d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#cba6f7\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#181825\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#cba6f74d\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#0e0e16\\\",\\\"table.headerBackground\\\":\\\"#313244\\\",\\\"table.headerForeground\\\":\\\"#cdd6f4\\\",\\\"terminal.ansiBlack\\\":\\\"#45475a\\\",\\\"terminal.ansiBlue\\\":\\\"#89b4fa\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#585b70\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#74a8fc\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#6bd7ca\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#89d88b\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#f2aede\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f37799\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#bac2de\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ebd391\\\",\\\"terminal.ansiCyan\\\":\\\"#94e2d5\\\",\\\"terminal.ansiGreen\\\":\\\"#a6e3a1\\\",\\\"terminal.ansiMagenta\\\":\\\"#f5c2e7\\\",\\\"terminal.ansiRed\\\":\\\"#f38ba8\\\",\\\"terminal.ansiWhite\\\":\\\"#a6adc8\\\",\\\"terminal.ansiYellow\\\":\\\"#f9e2af\\\",\\\"terminal.border\\\":\\\"#585b70\\\",\\\"terminal.dropBackground\\\":\\\"#cba6f733\\\",\\\"terminal.foreground\\\":\\\"#cdd6f4\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#585b7080\\\",\\\"terminal.selectionBackground\\\":\\\"#585b70\\\",\\\"terminal.tab.activeBorder\\\":\\\"#cba6f7\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#585b70\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#f38ba8\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#a6e3a1\\\",\\\"terminalCursor.background\\\":\\\"#1e1e2e\\\",\\\"terminalCursor.foreground\\\":\\\"#f5e0dc\\\",\\\"testing.coverCountBadgeBackground\\\":\\\"#00000000\\\",\\\"testing.coverCountBadgeForeground\\\":\\\"#cba6f7\\\",\\\"testing.coveredBackground\\\":\\\"#a6e3a14d\\\",\\\"testing.coveredBorder\\\":\\\"#00000000\\\",\\\"testing.coveredGutterBackground\\\":\\\"#a6e3a14d\\\",\\\"testing.iconErrored\\\":\\\"#f38ba8\\\",\\\"testing.iconErrored.retired\\\":\\\"#f38ba8\\\",\\\"testing.iconFailed\\\":\\\"#f38ba8\\\",\\\"testing.iconFailed.retired\\\":\\\"#f38ba8\\\",\\\"testing.iconPassed\\\":\\\"#a6e3a1\\\",\\\"testing.iconPassed.retired\\\":\\\"#a6e3a1\\\",\\\"testing.iconQueued\\\":\\\"#89b4fa\\\",\\\"testing.iconQueued.retired\\\":\\\"#89b4fa\\\",\\\"testing.iconSkipped\\\":\\\"#a6adc8\\\",\\\"testing.iconSkipped.retired\\\":\\\"#a6adc8\\\",\\\"testing.iconUnset\\\":\\\"#cdd6f4\\\",\\\"testing.iconUnset.retired\\\":\\\"#cdd6f4\\\",\\\"testing.message.error.lineBackground\\\":\\\"#f38ba826\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#a6e3a1cc\\\",\\\"testing.message.info.lineBackground\\\":\\\"#a6e3a126\\\",\\\"testing.messagePeekBorder\\\":\\\"#cba6f7\\\",\\\"testing.messagePeekHeaderBackground\\\":\\\"#585b70\\\",\\\"testing.peekBorder\\\":\\\"#cba6f7\\\",\\\"testing.peekHeaderBackground\\\":\\\"#585b70\\\",\\\"testing.runAction\\\":\\\"#cba6f7\\\",\\\"testing.uncoveredBackground\\\":\\\"#f38ba833\\\",\\\"testing.uncoveredBorder\\\":\\\"#00000000\\\",\\\"testing.uncoveredBranchBackground\\\":\\\"#f38ba833\\\",\\\"testing.uncoveredGutterBackground\\\":\\\"#f38ba840\\\",\\\"textBlockQuote.background\\\":\\\"#181825\\\",\\\"textBlockQuote.border\\\":\\\"#11111b\\\",\\\"textCodeBlock.background\\\":\\\"#181825\\\",\\\"textLink.activeForeground\\\":\\\"#89dceb\\\",\\\"textLink.foreground\\\":\\\"#89b4fa\\\",\\\"textPreformat.foreground\\\":\\\"#cdd6f4\\\",\\\"textSeparator.foreground\\\":\\\"#cba6f7\\\",\\\"titleBar.activeBackground\\\":\\\"#11111b\\\",\\\"titleBar.activeForeground\\\":\\\"#cdd6f4\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#11111b\\\",\\\"titleBar.inactiveForeground\\\":\\\"#cdd6f480\\\",\\\"tree.inactiveIndentGuidesStroke\\\":\\\"#45475a\\\",\\\"tree.indentGuidesStroke\\\":\\\"#9399b2\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#1e1e2e4d\\\",\\\"welcomePage.progress.background\\\":\\\"#11111b\\\",\\\"welcomePage.progress.foreground\\\":\\\"#cba6f7\\\",\\\"welcomePage.tileBackground\\\":\\\"#181825\\\",\\\"widget.shadow\\\":\\\"#18182580\\\",\\\"window.activeBorder\\\":\\\"#00000000\\\",\\\"window.inactiveBorder\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Catppuccin Mocha\\\",\\\"name\\\":\\\"catppuccin-mocha\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"boolean\\\":{\\\"foreground\\\":\\\"#fab387\\\"},\\\"builtinAttribute.attribute.library:rust\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"},\\\"class.builtin:python\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"},\\\"class:python\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"},\\\"constant.builtin.readonly:nix\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"},\\\"function.decorator:python\\\":{\\\"foreground\\\":\\\"#fab387\\\"},\\\"generic.attribute:rust\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"heading\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"},\\\"number\\\":{\\\"foreground\\\":\\\"#fab387\\\"},\\\"pol\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"},\\\"property.readonly:javascript\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"property.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"property.readonly:typescript\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"property.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"selfKeyword\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"},\\\"text.emph\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f38ba8\\\"},\\\"text.math\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"},\\\"text.strong\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f38ba8\\\"},\\\"tomlArrayKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"},\\\"tomlTableKey\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"},\\\"type.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"},\\\"variable.readonly.defaultLibrary:go\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"},\\\"variable.readonly:javascript\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.readonly:javascriptreact\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.readonly:scala\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.readonly:typescript\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.readonly:typescriptreact\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"},\\\"variable.typeHint:python\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"text\\\",\\\"source\\\",\\\"variable.other.readwrite\\\",\\\"punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#9399b2\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#9399b2\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.constant\\\",\\\"entity.name.constant\\\",\\\"constant.language.boolean\\\",\\\"constant.language.false\\\",\\\"constant.language.true\\\",\\\"keyword.other.unit.user-defined\\\",\\\"keyword.other.unit.suffix.floating-point\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.operator.word\\\",\\\"keyword.operator.new\\\",\\\"variable.language.super\\\",\\\"support.type.primitive\\\",\\\"storage.type\\\",\\\"storage.modifier\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"entity.name.tag.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"punctuation.accessor\\\",\\\"punctuation.definition.generic\\\",\\\"meta.function.closure punctuation.section.parameters\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.key-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.method\\\",\\\"support.function\\\",\\\"support.function.misc\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\",\\\"meta.function-call.constructor\\\",\\\"entity.name.struct\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"entity.name.enum\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"meta.enum variable.other.readwrite\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"meta.property.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"meta.type\\\",\\\"meta.type-alias\\\",\\\"support.type\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"meta.annotation variable.function\\\",\\\"meta.annotation variable.annotation.function\\\",\\\"meta.annotation punctuation.definition.annotation\\\",\\\"meta.decorator\\\",\\\"punctuation.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"meta.function.parameters\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.function.builtin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive\\\",\\\"punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"punctuation.definition.typeparameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.css\\\",\\\"support.type.property-name.less\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"variable.language.this punctuation.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"variable.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"string.template variable\\\",\\\"string variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.extern.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"entity.name.scope-resolution.template.call.cpp\\\",\\\"entity.name.scope-resolution.parameter.cpp\\\",\\\"entity.name.scope-resolution.cpp\\\",\\\"entity.name.scope-resolution.function.definition.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"storage.type.class.doxygen\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"storage.modifier.reference.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"meta.interpolation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"comment.block.documentation.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"source.css entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.parent-selector.css punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"punctuation.separator.operator.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"source.css constant.other.unicode-range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"source.css variable.parameter.url\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-value variable\\\",\\\"source.css meta.property-value variable.other.less\\\",\\\"source.css meta.property-value variable.other.less punctuation.definition.variable.less\\\",\\\"meta.definition.variable.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-list variable\\\",\\\"meta.property-list variable.other.less\\\",\\\"meta.property-list variable.other.less punctuation.definition.variable.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.percentage.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"source.css meta.attribute-selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\",\\\"punctuation.support.type.property-name.json\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.support.type.property-name.toml\\\",\\\"support.type.property-name.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"punctuation.support.type.property-name.yaml\\\",\\\"support.type.property-name.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\",\\\"constant.language.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"entity.name.type.anchor.yaml\\\",\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.table\\\",\\\"entity.name.section.group-title.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"constant.other.time.datetime.offset.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.anchor.yaml\\\",\\\"punctuation.definition.alias.yaml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"entity.other.document.begin.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"string.quoted variable.other.env\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"support.function.builtin.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"constant.language.gdscript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"comment meta.annotation.parameters.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"constant.language.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"variable.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"meta.objectvalues.graphql constant.object.key.graphql string.unquoted.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"}},{\\\"scope\\\":[\\\"keyword.other.doctype\\\",\\\"meta.tag.sgml.doctype punctuation.definition.tag\\\",\\\"meta.tag.metadata.doctype entity.name.tag\\\",\\\"meta.tag.metadata.doctype punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"text.html constant.character.entity\\\",\\\"text.html constant.character.entity punctuation\\\",\\\"constant.character.entity.xml\\\",\\\"constant.character.entity.xml punctuation\\\",\\\"constant.character.entity.js.jsx\\\",\\\"constant.charactger.entity.js.jsx punctuation\\\",\\\"constant.character.entity.tsx\\\",\\\"constant.character.entity.tsx punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\",\\\"support.class.component.jsx\\\",\\\"support.class.component.tsx\\\",\\\"support.class.component.vue\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.annotation\\\",\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"constant.other.enum.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc.java keyword.other.documentation.javadoc.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.export variable.other.readwrite.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.property.js\\\",\\\"variable.other.property.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"comment.block.documentation variable.other\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"support.type.object.console.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"support.constant.node\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"storage.modifier.implements\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"constant.language.null.js\\\",\\\"constant.language.null.ts\\\",\\\"constant.language.undefined.js\\\",\\\"constant.language.undefined.ts\\\",\\\"support.type.builtin.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"variable.parameter.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"keyword.declaration.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"punctuation.decorator.ts\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.infer.ts\\\",\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.is\\\",\\\"keyword.operator.expression.keyof.ts\\\",\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.typeof.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"text.tex keyword.control.preamble\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"text.tex support.function.be\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":\\\"constant.other.general.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f2cdcd\\\"}},{\\\"scope\\\":\\\"variable.language.liquid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"comment.line.double-dash.documentation.lua storage.type.annotation.lua\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"comment.line.double-dash.documentation.lua entity.name.variable.lua\\\",\\\"comment.line.double-dash.documentation.lua variable.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown punctuation.definition.heading.markdown\\\",\\\"heading.1.markdown\\\",\\\"heading.1.quarto punctuation.definition.heading.quarto\\\",\\\"heading.1.quarto\\\",\\\"markup.heading.atx.1.mdx\\\",\\\"markup.heading.atx.1.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.heading-0.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown punctuation.definition.heading.markdown\\\",\\\"heading.2.markdown\\\",\\\"heading.2.quarto punctuation.definition.heading.quarto\\\",\\\"heading.2.quarto\\\",\\\"markup.heading.atx.2.mdx\\\",\\\"markup.heading.atx.2.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.setext.2.markdown\\\",\\\"markup.heading.heading-1.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown punctuation.definition.heading.markdown\\\",\\\"heading.3.markdown\\\",\\\"heading.3.quarto punctuation.definition.heading.quarto\\\",\\\"heading.3.quarto\\\",\\\"markup.heading.atx.3.mdx\\\",\\\"markup.heading.atx.3.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-2.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown punctuation.definition.heading.markdown\\\",\\\"heading.4.markdown\\\",\\\"heading.4.quarto punctuation.definition.heading.quarto\\\",\\\"heading.4.quarto\\\",\\\"markup.heading.atx.4.mdx\\\",\\\"markup.heading.atx.4.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-3.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown punctuation.definition.heading.markdown\\\",\\\"heading.5.markdown\\\",\\\"heading.5.quarto punctuation.definition.heading.quarto\\\",\\\"heading.5.quarto\\\",\\\"markup.heading.atx.5.mdx\\\",\\\"markup.heading.atx.5.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-4.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#74c7ec\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown punctuation.definition.heading.markdown\\\",\\\"heading.6.markdown\\\",\\\"heading.6.quarto punctuation.definition.heading.quarto\\\",\\\"heading.6.quarto\\\",\\\"markup.heading.atx.6.mdx\\\",\\\"markup.heading.atx.6.mdx punctuation.definition.heading.mdx\\\",\\\"markup.heading.heading-5.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4befe\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\",\\\"foreground\\\":\\\"#a6adc8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.link\\\",\\\"markup.underline.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.link.title\\\",\\\"text.html.quarto punctuation.definition.link.title\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.title.quarto\\\",\\\"markup.link\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.constant.quarto\\\",\\\"constant.other.reference.link.markdown\\\",\\\"constant.other.reference.link.quarto\\\",\\\"markup.substitution.attribute-reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4befe\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.raw.quarto\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"markup.inline.raw.string.quarto\\\",\\\"markup.raw.block.markdown\\\",\\\"markup.raw.block.quarto\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block punctuation.definition\\\",\\\"markup.raw support.asciidoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9399b2\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\",\\\"punctuation.definition.quote.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\",\\\"punctuation.definition.list.begin.quarto\\\",\\\"markup.list.bullet\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"markup.heading.quarto\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.multipart.nix\\\",\\\"entity.other.attribute-name.single.nix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"meta.embedded variable.parameter.name.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#b4befe\\\"}},{\\\"scope\\\":\\\"string.unquoted.path.nix\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"support.attribute.builtin\\\",\\\"meta.attribute.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.php punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"constant.language.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"text.html.php support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":\\\"keyword.other.phpdoc.php\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"support.variable.magic.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"support.function.magic.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\",\\\"variable.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.python\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"storage.type.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":[\\\"support.token.decorator.python\\\",\\\"meta.function.decorator.identifier.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator.python\\\",\\\"punctuation.definition.decorator.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"support.type.exception.python\\\",\\\"support.function.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"support.type.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"meta.indexed-name.python\\\",\\\"meta.item-access.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"storage.type.string.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"meta.function-call.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"keyword.control.anchor.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"string.regexp.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"keyword.other.back-reference.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6e3a1\\\"}},{\\\"scope\\\":\\\"punctuation.definition.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.range.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5e0dc\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"constant.character.numeric.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.no-capture.regexp\\\",\\\"meta.assertion.look-ahead.regexp\\\",\\\"meta.assertion.negative-look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"meta.annotation.rust\\\",\\\"meta.annotation.rust punctuation\\\",\\\"meta.attribute.rust\\\",\\\"punctuation.definition.attribute.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":[\\\"meta.attribute.rust string.quoted.double.rust\\\",\\\"meta.attribute.rust string.quoted.single.char.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro.rules.rust\\\",\\\"storage.type.module.rust\\\",\\\"storage.modifier.rust\\\",\\\"storage.type.struct.rust\\\",\\\"storage.type.enum.rust\\\",\\\"storage.type.trait.rust\\\",\\\"storage.type.union.rust\\\",\\\"storage.type.impl.rust\\\",\\\"storage.type.rust\\\",\\\"storage.type.function.rust\\\",\\\"storage.type.type.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"entity.name.type.numeric.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"meta.generic.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"entity.name.impl.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"entity.name.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":\\\"entity.name.trait.rust\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"entity.name.union.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f9e2af\\\"}},{\\\"scope\\\":\\\"meta.enum.rust storage.type.source.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"support.macro.rust\\\",\\\"meta.macro.rust support.function.rust\\\",\\\"entity.name.function.macro.rust\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":[\\\"storage.modifier.lifetime.rust\\\",\\\"entity.name.type.lifetime\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"string.quoted.double.rust constant.other.placeholder.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"meta.function.return-type.rust meta.generic.rust storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89b4fa\\\"}},{\\\"scope\\\":\\\"punctuation.brackets.angle.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89dceb\\\"}},{\\\"scope\\\":\\\"constant.other.caps.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"meta.function.definition.rust variable.other.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eba0ac\\\"}},{\\\"scope\\\":\\\"meta.function.call.rust variable.other.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":\\\"variable.language.self.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":[\\\"variable.other.metavariable.name.rust\\\",\\\"meta.macro.metavariable.rust keyword.operator.macro.dollar.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":[\\\"comment.line.shebang\\\",\\\"comment.line.shebang punctuation.definition.comment\\\",\\\"comment.line.shebang\\\",\\\"punctuation.definition.comment.shebang.shell\\\",\\\"meta.shebang.shell\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f5c2e7\\\"}},{\\\"scope\\\":\\\"comment.line.shebang constant.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":[\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\",\\\"meta.function-call.arguments.shell punctuation.definition.variable.shell\\\",\\\"meta.function-call.arguments.shell punctuation.section.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}},{\\\"scope\\\":\\\"meta.string meta.interpolation.parameter.shell variable.other.readwrite\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fab387\\\"}},{\\\"scope\\\":[\\\"source.shell punctuation.section.interpolation\\\",\\\"punctuation.definition.evaluation.backticks.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#94e2d5\\\"}},{\\\"scope\\\":\\\"entity.name.tag.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cba6f7\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell variable.other.normal.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdd6f4\\\"}},{\\\"scope\\\":[\\\"markup.heading.typst\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f38ba8\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: dark-plus */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"actionBar.toggledBackground\\\":\\\"#383a49\\\",\\\"activityBarBadge.background\\\":\\\"#007ACC\\\",\\\"checkbox.border\\\":\\\"#6B6B6B\\\",\\\"editor.background\\\":\\\"#1E1E1E\\\",\\\"editor.foreground\\\":\\\"#D4D4D4\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#3A3D41\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#ADD6FF26\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#707070\\\",\\\"editorIndentGuide.background1\\\":\\\"#404040\\\",\\\"input.placeholderForeground\\\":\\\"#A6A6A6\\\",\\\"list.activeSelectionIconForeground\\\":\\\"#FFF\\\",\\\"list.dropBackground\\\":\\\"#383B3D\\\",\\\"menu.background\\\":\\\"#252526\\\",\\\"menu.border\\\":\\\"#454545\\\",\\\"menu.foreground\\\":\\\"#CCCCCC\\\",\\\"menu.selectionBackground\\\":\\\"#0078d4\\\",\\\"menu.separatorBackground\\\":\\\"#454545\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#369432\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.border\\\":\\\"#ccc3\\\",\\\"sideBarTitle.foreground\\\":\\\"#BBBBBB\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#16825D\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#FFF\\\",\\\"tab.lastPinnedBorder\\\":\\\"#ccc3\\\",\\\"tab.selectedBackground\\\":\\\"#222222\\\",\\\"tab.selectedForeground\\\":\\\"#ffffffa0\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#3A3D41\\\",\\\"widget.border\\\":\\\"#303031\\\"},\\\"displayName\\\":\\\"Dark Plus\\\",\\\"name\\\":\\\"dark-plus\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"customLiteral\\\":\\\"#DCDCAA\\\",\\\"newOperator\\\":\\\"#C586C0\\\",\\\"numberLiteral\\\":\\\"#b5cea8\\\",\\\"stringLiteral\\\":\\\"#ce9178\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D4D4D4\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#000080\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6A9955\\\"}},{\\\"scope\\\":\\\"constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.enummember\\\",\\\"keyword.operator.plus.exponent\\\",\\\"keyword.operator.minus.exponent\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"constant.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#646695\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\",\\\"entity.name.tag.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class.css\\\",\\\"source.css entity.other.attribute-name.class\\\",\\\"entity.other.attribute-name.id.css\\\",\\\"entity.other.attribute-name.parent-selector.css\\\",\\\"entity.other.attribute-name.parent.less\\\",\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"entity.other.attribute-name.pseudo-element.css\\\",\\\"source.css.less entity.other.attribute-name.id\\\",\\\"entity.other.attribute-name.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"punctuation.definition.quote.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6A9955\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6796e6\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#808080\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor\\\",\\\"entity.name.function.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.key.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\",\\\"keyword.operator.noexcept\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"meta.embedded.assembly\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d16969\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\",\\\"support.type.property-name\\\",\\\"source.css variable\\\",\\\"source.coffee.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":[\\\"keyword.operator.new\\\",\\\"keyword.operator.expression\\\",\\\"keyword.operator.cast\\\",\\\"keyword.operator.sizeof\\\",\\\"keyword.operator.alignof\\\",\\\"keyword.operator.typeid\\\",\\\"keyword.operator.alignas\\\",\\\"keyword.operator.instanceof\\\",\\\"keyword.operator.logical.python\\\",\\\"keyword.operator.wordlike\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.end.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"variable.language.wildcard.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"support.function\\\",\\\"support.constant.handlebars\\\",\\\"source.powershell variable.other.member\\\",\\\"entity.name.operator.custom-literal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCDCAA\\\"}},{\\\"scope\\\":[\\\"support.class\\\",\\\"support.type\\\",\\\"entity.name.type\\\",\\\"entity.name.namespace\\\",\\\"entity.other.attribute\\\",\\\"entity.name.scope-resolution\\\",\\\"entity.name.class\\\",\\\"storage.type.numeric.go\\\",\\\"storage.type.byte.go\\\",\\\"storage.type.boolean.go\\\",\\\"storage.type.string.go\\\",\\\"storage.type.uintptr.go\\\",\\\"storage.type.error.go\\\",\\\"storage.type.rune.go\\\",\\\"storage.type.cs\\\",\\\"storage.type.generic.cs\\\",\\\"storage.type.modifier.cs\\\",\\\"storage.type.variable.cs\\\",\\\"storage.type.annotation.java\\\",\\\"storage.type.generic.java\\\",\\\"storage.type.java\\\",\\\"storage.type.object.array.java\\\",\\\"storage.type.primitive.array.java\\\",\\\"storage.type.primitive.java\\\",\\\"storage.type.token.java\\\",\\\"storage.type.groovy\\\",\\\"storage.type.annotation.groovy\\\",\\\"storage.type.parameters.groovy\\\",\\\"storage.type.generic.groovy\\\",\\\"storage.type.object.array.groovy\\\",\\\"storage.type.primitive.array.groovy\\\",\\\"storage.type.primitive.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4EC9B0\\\"}},{\\\"scope\\\":[\\\"meta.type.cast.expr\\\",\\\"meta.type.new.expr\\\",\\\"support.constant.math\\\",\\\"support.constant.dom\\\",\\\"support.constant.json\\\",\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4EC9B0\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"source.cpp keyword.operator.new\\\",\\\"keyword.operator.delete\\\",\\\"keyword.other.using\\\",\\\"keyword.other.directive.using\\\",\\\"keyword.other.operator\\\",\\\"entity.name.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C586C0\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"meta.definition.variable.name\\\",\\\"support.variable\\\",\\\"entity.name.variable\\\",\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9CDCFE\\\"}},{\\\"scope\\\":[\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4FC1FF\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9CDCFE\\\"}},{\\\"scope\\\":[\\\"support.constant.property-value\\\",\\\"support.constant.font-name\\\",\\\"support.constant.media-type\\\",\\\"support.constant.media\\\",\\\"constant.other.color.rgb-value\\\",\\\"constant.other.rgb-value\\\",\\\"support.constant.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CE9178\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"punctuation.definition.group.assertion.regexp\\\",\\\"punctuation.definition.character-class.regexp\\\",\\\"punctuation.character.set.begin.regexp\\\",\\\"punctuation.character.set.end.regexp\\\",\\\"keyword.operator.negation.regexp\\\",\\\"support.other.parenthesis.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CE9178\\\"}},{\\\"scope\\\":[\\\"constant.character.character-class.regexp\\\",\\\"constant.other.character-class.set.regexp\\\",\\\"constant.other.character-class.regexp\\\",\\\"constant.character.set.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d16969\\\"}},{\\\"scope\\\":[\\\"keyword.operator.or.regexp\\\",\\\"keyword.control.anchor.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCDCAA\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other.option\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"entity.name.label\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C8C8C8\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: dracula */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#BD93F910\\\",\\\"activityBar.activeBorder\\\":\\\"#FF79C680\\\",\\\"activityBar.background\\\":\\\"#343746\\\",\\\"activityBar.foreground\\\":\\\"#F8F8F2\\\",\\\"activityBar.inactiveForeground\\\":\\\"#6272A4\\\",\\\"activityBarBadge.background\\\":\\\"#FF79C6\\\",\\\"activityBarBadge.foreground\\\":\\\"#F8F8F2\\\",\\\"badge.background\\\":\\\"#44475A\\\",\\\"badge.foreground\\\":\\\"#F8F8F2\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#F8F8F2\\\",\\\"breadcrumb.background\\\":\\\"#282A36\\\",\\\"breadcrumb.focusForeground\\\":\\\"#F8F8F2\\\",\\\"breadcrumb.foreground\\\":\\\"#6272A4\\\",\\\"breadcrumbPicker.background\\\":\\\"#191A21\\\",\\\"button.background\\\":\\\"#44475A\\\",\\\"button.foreground\\\":\\\"#F8F8F2\\\",\\\"button.secondaryBackground\\\":\\\"#282A36\\\",\\\"button.secondaryForeground\\\":\\\"#F8F8F2\\\",\\\"button.secondaryHoverBackground\\\":\\\"#343746\\\",\\\"debugToolBar.background\\\":\\\"#21222C\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#50FA7B20\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#FF555550\\\",\\\"dropdown.background\\\":\\\"#343746\\\",\\\"dropdown.border\\\":\\\"#191A21\\\",\\\"dropdown.foreground\\\":\\\"#F8F8F2\\\",\\\"editor.background\\\":\\\"#282A36\\\",\\\"editor.findMatchBackground\\\":\\\"#FFB86C80\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#FFFFFF40\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#44475A75\\\",\\\"editor.foldBackground\\\":\\\"#21222C80\\\",\\\"editor.foreground\\\":\\\"#F8F8F2\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#8BE9FD50\\\",\\\"editor.lineHighlightBorder\\\":\\\"#44475A\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#BD93F915\\\",\\\"editor.selectionBackground\\\":\\\"#44475A\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#424450\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#282A36\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#50FA7B\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#282A36\\\",\\\"editor.snippetTabstopHighlightBorder\\\":\\\"#6272A4\\\",\\\"editor.wordHighlightBackground\\\":\\\"#8BE9FD50\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#50FA7B50\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#F8F8F2\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#FF79C6\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#8BE9FD\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#50FA7B\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#BD93F9\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#FFB86C\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#FF5555\\\",\\\"editorCodeLens.foreground\\\":\\\"#6272A4\\\",\\\"editorError.foreground\\\":\\\"#FF5555\\\",\\\"editorGroup.border\\\":\\\"#BD93F9\\\",\\\"editorGroup.dropBackground\\\":\\\"#44475A70\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#191A21\\\",\\\"editorGutter.addedBackground\\\":\\\"#50FA7B80\\\",\\\"editorGutter.deletedBackground\\\":\\\"#FF555580\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#8BE9FD80\\\",\\\"editorHoverWidget.background\\\":\\\"#282A36\\\",\\\"editorHoverWidget.border\\\":\\\"#6272A4\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#FFFFFF45\\\",\\\"editorIndentGuide.background\\\":\\\"#FFFFFF1A\\\",\\\"editorLineNumber.foreground\\\":\\\"#6272A4\\\",\\\"editorLink.activeForeground\\\":\\\"#8BE9FD\\\",\\\"editorMarkerNavigation.background\\\":\\\"#21222C\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#50FA7B80\\\",\\\"editorOverviewRuler.border\\\":\\\"#191A21\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#50FA7B\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#FF555580\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#FF555580\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#BD93F9\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#8BE9FD80\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#8BE9FD80\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#FFB86C\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#FFB86C80\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#8BE9FD\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#50FA7B\\\",\\\"editorRuler.foreground\\\":\\\"#FFFFFF1A\\\",\\\"editorSuggestWidget.background\\\":\\\"#21222C\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#F8F8F2\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#44475A\\\",\\\"editorWarning.foreground\\\":\\\"#8BE9FD\\\",\\\"editorWhitespace.foreground\\\":\\\"#FFFFFF1A\\\",\\\"editorWidget.background\\\":\\\"#21222C\\\",\\\"errorForeground\\\":\\\"#FF5555\\\",\\\"extensionButton.prominentBackground\\\":\\\"#50FA7B90\\\",\\\"extensionButton.prominentForeground\\\":\\\"#F8F8F2\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#50FA7B60\\\",\\\"focusBorder\\\":\\\"#6272A4\\\",\\\"foreground\\\":\\\"#F8F8F2\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFB86C\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#FF5555\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6272A4\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#8BE9FD\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#50FA7B\\\",\\\"inlineChat.regionHighlight\\\":\\\"#343746\\\",\\\"input.background\\\":\\\"#282A36\\\",\\\"input.border\\\":\\\"#191A21\\\",\\\"input.foreground\\\":\\\"#F8F8F2\\\",\\\"input.placeholderForeground\\\":\\\"#6272A4\\\",\\\"inputOption.activeBorder\\\":\\\"#BD93F9\\\",\\\"inputValidation.errorBorder\\\":\\\"#FF5555\\\",\\\"inputValidation.infoBorder\\\":\\\"#FF79C6\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFB86C\\\",\\\"list.activeSelectionBackground\\\":\\\"#44475A\\\",\\\"list.activeSelectionForeground\\\":\\\"#F8F8F2\\\",\\\"list.dropBackground\\\":\\\"#44475A\\\",\\\"list.errorForeground\\\":\\\"#FF5555\\\",\\\"list.focusBackground\\\":\\\"#44475A75\\\",\\\"list.highlightForeground\\\":\\\"#8BE9FD\\\",\\\"list.hoverBackground\\\":\\\"#44475A75\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#44475A75\\\",\\\"list.warningForeground\\\":\\\"#FFB86C\\\",\\\"listFilterWidget.background\\\":\\\"#343746\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#FF5555\\\",\\\"listFilterWidget.outline\\\":\\\"#424450\\\",\\\"merge.currentHeaderBackground\\\":\\\"#50FA7B90\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#BD93F990\\\",\\\"panel.background\\\":\\\"#282A36\\\",\\\"panel.border\\\":\\\"#BD93F9\\\",\\\"panelTitle.activeBorder\\\":\\\"#FF79C6\\\",\\\"panelTitle.activeForeground\\\":\\\"#F8F8F2\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#6272A4\\\",\\\"peekView.border\\\":\\\"#44475A\\\",\\\"peekViewEditor.background\\\":\\\"#282A36\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#F1FA8C80\\\",\\\"peekViewResult.background\\\":\\\"#21222C\\\",\\\"peekViewResult.fileForeground\\\":\\\"#F8F8F2\\\",\\\"peekViewResult.lineForeground\\\":\\\"#F8F8F2\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#F1FA8C80\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#44475A\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#F8F8F2\\\",\\\"peekViewTitle.background\\\":\\\"#191A21\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#6272A4\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#F8F8F2\\\",\\\"pickerGroup.border\\\":\\\"#BD93F9\\\",\\\"pickerGroup.foreground\\\":\\\"#8BE9FD\\\",\\\"progressBar.background\\\":\\\"#FF79C6\\\",\\\"selection.background\\\":\\\"#BD93F9\\\",\\\"settings.checkboxBackground\\\":\\\"#21222C\\\",\\\"settings.checkboxBorder\\\":\\\"#191A21\\\",\\\"settings.checkboxForeground\\\":\\\"#F8F8F2\\\",\\\"settings.dropdownBackground\\\":\\\"#21222C\\\",\\\"settings.dropdownBorder\\\":\\\"#191A21\\\",\\\"settings.dropdownForeground\\\":\\\"#F8F8F2\\\",\\\"settings.headerForeground\\\":\\\"#F8F8F2\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#FFB86C\\\",\\\"settings.numberInputBackground\\\":\\\"#21222C\\\",\\\"settings.numberInputBorder\\\":\\\"#191A21\\\",\\\"settings.numberInputForeground\\\":\\\"#F8F8F2\\\",\\\"settings.textInputBackground\\\":\\\"#21222C\\\",\\\"settings.textInputBorder\\\":\\\"#191A21\\\",\\\"settings.textInputForeground\\\":\\\"#F8F8F2\\\",\\\"sideBar.background\\\":\\\"#21222C\\\",\\\"sideBarSectionHeader.background\\\":\\\"#282A36\\\",\\\"sideBarSectionHeader.border\\\":\\\"#191A21\\\",\\\"sideBarTitle.foreground\\\":\\\"#F8F8F2\\\",\\\"statusBar.background\\\":\\\"#191A21\\\",\\\"statusBar.debuggingBackground\\\":\\\"#FF5555\\\",\\\"statusBar.debuggingForeground\\\":\\\"#191A21\\\",\\\"statusBar.foreground\\\":\\\"#F8F8F2\\\",\\\"statusBar.noFolderBackground\\\":\\\"#191A21\\\",\\\"statusBar.noFolderForeground\\\":\\\"#F8F8F2\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#FF5555\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#FFB86C\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#BD93F9\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#282A36\\\",\\\"tab.activeBackground\\\":\\\"#282A36\\\",\\\"tab.activeBorderTop\\\":\\\"#FF79C680\\\",\\\"tab.activeForeground\\\":\\\"#F8F8F2\\\",\\\"tab.border\\\":\\\"#191A21\\\",\\\"tab.inactiveBackground\\\":\\\"#21222C\\\",\\\"tab.inactiveForeground\\\":\\\"#6272A4\\\",\\\"terminal.ansiBlack\\\":\\\"#21222C\\\",\\\"terminal.ansiBlue\\\":\\\"#BD93F9\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#6272A4\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#D6ACFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#A4FFFF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#69FF94\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#FF92DF\\\",\\\"terminal.ansiBrightRed\\\":\\\"#FF6E6E\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#FFFFFF\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFFFA5\\\",\\\"terminal.ansiCyan\\\":\\\"#8BE9FD\\\",\\\"terminal.ansiGreen\\\":\\\"#50FA7B\\\",\\\"terminal.ansiMagenta\\\":\\\"#FF79C6\\\",\\\"terminal.ansiRed\\\":\\\"#FF5555\\\",\\\"terminal.ansiWhite\\\":\\\"#F8F8F2\\\",\\\"terminal.ansiYellow\\\":\\\"#F1FA8C\\\",\\\"terminal.background\\\":\\\"#282A36\\\",\\\"terminal.foreground\\\":\\\"#F8F8F2\\\",\\\"titleBar.activeBackground\\\":\\\"#21222C\\\",\\\"titleBar.activeForeground\\\":\\\"#F8F8F2\\\",\\\"titleBar.inactiveBackground\\\":\\\"#191A21\\\",\\\"titleBar.inactiveForeground\\\":\\\"#6272A4\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#21222C\\\"},\\\"displayName\\\":\\\"Dracula Theme\\\",\\\"name\\\":\\\"dracula\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"emphasis\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"strong\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6272A4\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5555\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline italic\\\",\\\"foreground\\\":\\\"#FF5555\\\"}},{\\\"scope\\\":[\\\"invalid.deprecated\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline italic\\\",\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"markup.error\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5555\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\",\\\"beginning.punctuation.definition.quote.markdown\\\",\\\"punctuation.definition.link.restructuredtext\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.raw.restructuredtext\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"markup.underline.link.image\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"meta.link.reference.def.restructuredtext\\\",\\\"punctuation.definition.directive.restructuredtext\\\",\\\"string.other.link.description\\\",\\\"string.other.link.title\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"entity.name.directive.restructuredtext\\\",\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"meta.separator.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6272A4\\\"}},{\\\"scope\\\":[\\\"fenced_code.block.language\\\",\\\"markup.raw.inner.restructuredtext\\\",\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.constant.restructuredtext\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"markup.heading.markdown punctuation.definition.string.begin\\\",\\\"markup.heading.markdown punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"meta.paragraph.markdown punctuation.definition.string.begin\\\",\\\"meta.paragraph.markdown punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.begin\\\",\\\"markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"entity.name.type.class\\\",\\\"entity.name.class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"keyword.expressions-and-types.swift\\\",\\\"keyword.other.this\\\",\\\"variable.language\\\",\\\"variable.language punctuation.definition.variable.php\\\",\\\"variable.other.readwrite.instance.ruby\\\",\\\"variable.parameter.function.language.special\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"unused.comment\\\",\\\"wildcard.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6272A4\\\"}},{\\\"scope\\\":[\\\"comment keyword.codetag.notation\\\",\\\"comment.block.documentation keyword\\\",\\\"comment.block.documentation storage.type.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"comment.block.documentation entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"comment.block.documentation entity.name.type punctuation.definition.bracket\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"comment.block.documentation variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"variable.other.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\",\\\"constant.character.string.escape\\\",\\\"constant.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.parent-selector\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.object\\\",\\\"meta.function-call.php\\\",\\\"meta.function-call.static\\\",\\\"meta.method-call.java meta.method\\\",\\\"meta.method.groovy\\\",\\\"support.function.any-method.lua\\\",\\\"keyword.operator.function.infix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"entity.name.variable.parameter\\\",\\\"meta.at-rule.function variable\\\",\\\"meta.at-rule.mixin variable\\\",\\\"meta.function.arguments variable.other.php\\\",\\\"meta.selectionset.graphql meta.arguments.graphql variable.arguments.graphql\\\",\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"meta.decorator variable.other.readwrite\\\",\\\"meta.decorator variable.other.property\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"meta.decorator variable.other.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"keyword.control.new\\\",\\\"keyword.operator.new\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"meta.selector\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"support\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"support.function.magic\\\",\\\"support.variable\\\",\\\"variable.other.predefined\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"support.type.property-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\"}},{\\\"scope\\\":[\\\"constant.other.symbol.hashkey punctuation.definition.constant.ruby\\\",\\\"entity.other.attribute-name.placeholder punctuation\\\",\\\"entity.other.attribute-name.pseudo-class punctuation\\\",\\\"entity.other.attribute-name.pseudo-element punctuation\\\",\\\"meta.group.double.toml\\\",\\\"meta.group.toml\\\",\\\"meta.object-binding-pattern-variable punctuation.destructuring\\\",\\\"punctuation.colon.graphql\\\",\\\"punctuation.definition.block.scalar.folded.yaml\\\",\\\"punctuation.definition.block.scalar.literal.yaml\\\",\\\"punctuation.definition.block.sequence.item.yaml\\\",\\\"punctuation.definition.entity.other.inherited-class\\\",\\\"punctuation.function.swift\\\",\\\"punctuation.separator.dictionary.key-value\\\",\\\"punctuation.separator.hash\\\",\\\"punctuation.separator.inheritance\\\",\\\"punctuation.separator.key-value\\\",\\\"punctuation.separator.key-value.mapping.yaml\\\",\\\"punctuation.separator.namespace\\\",\\\"punctuation.separator.pointer-access\\\",\\\"punctuation.separator.slice\\\",\\\"string.unquoted.heredoc punctuation.definition.string\\\",\\\"support.other.chomping-indicator.yaml\\\",\\\"punctuation.separator.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"keyword.operator.other.powershell\\\",\\\"keyword.other.statement-separator.powershell\\\",\\\"meta.brace.round\\\",\\\"meta.function-call punctuation\\\",\\\"punctuation.definition.arguments.begin\\\",\\\"punctuation.definition.arguments.end\\\",\\\"punctuation.definition.entity.begin\\\",\\\"punctuation.definition.entity.end\\\",\\\"punctuation.definition.tag.cs\\\",\\\"punctuation.definition.type.begin\\\",\\\"punctuation.definition.type.end\\\",\\\"punctuation.section.scope.begin\\\",\\\"punctuation.section.scope.end\\\",\\\"punctuation.terminator.expression.php\\\",\\\"storage.type.generic.java\\\",\\\"string.template meta.brace\\\",\\\"string.template punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"meta.string-contents.quoted.double punctuation.definition.variable\\\",\\\"punctuation.definition.interpolation.begin\\\",\\\"punctuation.definition.interpolation.end\\\",\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded.begin\\\",\\\"punctuation.section.embedded.coffee\\\",\\\"punctuation.section.embedded.end\\\",\\\"punctuation.section.embedded.end source.php\\\",\\\"punctuation.section.embedded.end source.ruby\\\",\\\"punctuation.definition.variable.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"entity.name.function.target.makefile\\\",\\\"entity.name.section.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"variable.other.key.toml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"constant.other.date\\\",\\\"constant.other.timestamp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"meta.implementation storage.type.objc\\\",\\\"meta.interface-or-protocol storage.type.objc\\\",\\\"source.groovy storage.type.def\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"entity.name.type\\\",\\\"keyword.primitive-datatypes.swift\\\",\\\"keyword.type.cs\\\",\\\"meta.protocol-list.objc\\\",\\\"meta.return-type.objc\\\",\\\"source.go storage.type\\\",\\\"source.groovy storage.type\\\",\\\"source.java storage.type\\\",\\\"source.powershell entity.other.attribute-name\\\",\\\"storage.class.std.rust\\\",\\\"storage.type.attribute.swift\\\",\\\"storage.type.c\\\",\\\"storage.type.core.rust\\\",\\\"storage.type.cs\\\",\\\"storage.type.groovy\\\",\\\"storage.type.objc\\\",\\\"storage.type.php\\\",\\\"storage.type.haskell\\\",\\\"storage.type.ocaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"entity.name.type.type-parameter\\\",\\\"meta.indexer.mappedtype.declaration entity.name.type\\\",\\\"meta.type.parameters entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"constant.other.character-class.set.regexp\\\",\\\"constant.character.escape.backslash.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.capture.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF79C6\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5555\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.assertion.regexp\\\",\\\"keyword.operator.negation.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5555\\\"}},{\\\"scope\\\":[\\\"meta.assertion.look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50FA7B\\\"}},{\\\"scope\\\":[\\\"string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin\\\",\\\"punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E9F284\\\"}},{\\\"scope\\\":[\\\"punctuation.support.type.property-name.begin\\\",\\\"punctuation.support.type.property-name.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BE9FE\\\"}},{\\\"scope\\\":[\\\"string.quoted.docstring.multi\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.begin\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.end\\\",\\\"string.quoted.docstring.multi.python constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6272A4\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"constant.other.key.perl\\\",\\\"support.variable.property\\\",\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.constant.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"meta.import variable.other.readwrite\\\",\\\"meta.variable.assignment.destructured.object.coffee variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"meta.import variable.other.readwrite.alias\\\",\\\"meta.export variable.other.readwrite.alias\\\",\\\"meta.variable.assignment.destructured.object.coffee variable variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"meta.selectionset.graphql variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"meta.selectionset.graphql meta.arguments variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"entity.name.fragment.graphql\\\",\\\"variable.fragment.graphql\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BE9FD\\\"}},{\\\"scope\\\":[\\\"constant.other.symbol.hashkey.ruby\\\",\\\"keyword.operator.dereference.java\\\",\\\"keyword.operator.navigation.groovy\\\",\\\"meta.scope.for-loop.shell punctuation.definition.string.begin\\\",\\\"meta.scope.for-loop.shell punctuation.definition.string.end\\\",\\\"meta.scope.for-loop.shell string\\\",\\\"storage.modifier.import\\\",\\\"punctuation.section.embedded.begin.tsx\\\",\\\"punctuation.section.embedded.end.tsx\\\",\\\"punctuation.section.embedded.begin.jsx\\\",\\\"punctuation.section.embedded.end.jsx\\\",\\\"punctuation.separator.list.comma.css\\\",\\\"constant.language.empty-list.haskell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"source.shell variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#BD93F9\\\"}},{\\\"scope\\\":[\\\"meta.scope.prerequisites.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"meta.attribute-selector.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F1FA8C\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.attribute-selector.end.bracket.square.scss\\\",\\\"punctuation.definition.attribute-selector.begin.bracket.square.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor.haskell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6272A4\\\"}},{\\\"scope\\\":[\\\"log.error\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#FF5555\\\"}},{\\\"scope\\\":[\\\"log.warning\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#F1FA8C\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: dracula-soft */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#BD93F910\\\",\\\"activityBar.activeBorder\\\":\\\"#FF79C680\\\",\\\"activityBar.background\\\":\\\"#343746\\\",\\\"activityBar.foreground\\\":\\\"#f6f6f4\\\",\\\"activityBar.inactiveForeground\\\":\\\"#7b7f8b\\\",\\\"activityBarBadge.background\\\":\\\"#f286c4\\\",\\\"activityBarBadge.foreground\\\":\\\"#f6f6f4\\\",\\\"badge.background\\\":\\\"#44475A\\\",\\\"badge.foreground\\\":\\\"#f6f6f4\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#f6f6f4\\\",\\\"breadcrumb.background\\\":\\\"#282A36\\\",\\\"breadcrumb.focusForeground\\\":\\\"#f6f6f4\\\",\\\"breadcrumb.foreground\\\":\\\"#7b7f8b\\\",\\\"breadcrumbPicker.background\\\":\\\"#191A21\\\",\\\"button.background\\\":\\\"#44475A\\\",\\\"button.foreground\\\":\\\"#f6f6f4\\\",\\\"button.secondaryBackground\\\":\\\"#282A36\\\",\\\"button.secondaryForeground\\\":\\\"#f6f6f4\\\",\\\"button.secondaryHoverBackground\\\":\\\"#343746\\\",\\\"debugToolBar.background\\\":\\\"#262626\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#50FA7B20\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#FF555550\\\",\\\"dropdown.background\\\":\\\"#343746\\\",\\\"dropdown.border\\\":\\\"#191A21\\\",\\\"dropdown.foreground\\\":\\\"#f6f6f4\\\",\\\"editor.background\\\":\\\"#282A36\\\",\\\"editor.findMatchBackground\\\":\\\"#FFB86C80\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#FFFFFF40\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#44475A75\\\",\\\"editor.foldBackground\\\":\\\"#21222C80\\\",\\\"editor.foreground\\\":\\\"#f6f6f4\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#8BE9FD50\\\",\\\"editor.lineHighlightBorder\\\":\\\"#44475A\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#BD93F915\\\",\\\"editor.selectionBackground\\\":\\\"#44475A\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#424450\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#282A36\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#62e884\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#282A36\\\",\\\"editor.snippetTabstopHighlightBorder\\\":\\\"#7b7f8b\\\",\\\"editor.wordHighlightBackground\\\":\\\"#8BE9FD50\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#50FA7B50\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#f6f6f4\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#f286c4\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#97e1f1\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#62e884\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#bf9eee\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#FFB86C\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#ee6666\\\",\\\"editorCodeLens.foreground\\\":\\\"#7b7f8b\\\",\\\"editorError.foreground\\\":\\\"#ee6666\\\",\\\"editorGroup.border\\\":\\\"#bf9eee\\\",\\\"editorGroup.dropBackground\\\":\\\"#44475A70\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#191A21\\\",\\\"editorGutter.addedBackground\\\":\\\"#50FA7B80\\\",\\\"editorGutter.deletedBackground\\\":\\\"#FF555580\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#8BE9FD80\\\",\\\"editorHoverWidget.background\\\":\\\"#282A36\\\",\\\"editorHoverWidget.border\\\":\\\"#7b7f8b\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#FFFFFF45\\\",\\\"editorIndentGuide.background\\\":\\\"#FFFFFF1A\\\",\\\"editorLineNumber.foreground\\\":\\\"#7b7f8b\\\",\\\"editorLink.activeForeground\\\":\\\"#97e1f1\\\",\\\"editorMarkerNavigation.background\\\":\\\"#262626\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#50FA7B80\\\",\\\"editorOverviewRuler.border\\\":\\\"#191A21\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#62e884\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#FF555580\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#FF555580\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#bf9eee\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#8BE9FD80\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#8BE9FD80\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#FFB86C\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#FFB86C80\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#97e1f1\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#62e884\\\",\\\"editorRuler.foreground\\\":\\\"#FFFFFF1A\\\",\\\"editorSuggestWidget.background\\\":\\\"#262626\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#f6f6f4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#44475A\\\",\\\"editorWarning.foreground\\\":\\\"#97e1f1\\\",\\\"editorWhitespace.foreground\\\":\\\"#FFFFFF1A\\\",\\\"editorWidget.background\\\":\\\"#262626\\\",\\\"errorForeground\\\":\\\"#ee6666\\\",\\\"extensionButton.prominentBackground\\\":\\\"#50FA7B90\\\",\\\"extensionButton.prominentForeground\\\":\\\"#f6f6f4\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#50FA7B60\\\",\\\"focusBorder\\\":\\\"#7b7f8b\\\",\\\"foreground\\\":\\\"#f6f6f4\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFB86C\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#ee6666\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#7b7f8b\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#97e1f1\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#62e884\\\",\\\"inlineChat.regionHighlight\\\":\\\"#343746\\\",\\\"input.background\\\":\\\"#282A36\\\",\\\"input.border\\\":\\\"#191A21\\\",\\\"input.foreground\\\":\\\"#f6f6f4\\\",\\\"input.placeholderForeground\\\":\\\"#7b7f8b\\\",\\\"inputOption.activeBorder\\\":\\\"#bf9eee\\\",\\\"inputValidation.errorBorder\\\":\\\"#ee6666\\\",\\\"inputValidation.infoBorder\\\":\\\"#f286c4\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFB86C\\\",\\\"list.activeSelectionBackground\\\":\\\"#44475A\\\",\\\"list.activeSelectionForeground\\\":\\\"#f6f6f4\\\",\\\"list.dropBackground\\\":\\\"#44475A\\\",\\\"list.errorForeground\\\":\\\"#ee6666\\\",\\\"list.focusBackground\\\":\\\"#44475A75\\\",\\\"list.highlightForeground\\\":\\\"#97e1f1\\\",\\\"list.hoverBackground\\\":\\\"#44475A75\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#44475A75\\\",\\\"list.warningForeground\\\":\\\"#FFB86C\\\",\\\"listFilterWidget.background\\\":\\\"#343746\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#ee6666\\\",\\\"listFilterWidget.outline\\\":\\\"#424450\\\",\\\"merge.currentHeaderBackground\\\":\\\"#50FA7B90\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#BD93F990\\\",\\\"panel.background\\\":\\\"#282A36\\\",\\\"panel.border\\\":\\\"#bf9eee\\\",\\\"panelTitle.activeBorder\\\":\\\"#f286c4\\\",\\\"panelTitle.activeForeground\\\":\\\"#f6f6f4\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#7b7f8b\\\",\\\"peekView.border\\\":\\\"#44475A\\\",\\\"peekViewEditor.background\\\":\\\"#282A36\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#F1FA8C80\\\",\\\"peekViewResult.background\\\":\\\"#262626\\\",\\\"peekViewResult.fileForeground\\\":\\\"#f6f6f4\\\",\\\"peekViewResult.lineForeground\\\":\\\"#f6f6f4\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#F1FA8C80\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#44475A\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#f6f6f4\\\",\\\"peekViewTitle.background\\\":\\\"#191A21\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#7b7f8b\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#f6f6f4\\\",\\\"pickerGroup.border\\\":\\\"#bf9eee\\\",\\\"pickerGroup.foreground\\\":\\\"#97e1f1\\\",\\\"progressBar.background\\\":\\\"#f286c4\\\",\\\"selection.background\\\":\\\"#bf9eee\\\",\\\"settings.checkboxBackground\\\":\\\"#262626\\\",\\\"settings.checkboxBorder\\\":\\\"#191A21\\\",\\\"settings.checkboxForeground\\\":\\\"#f6f6f4\\\",\\\"settings.dropdownBackground\\\":\\\"#262626\\\",\\\"settings.dropdownBorder\\\":\\\"#191A21\\\",\\\"settings.dropdownForeground\\\":\\\"#f6f6f4\\\",\\\"settings.headerForeground\\\":\\\"#f6f6f4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#FFB86C\\\",\\\"settings.numberInputBackground\\\":\\\"#262626\\\",\\\"settings.numberInputBorder\\\":\\\"#191A21\\\",\\\"settings.numberInputForeground\\\":\\\"#f6f6f4\\\",\\\"settings.textInputBackground\\\":\\\"#262626\\\",\\\"settings.textInputBorder\\\":\\\"#191A21\\\",\\\"settings.textInputForeground\\\":\\\"#f6f6f4\\\",\\\"sideBar.background\\\":\\\"#262626\\\",\\\"sideBarSectionHeader.background\\\":\\\"#282A36\\\",\\\"sideBarSectionHeader.border\\\":\\\"#191A21\\\",\\\"sideBarTitle.foreground\\\":\\\"#f6f6f4\\\",\\\"statusBar.background\\\":\\\"#191A21\\\",\\\"statusBar.debuggingBackground\\\":\\\"#ee6666\\\",\\\"statusBar.debuggingForeground\\\":\\\"#191A21\\\",\\\"statusBar.foreground\\\":\\\"#f6f6f4\\\",\\\"statusBar.noFolderBackground\\\":\\\"#191A21\\\",\\\"statusBar.noFolderForeground\\\":\\\"#f6f6f4\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#ee6666\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#FFB86C\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#bf9eee\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#282A36\\\",\\\"tab.activeBackground\\\":\\\"#282A36\\\",\\\"tab.activeBorderTop\\\":\\\"#FF79C680\\\",\\\"tab.activeForeground\\\":\\\"#f6f6f4\\\",\\\"tab.border\\\":\\\"#191A21\\\",\\\"tab.inactiveBackground\\\":\\\"#262626\\\",\\\"tab.inactiveForeground\\\":\\\"#7b7f8b\\\",\\\"terminal.ansiBlack\\\":\\\"#262626\\\",\\\"terminal.ansiBlue\\\":\\\"#bf9eee\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#7b7f8b\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#d6b4f7\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#adf6f6\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#78f09a\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#f49dda\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07c7c\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#f6f6ae\\\",\\\"terminal.ansiCyan\\\":\\\"#97e1f1\\\",\\\"terminal.ansiGreen\\\":\\\"#62e884\\\",\\\"terminal.ansiMagenta\\\":\\\"#f286c4\\\",\\\"terminal.ansiRed\\\":\\\"#ee6666\\\",\\\"terminal.ansiWhite\\\":\\\"#f6f6f4\\\",\\\"terminal.ansiYellow\\\":\\\"#e7ee98\\\",\\\"terminal.background\\\":\\\"#282A36\\\",\\\"terminal.foreground\\\":\\\"#f6f6f4\\\",\\\"titleBar.activeBackground\\\":\\\"#262626\\\",\\\"titleBar.activeForeground\\\":\\\"#f6f6f4\\\",\\\"titleBar.inactiveBackground\\\":\\\"#191A21\\\",\\\"titleBar.inactiveForeground\\\":\\\"#7b7f8b\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#262626\\\"},\\\"displayName\\\":\\\"Dracula Theme Soft\\\",\\\"name\\\":\\\"dracula-soft\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"emphasis\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"strong\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7b7f8b\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee6666\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline italic\\\",\\\"foreground\\\":\\\"#ee6666\\\"}},{\\\"scope\\\":[\\\"invalid.deprecated\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline italic\\\",\\\"foreground\\\":\\\"#f6f6f4\\\"}},{\\\"scope\\\":[\\\"entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"markup.error\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee6666\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\",\\\"beginning.punctuation.definition.quote.markdown\\\",\\\"punctuation.definition.link.restructuredtext\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.raw.restructuredtext\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"markup.underline.link.image\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"meta.link.reference.def.restructuredtext\\\",\\\"punctuation.definition.directive.restructuredtext\\\",\\\"string.other.link.description\\\",\\\"string.other.link.title\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"entity.name.directive.restructuredtext\\\",\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"meta.separator.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7b7f8b\\\"}},{\\\"scope\\\":[\\\"fenced_code.block.language\\\",\\\"markup.raw.inner.restructuredtext\\\",\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.constant.restructuredtext\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"markup.heading.markdown punctuation.definition.string.begin\\\",\\\"markup.heading.markdown punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"meta.paragraph.markdown punctuation.definition.string.begin\\\",\\\"meta.paragraph.markdown punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6f6f4\\\"}},{\\\"scope\\\":[\\\"markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.begin\\\",\\\"markup.quote.markdown meta.paragraph.markdown punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"entity.name.type.class\\\",\\\"entity.name.class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"keyword.expressions-and-types.swift\\\",\\\"keyword.other.this\\\",\\\"variable.language\\\",\\\"variable.language punctuation.definition.variable.php\\\",\\\"variable.other.readwrite.instance.ruby\\\",\\\"variable.parameter.function.language.special\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"unused.comment\\\",\\\"wildcard.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7b7f8b\\\"}},{\\\"scope\\\":[\\\"comment keyword.codetag.notation\\\",\\\"comment.block.documentation keyword\\\",\\\"comment.block.documentation storage.type.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"comment.block.documentation entity.name.type\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"comment.block.documentation entity.name.type punctuation.definition.bracket\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"comment.block.documentation variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"variable.other.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\",\\\"constant.character.string.escape\\\",\\\"constant.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.parent-selector\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call.object\\\",\\\"meta.function-call.php\\\",\\\"meta.function-call.static\\\",\\\"meta.method-call.java meta.method\\\",\\\"meta.method.groovy\\\",\\\"support.function.any-method.lua\\\",\\\"keyword.operator.function.infix\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"entity.name.variable.parameter\\\",\\\"meta.at-rule.function variable\\\",\\\"meta.at-rule.mixin variable\\\",\\\"meta.function.arguments variable.other.php\\\",\\\"meta.selectionset.graphql meta.arguments.graphql variable.arguments.graphql\\\",\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"meta.decorator variable.other.readwrite\\\",\\\"meta.decorator variable.other.property\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"meta.decorator variable.other.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"keyword.control.new\\\",\\\"keyword.operator.new\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"meta.selector\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"support\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"support.function.magic\\\",\\\"support.variable\\\",\\\"variable.other.predefined\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"support.type.property-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\"}},{\\\"scope\\\":[\\\"constant.other.symbol.hashkey punctuation.definition.constant.ruby\\\",\\\"entity.other.attribute-name.placeholder punctuation\\\",\\\"entity.other.attribute-name.pseudo-class punctuation\\\",\\\"entity.other.attribute-name.pseudo-element punctuation\\\",\\\"meta.group.double.toml\\\",\\\"meta.group.toml\\\",\\\"meta.object-binding-pattern-variable punctuation.destructuring\\\",\\\"punctuation.colon.graphql\\\",\\\"punctuation.definition.block.scalar.folded.yaml\\\",\\\"punctuation.definition.block.scalar.literal.yaml\\\",\\\"punctuation.definition.block.sequence.item.yaml\\\",\\\"punctuation.definition.entity.other.inherited-class\\\",\\\"punctuation.function.swift\\\",\\\"punctuation.separator.dictionary.key-value\\\",\\\"punctuation.separator.hash\\\",\\\"punctuation.separator.inheritance\\\",\\\"punctuation.separator.key-value\\\",\\\"punctuation.separator.key-value.mapping.yaml\\\",\\\"punctuation.separator.namespace\\\",\\\"punctuation.separator.pointer-access\\\",\\\"punctuation.separator.slice\\\",\\\"string.unquoted.heredoc punctuation.definition.string\\\",\\\"support.other.chomping-indicator.yaml\\\",\\\"punctuation.separator.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"keyword.operator.other.powershell\\\",\\\"keyword.other.statement-separator.powershell\\\",\\\"meta.brace.round\\\",\\\"meta.function-call punctuation\\\",\\\"punctuation.definition.arguments.begin\\\",\\\"punctuation.definition.arguments.end\\\",\\\"punctuation.definition.entity.begin\\\",\\\"punctuation.definition.entity.end\\\",\\\"punctuation.definition.tag.cs\\\",\\\"punctuation.definition.type.begin\\\",\\\"punctuation.definition.type.end\\\",\\\"punctuation.section.scope.begin\\\",\\\"punctuation.section.scope.end\\\",\\\"punctuation.terminator.expression.php\\\",\\\"storage.type.generic.java\\\",\\\"string.template meta.brace\\\",\\\"string.template punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6f6f4\\\"}},{\\\"scope\\\":[\\\"meta.string-contents.quoted.double punctuation.definition.variable\\\",\\\"punctuation.definition.interpolation.begin\\\",\\\"punctuation.definition.interpolation.end\\\",\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded.begin\\\",\\\"punctuation.section.embedded.coffee\\\",\\\"punctuation.section.embedded.end\\\",\\\"punctuation.section.embedded.end source.php\\\",\\\"punctuation.section.embedded.end source.ruby\\\",\\\"punctuation.definition.variable.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"entity.name.function.target.makefile\\\",\\\"entity.name.section.toml\\\",\\\"entity.name.tag.yaml\\\",\\\"variable.other.key.toml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"constant.other.date\\\",\\\"constant.other.timestamp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"variable.other.alias.yaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"meta.implementation storage.type.objc\\\",\\\"meta.interface-or-protocol storage.type.objc\\\",\\\"source.groovy storage.type.def\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"entity.name.type\\\",\\\"keyword.primitive-datatypes.swift\\\",\\\"keyword.type.cs\\\",\\\"meta.protocol-list.objc\\\",\\\"meta.return-type.objc\\\",\\\"source.go storage.type\\\",\\\"source.groovy storage.type\\\",\\\"source.java storage.type\\\",\\\"source.powershell entity.other.attribute-name\\\",\\\"storage.class.std.rust\\\",\\\"storage.type.attribute.swift\\\",\\\"storage.type.c\\\",\\\"storage.type.core.rust\\\",\\\"storage.type.cs\\\",\\\"storage.type.groovy\\\",\\\"storage.type.objc\\\",\\\"storage.type.php\\\",\\\"storage.type.haskell\\\",\\\"storage.type.ocaml\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"entity.name.type.type-parameter\\\",\\\"meta.indexer.mappedtype.declaration entity.name.type\\\",\\\"meta.type.parameters entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"constant.other.character-class.set.regexp\\\",\\\"constant.character.escape.backslash.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.capture.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f286c4\\\"}},{\\\"scope\\\":[\\\"string.regexp punctuation.definition.string.begin\\\",\\\"string.regexp punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee6666\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.assertion.regexp\\\",\\\"keyword.operator.negation.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ee6666\\\"}},{\\\"scope\\\":[\\\"meta.assertion.look-ahead.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#62e884\\\"}},{\\\"scope\\\":[\\\"string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin\\\",\\\"punctuation.definition.string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dee492\\\"}},{\\\"scope\\\":[\\\"punctuation.support.type.property-name.begin\\\",\\\"punctuation.support.type.property-name.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#97e2f2\\\"}},{\\\"scope\\\":[\\\"string.quoted.docstring.multi\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.begin\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.end\\\",\\\"string.quoted.docstring.multi.python constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7b7f8b\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"constant.other.key.perl\\\",\\\"support.variable.property\\\",\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.constant.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6f6f4\\\"}},{\\\"scope\\\":[\\\"meta.import variable.other.readwrite\\\",\\\"meta.variable.assignment.destructured.object.coffee variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FFB86C\\\"}},{\\\"scope\\\":[\\\"meta.import variable.other.readwrite.alias\\\",\\\"meta.export variable.other.readwrite.alias\\\",\\\"meta.variable.assignment.destructured.object.coffee variable variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#f6f6f4\\\"}},{\\\"scope\\\":[\\\"meta.selectionset.graphql variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"meta.selectionset.graphql meta.arguments variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6f6f4\\\"}},{\\\"scope\\\":[\\\"entity.name.fragment.graphql\\\",\\\"variable.fragment.graphql\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#97e1f1\\\"}},{\\\"scope\\\":[\\\"constant.other.symbol.hashkey.ruby\\\",\\\"keyword.operator.dereference.java\\\",\\\"keyword.operator.navigation.groovy\\\",\\\"meta.scope.for-loop.shell punctuation.definition.string.begin\\\",\\\"meta.scope.for-loop.shell punctuation.definition.string.end\\\",\\\"meta.scope.for-loop.shell string\\\",\\\"storage.modifier.import\\\",\\\"punctuation.section.embedded.begin.tsx\\\",\\\"punctuation.section.embedded.end.tsx\\\",\\\"punctuation.section.embedded.begin.jsx\\\",\\\"punctuation.section.embedded.end.jsx\\\",\\\"punctuation.separator.list.comma.css\\\",\\\"constant.language.empty-list.haskell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6f6f4\\\"}},{\\\"scope\\\":[\\\"source.shell variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#bf9eee\\\"}},{\\\"scope\\\":[\\\"meta.scope.prerequisites.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"meta.attribute-selector.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e7ee98\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.attribute-selector.end.bracket.square.scss\\\",\\\"punctuation.definition.attribute-selector.begin.bracket.square.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6f6f4\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor.haskell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7b7f8b\\\"}},{\\\"scope\\\":[\\\"log.error\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ee6666\\\"}},{\\\"scope\\\":[\\\"log.warning\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e7ee98\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: everforest-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#a7c080d0\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#a7c080\\\",\\\"activityBar.background\\\":\\\"#2d353b\\\",\\\"activityBar.border\\\":\\\"#2d353b\\\",\\\"activityBar.dropBackground\\\":\\\"#2d353b\\\",\\\"activityBar.foreground\\\":\\\"#d3c6aa\\\",\\\"activityBar.inactiveForeground\\\":\\\"#859289\\\",\\\"activityBarBadge.background\\\":\\\"#a7c080\\\",\\\"activityBarBadge.foreground\\\":\\\"#2d353b\\\",\\\"badge.background\\\":\\\"#a7c080\\\",\\\"badge.foreground\\\":\\\"#2d353b\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#d3c6aa\\\",\\\"breadcrumb.focusForeground\\\":\\\"#d3c6aa\\\",\\\"breadcrumb.foreground\\\":\\\"#859289\\\",\\\"button.background\\\":\\\"#a7c080\\\",\\\"button.foreground\\\":\\\"#2d353b\\\",\\\"button.hoverBackground\\\":\\\"#a7c080d0\\\",\\\"button.secondaryBackground\\\":\\\"#3d484d\\\",\\\"button.secondaryForeground\\\":\\\"#d3c6aa\\\",\\\"button.secondaryHoverBackground\\\":\\\"#475258\\\",\\\"charts.blue\\\":\\\"#7fbbb3\\\",\\\"charts.foreground\\\":\\\"#d3c6aa\\\",\\\"charts.green\\\":\\\"#a7c080\\\",\\\"charts.orange\\\":\\\"#e69875\\\",\\\"charts.purple\\\":\\\"#d699b6\\\",\\\"charts.red\\\":\\\"#e67e80\\\",\\\"charts.yellow\\\":\\\"#dbbc7f\\\",\\\"checkbox.background\\\":\\\"#2d353b\\\",\\\"checkbox.border\\\":\\\"#4f585e\\\",\\\"checkbox.foreground\\\":\\\"#e69875\\\",\\\"debugConsole.errorForeground\\\":\\\"#e67e80\\\",\\\"debugConsole.infoForeground\\\":\\\"#a7c080\\\",\\\"debugConsole.sourceForeground\\\":\\\"#d699b6\\\",\\\"debugConsole.warningForeground\\\":\\\"#dbbc7f\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#83c092\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#7fbbb3\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#da6362\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#e67e80\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#e67e80\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#9aa79d\\\",\\\"debugIcon.continueForeground\\\":\\\"#7fbbb3\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#d699b6\\\",\\\"debugIcon.pauseForeground\\\":\\\"#dbbc7f\\\",\\\"debugIcon.restartForeground\\\":\\\"#83c092\\\",\\\"debugIcon.startForeground\\\":\\\"#83c092\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#7fbbb3\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#7fbbb3\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#7fbbb3\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#7fbbb3\\\",\\\"debugIcon.stopForeground\\\":\\\"#e67e80\\\",\\\"debugTokenExpression.boolean\\\":\\\"#d699b6\\\",\\\"debugTokenExpression.error\\\":\\\"#e67e80\\\",\\\"debugTokenExpression.name\\\":\\\"#7fbbb3\\\",\\\"debugTokenExpression.number\\\":\\\"#d699b6\\\",\\\"debugTokenExpression.string\\\":\\\"#dbbc7f\\\",\\\"debugTokenExpression.value\\\":\\\"#a7c080\\\",\\\"debugToolBar.background\\\":\\\"#2d353b\\\",\\\"descriptionForeground\\\":\\\"#859289\\\",\\\"diffEditor.diagonalFill\\\":\\\"#4f585e\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#569d7930\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#da636230\\\",\\\"dropdown.background\\\":\\\"#2d353b\\\",\\\"dropdown.border\\\":\\\"#4f585e\\\",\\\"dropdown.foreground\\\":\\\"#9aa79d\\\",\\\"editor.background\\\":\\\"#2d353b\\\",\\\"editor.findMatchBackground\\\":\\\"#d77f4840\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#899c4040\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#47525860\\\",\\\"editor.foldBackground\\\":\\\"#4f585e80\\\",\\\"editor.foreground\\\":\\\"#d3c6aa\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#475258b0\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#47525860\\\",\\\"editor.lineHighlightBackground\\\":\\\"#3d484d90\\\",\\\"editor.lineHighlightBorder\\\":\\\"#4f585e00\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#3d484d80\\\",\\\"editor.selectionBackground\\\":\\\"#475258c0\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#47525860\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#899c4040\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#2d353b\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#3d484d\\\",\\\"editor.symbolHighlightBackground\\\":\\\"#5a93a240\\\",\\\"editor.wordHighlightBackground\\\":\\\"#47525858\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#475258b0\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#e67e80\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#dbbc7f\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#a7c080\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#7fbbb3\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#e69875\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d699b6\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#859289\\\",\\\"editorBracketMatch.background\\\":\\\"#4f585e\\\",\\\"editorBracketMatch.border\\\":\\\"#2d353b00\\\",\\\"editorCodeLens.foreground\\\":\\\"#7f897da0\\\",\\\"editorCursor.foreground\\\":\\\"#d3c6aa\\\",\\\"editorError.background\\\":\\\"#da636200\\\",\\\"editorError.foreground\\\":\\\"#da6362\\\",\\\"editorGhostText.background\\\":\\\"#2d353b00\\\",\\\"editorGhostText.foreground\\\":\\\"#7f897da0\\\",\\\"editorGroup.border\\\":\\\"#21272b\\\",\\\"editorGroup.dropBackground\\\":\\\"#4f585e60\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#2d353b\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#2d353b\\\",\\\"editorGutter.addedBackground\\\":\\\"#899c40a0\\\",\\\"editorGutter.background\\\":\\\"#2d353b00\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#7f897d\\\",\\\"editorGutter.deletedBackground\\\":\\\"#da6362a0\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#5a93a2a0\\\",\\\"editorHint.foreground\\\":\\\"#b87b9d\\\",\\\"editorHoverWidget.background\\\":\\\"#343f44\\\",\\\"editorHoverWidget.border\\\":\\\"#475258\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#9aa79d50\\\",\\\"editorIndentGuide.background\\\":\\\"#9aa79d20\\\",\\\"editorInfo.background\\\":\\\"#5a93a200\\\",\\\"editorInfo.foreground\\\":\\\"#5a93a2\\\",\\\"editorInlayHint.background\\\":\\\"#2d353b00\\\",\\\"editorInlayHint.foreground\\\":\\\"#7f897da0\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#2d353b00\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#7f897da0\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#2d353b00\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#7f897da0\\\",\\\"editorLightBulb.foreground\\\":\\\"#dbbc7f\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#83c092\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#9aa79de0\\\",\\\"editorLineNumber.foreground\\\":\\\"#7f897da0\\\",\\\"editorLink.activeForeground\\\":\\\"#a7c080\\\",\\\"editorMarkerNavigation.background\\\":\\\"#343f44\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#da636280\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#5a93a280\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#bf983d80\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#899c40a0\\\",\\\"editorOverviewRuler.border\\\":\\\"#2d353b00\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#859289\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#5a93a2\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#da6362a0\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#e67e80\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#569d79\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#569d79\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#d699b6\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#5a93a2a0\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#569d79\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#569d79\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#dbbc7f\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#4f585e\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#4f585e\\\",\\\"editorRuler.foreground\\\":\\\"#475258a0\\\",\\\"editorSuggestWidget.background\\\":\\\"#3d484d\\\",\\\"editorSuggestWidget.border\\\":\\\"#3d484d\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#d3c6aa\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#a7c080\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#475258\\\",\\\"editorUnnecessaryCode.border\\\":\\\"#2d353b\\\",\\\"editorUnnecessaryCode.opacity\\\":\\\"#00000080\\\",\\\"editorWarning.background\\\":\\\"#bf983d00\\\",\\\"editorWarning.foreground\\\":\\\"#bf983d\\\",\\\"editorWhitespace.foreground\\\":\\\"#475258\\\",\\\"editorWidget.background\\\":\\\"#2d353b\\\",\\\"editorWidget.border\\\":\\\"#4f585e\\\",\\\"editorWidget.foreground\\\":\\\"#d3c6aa\\\",\\\"errorForeground\\\":\\\"#e67e80\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#a7c080\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#2d353b\\\",\\\"extensionButton.prominentBackground\\\":\\\"#a7c080\\\",\\\"extensionButton.prominentForeground\\\":\\\"#2d353b\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#a7c080d0\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#e69875\\\",\\\"extensionIcon.starForeground\\\":\\\"#83c092\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#a7c080\\\",\\\"focusBorder\\\":\\\"#2d353b00\\\",\\\"foreground\\\":\\\"#9aa79d\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#a7c080a0\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#d699b6a0\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#e67e80a0\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#4f585e\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#7fbbb3a0\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#83c092a0\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#83c092a0\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#e69875a0\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#dbbc7fa0\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#e67e80\\\",\\\"gitlens.decorations.addedForegroundColor\\\":\\\"#a7c080\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#83c092\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#e69875\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#dbbc7f\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#e67e80\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#7fbbb3\\\",\\\"gitlens.decorations.branchUpToDateForegroundColor\\\":\\\"#d3c6aa\\\",\\\"gitlens.decorations.copiedForegroundColor\\\":\\\"#d699b6\\\",\\\"gitlens.decorations.deletedForegroundColor\\\":\\\"#e67e80\\\",\\\"gitlens.decorations.ignoredForegroundColor\\\":\\\"#9aa79d\\\",\\\"gitlens.decorations.modifiedForegroundColor\\\":\\\"#7fbbb3\\\",\\\"gitlens.decorations.renamedForegroundColor\\\":\\\"#d699b6\\\",\\\"gitlens.decorations.untrackedForegroundColor\\\":\\\"#dbbc7f\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#2d353b\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#d3c6aa\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#7fbbb3\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#343f44\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#a7c080\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#d699b6\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#83c092\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#859289\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#dbbc7f\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#e69875\\\",\\\"gitlens.unpushlishedChangesIconColor\\\":\\\"#7fbbb3\\\",\\\"icon.foreground\\\":\\\"#83c092\\\",\\\"imagePreview.border\\\":\\\"#2d353b\\\",\\\"input.background\\\":\\\"#2d353b00\\\",\\\"input.border\\\":\\\"#4f585e\\\",\\\"input.foreground\\\":\\\"#d3c6aa\\\",\\\"input.placeholderForeground\\\":\\\"#7f897d\\\",\\\"inputOption.activeBorder\\\":\\\"#83c092\\\",\\\"inputValidation.errorBackground\\\":\\\"#da6362\\\",\\\"inputValidation.errorBorder\\\":\\\"#e67e80\\\",\\\"inputValidation.errorForeground\\\":\\\"#d3c6aa\\\",\\\"inputValidation.infoBackground\\\":\\\"#5a93a2\\\",\\\"inputValidation.infoBorder\\\":\\\"#7fbbb3\\\",\\\"inputValidation.infoForeground\\\":\\\"#d3c6aa\\\",\\\"inputValidation.warningBackground\\\":\\\"#bf983d\\\",\\\"inputValidation.warningBorder\\\":\\\"#dbbc7f\\\",\\\"inputValidation.warningForeground\\\":\\\"#d3c6aa\\\",\\\"issues.closed\\\":\\\"#e67e80\\\",\\\"issues.open\\\":\\\"#83c092\\\",\\\"keybindingLabel.background\\\":\\\"#2d353b00\\\",\\\"keybindingLabel.border\\\":\\\"#272e33\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#21272b\\\",\\\"keybindingLabel.foreground\\\":\\\"#d3c6aa\\\",\\\"keybindingTable.headerBackground\\\":\\\"#3d484d\\\",\\\"keybindingTable.rowsBackground\\\":\\\"#343f44\\\",\\\"list.activeSelectionBackground\\\":\\\"#47525880\\\",\\\"list.activeSelectionForeground\\\":\\\"#d3c6aa\\\",\\\"list.dropBackground\\\":\\\"#343f4480\\\",\\\"list.errorForeground\\\":\\\"#e67e80\\\",\\\"list.focusBackground\\\":\\\"#47525880\\\",\\\"list.focusForeground\\\":\\\"#d3c6aa\\\",\\\"list.highlightForeground\\\":\\\"#a7c080\\\",\\\"list.hoverBackground\\\":\\\"#2d353b00\\\",\\\"list.hoverForeground\\\":\\\"#d3c6aa\\\",\\\"list.inactiveFocusBackground\\\":\\\"#47525860\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#47525880\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#9aa79d\\\",\\\"list.invalidItemForeground\\\":\\\"#da6362\\\",\\\"list.warningForeground\\\":\\\"#dbbc7f\\\",\\\"menu.background\\\":\\\"#2d353b\\\",\\\"menu.foreground\\\":\\\"#9aa79d\\\",\\\"menu.selectionBackground\\\":\\\"#343f44\\\",\\\"menu.selectionForeground\\\":\\\"#d3c6aa\\\",\\\"menubar.selectionBackground\\\":\\\"#2d353b\\\",\\\"menubar.selectionBorder\\\":\\\"#2d353b\\\",\\\"merge.border\\\":\\\"#2d353b00\\\",\\\"merge.currentContentBackground\\\":\\\"#5a93a240\\\",\\\"merge.currentHeaderBackground\\\":\\\"#5a93a280\\\",\\\"merge.incomingContentBackground\\\":\\\"#569d7940\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#569d7980\\\",\\\"minimap.errorHighlight\\\":\\\"#da636280\\\",\\\"minimap.findMatchHighlight\\\":\\\"#569d7960\\\",\\\"minimap.selectionHighlight\\\":\\\"#4f585ef0\\\",\\\"minimap.warningHighlight\\\":\\\"#bf983d80\\\",\\\"minimapGutter.addedBackground\\\":\\\"#899c40a0\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#da6362a0\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#5a93a2a0\\\",\\\"notebook.cellBorderColor\\\":\\\"#4f585e\\\",\\\"notebook.cellHoverBackground\\\":\\\"#2d353b\\\",\\\"notebook.cellStatusBarItemHoverBackground\\\":\\\"#343f44\\\",\\\"notebook.cellToolbarSeparator\\\":\\\"#4f585e\\\",\\\"notebook.focusedCellBackground\\\":\\\"#2d353b\\\",\\\"notebook.focusedCellBorder\\\":\\\"#4f585e\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#4f585e\\\",\\\"notebook.focusedRowBorder\\\":\\\"#4f585e\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#4f585e\\\",\\\"notebook.outputContainerBackgroundColor\\\":\\\"#272e33\\\",\\\"notebook.selectedCellBorder\\\":\\\"#4f585e\\\",\\\"notebookStatusErrorIcon.foreground\\\":\\\"#e67e80\\\",\\\"notebookStatusRunningIcon.foreground\\\":\\\"#7fbbb3\\\",\\\"notebookStatusSuccessIcon.foreground\\\":\\\"#a7c080\\\",\\\"notificationCenterHeader.background\\\":\\\"#3d484d\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#d3c6aa\\\",\\\"notificationLink.foreground\\\":\\\"#a7c080\\\",\\\"notifications.background\\\":\\\"#2d353b\\\",\\\"notifications.foreground\\\":\\\"#d3c6aa\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#e67e80\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#7fbbb3\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#dbbc7f\\\",\\\"panel.background\\\":\\\"#2d353b\\\",\\\"panel.border\\\":\\\"#2d353b\\\",\\\"panelInput.border\\\":\\\"#4f585e\\\",\\\"panelSection.border\\\":\\\"#21272b\\\",\\\"panelSectionHeader.background\\\":\\\"#2d353b\\\",\\\"panelTitle.activeBorder\\\":\\\"#a7c080d0\\\",\\\"panelTitle.activeForeground\\\":\\\"#d3c6aa\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#859289\\\",\\\"peekView.border\\\":\\\"#475258\\\",\\\"peekViewEditor.background\\\":\\\"#343f44\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#bf983d50\\\",\\\"peekViewEditorGutter.background\\\":\\\"#343f44\\\",\\\"peekViewResult.background\\\":\\\"#343f44\\\",\\\"peekViewResult.fileForeground\\\":\\\"#d3c6aa\\\",\\\"peekViewResult.lineForeground\\\":\\\"#9aa79d\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#bf983d50\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#569d7950\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#d3c6aa\\\",\\\"peekViewTitle.background\\\":\\\"#475258\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#d3c6aa\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#a7c080\\\",\\\"pickerGroup.border\\\":\\\"#a7c0801a\\\",\\\"pickerGroup.foreground\\\":\\\"#d3c6aa\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#e69875\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#e67e80\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#7fbbb3\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#dbbc7f\\\",\\\"progressBar.background\\\":\\\"#a7c080\\\",\\\"quickInputTitle.background\\\":\\\"#343f44\\\",\\\"rust_analyzer.inlayHints.background\\\":\\\"#2d353b00\\\",\\\"rust_analyzer.inlayHints.foreground\\\":\\\"#7f897da0\\\",\\\"rust_analyzer.syntaxTreeBorder\\\":\\\"#e67e80\\\",\\\"sash.hoverBorder\\\":\\\"#475258\\\",\\\"scrollbar.shadow\\\":\\\"#00000070\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#9aa79d\\\",\\\"scrollbarSlider.background\\\":\\\"#4f585e80\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#4f585e\\\",\\\"selection.background\\\":\\\"#475258e0\\\",\\\"settings.checkboxBackground\\\":\\\"#2d353b\\\",\\\"settings.checkboxBorder\\\":\\\"#4f585e\\\",\\\"settings.checkboxForeground\\\":\\\"#e69875\\\",\\\"settings.dropdownBackground\\\":\\\"#2d353b\\\",\\\"settings.dropdownBorder\\\":\\\"#4f585e\\\",\\\"settings.dropdownForeground\\\":\\\"#83c092\\\",\\\"settings.focusedRowBackground\\\":\\\"#343f44\\\",\\\"settings.headerForeground\\\":\\\"#9aa79d\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#7f897d\\\",\\\"settings.numberInputBackground\\\":\\\"#2d353b\\\",\\\"settings.numberInputBorder\\\":\\\"#4f585e\\\",\\\"settings.numberInputForeground\\\":\\\"#d699b6\\\",\\\"settings.rowHoverBackground\\\":\\\"#343f44\\\",\\\"settings.textInputBackground\\\":\\\"#2d353b\\\",\\\"settings.textInputBorder\\\":\\\"#4f585e\\\",\\\"settings.textInputForeground\\\":\\\"#7fbbb3\\\",\\\"sideBar.background\\\":\\\"#2d353b\\\",\\\"sideBar.foreground\\\":\\\"#859289\\\",\\\"sideBarSectionHeader.background\\\":\\\"#2d353b00\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#9aa79d\\\",\\\"sideBarTitle.foreground\\\":\\\"#9aa79d\\\",\\\"statusBar.background\\\":\\\"#2d353b\\\",\\\"statusBar.border\\\":\\\"#2d353b\\\",\\\"statusBar.debuggingBackground\\\":\\\"#2d353b\\\",\\\"statusBar.debuggingForeground\\\":\\\"#e69875\\\",\\\"statusBar.foreground\\\":\\\"#9aa79d\\\",\\\"statusBar.noFolderBackground\\\":\\\"#2d353b\\\",\\\"statusBar.noFolderBorder\\\":\\\"#2d353b\\\",\\\"statusBar.noFolderForeground\\\":\\\"#9aa79d\\\",\\\"statusBarItem.activeBackground\\\":\\\"#47525870\\\",\\\"statusBarItem.errorBackground\\\":\\\"#2d353b\\\",\\\"statusBarItem.errorForeground\\\":\\\"#e67e80\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#475258a0\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#2d353b\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#d3c6aa\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#475258a0\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#2d353b\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#9aa79d\\\",\\\"statusBarItem.warningBackground\\\":\\\"#2d353b\\\",\\\"statusBarItem.warningForeground\\\":\\\"#dbbc7f\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#7fbbb3\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#d699b6\\\",\\\"symbolIcon.classForeground\\\":\\\"#dbbc7f\\\",\\\"symbolIcon.colorForeground\\\":\\\"#d3c6aa\\\",\\\"symbolIcon.constantForeground\\\":\\\"#83c092\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#d699b6\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#d699b6\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#83c092\\\",\\\"symbolIcon.eventForeground\\\":\\\"#dbbc7f\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#d3c6aa\\\",\\\"symbolIcon.fileForeground\\\":\\\"#d3c6aa\\\",\\\"symbolIcon.folderForeground\\\":\\\"#d3c6aa\\\",\\\"symbolIcon.functionForeground\\\":\\\"#a7c080\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#dbbc7f\\\",\\\"symbolIcon.keyForeground\\\":\\\"#a7c080\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#e67e80\\\",\\\"symbolIcon.methodForeground\\\":\\\"#a7c080\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#d699b6\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#d699b6\\\",\\\"symbolIcon.nullForeground\\\":\\\"#83c092\\\",\\\"symbolIcon.numberForeground\\\":\\\"#d699b6\\\",\\\"symbolIcon.objectForeground\\\":\\\"#d699b6\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#e69875\\\",\\\"symbolIcon.packageForeground\\\":\\\"#d699b6\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#83c092\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#7fbbb3\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#d3c6aa\\\",\\\"symbolIcon.stringForeground\\\":\\\"#a7c080\\\",\\\"symbolIcon.structForeground\\\":\\\"#dbbc7f\\\",\\\"symbolIcon.textForeground\\\":\\\"#d3c6aa\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#83c092\\\",\\\"symbolIcon.unitForeground\\\":\\\"#d3c6aa\\\",\\\"symbolIcon.variableForeground\\\":\\\"#7fbbb3\\\",\\\"tab.activeBackground\\\":\\\"#2d353b\\\",\\\"tab.activeBorder\\\":\\\"#a7c080d0\\\",\\\"tab.activeForeground\\\":\\\"#d3c6aa\\\",\\\"tab.border\\\":\\\"#2d353b\\\",\\\"tab.hoverBackground\\\":\\\"#2d353b\\\",\\\"tab.hoverForeground\\\":\\\"#d3c6aa\\\",\\\"tab.inactiveBackground\\\":\\\"#2d353b\\\",\\\"tab.inactiveForeground\\\":\\\"#7f897d\\\",\\\"tab.lastPinnedBorder\\\":\\\"#a7c080d0\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#859289\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#9aa79d\\\",\\\"tab.unfocusedHoverForeground\\\":\\\"#d3c6aa\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#7f897d\\\",\\\"terminal.ansiBlack\\\":\\\"#343f44\\\",\\\"terminal.ansiBlue\\\":\\\"#7fbbb3\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#859289\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7fbbb3\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#83c092\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#a7c080\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d699b6\\\",\\\"terminal.ansiBrightRed\\\":\\\"#e67e80\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#d3c6aa\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#dbbc7f\\\",\\\"terminal.ansiCyan\\\":\\\"#83c092\\\",\\\"terminal.ansiGreen\\\":\\\"#a7c080\\\",\\\"terminal.ansiMagenta\\\":\\\"#d699b6\\\",\\\"terminal.ansiRed\\\":\\\"#e67e80\\\",\\\"terminal.ansiWhite\\\":\\\"#d3c6aa\\\",\\\"terminal.ansiYellow\\\":\\\"#dbbc7f\\\",\\\"terminal.foreground\\\":\\\"#d3c6aa\\\",\\\"terminalCursor.foreground\\\":\\\"#d3c6aa\\\",\\\"testing.iconErrored\\\":\\\"#e67e80\\\",\\\"testing.iconFailed\\\":\\\"#e67e80\\\",\\\"testing.iconPassed\\\":\\\"#83c092\\\",\\\"testing.iconQueued\\\":\\\"#7fbbb3\\\",\\\"testing.iconSkipped\\\":\\\"#d699b6\\\",\\\"testing.iconUnset\\\":\\\"#dbbc7f\\\",\\\"testing.runAction\\\":\\\"#83c092\\\",\\\"textBlockQuote.background\\\":\\\"#272e33\\\",\\\"textBlockQuote.border\\\":\\\"#475258\\\",\\\"textCodeBlock.background\\\":\\\"#272e33\\\",\\\"textLink.activeForeground\\\":\\\"#a7c080c0\\\",\\\"textLink.foreground\\\":\\\"#a7c080\\\",\\\"textPreformat.foreground\\\":\\\"#dbbc7f\\\",\\\"titleBar.activeBackground\\\":\\\"#2d353b\\\",\\\"titleBar.activeForeground\\\":\\\"#9aa79d\\\",\\\"titleBar.border\\\":\\\"#2d353b\\\",\\\"titleBar.inactiveBackground\\\":\\\"#2d353b\\\",\\\"titleBar.inactiveForeground\\\":\\\"#7f897d\\\",\\\"toolbar.hoverBackground\\\":\\\"#343f44\\\",\\\"tree.indentGuidesStroke\\\":\\\"#7f897d\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#272e33\\\",\\\"welcomePage.buttonBackground\\\":\\\"#343f44\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#343f44a0\\\",\\\"welcomePage.progress.foreground\\\":\\\"#a7c080\\\",\\\"welcomePage.tileHoverBackground\\\":\\\"#343f44\\\",\\\"widget.shadow\\\":\\\"#00000070\\\"},\\\"displayName\\\":\\\"Everforest Dark\\\",\\\"name\\\":\\\"everforest-dark\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class:python\\\":\\\"#83c092\\\",\\\"class:typescript\\\":\\\"#83c092\\\",\\\"class:typescriptreact\\\":\\\"#83c092\\\",\\\"enum:typescript\\\":\\\"#d699b6\\\",\\\"enum:typescriptreact\\\":\\\"#d699b6\\\",\\\"enumMember:typescript\\\":\\\"#7fbbb3\\\",\\\"enumMember:typescriptreact\\\":\\\"#7fbbb3\\\",\\\"interface:typescript\\\":\\\"#83c092\\\",\\\"interface:typescriptreact\\\":\\\"#83c092\\\",\\\"intrinsic:python\\\":\\\"#d699b6\\\",\\\"macro:rust\\\":\\\"#83c092\\\",\\\"memberOperatorOverload\\\":\\\"#e69875\\\",\\\"module:python\\\":\\\"#7fbbb3\\\",\\\"namespace:rust\\\":\\\"#d699b6\\\",\\\"namespace:typescript\\\":\\\"#d699b6\\\",\\\"namespace:typescriptreact\\\":\\\"#d699b6\\\",\\\"operatorOverload\\\":\\\"#e69875\\\",\\\"property.defaultLibrary:javascript\\\":\\\"#d699b6\\\",\\\"property.defaultLibrary:javascriptreact\\\":\\\"#d699b6\\\",\\\"property.defaultLibrary:typescript\\\":\\\"#d699b6\\\",\\\"property.defaultLibrary:typescriptreact\\\":\\\"#d699b6\\\",\\\"selfKeyword:rust\\\":\\\"#d699b6\\\",\\\"variable.defaultLibrary:javascript\\\":\\\"#d699b6\\\",\\\"variable.defaultLibrary:javascriptreact\\\":\\\"#d699b6\\\",\\\"variable.defaultLibrary:typescript\\\":\\\"#d699b6\\\",\\\"variable.defaultLibrary:typescriptreact\\\":\\\"#d699b6\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":\\\"keyword, storage.type.function, storage.type.class, storage.type.enum, storage.type.interface, storage.type.property, keyword.operator.new, keyword.operator.expression, keyword.operator.new, keyword.operator.delete, storage.type.extends\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"keyword.other.debugger\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"storage, modifier, keyword.var, entity.name.tag, keyword.control.case, keyword.control.switch\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"string, punctuation.definition.string.end, punctuation.definition.string.begin, punctuation.definition.string.template.begin, punctuation.definition.string.template.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"constant.character.escape, punctuation.quasi.element, punctuation.definition.template-expression, punctuation.section.embedded, storage.type.format, constant.other.placeholder, constant.other.placeholder, variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function, meta.function, meta.function-call, meta.definition.method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule, keyword.control.import, keyword.control.export, storage.type.namespace, punctuation.decorator, keyword.control.directive, keyword.preprocessor, punctuation.definition.preprocessor, punctuation.definition.directive, keyword.other.import, keyword.other.package, entity.name.type.namespace, entity.name.scope-resolution, keyword.other.using, keyword.package, keyword.import, keyword.map\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"entity.name.label, constant.other.label\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"support.module, support.node, support.other.module, support.type.object.module, entity.name.type.module, entity.name.type.class.module, keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"storage.type, support.type, entity.name.type, keyword.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"entity.name.type.class, support.class, entity.name.class, entity.other.inherited-class, storage.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.name.function.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"variable.language.this, variable.language.self, variable.language.super, keyword.other.this, variable.language.special, constant.language.null, constant.language.undefined, constant.language.nan\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"constant.language, support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"variable, support.variable, meta.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"variable.object.property, support.variable.property, variable.other.property, variable.other.object.property, variable.other.enummember, variable.other.member, meta.object-literal.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"punctuation, meta.brace, meta.delimiter, meta.bracket\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"heading.1.markdown, markup.heading.setext.1.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"heading.2.markdown, markup.heading.setext.2.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"heading.3.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"heading.4.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"heading.5.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"heading.6.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown, constant.other.reference.link.markdown, string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"markup.underline.link.image.markdown, markup.underline.link.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.italic.markdown, punctuation.definition.quote.begin.markdown, punctuation.definition.metadata.markdown, punctuation.separator.key-value.markdown, punctuation.definition.constant.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown, punctuation.definition.constant.begin.markdown, punctuation.definition.constant.end.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\"}},{\\\"scope\\\":\\\"punctuation.definition.markdown, punctuation.definition.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown, markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.restructuredtext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"punctuation.definition.field.restructuredtext, punctuation.separator.key-value.restructuredtext, punctuation.definition.directive.restructuredtext, punctuation.definition.constant.restructuredtext, punctuation.definition.italic.restructuredtext, punctuation.definition.table.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.restructuredtext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"entity.name.tag.restructuredtext, punctuation.definition.link.restructuredtext, punctuation.definition.raw.restructuredtext, punctuation.section.raw.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"constant.other.footnote.link.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"support.directive.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"entity.name.directive.restructuredtext, markup.raw.restructuredtext, markup.raw.inner.restructuredtext, string.other.link.title.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"punctuation.definition.function.latex, punctuation.definition.function.tex, punctuation.definition.keyword.latex, constant.character.newline.tex, punctuation.definition.keyword.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"support.function.be.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"support.function.section.latex, keyword.control.table.cell.latex, keyword.control.table.newline.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"support.class.latex, variable.parameter.latex, variable.parameter.function.latex, variable.parameter.definition.label.latex, constant.other.reference.label.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"keyword.control.preamble.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.separator.namespace.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"entity.name.tag.html, entity.name.tag.xml, entity.name.tag.localname.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.html, entity.other.attribute-name.xml, entity.other.attribute-name.localname.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.double.html, string.quoted.single.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.separator.key-value.html, punctuation.definition.string.begin.xml, punctuation.definition.string.end.xml, string.quoted.double.xml, string.quoted.single.xml, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.definition.tag.xml, meta.tag.xml, meta.tag.preprocessor.xml, meta.tag.other.html, meta.tag.block.any.html, meta.tag.inline.any.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"variable.language.documentroot.xml, meta.tag.sgml.doctype.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"storage.type.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.double.proto.syntax, string.quoted.single.proto.syntax, string.quoted.double.proto, string.quoted.single.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.class.proto, entity.name.class.message.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css, punctuation.separator.list.comma.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.single.css, string.quoted.double.css, support.constant.property-value.css, meta.property-value.css, punctuation.definition.string.begin.css, punctuation.definition.string.end.css, constant.numeric.css, support.constant.font-name.css, variable.parameter.keyframe-list.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"support.type.vendored.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"entity.name.tag.css, entity.other.keyframe-offset.css, punctuation.definition.keyword.css, keyword.control.at-rule.keyframes.css, meta.selector.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.scss, punctuation.separator.key-value.scss, punctuation.terminator.rule.scss, punctuation.separator.list.comma.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule.keyframes.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"punctuation.definition.interpolation.begin.bracket.curly.scss, punctuation.definition.interpolation.end.bracket.curly.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin.scss, punctuation.definition.string.end.scss, string.quoted.double.scss, string.quoted.single.scss, constant.character.css.sass, meta.property-value.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule.include.scss, keyword.control.at-rule.use.scss, keyword.control.at-rule.mixin.scss, keyword.control.at-rule.extend.scss, keyword.control.at-rule.import.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"meta.function.stylus\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"entity.name.function.stylus\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.unquoted.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"punctuation.accessor.js, punctuation.separator.key-value.js, punctuation.separator.label.js, keyword.operator.accessor.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"punctuation.definition.block.tag.jsdoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"storage.type.js, storage.type.function.arrow.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"JSXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.jsx, entity.other.attribute-name.jsx, punctuation.definition.tag.begin.js.jsx, punctuation.definition.tag.end.js.jsx, entity.other.attribute-name.js.jsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.annotation.ts, punctuation.accessor.ts, punctuation.separator.key-value.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.directive.ts, entity.other.attribute-name.directive.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.type.ts, entity.name.type.interface.ts, entity.other.inherited-class.ts, entity.name.type.alias.ts, entity.name.type.class.ts, entity.name.type.enum.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"storage.type.ts, storage.type.function.arrow.ts, storage.type.type.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"keyword.control.import.ts, keyword.control.export.ts, storage.type.namespace.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.annotation.tsx, punctuation.accessor.tsx, punctuation.separator.key-value.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.directive.tsx, entity.other.attribute-name.directive.tsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx, entity.other.attribute-name.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.type.tsx, entity.name.type.interface.tsx, entity.other.inherited-class.tsx, entity.name.type.alias.tsx, entity.name.type.class.tsx, entity.name.type.enum.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"keyword.control.import.tsx, keyword.control.export.tsx, storage.type.namespace.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"storage.type.tsx, storage.type.function.arrow.tsx, storage.type.type.tsx, support.class.component.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"storage.type.function.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"meta.type-signature.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"keyword.other.double-colon.purescript, keyword.other.arrow.purescript, keyword.other.big-arrow.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"entity.name.function.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.single.purescript, string.quoted.double.purescript, punctuation.definition.string.begin.purescript, punctuation.definition.string.end.purescript, string.quoted.triple.purescript, entity.name.type.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"support.other.module.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.dot.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"storage.type.primitive.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"support.class.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"entity.name.function.dart, string.interpolated.single.dart, string.interpolated.double.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"variable.language.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"keyword.other.import.dart, storage.type.annotation.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"storage.type.function.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.tag.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"entity.name.tag.pug, storage.type.import.include.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"meta.function-call.c, storage.modifier.array.bracket.square.c, meta.function.definition.parameters.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"punctuation.separator.dot-access.c, constant.character.escape.line-continuation.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.include.c, punctuation.definition.directive.c, keyword.control.directive.pragma.c, keyword.control.directive.line.c, keyword.control.directive.define.c, keyword.control.directive.conditional.c, keyword.control.directive.diagnostic.error.c, keyword.control.directive.undef.c, keyword.control.directive.conditional.ifdef.c, keyword.control.directive.endif.c, keyword.control.directive.conditional.ifndef.c, keyword.control.directive.conditional.if.c, keyword.control.directive.else.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"punctuation.separator.pointer-access.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"variable.other.member.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"meta.function-call.cpp, storage.modifier.array.bracket.square.cpp, meta.function.definition.parameters.cpp, meta.body.function.definition.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"punctuation.separator.dot-access.cpp, constant.character.escape.line-continuation.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.include.cpp, punctuation.definition.directive.cpp, keyword.control.directive.pragma.cpp, keyword.control.directive.line.cpp, keyword.control.directive.define.cpp, keyword.control.directive.conditional.cpp, keyword.control.directive.diagnostic.error.cpp, keyword.control.directive.undef.cpp, keyword.control.directive.conditional.ifdef.cpp, keyword.control.directive.endif.cpp, keyword.control.directive.conditional.ifndef.cpp, keyword.control.directive.conditional.if.cpp, keyword.control.directive.else.cpp, storage.type.namespace.definition.cpp, keyword.other.using.directive.cpp, storage.type.struct.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"punctuation.separator.pointer-access.cpp, punctuation.section.angle-brackets.begin.template.call.cpp, punctuation.section.angle-brackets.end.template.call.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"variable.other.member.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"keyword.other.using.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"keyword.type.cs, constant.character.escape.cs, punctuation.definition.interpolation.begin.cs, punctuation.definition.interpolation.end.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.double.cs, string.quoted.single.cs, punctuation.definition.string.begin.cs, punctuation.definition.string.end.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"variable.other.object.property.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"keyword.symbol.fsharp, constant.language.unit.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"keyword.format.specifier.fsharp, entity.name.type.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.double.fsharp, string.quoted.single.fsharp, punctuation.definition.string.begin.fsharp, punctuation.definition.string.end.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.section.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"support.function.attribute.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.separator.java, punctuation.separator.period.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"keyword.other.import.java, keyword.other.package.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"storage.type.function.arrow.java, keyword.control.ternary.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"variable.other.property.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"variable.language.wildcard.java, storage.modifier.import.java, storage.type.annotation.java, punctuation.definition.annotation.java, storage.modifier.package.java, entity.name.type.module.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"keyword.other.import.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"storage.type.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"constant.language.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"entity.name.package.kotlin, storage.type.annotation.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.name.package.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"constant.language.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"entity.name.import.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"string.quoted.double.scala, string.quoted.single.scala, punctuation.definition.string.begin.scala, punctuation.definition.string.end.scala, string.quoted.double.interpolated.scala, string.quoted.single.interpolated.scala, string.quoted.triple.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.class, entity.other.inherited-class.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"keyword.declaration.stable.scala, keyword.other.arrow.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"keyword.other.import.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"keyword.operator.navigation.groovy, meta.method.body.java, meta.definition.method.groovy, meta.definition.method.signature.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"punctuation.separator.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"keyword.other.import.groovy, keyword.other.package.groovy, keyword.other.import.static.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"storage.type.def.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"variable.other.interpolated.groovy, meta.method.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.groovy, storage.modifier.package.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"storage.type.annotation.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"keyword.type.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"entity.name.package.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"keyword.import.go, keyword.package.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.name.type.mod.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"keyword.operator.path.rust, keyword.operator.member-access.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"support.constant.core.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"meta.attribute.rust, variable.language.rust, storage.type.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"meta.function-call.swift, support.function.any-method.swift\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"support.variable.swift\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"keyword.operator.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"storage.type.trait.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"constant.language.php, support.other.namespace.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"storage.type.modifier.access.control.public.cpp, storage.type.modifier.access.control.private.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"keyword.control.import.include.php, storage.type.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"punctuation.definition.decorator.python, punctuation.separator.period.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"keyword.control.import.python, keyword.control.import.from.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"constant.language.lua\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"entity.name.class.lua\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"meta.function.method.with-arguments.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"punctuation.separator.method.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"keyword.control.pseudo-method.ruby, storage.type.variable.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"keyword.other.special-method.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"keyword.control.module.ruby, punctuation.definition.constant.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"string.regexp.character-class.ruby,string.regexp.interpolated.ruby,punctuation.definition.character-class.ruby,string.regexp.group.ruby, punctuation.section.regexp.ruby, punctuation.definition.group.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"variable.other.constant.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"keyword.other.arrow.haskell, keyword.other.big-arrow.haskell, keyword.other.double-colon.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"storage.type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"constant.other.haskell, string.quoted.double.haskell, string.quoted.single.haskell, punctuation.definition.string.begin.haskell, punctuation.definition.string.end.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.function.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"entity.name.namespace, meta.preprocessor.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"keyword.control.import.julia, keyword.control.export.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"keyword.storage.modifier.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"keyword.other.period.elm\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"storage.type.elm\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"keyword.other.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"entity.name.function.r, variable.function.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"constant.language.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"entity.namespace.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.separator.module-function.erlang, punctuation.section.directive.begin.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.erlang, keyword.control.directive.define.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"entity.name.type.class.module.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.double.erlang, string.quoted.single.erlang, punctuation.definition.string.begin.erlang, punctuation.definition.string.end.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.export.erlang, keyword.control.directive.module.erlang, keyword.control.directive.import.erlang, keyword.control.directive.behaviour.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.module.elixir, punctuation.definition.variable.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"constant.language.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"keyword.control.module.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.name.type.value-signature.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"keyword.other.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"constant.language.variant.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"storage.type.sub.perl, storage.type.declare.routine.perl\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"meta.function.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"storage.type.function-type.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"keyword.constant.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.function.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"constant.keyword.clojure, support.variable.clojure, meta.definition.variable.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.global.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.name.function.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"meta.scope.if-block.shell, meta.scope.group.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"support.function.builtin.shell, entity.name.function.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell, string.quoted.single.shell, punctuation.definition.string.begin.shell, punctuation.definition.string.end.shell, string.unquoted.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"keyword.control.heredoc-token.shell, variable.other.normal.shell, punctuation.definition.variable.shell, variable.other.special.shell, variable.other.positional.shell, variable.other.bracket.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"support.function.builtin.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"support.function.unix.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"variable.other.normal.fish, punctuation.definition.variable.fish, variable.other.fixed.fish, variable.other.special.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"string.quoted.double.fish, punctuation.definition.string.end.fish, punctuation.definition.string.begin.fish, string.quoted.single.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"constant.character.escape.single.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"entity.name.function.powershell, support.function.attribute.powershell, support.function.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.single.powershell, string.quoted.double.powershell, punctuation.definition.string.begin.powershell, punctuation.definition.string.end.powershell, string.quoted.double.heredoc.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"variable.other.member.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3c6aa\\\"}},{\\\"scope\\\":\\\"keyword.type.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"entity.name.fragment.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.name.function.target.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"variable.other.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"string.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"storage.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.definition.map.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"storage.type.map.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"constant.character.map.viml, constant.character.map.key.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"constant.character.map.special.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"constant.language.tmux, constant.numeric.tmux\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"entity.name.function.package-manager.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"keyword.operator.flag.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.double.dockerfile, string.quoted.single.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"constant.character.escape.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"entity.name.type.base-image.dockerfile, entity.name.image.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"punctuation.definition.separator.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff, punctuation.definition.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"meta.diff.range.context, punctuation.definition.range.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"meta.diff.header.from-file\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff, punctuation.definition.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"markup.changed.diff, punctuation.definition.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"punctuation.definition.from-file.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini, punctuation.definition.entity.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e67e80\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"string.quoted.double.ini, string.quoted.single.ini, punctuation.definition.string.begin.ini, punctuation.definition.string.end.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"support.function.aggregate.sql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"string.quoted.single.sql, punctuation.definition.string.end.sql, punctuation.definition.string.begin.sql, string.quoted.double.sql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"support.type.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbbc7f\\\"}},{\\\"scope\\\":\\\"variable.parameter.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json, punctuation.separator.dictionary.key-value.json, punctuation.definition.string.begin.json, punctuation.definition.string.end.json, punctuation.separator.dictionary.pair.json, punctuation.separator.array.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859289\\\"}},{\\\"scope\\\":\\\"string.unquoted.plain.out.yaml, string.quoted.single.yaml, string.quoted.double.yaml, punctuation.definition.string.begin.yaml, punctuation.definition.string.end.yaml, string.unquoted.plain.in.yaml, string.unquoted.block.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"punctuation.definition.anchor.yaml, punctuation.definition.block.sequence.item.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83c092\\\"}},{\\\"scope\\\":\\\"keyword.key.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e69875\\\"}},{\\\"scope\\\":\\\"string.quoted.single.basic.line.toml, string.quoted.single.literal.line.toml, punctuation.definition.keyValuePair.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a7c080\\\"}},{\\\"scope\\\":\\\"constant.other.boolean.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fbbb3\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.table.toml, punctuation.definition.table.toml, entity.other.attribute-name.table.array.toml, punctuation.definition.table.array.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d699b6\\\"}},{\\\"scope\\\":\\\"comment, string.comment, punctuation.definition.comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#859289\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: everforest-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#93b259d0\\\",\\\"activityBar.activeFocusBorder\\\":\\\"#93b259\\\",\\\"activityBar.background\\\":\\\"#fdf6e3\\\",\\\"activityBar.border\\\":\\\"#fdf6e3\\\",\\\"activityBar.dropBackground\\\":\\\"#fdf6e3\\\",\\\"activityBar.foreground\\\":\\\"#5c6a72\\\",\\\"activityBar.inactiveForeground\\\":\\\"#939f91\\\",\\\"activityBarBadge.background\\\":\\\"#93b259\\\",\\\"activityBarBadge.foreground\\\":\\\"#fdf6e3\\\",\\\"badge.background\\\":\\\"#93b259\\\",\\\"badge.foreground\\\":\\\"#fdf6e3\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#5c6a72\\\",\\\"breadcrumb.focusForeground\\\":\\\"#5c6a72\\\",\\\"breadcrumb.foreground\\\":\\\"#939f91\\\",\\\"button.background\\\":\\\"#93b259\\\",\\\"button.foreground\\\":\\\"#fdf6e3\\\",\\\"button.hoverBackground\\\":\\\"#93b259d0\\\",\\\"button.secondaryBackground\\\":\\\"#efebd4\\\",\\\"button.secondaryForeground\\\":\\\"#5c6a72\\\",\\\"button.secondaryHoverBackground\\\":\\\"#e6e2cc\\\",\\\"charts.blue\\\":\\\"#3a94c5\\\",\\\"charts.foreground\\\":\\\"#5c6a72\\\",\\\"charts.green\\\":\\\"#8da101\\\",\\\"charts.orange\\\":\\\"#f57d26\\\",\\\"charts.purple\\\":\\\"#df69ba\\\",\\\"charts.red\\\":\\\"#f85552\\\",\\\"charts.yellow\\\":\\\"#dfa000\\\",\\\"checkbox.background\\\":\\\"#fdf6e3\\\",\\\"checkbox.border\\\":\\\"#e0dcc7\\\",\\\"checkbox.foreground\\\":\\\"#f57d26\\\",\\\"debugConsole.errorForeground\\\":\\\"#f85552\\\",\\\"debugConsole.infoForeground\\\":\\\"#8da101\\\",\\\"debugConsole.sourceForeground\\\":\\\"#df69ba\\\",\\\"debugConsole.warningForeground\\\":\\\"#dfa000\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#35a77c\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#f1706f\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f85552\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#f85552\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#879686\\\",\\\"debugIcon.continueForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#df69ba\\\",\\\"debugIcon.pauseForeground\\\":\\\"#dfa000\\\",\\\"debugIcon.restartForeground\\\":\\\"#35a77c\\\",\\\"debugIcon.startForeground\\\":\\\"#35a77c\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#3a94c5\\\",\\\"debugIcon.stopForeground\\\":\\\"#f85552\\\",\\\"debugTokenExpression.boolean\\\":\\\"#df69ba\\\",\\\"debugTokenExpression.error\\\":\\\"#f85552\\\",\\\"debugTokenExpression.name\\\":\\\"#3a94c5\\\",\\\"debugTokenExpression.number\\\":\\\"#df69ba\\\",\\\"debugTokenExpression.string\\\":\\\"#dfa000\\\",\\\"debugTokenExpression.value\\\":\\\"#8da101\\\",\\\"debugToolBar.background\\\":\\\"#fdf6e3\\\",\\\"descriptionForeground\\\":\\\"#939f91\\\",\\\"diffEditor.diagonalFill\\\":\\\"#e0dcc7\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#6ec39830\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f1706f30\\\",\\\"dropdown.background\\\":\\\"#fdf6e3\\\",\\\"dropdown.border\\\":\\\"#e0dcc7\\\",\\\"dropdown.foreground\\\":\\\"#879686\\\",\\\"editor.background\\\":\\\"#fdf6e3\\\",\\\"editor.findMatchBackground\\\":\\\"#f3945940\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#a4bb4a40\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#e6e2cc50\\\",\\\"editor.foldBackground\\\":\\\"#e0dcc780\\\",\\\"editor.foreground\\\":\\\"#5c6a72\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#e6e2cc90\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#e6e2cc50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#efebd470\\\",\\\"editor.lineHighlightBorder\\\":\\\"#e0dcc700\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#efebd480\\\",\\\"editor.selectionBackground\\\":\\\"#e6e2cca0\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#e6e2cc50\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#a4bb4a40\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#fdf6e3\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#efebd4\\\",\\\"editor.symbolHighlightBackground\\\":\\\"#6cb3c640\\\",\\\"editor.wordHighlightBackground\\\":\\\"#e6e2cc48\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#e6e2cc90\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#f85552\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#dfa000\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#8da101\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#3a94c5\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#f57d26\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#df69ba\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#939f91\\\",\\\"editorBracketMatch.background\\\":\\\"#e0dcc7\\\",\\\"editorBracketMatch.border\\\":\\\"#fdf6e300\\\",\\\"editorCodeLens.foreground\\\":\\\"#a4ad9ea0\\\",\\\"editorCursor.foreground\\\":\\\"#5c6a72\\\",\\\"editorError.background\\\":\\\"#f1706f00\\\",\\\"editorError.foreground\\\":\\\"#f1706f\\\",\\\"editorGhostText.background\\\":\\\"#fdf6e300\\\",\\\"editorGhostText.foreground\\\":\\\"#a4ad9ea0\\\",\\\"editorGroup.border\\\":\\\"#efebd4\\\",\\\"editorGroup.dropBackground\\\":\\\"#e0dcc760\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#fdf6e3\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#fdf6e3\\\",\\\"editorGutter.addedBackground\\\":\\\"#a4bb4aa0\\\",\\\"editorGutter.background\\\":\\\"#fdf6e300\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#a4ad9e\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f1706fa0\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#6cb3c6a0\\\",\\\"editorHint.foreground\\\":\\\"#e092be\\\",\\\"editorHoverWidget.background\\\":\\\"#f4f0d9\\\",\\\"editorHoverWidget.border\\\":\\\"#e6e2cc\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#87968650\\\",\\\"editorIndentGuide.background\\\":\\\"#87968620\\\",\\\"editorInfo.background\\\":\\\"#6cb3c600\\\",\\\"editorInfo.foreground\\\":\\\"#6cb3c6\\\",\\\"editorInlayHint.background\\\":\\\"#fdf6e300\\\",\\\"editorInlayHint.foreground\\\":\\\"#a4ad9ea0\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#fdf6e300\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#a4ad9ea0\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#fdf6e300\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#a4ad9ea0\\\",\\\"editorLightBulb.foreground\\\":\\\"#dfa000\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#35a77c\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#879686e0\\\",\\\"editorLineNumber.foreground\\\":\\\"#a4ad9ea0\\\",\\\"editorLink.activeForeground\\\":\\\"#8da101\\\",\\\"editorMarkerNavigation.background\\\":\\\"#f4f0d9\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#f1706f80\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#6cb3c680\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#e4b64980\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#a4bb4aa0\\\",\\\"editorOverviewRuler.border\\\":\\\"#fdf6e300\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#939f91\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#6cb3c6\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#f1706fa0\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#f85552\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#6ec398\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#6ec398\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#df69ba\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#6cb3c6a0\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#6ec398\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#6ec398\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#dfa000\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#e0dcc7\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#e0dcc7\\\",\\\"editorRuler.foreground\\\":\\\"#e6e2cca0\\\",\\\"editorSuggestWidget.background\\\":\\\"#efebd4\\\",\\\"editorSuggestWidget.border\\\":\\\"#efebd4\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#5c6a72\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#8da101\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#e6e2cc\\\",\\\"editorUnnecessaryCode.border\\\":\\\"#fdf6e3\\\",\\\"editorUnnecessaryCode.opacity\\\":\\\"#00000080\\\",\\\"editorWarning.background\\\":\\\"#e4b64900\\\",\\\"editorWarning.foreground\\\":\\\"#e4b649\\\",\\\"editorWhitespace.foreground\\\":\\\"#e6e2cc\\\",\\\"editorWidget.background\\\":\\\"#fdf6e3\\\",\\\"editorWidget.border\\\":\\\"#e0dcc7\\\",\\\"editorWidget.foreground\\\":\\\"#5c6a72\\\",\\\"errorForeground\\\":\\\"#f85552\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#93b259\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#fdf6e3\\\",\\\"extensionButton.prominentBackground\\\":\\\"#93b259\\\",\\\"extensionButton.prominentForeground\\\":\\\"#fdf6e3\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#93b259d0\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#f57d26\\\",\\\"extensionIcon.starForeground\\\":\\\"#35a77c\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#8da101\\\",\\\"focusBorder\\\":\\\"#fdf6e300\\\",\\\"foreground\\\":\\\"#879686\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#8da101a0\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#df69baa0\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f85552a0\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#e0dcc7\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#3a94c5a0\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#35a77ca0\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#35a77ca0\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#f57d26a0\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#dfa000a0\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#f85552\\\",\\\"gitlens.decorations.addedForegroundColor\\\":\\\"#8da101\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#35a77c\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#f57d26\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#dfa000\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#f85552\\\",\\\"gitlens.decorations.branchUnpublishedForegroundColor\\\":\\\"#3a94c5\\\",\\\"gitlens.decorations.branchUpToDateForegroundColor\\\":\\\"#5c6a72\\\",\\\"gitlens.decorations.copiedForegroundColor\\\":\\\"#df69ba\\\",\\\"gitlens.decorations.deletedForegroundColor\\\":\\\"#f85552\\\",\\\"gitlens.decorations.ignoredForegroundColor\\\":\\\"#879686\\\",\\\"gitlens.decorations.modifiedForegroundColor\\\":\\\"#3a94c5\\\",\\\"gitlens.decorations.renamedForegroundColor\\\":\\\"#df69ba\\\",\\\"gitlens.decorations.untrackedForegroundColor\\\":\\\"#dfa000\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#fdf6e3\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#5c6a72\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#3a94c5\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#f4f0d9\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#93b259\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#df69ba\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#35a77c\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#939f91\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#dfa000\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#f57d26\\\",\\\"gitlens.unpushlishedChangesIconColor\\\":\\\"#3a94c5\\\",\\\"icon.foreground\\\":\\\"#35a77c\\\",\\\"imagePreview.border\\\":\\\"#fdf6e3\\\",\\\"input.background\\\":\\\"#fdf6e300\\\",\\\"input.border\\\":\\\"#e0dcc7\\\",\\\"input.foreground\\\":\\\"#5c6a72\\\",\\\"input.placeholderForeground\\\":\\\"#a4ad9e\\\",\\\"inputOption.activeBorder\\\":\\\"#35a77c\\\",\\\"inputValidation.errorBackground\\\":\\\"#f1706f\\\",\\\"inputValidation.errorBorder\\\":\\\"#f85552\\\",\\\"inputValidation.errorForeground\\\":\\\"#5c6a72\\\",\\\"inputValidation.infoBackground\\\":\\\"#6cb3c6\\\",\\\"inputValidation.infoBorder\\\":\\\"#3a94c5\\\",\\\"inputValidation.infoForeground\\\":\\\"#5c6a72\\\",\\\"inputValidation.warningBackground\\\":\\\"#e4b649\\\",\\\"inputValidation.warningBorder\\\":\\\"#dfa000\\\",\\\"inputValidation.warningForeground\\\":\\\"#5c6a72\\\",\\\"issues.closed\\\":\\\"#f85552\\\",\\\"issues.open\\\":\\\"#35a77c\\\",\\\"keybindingLabel.background\\\":\\\"#fdf6e300\\\",\\\"keybindingLabel.border\\\":\\\"#f4f0d9\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#efebd4\\\",\\\"keybindingLabel.foreground\\\":\\\"#5c6a72\\\",\\\"keybindingTable.headerBackground\\\":\\\"#efebd4\\\",\\\"keybindingTable.rowsBackground\\\":\\\"#f4f0d9\\\",\\\"list.activeSelectionBackground\\\":\\\"#e6e2cc80\\\",\\\"list.activeSelectionForeground\\\":\\\"#5c6a72\\\",\\\"list.dropBackground\\\":\\\"#f4f0d980\\\",\\\"list.errorForeground\\\":\\\"#f85552\\\",\\\"list.focusBackground\\\":\\\"#e6e2cc80\\\",\\\"list.focusForeground\\\":\\\"#5c6a72\\\",\\\"list.highlightForeground\\\":\\\"#8da101\\\",\\\"list.hoverBackground\\\":\\\"#fdf6e300\\\",\\\"list.hoverForeground\\\":\\\"#5c6a72\\\",\\\"list.inactiveFocusBackground\\\":\\\"#e6e2cc60\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#e6e2cc80\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#879686\\\",\\\"list.invalidItemForeground\\\":\\\"#f1706f\\\",\\\"list.warningForeground\\\":\\\"#dfa000\\\",\\\"menu.background\\\":\\\"#fdf6e3\\\",\\\"menu.foreground\\\":\\\"#879686\\\",\\\"menu.selectionBackground\\\":\\\"#f4f0d9\\\",\\\"menu.selectionForeground\\\":\\\"#5c6a72\\\",\\\"menubar.selectionBackground\\\":\\\"#fdf6e3\\\",\\\"menubar.selectionBorder\\\":\\\"#fdf6e3\\\",\\\"merge.border\\\":\\\"#fdf6e300\\\",\\\"merge.currentContentBackground\\\":\\\"#6cb3c640\\\",\\\"merge.currentHeaderBackground\\\":\\\"#6cb3c680\\\",\\\"merge.incomingContentBackground\\\":\\\"#6ec39840\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#6ec39880\\\",\\\"minimap.errorHighlight\\\":\\\"#f1706f80\\\",\\\"minimap.findMatchHighlight\\\":\\\"#6ec39860\\\",\\\"minimap.selectionHighlight\\\":\\\"#e0dcc7f0\\\",\\\"minimap.warningHighlight\\\":\\\"#e4b64980\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a4bb4aa0\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f1706fa0\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#6cb3c6a0\\\",\\\"notebook.cellBorderColor\\\":\\\"#e0dcc7\\\",\\\"notebook.cellHoverBackground\\\":\\\"#fdf6e3\\\",\\\"notebook.cellStatusBarItemHoverBackground\\\":\\\"#f4f0d9\\\",\\\"notebook.cellToolbarSeparator\\\":\\\"#e0dcc7\\\",\\\"notebook.focusedCellBackground\\\":\\\"#fdf6e3\\\",\\\"notebook.focusedCellBorder\\\":\\\"#e0dcc7\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#e0dcc7\\\",\\\"notebook.focusedRowBorder\\\":\\\"#e0dcc7\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#e0dcc7\\\",\\\"notebook.outputContainerBackgroundColor\\\":\\\"#f4f0d9\\\",\\\"notebook.selectedCellBorder\\\":\\\"#e0dcc7\\\",\\\"notebookStatusErrorIcon.foreground\\\":\\\"#f85552\\\",\\\"notebookStatusRunningIcon.foreground\\\":\\\"#3a94c5\\\",\\\"notebookStatusSuccessIcon.foreground\\\":\\\"#8da101\\\",\\\"notificationCenterHeader.background\\\":\\\"#efebd4\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#5c6a72\\\",\\\"notificationLink.foreground\\\":\\\"#8da101\\\",\\\"notifications.background\\\":\\\"#fdf6e3\\\",\\\"notifications.foreground\\\":\\\"#5c6a72\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f85552\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#3a94c5\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#dfa000\\\",\\\"panel.background\\\":\\\"#fdf6e3\\\",\\\"panel.border\\\":\\\"#fdf6e3\\\",\\\"panelInput.border\\\":\\\"#e0dcc7\\\",\\\"panelSection.border\\\":\\\"#efebd4\\\",\\\"panelSectionHeader.background\\\":\\\"#fdf6e3\\\",\\\"panelTitle.activeBorder\\\":\\\"#93b259d0\\\",\\\"panelTitle.activeForeground\\\":\\\"#5c6a72\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#939f91\\\",\\\"peekView.border\\\":\\\"#e6e2cc\\\",\\\"peekViewEditor.background\\\":\\\"#f4f0d9\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#e4b64950\\\",\\\"peekViewEditorGutter.background\\\":\\\"#f4f0d9\\\",\\\"peekViewResult.background\\\":\\\"#f4f0d9\\\",\\\"peekViewResult.fileForeground\\\":\\\"#5c6a72\\\",\\\"peekViewResult.lineForeground\\\":\\\"#879686\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#e4b64950\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#6ec39850\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#5c6a72\\\",\\\"peekViewTitle.background\\\":\\\"#e6e2cc\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#5c6a72\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#8da101\\\",\\\"pickerGroup.border\\\":\\\"#93b2591a\\\",\\\"pickerGroup.foreground\\\":\\\"#5c6a72\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#f57d26\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#f85552\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#3a94c5\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#dfa000\\\",\\\"progressBar.background\\\":\\\"#93b259\\\",\\\"quickInputTitle.background\\\":\\\"#f4f0d9\\\",\\\"rust_analyzer.inlayHints.background\\\":\\\"#fdf6e300\\\",\\\"rust_analyzer.inlayHints.foreground\\\":\\\"#a4ad9ea0\\\",\\\"rust_analyzer.syntaxTreeBorder\\\":\\\"#f85552\\\",\\\"sash.hoverBorder\\\":\\\"#e6e2cc\\\",\\\"scrollbar.shadow\\\":\\\"#3c474d20\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#879686\\\",\\\"scrollbarSlider.background\\\":\\\"#e0dcc780\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#e0dcc7\\\",\\\"selection.background\\\":\\\"#e6e2ccc0\\\",\\\"settings.checkboxBackground\\\":\\\"#fdf6e3\\\",\\\"settings.checkboxBorder\\\":\\\"#e0dcc7\\\",\\\"settings.checkboxForeground\\\":\\\"#f57d26\\\",\\\"settings.dropdownBackground\\\":\\\"#fdf6e3\\\",\\\"settings.dropdownBorder\\\":\\\"#e0dcc7\\\",\\\"settings.dropdownForeground\\\":\\\"#35a77c\\\",\\\"settings.focusedRowBackground\\\":\\\"#f4f0d9\\\",\\\"settings.headerForeground\\\":\\\"#879686\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#a4ad9e\\\",\\\"settings.numberInputBackground\\\":\\\"#fdf6e3\\\",\\\"settings.numberInputBorder\\\":\\\"#e0dcc7\\\",\\\"settings.numberInputForeground\\\":\\\"#df69ba\\\",\\\"settings.rowHoverBackground\\\":\\\"#f4f0d9\\\",\\\"settings.textInputBackground\\\":\\\"#fdf6e3\\\",\\\"settings.textInputBorder\\\":\\\"#e0dcc7\\\",\\\"settings.textInputForeground\\\":\\\"#3a94c5\\\",\\\"sideBar.background\\\":\\\"#fdf6e3\\\",\\\"sideBar.foreground\\\":\\\"#939f91\\\",\\\"sideBarSectionHeader.background\\\":\\\"#fdf6e300\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#879686\\\",\\\"sideBarTitle.foreground\\\":\\\"#879686\\\",\\\"statusBar.background\\\":\\\"#fdf6e3\\\",\\\"statusBar.border\\\":\\\"#fdf6e3\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fdf6e3\\\",\\\"statusBar.debuggingForeground\\\":\\\"#f57d26\\\",\\\"statusBar.foreground\\\":\\\"#879686\\\",\\\"statusBar.noFolderBackground\\\":\\\"#fdf6e3\\\",\\\"statusBar.noFolderBorder\\\":\\\"#fdf6e3\\\",\\\"statusBar.noFolderForeground\\\":\\\"#879686\\\",\\\"statusBarItem.activeBackground\\\":\\\"#e6e2cc70\\\",\\\"statusBarItem.errorBackground\\\":\\\"#fdf6e3\\\",\\\"statusBarItem.errorForeground\\\":\\\"#f85552\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#e6e2cca0\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#fdf6e3\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#5c6a72\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#e6e2cca0\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#fdf6e3\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#879686\\\",\\\"statusBarItem.warningBackground\\\":\\\"#fdf6e3\\\",\\\"statusBarItem.warningForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#3a94c5\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.classForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.colorForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.constantForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.eventForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.fileForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.folderForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.functionForeground\\\":\\\"#8da101\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.keyForeground\\\":\\\"#8da101\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#f85552\\\",\\\"symbolIcon.methodForeground\\\":\\\"#8da101\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.nullForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.numberForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.objectForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#f57d26\\\",\\\"symbolIcon.packageForeground\\\":\\\"#df69ba\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#3a94c5\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.stringForeground\\\":\\\"#8da101\\\",\\\"symbolIcon.structForeground\\\":\\\"#dfa000\\\",\\\"symbolIcon.textForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#35a77c\\\",\\\"symbolIcon.unitForeground\\\":\\\"#5c6a72\\\",\\\"symbolIcon.variableForeground\\\":\\\"#3a94c5\\\",\\\"tab.activeBackground\\\":\\\"#fdf6e3\\\",\\\"tab.activeBorder\\\":\\\"#93b259d0\\\",\\\"tab.activeForeground\\\":\\\"#5c6a72\\\",\\\"tab.border\\\":\\\"#fdf6e3\\\",\\\"tab.hoverBackground\\\":\\\"#fdf6e3\\\",\\\"tab.hoverForeground\\\":\\\"#5c6a72\\\",\\\"tab.inactiveBackground\\\":\\\"#fdf6e3\\\",\\\"tab.inactiveForeground\\\":\\\"#a4ad9e\\\",\\\"tab.lastPinnedBorder\\\":\\\"#93b259d0\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#939f91\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#879686\\\",\\\"tab.unfocusedHoverForeground\\\":\\\"#5c6a72\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#a4ad9e\\\",\\\"terminal.ansiBlack\\\":\\\"#5c6a72\\\",\\\"terminal.ansiBlue\\\":\\\"#3a94c5\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#5c6a72\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#3a94c5\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#35a77c\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#8da101\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#df69ba\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f85552\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#f4f0d9\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#dfa000\\\",\\\"terminal.ansiCyan\\\":\\\"#35a77c\\\",\\\"terminal.ansiGreen\\\":\\\"#8da101\\\",\\\"terminal.ansiMagenta\\\":\\\"#df69ba\\\",\\\"terminal.ansiRed\\\":\\\"#f85552\\\",\\\"terminal.ansiWhite\\\":\\\"#939f91\\\",\\\"terminal.ansiYellow\\\":\\\"#dfa000\\\",\\\"terminal.foreground\\\":\\\"#5c6a72\\\",\\\"terminalCursor.foreground\\\":\\\"#5c6a72\\\",\\\"testing.iconErrored\\\":\\\"#f85552\\\",\\\"testing.iconFailed\\\":\\\"#f85552\\\",\\\"testing.iconPassed\\\":\\\"#35a77c\\\",\\\"testing.iconQueued\\\":\\\"#3a94c5\\\",\\\"testing.iconSkipped\\\":\\\"#df69ba\\\",\\\"testing.iconUnset\\\":\\\"#dfa000\\\",\\\"testing.runAction\\\":\\\"#35a77c\\\",\\\"textBlockQuote.background\\\":\\\"#f4f0d9\\\",\\\"textBlockQuote.border\\\":\\\"#e6e2cc\\\",\\\"textCodeBlock.background\\\":\\\"#f4f0d9\\\",\\\"textLink.activeForeground\\\":\\\"#8da101c0\\\",\\\"textLink.foreground\\\":\\\"#8da101\\\",\\\"textPreformat.foreground\\\":\\\"#dfa000\\\",\\\"titleBar.activeBackground\\\":\\\"#fdf6e3\\\",\\\"titleBar.activeForeground\\\":\\\"#879686\\\",\\\"titleBar.border\\\":\\\"#fdf6e3\\\",\\\"titleBar.inactiveBackground\\\":\\\"#fdf6e3\\\",\\\"titleBar.inactiveForeground\\\":\\\"#a4ad9e\\\",\\\"toolbar.hoverBackground\\\":\\\"#f4f0d9\\\",\\\"tree.indentGuidesStroke\\\":\\\"#a4ad9e\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#f4f0d9\\\",\\\"welcomePage.buttonBackground\\\":\\\"#f4f0d9\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#f4f0d9a0\\\",\\\"welcomePage.progress.foreground\\\":\\\"#8da101\\\",\\\"welcomePage.tileHoverBackground\\\":\\\"#f4f0d9\\\",\\\"widget.shadow\\\":\\\"#3c474d20\\\"},\\\"displayName\\\":\\\"Everforest Light\\\",\\\"name\\\":\\\"everforest-light\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class:python\\\":\\\"#35a77c\\\",\\\"class:typescript\\\":\\\"#35a77c\\\",\\\"class:typescriptreact\\\":\\\"#35a77c\\\",\\\"enum:typescript\\\":\\\"#df69ba\\\",\\\"enum:typescriptreact\\\":\\\"#df69ba\\\",\\\"enumMember:typescript\\\":\\\"#3a94c5\\\",\\\"enumMember:typescriptreact\\\":\\\"#3a94c5\\\",\\\"interface:typescript\\\":\\\"#35a77c\\\",\\\"interface:typescriptreact\\\":\\\"#35a77c\\\",\\\"intrinsic:python\\\":\\\"#df69ba\\\",\\\"macro:rust\\\":\\\"#35a77c\\\",\\\"memberOperatorOverload\\\":\\\"#f57d26\\\",\\\"module:python\\\":\\\"#3a94c5\\\",\\\"namespace:rust\\\":\\\"#df69ba\\\",\\\"namespace:typescript\\\":\\\"#df69ba\\\",\\\"namespace:typescriptreact\\\":\\\"#df69ba\\\",\\\"operatorOverload\\\":\\\"#f57d26\\\",\\\"property.defaultLibrary:javascript\\\":\\\"#df69ba\\\",\\\"property.defaultLibrary:javascriptreact\\\":\\\"#df69ba\\\",\\\"property.defaultLibrary:typescript\\\":\\\"#df69ba\\\",\\\"property.defaultLibrary:typescriptreact\\\":\\\"#df69ba\\\",\\\"selfKeyword:rust\\\":\\\"#df69ba\\\",\\\"variable.defaultLibrary:javascript\\\":\\\"#df69ba\\\",\\\"variable.defaultLibrary:javascriptreact\\\":\\\"#df69ba\\\",\\\"variable.defaultLibrary:typescript\\\":\\\"#df69ba\\\",\\\"variable.defaultLibrary:typescriptreact\\\":\\\"#df69ba\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":\\\"keyword, storage.type.function, storage.type.class, storage.type.enum, storage.type.interface, storage.type.property, keyword.operator.new, keyword.operator.expression, keyword.operator.new, keyword.operator.delete, storage.type.extends\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.other.debugger\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage, modifier, keyword.var, entity.name.tag, keyword.control.case, keyword.control.switch\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"string, punctuation.definition.string.end, punctuation.definition.string.begin, punctuation.definition.string.template.begin, punctuation.definition.string.template.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"constant.character.escape, punctuation.quasi.element, punctuation.definition.template-expression, punctuation.section.embedded, storage.type.format, constant.other.placeholder, constant.other.placeholder, variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function, meta.function, meta.function-call, meta.definition.method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule, keyword.control.import, keyword.control.export, storage.type.namespace, punctuation.decorator, keyword.control.directive, keyword.preprocessor, punctuation.definition.preprocessor, punctuation.definition.directive, keyword.other.import, keyword.other.package, entity.name.type.namespace, entity.name.scope-resolution, keyword.other.using, keyword.package, keyword.import, keyword.map\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.label, constant.other.label\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"support.module, support.node, support.other.module, support.type.object.module, entity.name.type.module, entity.name.type.class.module, keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type, support.type, entity.name.type, keyword.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.name.type.class, support.class, entity.name.class, entity.other.inherited-class, storage.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.function.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"variable.language.this, variable.language.self, variable.language.super, keyword.other.this, variable.language.special, constant.language.null, constant.language.undefined, constant.language.nan\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"constant.language, support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"variable, support.variable, meta.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"variable.object.property, support.variable.property, variable.other.property, variable.other.object.property, variable.other.enummember, variable.other.member, meta.object-literal.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation, meta.brace, meta.delimiter, meta.bracket\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"heading.1.markdown, markup.heading.setext.1.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"heading.2.markdown, markup.heading.setext.2.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"heading.3.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"heading.4.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"heading.5.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"heading.6.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown, constant.other.reference.link.markdown, string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"markup.underline.link.image.markdown, markup.underline.link.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin.markdown, punctuation.definition.string.end.markdown, punctuation.definition.italic.markdown, punctuation.definition.quote.begin.markdown, punctuation.definition.metadata.markdown, punctuation.separator.key-value.markdown, punctuation.definition.constant.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown, punctuation.definition.constant.begin.markdown, punctuation.definition.constant.end.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\"}},{\\\"scope\\\":\\\"punctuation.definition.markdown, punctuation.definition.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"fenced_code.block.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown, markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.restructuredtext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"punctuation.definition.field.restructuredtext, punctuation.separator.key-value.restructuredtext, punctuation.definition.directive.restructuredtext, punctuation.definition.constant.restructuredtext, punctuation.definition.italic.restructuredtext, punctuation.definition.table.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.restructuredtext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"regular\\\",\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"entity.name.tag.restructuredtext, punctuation.definition.link.restructuredtext, punctuation.definition.raw.restructuredtext, punctuation.section.raw.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"constant.other.footnote.link.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"support.directive.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"entity.name.directive.restructuredtext, markup.raw.restructuredtext, markup.raw.inner.restructuredtext, string.other.link.title.restructuredtext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.definition.function.latex, punctuation.definition.function.tex, punctuation.definition.keyword.latex, constant.character.newline.tex, punctuation.definition.keyword.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"support.function.be.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"support.function.section.latex, keyword.control.table.cell.latex, keyword.control.table.newline.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"support.class.latex, variable.parameter.latex, variable.parameter.function.latex, variable.parameter.definition.label.latex, constant.other.reference.label.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"keyword.control.preamble.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.separator.namespace.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"entity.name.tag.html, entity.name.tag.xml, entity.name.tag.localname.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.html, entity.other.attribute-name.xml, entity.other.attribute-name.localname.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.html, string.quoted.single.html, punctuation.definition.string.begin.html, punctuation.definition.string.end.html, punctuation.separator.key-value.html, punctuation.definition.string.begin.xml, punctuation.definition.string.end.xml, string.quoted.double.xml, string.quoted.single.xml, punctuation.definition.tag.begin.html, punctuation.definition.tag.end.html, punctuation.definition.tag.xml, meta.tag.xml, meta.tag.preprocessor.xml, meta.tag.other.html, meta.tag.block.any.html, meta.tag.inline.any.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"variable.language.documentroot.xml, meta.tag.sgml.doctype.xml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"storage.type.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.proto.syntax, string.quoted.single.proto.syntax, string.quoted.double.proto, string.quoted.single.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.class.proto, entity.name.class.message.proto\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.css, punctuation.separator.key-value.css, punctuation.terminator.rule.css, punctuation.separator.list.comma.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.pseudo-class.css, entity.other.attribute-name.pseudo-element.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.single.css, string.quoted.double.css, support.constant.property-value.css, meta.property-value.css, punctuation.definition.string.begin.css, punctuation.definition.string.end.css, constant.numeric.css, support.constant.font-name.css, variable.parameter.keyframe-list.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"support.type.vendored.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.name.tag.css, entity.other.keyframe-offset.css, punctuation.definition.keyword.css, keyword.control.at-rule.keyframes.css, meta.selector.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.scss, punctuation.separator.key-value.scss, punctuation.terminator.rule.scss, punctuation.separator.list.comma.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule.keyframes.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"punctuation.definition.interpolation.begin.bracket.curly.scss, punctuation.definition.interpolation.end.bracket.curly.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin.scss, punctuation.definition.string.end.scss, string.quoted.double.scss, string.quoted.single.scss, constant.character.css.sass, meta.property-value.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.at-rule.include.scss, keyword.control.at-rule.use.scss, keyword.control.at-rule.mixin.scss, keyword.control.at-rule.extend.scss, keyword.control.at-rule.import.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"meta.function.stylus\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"entity.name.function.stylus\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.unquoted.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.accessor.js, punctuation.separator.key-value.js, punctuation.separator.label.js, keyword.operator.accessor.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.block.tag.jsdoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.js, storage.type.function.arrow.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"JSXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.jsx, entity.other.attribute-name.jsx, punctuation.definition.tag.begin.js.jsx, punctuation.definition.tag.end.js.jsx, entity.other.attribute-name.js.jsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.annotation.ts, punctuation.accessor.ts, punctuation.separator.key-value.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.directive.ts, entity.other.attribute-name.directive.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.type.ts, entity.name.type.interface.ts, entity.other.inherited-class.ts, entity.name.type.alias.ts, entity.name.type.class.ts, entity.name.type.enum.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.ts, storage.type.function.arrow.ts, storage.type.type.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.control.import.ts, keyword.control.export.ts, storage.type.namespace.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.annotation.tsx, punctuation.accessor.tsx, punctuation.separator.key-value.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.directive.tsx, entity.other.attribute-name.directive.tsx, punctuation.definition.tag.begin.tsx, punctuation.definition.tag.end.tsx, entity.other.attribute-name.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.type.tsx, entity.name.type.interface.tsx, entity.other.inherited-class.tsx, entity.name.type.alias.tsx, entity.name.type.class.tsx, entity.name.type.enum.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.control.import.tsx, keyword.control.export.tsx, storage.type.namespace.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"storage.type.tsx, storage.type.function.arrow.tsx, storage.type.type.tsx, support.class.component.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"storage.type.function.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"meta.type-signature.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.other.double-colon.purescript, keyword.other.arrow.purescript, keyword.other.big-arrow.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.name.function.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.single.purescript, string.quoted.double.purescript, punctuation.definition.string.begin.purescript, punctuation.definition.string.end.purescript, string.quoted.triple.purescript, entity.name.type.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"support.other.module.purescript\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.dot.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"storage.type.primitive.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"support.class.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"entity.name.function.dart, string.interpolated.single.dart, string.interpolated.double.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"variable.language.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.other.import.dart, storage.type.annotation.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.function.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.tag.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.tag.pug, storage.type.import.include.pug\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"meta.function-call.c, storage.modifier.array.bracket.square.c, meta.function.definition.parameters.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.separator.dot-access.c, constant.character.escape.line-continuation.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.include.c, punctuation.definition.directive.c, keyword.control.directive.pragma.c, keyword.control.directive.line.c, keyword.control.directive.define.c, keyword.control.directive.conditional.c, keyword.control.directive.diagnostic.error.c, keyword.control.directive.undef.c, keyword.control.directive.conditional.ifdef.c, keyword.control.directive.endif.c, keyword.control.directive.conditional.ifndef.c, keyword.control.directive.conditional.if.c, keyword.control.directive.else.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"punctuation.separator.pointer-access.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.member.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"meta.function-call.cpp, storage.modifier.array.bracket.square.cpp, meta.function.definition.parameters.cpp, meta.body.function.definition.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.separator.dot-access.cpp, constant.character.escape.line-continuation.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.include.cpp, punctuation.definition.directive.cpp, keyword.control.directive.pragma.cpp, keyword.control.directive.line.cpp, keyword.control.directive.define.cpp, keyword.control.directive.conditional.cpp, keyword.control.directive.diagnostic.error.cpp, keyword.control.directive.undef.cpp, keyword.control.directive.conditional.ifdef.cpp, keyword.control.directive.endif.cpp, keyword.control.directive.conditional.ifndef.cpp, keyword.control.directive.conditional.if.cpp, keyword.control.directive.else.cpp, storage.type.namespace.definition.cpp, keyword.other.using.directive.cpp, storage.type.struct.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"punctuation.separator.pointer-access.cpp, punctuation.section.angle-brackets.begin.template.call.cpp, punctuation.section.angle-brackets.end.template.call.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.member.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.other.using.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.type.cs, constant.character.escape.cs, punctuation.definition.interpolation.begin.cs, punctuation.definition.interpolation.end.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.cs, string.quoted.single.cs, punctuation.definition.string.begin.cs, punctuation.definition.string.end.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"variable.other.object.property.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"keyword.symbol.fsharp, constant.language.unit.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.format.specifier.fsharp, entity.name.type.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.fsharp, string.quoted.single.fsharp, punctuation.definition.string.begin.fsharp, punctuation.definition.string.end.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.section.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"support.function.attribute.fsharp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.separator.java, punctuation.separator.period.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.other.import.java, keyword.other.package.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.function.arrow.java, keyword.control.ternary.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.property.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"variable.language.wildcard.java, storage.modifier.import.java, storage.type.annotation.java, punctuation.definition.annotation.java, storage.modifier.package.java, entity.name.type.module.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"keyword.other.import.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.language.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.package.kotlin, storage.type.annotation.kotlin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.package.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"constant.language.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.name.import.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"string.quoted.double.scala, string.quoted.single.scala, punctuation.definition.string.begin.scala, punctuation.definition.string.end.scala, string.quoted.double.interpolated.scala, string.quoted.single.interpolated.scala, string.quoted.triple.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.class, entity.other.inherited-class.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"keyword.declaration.stable.scala, keyword.other.arrow.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"keyword.other.import.scala\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.operator.navigation.groovy, meta.method.body.java, meta.definition.method.groovy, meta.definition.method.signature.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.separator.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.other.import.groovy, keyword.other.package.groovy, keyword.other.import.static.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"storage.type.def.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.interpolated.groovy, meta.method.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.groovy, storage.modifier.package.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.annotation.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"keyword.type.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"entity.name.package.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.import.go, keyword.package.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.type.mod.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.operator.path.rust, keyword.operator.member-access.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"storage.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"support.constant.core.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"meta.attribute.rust, variable.language.rust, storage.type.module.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"meta.function-call.swift, support.function.any-method.swift\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"support.variable.swift\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.operator.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"storage.type.trait.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.language.php, support.other.namespace.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.modifier.access.control.public.cpp, storage.type.modifier.access.control.private.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.control.import.include.php, storage.type.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.definition.decorator.python, punctuation.separator.period.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.control.import.python, keyword.control.import.from.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"constant.language.lua\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.class.lua\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"meta.function.method.with-arguments.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"punctuation.separator.method.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.pseudo-method.ruby, storage.type.variable.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"keyword.other.special-method.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.module.ruby, punctuation.definition.constant.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"string.regexp.character-class.ruby,string.regexp.interpolated.ruby,punctuation.definition.character-class.ruby,string.regexp.group.ruby, punctuation.section.regexp.ruby, punctuation.definition.group.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"variable.other.constant.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.other.arrow.haskell, keyword.other.big-arrow.haskell, keyword.other.double-colon.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"storage.type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"constant.other.haskell, string.quoted.double.haskell, string.quoted.single.haskell, punctuation.definition.string.begin.haskell, punctuation.definition.string.end.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.function.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.name.namespace, meta.preprocessor.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.control.import.julia, keyword.control.export.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.storage.modifier.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.language.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"support.function.macro.julia\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"keyword.other.period.elm\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"storage.type.elm\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"keyword.other.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"entity.name.function.r, variable.function.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.language.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.namespace.r\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.separator.module-function.erlang, punctuation.section.directive.begin.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.erlang, keyword.control.directive.define.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"entity.name.type.class.module.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.erlang, string.quoted.single.erlang, punctuation.definition.string.begin.erlang, punctuation.definition.string.end.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.directive.export.erlang, keyword.control.directive.module.erlang, keyword.control.directive.import.erlang, keyword.control.directive.behaviour.erlang\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.module.elixir, punctuation.definition.variable.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"constant.language.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"keyword.control.module.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.type.value-signature.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.other.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.language.variant.ocaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.type.sub.perl, storage.type.declare.routine.perl\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"meta.function.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"storage.type.function-type.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"keyword.constant.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.function.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"constant.keyword.clojure, support.variable.clojure, meta.definition.variable.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.global.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.function.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"meta.scope.if-block.shell, meta.scope.group.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"support.function.builtin.shell, entity.name.function.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.shell, string.quoted.single.shell, punctuation.definition.string.begin.shell, punctuation.definition.string.end.shell, string.unquoted.heredoc.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.control.heredoc-token.shell, variable.other.normal.shell, punctuation.definition.variable.shell, variable.other.special.shell, variable.other.positional.shell, variable.other.bracket.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"support.function.builtin.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"support.function.unix.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.normal.fish, punctuation.definition.variable.fish, variable.other.fixed.fish, variable.other.special.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"string.quoted.double.fish, punctuation.definition.string.end.fish, punctuation.definition.string.begin.fish, string.quoted.single.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.character.escape.single.fish\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"entity.name.function.powershell, support.function.attribute.powershell, support.function.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.single.powershell, string.quoted.double.powershell, punctuation.definition.string.begin.powershell, punctuation.definition.string.end.powershell, string.quoted.double.heredoc.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"variable.other.member.powershell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"string.unquoted.alias.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6a72\\\"}},{\\\"scope\\\":\\\"keyword.type.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"entity.name.fragment.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.function.target.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"variable.other.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites.makefile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"string.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"storage.source.cmake\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.map.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"storage.type.map.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"constant.character.map.viml, constant.character.map.key.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.character.map.special.viml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"constant.language.tmux, constant.numeric.tmux\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"entity.name.function.package-manager.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"keyword.operator.flag.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.double.dockerfile, string.quoted.single.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.character.escape.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"entity.name.type.base-image.dockerfile, entity.name.image.dockerfile\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"punctuation.definition.separator.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff, punctuation.definition.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"meta.diff.range.context, punctuation.definition.range.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"meta.diff.header.from-file\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff, punctuation.definition.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"markup.changed.diff, punctuation.definition.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"punctuation.definition.from-file.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini, punctuation.definition.entity.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f85552\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"string.quoted.double.ini, string.quoted.single.ini, punctuation.definition.string.begin.ini, punctuation.definition.string.end.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"support.function.aggregate.sql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"string.quoted.single.sql, punctuation.definition.string.end.sql, punctuation.definition.string.begin.sql, string.quoted.double.sql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"support.type.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dfa000\\\"}},{\\\"scope\\\":\\\"variable.parameter.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"constant.character.enum.graphql\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"punctuation.support.type.property-name.begin.json, punctuation.support.type.property-name.end.json, punctuation.separator.dictionary.key-value.json, punctuation.definition.string.begin.json, punctuation.definition.string.end.json, punctuation.separator.dictionary.pair.json, punctuation.separator.array.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#939f91\\\"}},{\\\"scope\\\":\\\"string.unquoted.plain.out.yaml, string.quoted.single.yaml, string.quoted.double.yaml, punctuation.definition.string.begin.yaml, punctuation.definition.string.end.yaml, string.unquoted.plain.in.yaml, string.unquoted.block.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"punctuation.definition.anchor.yaml, punctuation.definition.block.sequence.item.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#35a77c\\\"}},{\\\"scope\\\":\\\"keyword.key.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f57d26\\\"}},{\\\"scope\\\":\\\"string.quoted.single.basic.line.toml, string.quoted.single.literal.line.toml, punctuation.definition.keyValuePair.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8da101\\\"}},{\\\"scope\\\":\\\"constant.other.boolean.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3a94c5\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.table.toml, punctuation.definition.table.toml, entity.other.attribute-name.table.array.toml, punctuation.definition.table.array.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#df69ba\\\"}},{\\\"scope\\\":\\\"comment, string.comment, punctuation.definition.comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#939f91\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: github-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#f9826c\\\",\\\"activityBar.background\\\":\\\"#24292e\\\",\\\"activityBar.border\\\":\\\"#1b1f23\\\",\\\"activityBar.foreground\\\":\\\"#e1e4e8\\\",\\\"activityBar.inactiveForeground\\\":\\\"#6a737d\\\",\\\"activityBarBadge.background\\\":\\\"#0366d6\\\",\\\"activityBarBadge.foreground\\\":\\\"#fff\\\",\\\"badge.background\\\":\\\"#044289\\\",\\\"badge.foreground\\\":\\\"#c8e1ff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#d1d5da\\\",\\\"breadcrumb.focusForeground\\\":\\\"#e1e4e8\\\",\\\"breadcrumb.foreground\\\":\\\"#959da5\\\",\\\"breadcrumbPicker.background\\\":\\\"#2b3036\\\",\\\"button.background\\\":\\\"#176f2c\\\",\\\"button.foreground\\\":\\\"#dcffe4\\\",\\\"button.hoverBackground\\\":\\\"#22863a\\\",\\\"button.secondaryBackground\\\":\\\"#444d56\\\",\\\"button.secondaryForeground\\\":\\\"#fff\\\",\\\"button.secondaryHoverBackground\\\":\\\"#586069\\\",\\\"checkbox.background\\\":\\\"#444d56\\\",\\\"checkbox.border\\\":\\\"#1b1f23\\\",\\\"debugToolBar.background\\\":\\\"#2b3036\\\",\\\"descriptionForeground\\\":\\\"#959da5\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#28a74530\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#d73a4930\\\",\\\"dropdown.background\\\":\\\"#2f363d\\\",\\\"dropdown.border\\\":\\\"#1b1f23\\\",\\\"dropdown.foreground\\\":\\\"#e1e4e8\\\",\\\"dropdown.listBackground\\\":\\\"#24292e\\\",\\\"editor.background\\\":\\\"#24292e\\\",\\\"editor.findMatchBackground\\\":\\\"#ffd33d44\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ffd33d22\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#2b6a3033\\\",\\\"editor.foldBackground\\\":\\\"#58606915\\\",\\\"editor.foreground\\\":\\\"#e1e4e8\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#3392FF22\\\",\\\"editor.lineHighlightBackground\\\":\\\"#2b3036\\\",\\\"editor.linkedEditingBackground\\\":\\\"#3392FF22\\\",\\\"editor.selectionBackground\\\":\\\"#3392FF44\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#17E5E633\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#17E5E600\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#C6902625\\\",\\\"editor.wordHighlightBackground\\\":\\\"#17E5E600\\\",\\\"editor.wordHighlightBorder\\\":\\\"#17E5E699\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#17E5E600\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#17E5E666\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#79b8ff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#ffab70\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#b392f0\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#79b8ff\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#ffab70\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#b392f0\\\",\\\"editorBracketMatch.background\\\":\\\"#17E5E650\\\",\\\"editorBracketMatch.border\\\":\\\"#17E5E600\\\",\\\"editorCursor.foreground\\\":\\\"#c8e1ff\\\",\\\"editorError.foreground\\\":\\\"#f97583\\\",\\\"editorGroup.border\\\":\\\"#1b1f23\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#1f2428\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#1b1f23\\\",\\\"editorGutter.addedBackground\\\":\\\"#28a745\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ea4a5a\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#2188ff\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#444d56\\\",\\\"editorIndentGuide.background\\\":\\\"#2f363d\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#e1e4e8\\\",\\\"editorLineNumber.foreground\\\":\\\"#444d56\\\",\\\"editorOverviewRuler.border\\\":\\\"#1b1f23\\\",\\\"editorWarning.foreground\\\":\\\"#ffea7f\\\",\\\"editorWhitespace.foreground\\\":\\\"#444d56\\\",\\\"editorWidget.background\\\":\\\"#1f2428\\\",\\\"errorForeground\\\":\\\"#f97583\\\",\\\"focusBorder\\\":\\\"#005cc5\\\",\\\"foreground\\\":\\\"#d1d5da\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#34d058\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#ffab70\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#ea4a5a\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6a737d\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#79b8ff\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#6a737d\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#34d058\\\",\\\"input.background\\\":\\\"#2f363d\\\",\\\"input.border\\\":\\\"#1b1f23\\\",\\\"input.foreground\\\":\\\"#e1e4e8\\\",\\\"input.placeholderForeground\\\":\\\"#959da5\\\",\\\"list.activeSelectionBackground\\\":\\\"#39414a\\\",\\\"list.activeSelectionForeground\\\":\\\"#e1e4e8\\\",\\\"list.focusBackground\\\":\\\"#044289\\\",\\\"list.hoverBackground\\\":\\\"#282e34\\\",\\\"list.hoverForeground\\\":\\\"#e1e4e8\\\",\\\"list.inactiveFocusBackground\\\":\\\"#1d2d3e\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#282e34\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#e1e4e8\\\",\\\"notificationCenterHeader.background\\\":\\\"#24292e\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#959da5\\\",\\\"notifications.background\\\":\\\"#2f363d\\\",\\\"notifications.border\\\":\\\"#1b1f23\\\",\\\"notifications.foreground\\\":\\\"#e1e4e8\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#ea4a5a\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#79b8ff\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#ffab70\\\",\\\"panel.background\\\":\\\"#1f2428\\\",\\\"panel.border\\\":\\\"#1b1f23\\\",\\\"panelInput.border\\\":\\\"#2f363d\\\",\\\"panelTitle.activeBorder\\\":\\\"#f9826c\\\",\\\"panelTitle.activeForeground\\\":\\\"#e1e4e8\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#959da5\\\",\\\"peekViewEditor.background\\\":\\\"#1f242888\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"peekViewResult.background\\\":\\\"#1f2428\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"pickerGroup.border\\\":\\\"#444d56\\\",\\\"pickerGroup.foreground\\\":\\\"#e1e4e8\\\",\\\"progressBar.background\\\":\\\"#0366d6\\\",\\\"quickInput.background\\\":\\\"#24292e\\\",\\\"quickInput.foreground\\\":\\\"#e1e4e8\\\",\\\"scrollbar.shadow\\\":\\\"#0008\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#6a737d88\\\",\\\"scrollbarSlider.background\\\":\\\"#6a737d33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6a737d44\\\",\\\"settings.headerForeground\\\":\\\"#e1e4e8\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#0366d6\\\",\\\"sideBar.background\\\":\\\"#1f2428\\\",\\\"sideBar.border\\\":\\\"#1b1f23\\\",\\\"sideBar.foreground\\\":\\\"#d1d5da\\\",\\\"sideBarSectionHeader.background\\\":\\\"#1f2428\\\",\\\"sideBarSectionHeader.border\\\":\\\"#1b1f23\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#e1e4e8\\\",\\\"sideBarTitle.foreground\\\":\\\"#e1e4e8\\\",\\\"statusBar.background\\\":\\\"#24292e\\\",\\\"statusBar.border\\\":\\\"#1b1f23\\\",\\\"statusBar.debuggingBackground\\\":\\\"#931c06\\\",\\\"statusBar.debuggingForeground\\\":\\\"#fff\\\",\\\"statusBar.foreground\\\":\\\"#d1d5da\\\",\\\"statusBar.noFolderBackground\\\":\\\"#24292e\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#282e34\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#24292e\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#d1d5da\\\",\\\"tab.activeBackground\\\":\\\"#24292e\\\",\\\"tab.activeBorder\\\":\\\"#24292e\\\",\\\"tab.activeBorderTop\\\":\\\"#f9826c\\\",\\\"tab.activeForeground\\\":\\\"#e1e4e8\\\",\\\"tab.border\\\":\\\"#1b1f23\\\",\\\"tab.hoverBackground\\\":\\\"#24292e\\\",\\\"tab.inactiveBackground\\\":\\\"#1f2428\\\",\\\"tab.inactiveForeground\\\":\\\"#959da5\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#24292e\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#1b1f23\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#24292e\\\",\\\"terminal.ansiBlack\\\":\\\"#586069\\\",\\\"terminal.ansiBlue\\\":\\\"#2188ff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#959da5\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#79b8ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56d4dd\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#85e89d\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#b392f0\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f97583\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#fafbfc\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffea7f\\\",\\\"terminal.ansiCyan\\\":\\\"#39c5cf\\\",\\\"terminal.ansiGreen\\\":\\\"#34d058\\\",\\\"terminal.ansiMagenta\\\":\\\"#b392f0\\\",\\\"terminal.ansiRed\\\":\\\"#ea4a5a\\\",\\\"terminal.ansiWhite\\\":\\\"#d1d5da\\\",\\\"terminal.ansiYellow\\\":\\\"#ffea7f\\\",\\\"terminal.foreground\\\":\\\"#d1d5da\\\",\\\"terminal.tab.activeBorder\\\":\\\"#f9826c\\\",\\\"terminalCursor.background\\\":\\\"#586069\\\",\\\"terminalCursor.foreground\\\":\\\"#79b8ff\\\",\\\"textBlockQuote.background\\\":\\\"#24292e\\\",\\\"textBlockQuote.border\\\":\\\"#444d56\\\",\\\"textCodeBlock.background\\\":\\\"#2f363d\\\",\\\"textLink.activeForeground\\\":\\\"#c8e1ff\\\",\\\"textLink.foreground\\\":\\\"#79b8ff\\\",\\\"textPreformat.foreground\\\":\\\"#d1d5da\\\",\\\"textSeparator.foreground\\\":\\\"#586069\\\",\\\"titleBar.activeBackground\\\":\\\"#24292e\\\",\\\"titleBar.activeForeground\\\":\\\"#e1e4e8\\\",\\\"titleBar.border\\\":\\\"#1b1f23\\\",\\\"titleBar.inactiveBackground\\\":\\\"#1f2428\\\",\\\"titleBar.inactiveForeground\\\":\\\"#959da5\\\",\\\"tree.indentGuidesStroke\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#444d56\\\"},\\\"displayName\\\":\\\"GitHub Dark\\\",\\\"name\\\":\\\"github-dark\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6a737d\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"entity\\\",\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97583\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f97583\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ecbff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#f97583\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dbedff\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dbedff\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e1e4e8\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#86181d\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#144620\\\",\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#c24e00\\\",\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#79b8ff\\\",\\\"foreground\\\":\\\"#2f363d\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d1d5da\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#dbedff\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: github-dark-default */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#f78166\\\",\\\"activityBar.background\\\":\\\"#0d1117\\\",\\\"activityBar.border\\\":\\\"#30363d\\\",\\\"activityBar.foreground\\\":\\\"#e6edf3\\\",\\\"activityBar.inactiveForeground\\\":\\\"#7d8590\\\",\\\"activityBarBadge.background\\\":\\\"#1f6feb\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#1f6feb\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#7d8590\\\",\\\"breadcrumb.focusForeground\\\":\\\"#e6edf3\\\",\\\"breadcrumb.foreground\\\":\\\"#7d8590\\\",\\\"breadcrumbPicker.background\\\":\\\"#161b22\\\",\\\"button.background\\\":\\\"#238636\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#2ea043\\\",\\\"button.secondaryBackground\\\":\\\"#282e33\\\",\\\"button.secondaryForeground\\\":\\\"#c9d1d9\\\",\\\"button.secondaryHoverBackground\\\":\\\"#30363d\\\",\\\"checkbox.background\\\":\\\"#161b22\\\",\\\"checkbox.border\\\":\\\"#30363d\\\",\\\"debugConsole.errorForeground\\\":\\\"#ffa198\\\",\\\"debugConsole.infoForeground\\\":\\\"#8b949e\\\",\\\"debugConsole.sourceForeground\\\":\\\"#e3b341\\\",\\\"debugConsole.warningForeground\\\":\\\"#d29922\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#bc8cff\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#f85149\\\",\\\"debugTokenExpression.boolean\\\":\\\"#56d364\\\",\\\"debugTokenExpression.error\\\":\\\"#ffa198\\\",\\\"debugTokenExpression.name\\\":\\\"#79c0ff\\\",\\\"debugTokenExpression.number\\\":\\\"#56d364\\\",\\\"debugTokenExpression.string\\\":\\\"#a5d6ff\\\",\\\"debugTokenExpression.value\\\":\\\"#a5d6ff\\\",\\\"debugToolBar.background\\\":\\\"#161b22\\\",\\\"descriptionForeground\\\":\\\"#7d8590\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#23863626\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#3fb9504d\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#da363326\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff7b724d\\\",\\\"dropdown.background\\\":\\\"#161b22\\\",\\\"dropdown.border\\\":\\\"#30363d\\\",\\\"dropdown.foreground\\\":\\\"#e6edf3\\\",\\\"dropdown.listBackground\\\":\\\"#161b22\\\",\\\"editor.background\\\":\\\"#0d1117\\\",\\\"editor.findMatchBackground\\\":\\\"#9e6a03\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#f2cc6080\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#2ea04366\\\",\\\"editor.foldBackground\\\":\\\"#6e76811a\\\",\\\"editor.foreground\\\":\\\"#e6edf3\\\",\\\"editor.lineHighlightBackground\\\":\\\"#6e76811a\\\",\\\"editor.linkedEditingBackground\\\":\\\"#2f81f712\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#3fb95040\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#bb800966\\\",\\\"editor.wordHighlightBackground\\\":\\\"#6e768180\\\",\\\"editor.wordHighlightBorder\\\":\\\"#6e768199\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#6e76814d\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#6e768199\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#79c0ff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#56d364\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#e3b341\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#ffa198\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#ff9bce\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d2a8ff\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#7d8590\\\",\\\"editorBracketMatch.background\\\":\\\"#3fb95040\\\",\\\"editorBracketMatch.border\\\":\\\"#3fb95099\\\",\\\"editorCursor.foreground\\\":\\\"#2f81f7\\\",\\\"editorGroup.border\\\":\\\"#30363d\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#010409\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#30363d\\\",\\\"editorGutter.addedBackground\\\":\\\"#2ea04366\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f8514966\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#bb800966\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#e6edf33d\\\",\\\"editorIndentGuide.background\\\":\\\"#e6edf31f\\\",\\\"editorInlayHint.background\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.foreground\\\":\\\"#7d8590\\\",\\\"editorInlayHint.paramBackground\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.paramForeground\\\":\\\"#7d8590\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#8b949e33\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#7d8590\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#e6edf3\\\",\\\"editorLineNumber.foreground\\\":\\\"#6e7681\\\",\\\"editorOverviewRuler.border\\\":\\\"#010409\\\",\\\"editorWhitespace.foreground\\\":\\\"#484f58\\\",\\\"editorWidget.background\\\":\\\"#161b22\\\",\\\"errorForeground\\\":\\\"#f85149\\\",\\\"focusBorder\\\":\\\"#1f6feb\\\",\\\"foreground\\\":\\\"#e6edf3\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#3fb950\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#db6d28\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f85149\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e7681\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d29922\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#7d8590\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#3fb950\\\",\\\"icon.foreground\\\":\\\"#7d8590\\\",\\\"input.background\\\":\\\"#0d1117\\\",\\\"input.border\\\":\\\"#30363d\\\",\\\"input.foreground\\\":\\\"#e6edf3\\\",\\\"input.placeholderForeground\\\":\\\"#6e7681\\\",\\\"keybindingLabel.foreground\\\":\\\"#e6edf3\\\",\\\"list.activeSelectionBackground\\\":\\\"#6e768166\\\",\\\"list.activeSelectionForeground\\\":\\\"#e6edf3\\\",\\\"list.focusBackground\\\":\\\"#388bfd26\\\",\\\"list.focusForeground\\\":\\\"#e6edf3\\\",\\\"list.highlightForeground\\\":\\\"#2f81f7\\\",\\\"list.hoverBackground\\\":\\\"#6e76811a\\\",\\\"list.hoverForeground\\\":\\\"#e6edf3\\\",\\\"list.inactiveFocusBackground\\\":\\\"#388bfd26\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#6e768166\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#e6edf3\\\",\\\"minimapSlider.activeBackground\\\":\\\"#8b949e47\\\",\\\"minimapSlider.background\\\":\\\"#8b949e33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#8b949e3d\\\",\\\"notificationCenterHeader.background\\\":\\\"#161b22\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#7d8590\\\",\\\"notifications.background\\\":\\\"#161b22\\\",\\\"notifications.border\\\":\\\"#30363d\\\",\\\"notifications.foreground\\\":\\\"#e6edf3\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f85149\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#2f81f7\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#d29922\\\",\\\"panel.background\\\":\\\"#010409\\\",\\\"panel.border\\\":\\\"#30363d\\\",\\\"panelInput.border\\\":\\\"#30363d\\\",\\\"panelTitle.activeBorder\\\":\\\"#f78166\\\",\\\"panelTitle.activeForeground\\\":\\\"#e6edf3\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#7d8590\\\",\\\"peekViewEditor.background\\\":\\\"#6e76811a\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#bb800966\\\",\\\"peekViewResult.background\\\":\\\"#0d1117\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#bb800966\\\",\\\"pickerGroup.border\\\":\\\"#30363d\\\",\\\"pickerGroup.foreground\\\":\\\"#7d8590\\\",\\\"progressBar.background\\\":\\\"#1f6feb\\\",\\\"quickInput.background\\\":\\\"#161b22\\\",\\\"quickInput.foreground\\\":\\\"#e6edf3\\\",\\\"scrollbar.shadow\\\":\\\"#484f5833\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#8b949e47\\\",\\\"scrollbarSlider.background\\\":\\\"#8b949e33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#8b949e3d\\\",\\\"settings.headerForeground\\\":\\\"#e6edf3\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#bb800966\\\",\\\"sideBar.background\\\":\\\"#010409\\\",\\\"sideBar.border\\\":\\\"#30363d\\\",\\\"sideBar.foreground\\\":\\\"#e6edf3\\\",\\\"sideBarSectionHeader.background\\\":\\\"#010409\\\",\\\"sideBarSectionHeader.border\\\":\\\"#30363d\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#e6edf3\\\",\\\"sideBarTitle.foreground\\\":\\\"#e6edf3\\\",\\\"statusBar.background\\\":\\\"#0d1117\\\",\\\"statusBar.border\\\":\\\"#30363d\\\",\\\"statusBar.debuggingBackground\\\":\\\"#da3633\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.focusBorder\\\":\\\"#1f6feb80\\\",\\\"statusBar.foreground\\\":\\\"#7d8590\\\",\\\"statusBar.noFolderBackground\\\":\\\"#0d1117\\\",\\\"statusBarItem.activeBackground\\\":\\\"#e6edf31f\\\",\\\"statusBarItem.focusBorder\\\":\\\"#1f6feb\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#e6edf314\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#6e768166\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#30363d\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#e6edf3\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.classForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.colorForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.constantForeground\\\":[\\\"#aff5b4\\\",\\\"#7ee787\\\",\\\"#56d364\\\",\\\"#3fb950\\\",\\\"#2ea043\\\",\\\"#238636\\\",\\\"#196c2e\\\",\\\"#0f5323\\\",\\\"#033a16\\\",\\\"#04260f\\\"],\\\"symbolIcon.constructorForeground\\\":\\\"#d2a8ff\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.eventForeground\\\":\\\"#6e7681\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.fileForeground\\\":\\\"#d29922\\\",\\\"symbolIcon.folderForeground\\\":\\\"#d29922\\\",\\\"symbolIcon.functionForeground\\\":\\\"#bc8cff\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.keyForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.methodForeground\\\":\\\"#bc8cff\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#ff7b72\\\",\\\"symbolIcon.nullForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.numberForeground\\\":\\\"#3fb950\\\",\\\"symbolIcon.objectForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.packageForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.stringForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.structForeground\\\":\\\"#f0883e\\\",\\\"symbolIcon.textForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#79c0ff\\\",\\\"symbolIcon.unitForeground\\\":\\\"#58a6ff\\\",\\\"symbolIcon.variableForeground\\\":\\\"#f0883e\\\",\\\"tab.activeBackground\\\":\\\"#0d1117\\\",\\\"tab.activeBorder\\\":\\\"#0d1117\\\",\\\"tab.activeBorderTop\\\":\\\"#f78166\\\",\\\"tab.activeForeground\\\":\\\"#e6edf3\\\",\\\"tab.border\\\":\\\"#30363d\\\",\\\"tab.hoverBackground\\\":\\\"#0d1117\\\",\\\"tab.inactiveBackground\\\":\\\"#010409\\\",\\\"tab.inactiveForeground\\\":\\\"#7d8590\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0d1117\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#30363d\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#6e76811a\\\",\\\"terminal.ansiBlack\\\":\\\"#484f58\\\",\\\"terminal.ansiBlue\\\":\\\"#58a6ff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#6e7681\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#79c0ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56d4dd\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#56d364\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d2a8ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ffa198\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e3b341\\\",\\\"terminal.ansiCyan\\\":\\\"#39c5cf\\\",\\\"terminal.ansiGreen\\\":\\\"#3fb950\\\",\\\"terminal.ansiMagenta\\\":\\\"#bc8cff\\\",\\\"terminal.ansiRed\\\":\\\"#ff7b72\\\",\\\"terminal.ansiWhite\\\":\\\"#b1bac4\\\",\\\"terminal.ansiYellow\\\":\\\"#d29922\\\",\\\"terminal.foreground\\\":\\\"#e6edf3\\\",\\\"textBlockQuote.background\\\":\\\"#010409\\\",\\\"textBlockQuote.border\\\":\\\"#30363d\\\",\\\"textCodeBlock.background\\\":\\\"#6e768166\\\",\\\"textLink.activeForeground\\\":\\\"#2f81f7\\\",\\\"textLink.foreground\\\":\\\"#2f81f7\\\",\\\"textPreformat.background\\\":\\\"#6e768166\\\",\\\"textPreformat.foreground\\\":\\\"#7d8590\\\",\\\"textSeparator.foreground\\\":\\\"#21262d\\\",\\\"titleBar.activeBackground\\\":\\\"#0d1117\\\",\\\"titleBar.activeForeground\\\":\\\"#7d8590\\\",\\\"titleBar.border\\\":\\\"#30363d\\\",\\\"titleBar.inactiveBackground\\\":\\\"#010409\\\",\\\"titleBar.inactiveForeground\\\":\\\"#7d8590\\\",\\\"tree.indentGuidesStroke\\\":\\\"#21262d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#21262d\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#30363d\\\"},\\\"displayName\\\":\\\"GitHub Dark Default\\\",\\\"name\\\":\\\"github-dark-default\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8b949e\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\",\\\"entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"meta.export.default\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function\\\",\\\"meta.jsx.children\\\",\\\"meta.block\\\",\\\"meta.tag.attributes\\\",\\\"entity.name.constant\\\",\\\"meta.object.member\\\",\\\"meta.embedded.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d2a8ff\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#ff7b72\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#f0f6fc\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e6edf3\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#490202\\\",\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7b72\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#04260f\\\",\\\"foreground\\\":\\\"#7ee787\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#5a1e02\\\",\\\"foreground\\\":\\\"#ffa657\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#79c0ff\\\",\\\"foreground\\\":\\\"#161b22\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#d2a8ff\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79c0ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8b949e\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffa198\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a5d6ff\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: github-dark-dimmed */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#ec775c\\\",\\\"activityBar.background\\\":\\\"#22272e\\\",\\\"activityBar.border\\\":\\\"#444c56\\\",\\\"activityBar.foreground\\\":\\\"#adbac7\\\",\\\"activityBar.inactiveForeground\\\":\\\"#768390\\\",\\\"activityBarBadge.background\\\":\\\"#316dca\\\",\\\"activityBarBadge.foreground\\\":\\\"#cdd9e5\\\",\\\"badge.background\\\":\\\"#316dca\\\",\\\"badge.foreground\\\":\\\"#cdd9e5\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#768390\\\",\\\"breadcrumb.focusForeground\\\":\\\"#adbac7\\\",\\\"breadcrumb.foreground\\\":\\\"#768390\\\",\\\"breadcrumbPicker.background\\\":\\\"#2d333b\\\",\\\"button.background\\\":\\\"#347d39\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#46954a\\\",\\\"button.secondaryBackground\\\":\\\"#3d444d\\\",\\\"button.secondaryForeground\\\":\\\"#adbac7\\\",\\\"button.secondaryHoverBackground\\\":\\\"#444c56\\\",\\\"checkbox.background\\\":\\\"#2d333b\\\",\\\"checkbox.border\\\":\\\"#444c56\\\",\\\"debugConsole.errorForeground\\\":\\\"#ff938a\\\",\\\"debugConsole.infoForeground\\\":\\\"#768390\\\",\\\"debugConsole.sourceForeground\\\":\\\"#daaa3f\\\",\\\"debugConsole.warningForeground\\\":\\\"#c69026\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#b083f0\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#e5534b\\\",\\\"debugTokenExpression.boolean\\\":\\\"#6bc46d\\\",\\\"debugTokenExpression.error\\\":\\\"#ff938a\\\",\\\"debugTokenExpression.name\\\":\\\"#6cb6ff\\\",\\\"debugTokenExpression.number\\\":\\\"#6bc46d\\\",\\\"debugTokenExpression.string\\\":\\\"#96d0ff\\\",\\\"debugTokenExpression.value\\\":\\\"#96d0ff\\\",\\\"debugToolBar.background\\\":\\\"#2d333b\\\",\\\"descriptionForeground\\\":\\\"#768390\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#347d3926\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#57ab5a4d\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#c93c3726\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#f470674d\\\",\\\"dropdown.background\\\":\\\"#2d333b\\\",\\\"dropdown.border\\\":\\\"#444c56\\\",\\\"dropdown.foreground\\\":\\\"#adbac7\\\",\\\"dropdown.listBackground\\\":\\\"#2d333b\\\",\\\"editor.background\\\":\\\"#22272e\\\",\\\"editor.findMatchBackground\\\":\\\"#966600\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#eac55f80\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#46954a66\\\",\\\"editor.foldBackground\\\":\\\"#636e7b1a\\\",\\\"editor.foreground\\\":\\\"#adbac7\\\",\\\"editor.lineHighlightBackground\\\":\\\"#636e7b1a\\\",\\\"editor.linkedEditingBackground\\\":\\\"#539bf512\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#57ab5a40\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#ae7c1466\\\",\\\"editor.wordHighlightBackground\\\":\\\"#636e7b80\\\",\\\"editor.wordHighlightBorder\\\":\\\"#636e7b99\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#636e7b4d\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#636e7b99\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#6cb6ff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#6bc46d\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#daaa3f\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#ff938a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#fc8dc7\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#dcbdfb\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#768390\\\",\\\"editorBracketMatch.background\\\":\\\"#57ab5a40\\\",\\\"editorBracketMatch.border\\\":\\\"#57ab5a99\\\",\\\"editorCursor.foreground\\\":\\\"#539bf5\\\",\\\"editorGroup.border\\\":\\\"#444c56\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#1c2128\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#444c56\\\",\\\"editorGutter.addedBackground\\\":\\\"#46954a66\\\",\\\"editorGutter.deletedBackground\\\":\\\"#e5534b66\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#ae7c1466\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#adbac73d\\\",\\\"editorIndentGuide.background\\\":\\\"#adbac71f\\\",\\\"editorInlayHint.background\\\":\\\"#76839033\\\",\\\"editorInlayHint.foreground\\\":\\\"#768390\\\",\\\"editorInlayHint.paramBackground\\\":\\\"#76839033\\\",\\\"editorInlayHint.paramForeground\\\":\\\"#768390\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#76839033\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#768390\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#adbac7\\\",\\\"editorLineNumber.foreground\\\":\\\"#636e7b\\\",\\\"editorOverviewRuler.border\\\":\\\"#1c2128\\\",\\\"editorWhitespace.foreground\\\":\\\"#545d68\\\",\\\"editorWidget.background\\\":\\\"#2d333b\\\",\\\"errorForeground\\\":\\\"#e5534b\\\",\\\"focusBorder\\\":\\\"#316dca\\\",\\\"foreground\\\":\\\"#adbac7\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#57ab5a\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#cc6b2c\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#e5534b\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#636e7b\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#c69026\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#768390\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#57ab5a\\\",\\\"icon.foreground\\\":\\\"#768390\\\",\\\"input.background\\\":\\\"#22272e\\\",\\\"input.border\\\":\\\"#444c56\\\",\\\"input.foreground\\\":\\\"#adbac7\\\",\\\"input.placeholderForeground\\\":\\\"#636e7b\\\",\\\"keybindingLabel.foreground\\\":\\\"#adbac7\\\",\\\"list.activeSelectionBackground\\\":\\\"#636e7b66\\\",\\\"list.activeSelectionForeground\\\":\\\"#adbac7\\\",\\\"list.focusBackground\\\":\\\"#4184e426\\\",\\\"list.focusForeground\\\":\\\"#adbac7\\\",\\\"list.highlightForeground\\\":\\\"#539bf5\\\",\\\"list.hoverBackground\\\":\\\"#636e7b1a\\\",\\\"list.hoverForeground\\\":\\\"#adbac7\\\",\\\"list.inactiveFocusBackground\\\":\\\"#4184e426\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#636e7b66\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#adbac7\\\",\\\"minimapSlider.activeBackground\\\":\\\"#76839047\\\",\\\"minimapSlider.background\\\":\\\"#76839033\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#7683903d\\\",\\\"notificationCenterHeader.background\\\":\\\"#2d333b\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#768390\\\",\\\"notifications.background\\\":\\\"#2d333b\\\",\\\"notifications.border\\\":\\\"#444c56\\\",\\\"notifications.foreground\\\":\\\"#adbac7\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#e5534b\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#539bf5\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#c69026\\\",\\\"panel.background\\\":\\\"#1c2128\\\",\\\"panel.border\\\":\\\"#444c56\\\",\\\"panelInput.border\\\":\\\"#444c56\\\",\\\"panelTitle.activeBorder\\\":\\\"#ec775c\\\",\\\"panelTitle.activeForeground\\\":\\\"#adbac7\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#768390\\\",\\\"peekViewEditor.background\\\":\\\"#636e7b1a\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#ae7c1466\\\",\\\"peekViewResult.background\\\":\\\"#22272e\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#ae7c1466\\\",\\\"pickerGroup.border\\\":\\\"#444c56\\\",\\\"pickerGroup.foreground\\\":\\\"#768390\\\",\\\"progressBar.background\\\":\\\"#316dca\\\",\\\"quickInput.background\\\":\\\"#2d333b\\\",\\\"quickInput.foreground\\\":\\\"#adbac7\\\",\\\"scrollbar.shadow\\\":\\\"#545d6833\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#76839047\\\",\\\"scrollbarSlider.background\\\":\\\"#76839033\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#7683903d\\\",\\\"settings.headerForeground\\\":\\\"#adbac7\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#ae7c1466\\\",\\\"sideBar.background\\\":\\\"#1c2128\\\",\\\"sideBar.border\\\":\\\"#444c56\\\",\\\"sideBar.foreground\\\":\\\"#adbac7\\\",\\\"sideBarSectionHeader.background\\\":\\\"#1c2128\\\",\\\"sideBarSectionHeader.border\\\":\\\"#444c56\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#adbac7\\\",\\\"sideBarTitle.foreground\\\":\\\"#adbac7\\\",\\\"statusBar.background\\\":\\\"#22272e\\\",\\\"statusBar.border\\\":\\\"#444c56\\\",\\\"statusBar.debuggingBackground\\\":\\\"#c93c37\\\",\\\"statusBar.debuggingForeground\\\":\\\"#cdd9e5\\\",\\\"statusBar.focusBorder\\\":\\\"#316dca80\\\",\\\"statusBar.foreground\\\":\\\"#768390\\\",\\\"statusBar.noFolderBackground\\\":\\\"#22272e\\\",\\\"statusBarItem.activeBackground\\\":\\\"#adbac71f\\\",\\\"statusBarItem.focusBorder\\\":\\\"#316dca\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#adbac714\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#636e7b66\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#444c56\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#adbac7\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#539bf5\\\",\\\"symbolIcon.classForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.colorForeground\\\":\\\"#6cb6ff\\\",\\\"symbolIcon.constantForeground\\\":[\\\"#b4f1b4\\\",\\\"#8ddb8c\\\",\\\"#6bc46d\\\",\\\"#57ab5a\\\",\\\"#46954a\\\",\\\"#347d39\\\",\\\"#2b6a30\\\",\\\"#245829\\\",\\\"#1b4721\\\",\\\"#113417\\\"],\\\"symbolIcon.constructorForeground\\\":\\\"#dcbdfb\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#539bf5\\\",\\\"symbolIcon.eventForeground\\\":\\\"#636e7b\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.fileForeground\\\":\\\"#c69026\\\",\\\"symbolIcon.folderForeground\\\":\\\"#c69026\\\",\\\"symbolIcon.functionForeground\\\":\\\"#b083f0\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.keyForeground\\\":\\\"#539bf5\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#f47067\\\",\\\"symbolIcon.methodForeground\\\":\\\"#b083f0\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#f47067\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#f47067\\\",\\\"symbolIcon.nullForeground\\\":\\\"#539bf5\\\",\\\"symbolIcon.numberForeground\\\":\\\"#57ab5a\\\",\\\"symbolIcon.objectForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#6cb6ff\\\",\\\"symbolIcon.packageForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#539bf5\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#539bf5\\\",\\\"symbolIcon.stringForeground\\\":\\\"#6cb6ff\\\",\\\"symbolIcon.structForeground\\\":\\\"#e0823d\\\",\\\"symbolIcon.textForeground\\\":\\\"#6cb6ff\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#6cb6ff\\\",\\\"symbolIcon.unitForeground\\\":\\\"#539bf5\\\",\\\"symbolIcon.variableForeground\\\":\\\"#e0823d\\\",\\\"tab.activeBackground\\\":\\\"#22272e\\\",\\\"tab.activeBorder\\\":\\\"#22272e\\\",\\\"tab.activeBorderTop\\\":\\\"#ec775c\\\",\\\"tab.activeForeground\\\":\\\"#adbac7\\\",\\\"tab.border\\\":\\\"#444c56\\\",\\\"tab.hoverBackground\\\":\\\"#22272e\\\",\\\"tab.inactiveBackground\\\":\\\"#1c2128\\\",\\\"tab.inactiveForeground\\\":\\\"#768390\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#22272e\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#444c56\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#636e7b1a\\\",\\\"terminal.ansiBlack\\\":\\\"#545d68\\\",\\\"terminal.ansiBlue\\\":\\\"#539bf5\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#636e7b\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6cb6ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56d4dd\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#6bc46d\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#dcbdfb\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ff938a\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#cdd9e5\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#daaa3f\\\",\\\"terminal.ansiCyan\\\":\\\"#39c5cf\\\",\\\"terminal.ansiGreen\\\":\\\"#57ab5a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b083f0\\\",\\\"terminal.ansiRed\\\":\\\"#f47067\\\",\\\"terminal.ansiWhite\\\":\\\"#909dab\\\",\\\"terminal.ansiYellow\\\":\\\"#c69026\\\",\\\"terminal.foreground\\\":\\\"#adbac7\\\",\\\"textBlockQuote.background\\\":\\\"#1c2128\\\",\\\"textBlockQuote.border\\\":\\\"#444c56\\\",\\\"textCodeBlock.background\\\":\\\"#636e7b66\\\",\\\"textLink.activeForeground\\\":\\\"#539bf5\\\",\\\"textLink.foreground\\\":\\\"#539bf5\\\",\\\"textPreformat.background\\\":\\\"#636e7b66\\\",\\\"textPreformat.foreground\\\":\\\"#768390\\\",\\\"textSeparator.foreground\\\":\\\"#373e47\\\",\\\"titleBar.activeBackground\\\":\\\"#22272e\\\",\\\"titleBar.activeForeground\\\":\\\"#768390\\\",\\\"titleBar.border\\\":\\\"#444c56\\\",\\\"titleBar.inactiveBackground\\\":\\\"#1c2128\\\",\\\"titleBar.inactiveForeground\\\":\\\"#768390\\\",\\\"tree.indentGuidesStroke\\\":\\\"#373e47\\\",\\\"welcomePage.buttonBackground\\\":\\\"#373e47\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#444c56\\\"},\\\"displayName\\\":\\\"GitHub Dark Dimmed\\\",\\\"name\\\":\\\"github-dark-dimmed\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#768390\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f47067\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\",\\\"entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"meta.export.default\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f69d50\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function\\\",\\\"meta.jsx.children\\\",\\\"meta.block\\\",\\\"meta.tag.attributes\\\",\\\"entity.name.constant\\\",\\\"meta.object.member\\\",\\\"meta.embedded.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#adbac7\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dcbdfb\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ddb8c\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f47067\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f47067\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#adbac7\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#96d0ff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f69d50\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#adbac7\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ff938a\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ff938a\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ff938a\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ff938a\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#f47067\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#cdd9e5\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff938a\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#96d0ff\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#96d0ff\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8ddb8c\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ddb8c\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f69d50\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ddb8c\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#adbac7\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#adbac7\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#5d0f12\\\",\\\"foreground\\\":\\\"#ff938a\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f47067\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#113417\\\",\\\"foreground\\\":\\\"#8ddb8c\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#682d0f\\\",\\\"foreground\\\":\\\"#f69d50\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#6cb6ff\\\",\\\"foreground\\\":\\\"#2d333b\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#dcbdfb\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6cb6ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#768390\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff938a\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#96d0ff\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: github-dark-high-contrast */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#ff967d\\\",\\\"activityBar.background\\\":\\\"#0a0c10\\\",\\\"activityBar.border\\\":\\\"#7a828e\\\",\\\"activityBar.foreground\\\":\\\"#f0f3f6\\\",\\\"activityBar.inactiveForeground\\\":\\\"#f0f3f6\\\",\\\"activityBarBadge.background\\\":\\\"#409eff\\\",\\\"activityBarBadge.foreground\\\":\\\"#0a0c10\\\",\\\"badge.background\\\":\\\"#409eff\\\",\\\"badge.foreground\\\":\\\"#0a0c10\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#f0f3f6\\\",\\\"breadcrumb.focusForeground\\\":\\\"#f0f3f6\\\",\\\"breadcrumb.foreground\\\":\\\"#f0f3f6\\\",\\\"breadcrumbPicker.background\\\":\\\"#272b33\\\",\\\"button.background\\\":\\\"#09b43a\\\",\\\"button.foreground\\\":\\\"#0a0c10\\\",\\\"button.hoverBackground\\\":\\\"#26cd4d\\\",\\\"button.secondaryBackground\\\":\\\"#4c525d\\\",\\\"button.secondaryForeground\\\":\\\"#f0f3f6\\\",\\\"button.secondaryHoverBackground\\\":\\\"#525964\\\",\\\"checkbox.background\\\":\\\"#272b33\\\",\\\"checkbox.border\\\":\\\"#7a828e\\\",\\\"debugConsole.errorForeground\\\":\\\"#ffb1af\\\",\\\"debugConsole.infoForeground\\\":\\\"#bdc4cc\\\",\\\"debugConsole.sourceForeground\\\":\\\"#f7c843\\\",\\\"debugConsole.warningForeground\\\":\\\"#f0b72f\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#cb9eff\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#ff6a69\\\",\\\"debugTokenExpression.boolean\\\":\\\"#4ae168\\\",\\\"debugTokenExpression.error\\\":\\\"#ffb1af\\\",\\\"debugTokenExpression.name\\\":\\\"#91cbff\\\",\\\"debugTokenExpression.number\\\":\\\"#4ae168\\\",\\\"debugTokenExpression.string\\\":\\\"#addcff\\\",\\\"debugTokenExpression.value\\\":\\\"#addcff\\\",\\\"debugToolBar.background\\\":\\\"#272b33\\\",\\\"descriptionForeground\\\":\\\"#f0f3f6\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#09b43a26\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#26cd4d4d\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#ff6a6926\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff94924d\\\",\\\"dropdown.background\\\":\\\"#272b33\\\",\\\"dropdown.border\\\":\\\"#7a828e\\\",\\\"dropdown.foreground\\\":\\\"#f0f3f6\\\",\\\"dropdown.listBackground\\\":\\\"#272b33\\\",\\\"editor.background\\\":\\\"#0a0c10\\\",\\\"editor.findMatchBackground\\\":\\\"#e09b13\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#fbd66980\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#09b43a\\\",\\\"editor.foldBackground\\\":\\\"#9ea7b31a\\\",\\\"editor.foreground\\\":\\\"#f0f3f6\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#9ea7b3\\\",\\\"editor.lineHighlightBackground\\\":\\\"#9ea7b31a\\\",\\\"editor.lineHighlightBorder\\\":\\\"#71b7ff\\\",\\\"editor.linkedEditingBackground\\\":\\\"#71b7ff12\\\",\\\"editor.selectionBackground\\\":\\\"#ffffff\\\",\\\"editor.selectionForeground\\\":\\\"#0a0c10\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#26cd4d40\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#e09b13\\\",\\\"editor.wordHighlightBackground\\\":\\\"#9ea7b380\\\",\\\"editor.wordHighlightBorder\\\":\\\"#9ea7b399\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#9ea7b34d\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#9ea7b399\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#91cbff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#4ae168\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#f7c843\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#ffb1af\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#ffadd4\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#dbb7ff\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#f0f3f6\\\",\\\"editorBracketMatch.background\\\":\\\"#26cd4d40\\\",\\\"editorBracketMatch.border\\\":\\\"#26cd4d99\\\",\\\"editorCursor.foreground\\\":\\\"#71b7ff\\\",\\\"editorGroup.border\\\":\\\"#7a828e\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#010409\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#7a828e\\\",\\\"editorGutter.addedBackground\\\":\\\"#09b43a\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ff6a69\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#e09b13\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#f0f3f63d\\\",\\\"editorIndentGuide.background\\\":\\\"#f0f3f61f\\\",\\\"editorInlayHint.background\\\":\\\"#bdc4cc33\\\",\\\"editorInlayHint.foreground\\\":\\\"#f0f3f6\\\",\\\"editorInlayHint.paramBackground\\\":\\\"#bdc4cc33\\\",\\\"editorInlayHint.paramForeground\\\":\\\"#f0f3f6\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#bdc4cc33\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#f0f3f6\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#f0f3f6\\\",\\\"editorLineNumber.foreground\\\":\\\"#9ea7b3\\\",\\\"editorOverviewRuler.border\\\":\\\"#010409\\\",\\\"editorWhitespace.foreground\\\":\\\"#7a828e\\\",\\\"editorWidget.background\\\":\\\"#272b33\\\",\\\"errorForeground\\\":\\\"#ff6a69\\\",\\\"focusBorder\\\":\\\"#409eff\\\",\\\"foreground\\\":\\\"#f0f3f6\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#26cd4d\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#e7811d\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#ff6a69\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#9ea7b3\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#f0b72f\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#f0f3f6\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#26cd4d\\\",\\\"icon.foreground\\\":\\\"#f0f3f6\\\",\\\"input.background\\\":\\\"#0a0c10\\\",\\\"input.border\\\":\\\"#7a828e\\\",\\\"input.foreground\\\":\\\"#f0f3f6\\\",\\\"input.placeholderForeground\\\":\\\"#9ea7b3\\\",\\\"keybindingLabel.foreground\\\":\\\"#f0f3f6\\\",\\\"list.activeSelectionBackground\\\":\\\"#9ea7b366\\\",\\\"list.activeSelectionForeground\\\":\\\"#f0f3f6\\\",\\\"list.focusBackground\\\":\\\"#409eff26\\\",\\\"list.focusForeground\\\":\\\"#f0f3f6\\\",\\\"list.highlightForeground\\\":\\\"#71b7ff\\\",\\\"list.hoverBackground\\\":\\\"#9ea7b31a\\\",\\\"list.hoverForeground\\\":\\\"#f0f3f6\\\",\\\"list.inactiveFocusBackground\\\":\\\"#409eff26\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#9ea7b366\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#f0f3f6\\\",\\\"minimapSlider.activeBackground\\\":\\\"#bdc4cc47\\\",\\\"minimapSlider.background\\\":\\\"#bdc4cc33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#bdc4cc3d\\\",\\\"notificationCenterHeader.background\\\":\\\"#272b33\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#f0f3f6\\\",\\\"notifications.background\\\":\\\"#272b33\\\",\\\"notifications.border\\\":\\\"#7a828e\\\",\\\"notifications.foreground\\\":\\\"#f0f3f6\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#ff6a69\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#71b7ff\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#f0b72f\\\",\\\"panel.background\\\":\\\"#010409\\\",\\\"panel.border\\\":\\\"#7a828e\\\",\\\"panelInput.border\\\":\\\"#7a828e\\\",\\\"panelTitle.activeBorder\\\":\\\"#ff967d\\\",\\\"panelTitle.activeForeground\\\":\\\"#f0f3f6\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#f0f3f6\\\",\\\"peekViewEditor.background\\\":\\\"#9ea7b31a\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#e09b13\\\",\\\"peekViewResult.background\\\":\\\"#0a0c10\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#e09b13\\\",\\\"pickerGroup.border\\\":\\\"#7a828e\\\",\\\"pickerGroup.foreground\\\":\\\"#f0f3f6\\\",\\\"progressBar.background\\\":\\\"#409eff\\\",\\\"quickInput.background\\\":\\\"#272b33\\\",\\\"quickInput.foreground\\\":\\\"#f0f3f6\\\",\\\"scrollbar.shadow\\\":\\\"#7a828e33\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#bdc4cc47\\\",\\\"scrollbarSlider.background\\\":\\\"#bdc4cc33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#bdc4cc3d\\\",\\\"settings.headerForeground\\\":\\\"#f0f3f6\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#e09b13\\\",\\\"sideBar.background\\\":\\\"#010409\\\",\\\"sideBar.border\\\":\\\"#7a828e\\\",\\\"sideBar.foreground\\\":\\\"#f0f3f6\\\",\\\"sideBarSectionHeader.background\\\":\\\"#010409\\\",\\\"sideBarSectionHeader.border\\\":\\\"#7a828e\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#f0f3f6\\\",\\\"sideBarTitle.foreground\\\":\\\"#f0f3f6\\\",\\\"statusBar.background\\\":\\\"#0a0c10\\\",\\\"statusBar.border\\\":\\\"#7a828e\\\",\\\"statusBar.debuggingBackground\\\":\\\"#ff6a69\\\",\\\"statusBar.debuggingForeground\\\":\\\"#0a0c10\\\",\\\"statusBar.focusBorder\\\":\\\"#409eff80\\\",\\\"statusBar.foreground\\\":\\\"#f0f3f6\\\",\\\"statusBar.noFolderBackground\\\":\\\"#0a0c10\\\",\\\"statusBarItem.activeBackground\\\":\\\"#f0f3f61f\\\",\\\"statusBarItem.focusBorder\\\":\\\"#409eff\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#f0f3f614\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#9ea7b366\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#525964\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#f0f3f6\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#71b7ff\\\",\\\"symbolIcon.classForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.colorForeground\\\":\\\"#91cbff\\\",\\\"symbolIcon.constantForeground\\\":[\\\"#acf7b6\\\",\\\"#72f088\\\",\\\"#4ae168\\\",\\\"#26cd4d\\\",\\\"#09b43a\\\",\\\"#09b43a\\\",\\\"#02a232\\\",\\\"#008c2c\\\",\\\"#007728\\\",\\\"#006222\\\"],\\\"symbolIcon.constructorForeground\\\":\\\"#dbb7ff\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#71b7ff\\\",\\\"symbolIcon.eventForeground\\\":\\\"#9ea7b3\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.fileForeground\\\":\\\"#f0b72f\\\",\\\"symbolIcon.folderForeground\\\":\\\"#f0b72f\\\",\\\"symbolIcon.functionForeground\\\":\\\"#cb9eff\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.keyForeground\\\":\\\"#71b7ff\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#ff9492\\\",\\\"symbolIcon.methodForeground\\\":\\\"#cb9eff\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#ff9492\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#ff9492\\\",\\\"symbolIcon.nullForeground\\\":\\\"#71b7ff\\\",\\\"symbolIcon.numberForeground\\\":\\\"#26cd4d\\\",\\\"symbolIcon.objectForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#91cbff\\\",\\\"symbolIcon.packageForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#71b7ff\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#71b7ff\\\",\\\"symbolIcon.stringForeground\\\":\\\"#91cbff\\\",\\\"symbolIcon.structForeground\\\":\\\"#fe9a2d\\\",\\\"symbolIcon.textForeground\\\":\\\"#91cbff\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#91cbff\\\",\\\"symbolIcon.unitForeground\\\":\\\"#71b7ff\\\",\\\"symbolIcon.variableForeground\\\":\\\"#fe9a2d\\\",\\\"tab.activeBackground\\\":\\\"#0a0c10\\\",\\\"tab.activeBorder\\\":\\\"#0a0c10\\\",\\\"tab.activeBorderTop\\\":\\\"#ff967d\\\",\\\"tab.activeForeground\\\":\\\"#f0f3f6\\\",\\\"tab.border\\\":\\\"#7a828e\\\",\\\"tab.hoverBackground\\\":\\\"#0a0c10\\\",\\\"tab.inactiveBackground\\\":\\\"#010409\\\",\\\"tab.inactiveForeground\\\":\\\"#f0f3f6\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0a0c10\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#7a828e\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#9ea7b31a\\\",\\\"terminal.ansiBlack\\\":\\\"#7a828e\\\",\\\"terminal.ansiBlue\\\":\\\"#71b7ff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#9ea7b3\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#91cbff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56d4dd\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#4ae168\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#dbb7ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ffb1af\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#f7c843\\\",\\\"terminal.ansiCyan\\\":\\\"#39c5cf\\\",\\\"terminal.ansiGreen\\\":\\\"#26cd4d\\\",\\\"terminal.ansiMagenta\\\":\\\"#cb9eff\\\",\\\"terminal.ansiRed\\\":\\\"#ff9492\\\",\\\"terminal.ansiWhite\\\":\\\"#d9dee3\\\",\\\"terminal.ansiYellow\\\":\\\"#f0b72f\\\",\\\"terminal.foreground\\\":\\\"#f0f3f6\\\",\\\"textBlockQuote.background\\\":\\\"#010409\\\",\\\"textBlockQuote.border\\\":\\\"#7a828e\\\",\\\"textCodeBlock.background\\\":\\\"#9ea7b366\\\",\\\"textLink.activeForeground\\\":\\\"#71b7ff\\\",\\\"textLink.foreground\\\":\\\"#71b7ff\\\",\\\"textPreformat.background\\\":\\\"#9ea7b366\\\",\\\"textPreformat.foreground\\\":\\\"#f0f3f6\\\",\\\"textSeparator.foreground\\\":\\\"#7a828e\\\",\\\"titleBar.activeBackground\\\":\\\"#0a0c10\\\",\\\"titleBar.activeForeground\\\":\\\"#f0f3f6\\\",\\\"titleBar.border\\\":\\\"#7a828e\\\",\\\"titleBar.inactiveBackground\\\":\\\"#010409\\\",\\\"titleBar.inactiveForeground\\\":\\\"#f0f3f6\\\",\\\"tree.indentGuidesStroke\\\":\\\"#7a828e\\\",\\\"welcomePage.buttonBackground\\\":\\\"#272b33\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#525964\\\"},\\\"displayName\\\":\\\"GitHub Dark High Contrast\\\",\\\"name\\\":\\\"github-dark-high-contrast\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdc4cc\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9492\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\",\\\"entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"meta.export.default\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb757\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function\\\",\\\"meta.jsx.children\\\",\\\"meta.block\\\",\\\"meta.tag.attributes\\\",\\\"entity.name.constant\\\",\\\"meta.object.member\\\",\\\"meta.embedded.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f0f3f6\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbb7ff\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f088\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9492\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9492\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f0f3f6\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#addcff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb757\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f0f3f6\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffb1af\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffb1af\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffb1af\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffb1af\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#ff9492\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb1af\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#addcff\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#addcff\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#72f088\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#72f088\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb757\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#72f088\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f0f3f6\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f0f3f6\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ad0116\\\",\\\"foreground\\\":\\\"#ffb1af\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9492\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#006222\\\",\\\"foreground\\\":\\\"#72f088\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#a74c00\\\",\\\"foreground\\\":\\\"#ffb757\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#91cbff\\\",\\\"foreground\\\":\\\"#272b33\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#dbb7ff\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91cbff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdc4cc\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb1af\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#addcff\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: github-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#f9826c\\\",\\\"activityBar.background\\\":\\\"#fff\\\",\\\"activityBar.border\\\":\\\"#e1e4e8\\\",\\\"activityBar.foreground\\\":\\\"#2f363d\\\",\\\"activityBar.inactiveForeground\\\":\\\"#959da5\\\",\\\"activityBarBadge.background\\\":\\\"#2188ff\\\",\\\"activityBarBadge.foreground\\\":\\\"#fff\\\",\\\"badge.background\\\":\\\"#dbedff\\\",\\\"badge.foreground\\\":\\\"#005cc5\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#586069\\\",\\\"breadcrumb.focusForeground\\\":\\\"#2f363d\\\",\\\"breadcrumb.foreground\\\":\\\"#6a737d\\\",\\\"breadcrumbPicker.background\\\":\\\"#fafbfc\\\",\\\"button.background\\\":\\\"#159739\\\",\\\"button.foreground\\\":\\\"#fff\\\",\\\"button.hoverBackground\\\":\\\"#138934\\\",\\\"button.secondaryBackground\\\":\\\"#e1e4e8\\\",\\\"button.secondaryForeground\\\":\\\"#1b1f23\\\",\\\"button.secondaryHoverBackground\\\":\\\"#d1d5da\\\",\\\"checkbox.background\\\":\\\"#fafbfc\\\",\\\"checkbox.border\\\":\\\"#d1d5da\\\",\\\"debugToolBar.background\\\":\\\"#fff\\\",\\\"descriptionForeground\\\":\\\"#6a737d\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#34d05822\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#d73a4922\\\",\\\"dropdown.background\\\":\\\"#fafbfc\\\",\\\"dropdown.border\\\":\\\"#e1e4e8\\\",\\\"dropdown.foreground\\\":\\\"#2f363d\\\",\\\"dropdown.listBackground\\\":\\\"#fff\\\",\\\"editor.background\\\":\\\"#fff\\\",\\\"editor.findMatchBackground\\\":\\\"#ffdf5d\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ffdf5d66\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#28a74525\\\",\\\"editor.foldBackground\\\":\\\"#d1d5da11\\\",\\\"editor.foreground\\\":\\\"#24292e\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#0366d611\\\",\\\"editor.lineHighlightBackground\\\":\\\"#f6f8fa\\\",\\\"editor.linkedEditingBackground\\\":\\\"#0366d611\\\",\\\"editor.selectionBackground\\\":\\\"#0366d625\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#34d05840\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#34d05800\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"editor.wordHighlightBackground\\\":\\\"#34d05800\\\",\\\"editor.wordHighlightBorder\\\":\\\"#24943e99\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#34d05800\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#24943e50\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#005cc5\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#e36209\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#5a32a3\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#005cc5\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#e36209\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#5a32a3\\\",\\\"editorBracketMatch.background\\\":\\\"#34d05840\\\",\\\"editorBracketMatch.border\\\":\\\"#34d05800\\\",\\\"editorCursor.foreground\\\":\\\"#044289\\\",\\\"editorError.foreground\\\":\\\"#cb2431\\\",\\\"editorGroup.border\\\":\\\"#e1e4e8\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#f6f8fa\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#e1e4e8\\\",\\\"editorGutter.addedBackground\\\":\\\"#28a745\\\",\\\"editorGutter.deletedBackground\\\":\\\"#d73a49\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#2188ff\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#d7dbe0\\\",\\\"editorIndentGuide.background\\\":\\\"#eff2f6\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#24292e\\\",\\\"editorLineNumber.foreground\\\":\\\"#1b1f234d\\\",\\\"editorOverviewRuler.border\\\":\\\"#fff\\\",\\\"editorWarning.foreground\\\":\\\"#f9c513\\\",\\\"editorWhitespace.foreground\\\":\\\"#d1d5da\\\",\\\"editorWidget.background\\\":\\\"#f6f8fa\\\",\\\"errorForeground\\\":\\\"#cb2431\\\",\\\"focusBorder\\\":\\\"#2188ff\\\",\\\"foreground\\\":\\\"#444d56\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#28a745\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#e36209\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#d73a49\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#959da5\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#005cc5\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#959da5\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#28a745\\\",\\\"input.background\\\":\\\"#fafbfc\\\",\\\"input.border\\\":\\\"#e1e4e8\\\",\\\"input.foreground\\\":\\\"#2f363d\\\",\\\"input.placeholderForeground\\\":\\\"#959da5\\\",\\\"list.activeSelectionBackground\\\":\\\"#e2e5e9\\\",\\\"list.activeSelectionForeground\\\":\\\"#2f363d\\\",\\\"list.focusBackground\\\":\\\"#cce5ff\\\",\\\"list.hoverBackground\\\":\\\"#ebf0f4\\\",\\\"list.hoverForeground\\\":\\\"#2f363d\\\",\\\"list.inactiveFocusBackground\\\":\\\"#dbedff\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#e8eaed\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#2f363d\\\",\\\"notificationCenterHeader.background\\\":\\\"#e1e4e8\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#6a737d\\\",\\\"notifications.background\\\":\\\"#fafbfc\\\",\\\"notifications.border\\\":\\\"#e1e4e8\\\",\\\"notifications.foreground\\\":\\\"#2f363d\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#d73a49\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#005cc5\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#e36209\\\",\\\"panel.background\\\":\\\"#f6f8fa\\\",\\\"panel.border\\\":\\\"#e1e4e8\\\",\\\"panelInput.border\\\":\\\"#e1e4e8\\\",\\\"panelTitle.activeBorder\\\":\\\"#f9826c\\\",\\\"panelTitle.activeForeground\\\":\\\"#2f363d\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#6a737d\\\",\\\"pickerGroup.border\\\":\\\"#e1e4e8\\\",\\\"pickerGroup.foreground\\\":\\\"#2f363d\\\",\\\"progressBar.background\\\":\\\"#2188ff\\\",\\\"quickInput.background\\\":\\\"#fafbfc\\\",\\\"quickInput.foreground\\\":\\\"#2f363d\\\",\\\"scrollbar.shadow\\\":\\\"#6a737d33\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#959da588\\\",\\\"scrollbarSlider.background\\\":\\\"#959da533\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#959da544\\\",\\\"settings.headerForeground\\\":\\\"#2f363d\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#2188ff\\\",\\\"sideBar.background\\\":\\\"#f6f8fa\\\",\\\"sideBar.border\\\":\\\"#e1e4e8\\\",\\\"sideBar.foreground\\\":\\\"#586069\\\",\\\"sideBarSectionHeader.background\\\":\\\"#f6f8fa\\\",\\\"sideBarSectionHeader.border\\\":\\\"#e1e4e8\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#2f363d\\\",\\\"sideBarTitle.foreground\\\":\\\"#2f363d\\\",\\\"statusBar.background\\\":\\\"#fff\\\",\\\"statusBar.border\\\":\\\"#e1e4e8\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f9826c\\\",\\\"statusBar.debuggingForeground\\\":\\\"#fff\\\",\\\"statusBar.foreground\\\":\\\"#586069\\\",\\\"statusBar.noFolderBackground\\\":\\\"#fff\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#e8eaed\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#fff\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#586069\\\",\\\"tab.activeBackground\\\":\\\"#fff\\\",\\\"tab.activeBorder\\\":\\\"#fff\\\",\\\"tab.activeBorderTop\\\":\\\"#f9826c\\\",\\\"tab.activeForeground\\\":\\\"#2f363d\\\",\\\"tab.border\\\":\\\"#e1e4e8\\\",\\\"tab.hoverBackground\\\":\\\"#fff\\\",\\\"tab.inactiveBackground\\\":\\\"#f6f8fa\\\",\\\"tab.inactiveForeground\\\":\\\"#6a737d\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#fff\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#e1e4e8\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#fff\\\",\\\"terminal.ansiBlack\\\":\\\"#24292e\\\",\\\"terminal.ansiBlue\\\":\\\"#0366d6\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#959da5\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#005cc5\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#3192aa\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#22863a\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#5a32a3\\\",\\\"terminal.ansiBrightRed\\\":\\\"#cb2431\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#d1d5da\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#b08800\\\",\\\"terminal.ansiCyan\\\":\\\"#1b7c83\\\",\\\"terminal.ansiGreen\\\":\\\"#28a745\\\",\\\"terminal.ansiMagenta\\\":\\\"#5a32a3\\\",\\\"terminal.ansiRed\\\":\\\"#d73a49\\\",\\\"terminal.ansiWhite\\\":\\\"#6a737d\\\",\\\"terminal.ansiYellow\\\":\\\"#dbab09\\\",\\\"terminal.foreground\\\":\\\"#586069\\\",\\\"terminal.tab.activeBorder\\\":\\\"#f9826c\\\",\\\"terminalCursor.background\\\":\\\"#d1d5da\\\",\\\"terminalCursor.foreground\\\":\\\"#005cc5\\\",\\\"textBlockQuote.background\\\":\\\"#fafbfc\\\",\\\"textBlockQuote.border\\\":\\\"#e1e4e8\\\",\\\"textCodeBlock.background\\\":\\\"#f6f8fa\\\",\\\"textLink.activeForeground\\\":\\\"#005cc5\\\",\\\"textLink.foreground\\\":\\\"#0366d6\\\",\\\"textPreformat.foreground\\\":\\\"#586069\\\",\\\"textSeparator.foreground\\\":\\\"#d1d5da\\\",\\\"titleBar.activeBackground\\\":\\\"#fff\\\",\\\"titleBar.activeForeground\\\":\\\"#2f363d\\\",\\\"titleBar.border\\\":\\\"#e1e4e8\\\",\\\"titleBar.inactiveBackground\\\":\\\"#f6f8fa\\\",\\\"titleBar.inactiveForeground\\\":\\\"#6a737d\\\",\\\"tree.indentGuidesStroke\\\":\\\"#e1e4e8\\\",\\\"welcomePage.buttonBackground\\\":\\\"#f6f8fa\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#e1e4e8\\\"},\\\"displayName\\\":\\\"GitHub Light\\\",\\\"name\\\":\\\"github-light\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6a737d\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"entity\\\",\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6f42c1\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d73a49\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d73a49\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032f62\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e36209\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#d73a49\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#fafbfc\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032f62\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032f62\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e36209\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffeef0\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#f0fff4\\\",\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffebda\\\",\\\"foreground\\\":\\\"#e36209\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#005cc5\\\",\\\"foreground\\\":\\\"#f6f8fa\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#6f42c1\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#586069\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#032f62\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: github-light-default */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#fd8c73\\\",\\\"activityBar.background\\\":\\\"#ffffff\\\",\\\"activityBar.border\\\":\\\"#d0d7de\\\",\\\"activityBar.foreground\\\":\\\"#1f2328\\\",\\\"activityBar.inactiveForeground\\\":\\\"#656d76\\\",\\\"activityBarBadge.background\\\":\\\"#0969da\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#0969da\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#656d76\\\",\\\"breadcrumb.focusForeground\\\":\\\"#1f2328\\\",\\\"breadcrumb.foreground\\\":\\\"#656d76\\\",\\\"breadcrumbPicker.background\\\":\\\"#ffffff\\\",\\\"button.background\\\":\\\"#1f883d\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#1a7f37\\\",\\\"button.secondaryBackground\\\":\\\"#ebecf0\\\",\\\"button.secondaryForeground\\\":\\\"#24292f\\\",\\\"button.secondaryHoverBackground\\\":\\\"#f3f4f6\\\",\\\"checkbox.background\\\":\\\"#f6f8fa\\\",\\\"checkbox.border\\\":\\\"#d0d7de\\\",\\\"debugConsole.errorForeground\\\":\\\"#cf222e\\\",\\\"debugConsole.infoForeground\\\":\\\"#57606a\\\",\\\"debugConsole.sourceForeground\\\":\\\"#9a6700\\\",\\\"debugConsole.warningForeground\\\":\\\"#7d4e00\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#6639ba\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#cf222e\\\",\\\"debugTokenExpression.boolean\\\":\\\"#116329\\\",\\\"debugTokenExpression.error\\\":\\\"#a40e26\\\",\\\"debugTokenExpression.name\\\":\\\"#0550ae\\\",\\\"debugTokenExpression.number\\\":\\\"#116329\\\",\\\"debugTokenExpression.string\\\":\\\"#0a3069\\\",\\\"debugTokenExpression.value\\\":\\\"#0a3069\\\",\\\"debugToolBar.background\\\":\\\"#ffffff\\\",\\\"descriptionForeground\\\":\\\"#656d76\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#aceebb4d\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#6fdd8b80\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#ffcecb4d\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff818266\\\",\\\"dropdown.background\\\":\\\"#ffffff\\\",\\\"dropdown.border\\\":\\\"#d0d7de\\\",\\\"dropdown.foreground\\\":\\\"#1f2328\\\",\\\"dropdown.listBackground\\\":\\\"#ffffff\\\",\\\"editor.background\\\":\\\"#ffffff\\\",\\\"editor.findMatchBackground\\\":\\\"#bf8700\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#fae17d80\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#4ac26b66\\\",\\\"editor.foldBackground\\\":\\\"#6e77811a\\\",\\\"editor.foreground\\\":\\\"#1f2328\\\",\\\"editor.lineHighlightBackground\\\":\\\"#eaeef280\\\",\\\"editor.linkedEditingBackground\\\":\\\"#0969da12\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#4ac26b40\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#d4a72c66\\\",\\\"editor.wordHighlightBackground\\\":\\\"#eaeef280\\\",\\\"editor.wordHighlightBorder\\\":\\\"#afb8c199\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#afb8c14d\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#afb8c199\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#0969da\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#1a7f37\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#9a6700\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#cf222e\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#bf3989\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#8250df\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#656d76\\\",\\\"editorBracketMatch.background\\\":\\\"#4ac26b40\\\",\\\"editorBracketMatch.border\\\":\\\"#4ac26b99\\\",\\\"editorCursor.foreground\\\":\\\"#0969da\\\",\\\"editorGroup.border\\\":\\\"#d0d7de\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#f6f8fa\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#d0d7de\\\",\\\"editorGutter.addedBackground\\\":\\\"#4ac26b66\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ff818266\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#d4a72c66\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#1f23283d\\\",\\\"editorIndentGuide.background\\\":\\\"#1f23281f\\\",\\\"editorInlayHint.background\\\":\\\"#afb8c133\\\",\\\"editorInlayHint.foreground\\\":\\\"#656d76\\\",\\\"editorInlayHint.paramBackground\\\":\\\"#afb8c133\\\",\\\"editorInlayHint.paramForeground\\\":\\\"#656d76\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#afb8c133\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#656d76\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#1f2328\\\",\\\"editorLineNumber.foreground\\\":\\\"#8c959f\\\",\\\"editorOverviewRuler.border\\\":\\\"#ffffff\\\",\\\"editorWhitespace.foreground\\\":\\\"#afb8c1\\\",\\\"editorWidget.background\\\":\\\"#ffffff\\\",\\\"errorForeground\\\":\\\"#cf222e\\\",\\\"focusBorder\\\":\\\"#0969da\\\",\\\"foreground\\\":\\\"#1f2328\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#1a7f37\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#bc4c00\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cf222e\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e7781\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#9a6700\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#656d76\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#1a7f37\\\",\\\"icon.foreground\\\":\\\"#656d76\\\",\\\"input.background\\\":\\\"#ffffff\\\",\\\"input.border\\\":\\\"#d0d7de\\\",\\\"input.foreground\\\":\\\"#1f2328\\\",\\\"input.placeholderForeground\\\":\\\"#6e7781\\\",\\\"keybindingLabel.foreground\\\":\\\"#1f2328\\\",\\\"list.activeSelectionBackground\\\":\\\"#afb8c133\\\",\\\"list.activeSelectionForeground\\\":\\\"#1f2328\\\",\\\"list.focusBackground\\\":\\\"#ddf4ff\\\",\\\"list.focusForeground\\\":\\\"#1f2328\\\",\\\"list.highlightForeground\\\":\\\"#0969da\\\",\\\"list.hoverBackground\\\":\\\"#eaeef280\\\",\\\"list.hoverForeground\\\":\\\"#1f2328\\\",\\\"list.inactiveFocusBackground\\\":\\\"#ddf4ff\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#afb8c133\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#1f2328\\\",\\\"minimapSlider.activeBackground\\\":\\\"#8c959f47\\\",\\\"minimapSlider.background\\\":\\\"#8c959f33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#8c959f3d\\\",\\\"notificationCenterHeader.background\\\":\\\"#f6f8fa\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#656d76\\\",\\\"notifications.background\\\":\\\"#ffffff\\\",\\\"notifications.border\\\":\\\"#d0d7de\\\",\\\"notifications.foreground\\\":\\\"#1f2328\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#cf222e\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#0969da\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#9a6700\\\",\\\"panel.background\\\":\\\"#f6f8fa\\\",\\\"panel.border\\\":\\\"#d0d7de\\\",\\\"panelInput.border\\\":\\\"#d0d7de\\\",\\\"panelTitle.activeBorder\\\":\\\"#fd8c73\\\",\\\"panelTitle.activeForeground\\\":\\\"#1f2328\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#656d76\\\",\\\"pickerGroup.border\\\":\\\"#d0d7de\\\",\\\"pickerGroup.foreground\\\":\\\"#656d76\\\",\\\"progressBar.background\\\":\\\"#0969da\\\",\\\"quickInput.background\\\":\\\"#ffffff\\\",\\\"quickInput.foreground\\\":\\\"#1f2328\\\",\\\"scrollbar.shadow\\\":\\\"#6e778133\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#8c959f47\\\",\\\"scrollbarSlider.background\\\":\\\"#8c959f33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#8c959f3d\\\",\\\"settings.headerForeground\\\":\\\"#1f2328\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#d4a72c66\\\",\\\"sideBar.background\\\":\\\"#f6f8fa\\\",\\\"sideBar.border\\\":\\\"#d0d7de\\\",\\\"sideBar.foreground\\\":\\\"#1f2328\\\",\\\"sideBarSectionHeader.background\\\":\\\"#f6f8fa\\\",\\\"sideBarSectionHeader.border\\\":\\\"#d0d7de\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#1f2328\\\",\\\"sideBarTitle.foreground\\\":\\\"#1f2328\\\",\\\"statusBar.background\\\":\\\"#ffffff\\\",\\\"statusBar.border\\\":\\\"#d0d7de\\\",\\\"statusBar.debuggingBackground\\\":\\\"#cf222e\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.focusBorder\\\":\\\"#0969da80\\\",\\\"statusBar.foreground\\\":\\\"#656d76\\\",\\\"statusBar.noFolderBackground\\\":\\\"#ffffff\\\",\\\"statusBarItem.activeBackground\\\":\\\"#1f23281f\\\",\\\"statusBarItem.focusBorder\\\":\\\"#0969da\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#1f232814\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#afb8c133\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#eaeef2\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#1f2328\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#953800\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.classForeground\\\":\\\"#953800\\\",\\\"symbolIcon.colorForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.constantForeground\\\":\\\"#116329\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#3e1f79\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#953800\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.eventForeground\\\":\\\"#57606a\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#953800\\\",\\\"symbolIcon.fileForeground\\\":\\\"#7d4e00\\\",\\\"symbolIcon.folderForeground\\\":\\\"#7d4e00\\\",\\\"symbolIcon.functionForeground\\\":\\\"#6639ba\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#953800\\\",\\\"symbolIcon.keyForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#a40e26\\\",\\\"symbolIcon.methodForeground\\\":\\\"#6639ba\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#a40e26\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#a40e26\\\",\\\"symbolIcon.nullForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.numberForeground\\\":\\\"#116329\\\",\\\"symbolIcon.objectForeground\\\":\\\"#953800\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.packageForeground\\\":\\\"#953800\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#953800\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.stringForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.structForeground\\\":\\\"#953800\\\",\\\"symbolIcon.textForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#0a3069\\\",\\\"symbolIcon.unitForeground\\\":\\\"#0550ae\\\",\\\"symbolIcon.variableForeground\\\":\\\"#953800\\\",\\\"tab.activeBackground\\\":\\\"#ffffff\\\",\\\"tab.activeBorder\\\":\\\"#ffffff\\\",\\\"tab.activeBorderTop\\\":\\\"#fd8c73\\\",\\\"tab.activeForeground\\\":\\\"#1f2328\\\",\\\"tab.border\\\":\\\"#d0d7de\\\",\\\"tab.hoverBackground\\\":\\\"#ffffff\\\",\\\"tab.inactiveBackground\\\":\\\"#f6f8fa\\\",\\\"tab.inactiveForeground\\\":\\\"#656d76\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#ffffff\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#d0d7de\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#eaeef280\\\",\\\"terminal.ansiBlack\\\":\\\"#24292f\\\",\\\"terminal.ansiBlue\\\":\\\"#0969da\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#57606a\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#218bff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#3192aa\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#1a7f37\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#a475f9\\\",\\\"terminal.ansiBrightRed\\\":\\\"#a40e26\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#8c959f\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#633c01\\\",\\\"terminal.ansiCyan\\\":\\\"#1b7c83\\\",\\\"terminal.ansiGreen\\\":\\\"#116329\\\",\\\"terminal.ansiMagenta\\\":\\\"#8250df\\\",\\\"terminal.ansiRed\\\":\\\"#cf222e\\\",\\\"terminal.ansiWhite\\\":\\\"#6e7781\\\",\\\"terminal.ansiYellow\\\":\\\"#4d2d00\\\",\\\"terminal.foreground\\\":\\\"#1f2328\\\",\\\"textBlockQuote.background\\\":\\\"#f6f8fa\\\",\\\"textBlockQuote.border\\\":\\\"#d0d7de\\\",\\\"textCodeBlock.background\\\":\\\"#afb8c133\\\",\\\"textLink.activeForeground\\\":\\\"#0969da\\\",\\\"textLink.foreground\\\":\\\"#0969da\\\",\\\"textPreformat.background\\\":\\\"#afb8c133\\\",\\\"textPreformat.foreground\\\":\\\"#656d76\\\",\\\"textSeparator.foreground\\\":\\\"#d8dee4\\\",\\\"titleBar.activeBackground\\\":\\\"#ffffff\\\",\\\"titleBar.activeForeground\\\":\\\"#656d76\\\",\\\"titleBar.border\\\":\\\"#d0d7de\\\",\\\"titleBar.inactiveBackground\\\":\\\"#f6f8fa\\\",\\\"titleBar.inactiveForeground\\\":\\\"#656d76\\\",\\\"tree.indentGuidesStroke\\\":\\\"#d8dee4\\\",\\\"welcomePage.buttonBackground\\\":\\\"#f6f8fa\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#f3f4f6\\\"},\\\"displayName\\\":\\\"GitHub Light Default\\\",\\\"name\\\":\\\"github-light-default\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6e7781\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cf222e\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\",\\\"entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"meta.export.default\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#953800\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function\\\",\\\"meta.jsx.children\\\",\\\"meta.block\\\",\\\"meta.tag.attributes\\\",\\\"entity.name.constant\\\",\\\"meta.object.member\\\",\\\"meta.embedded.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8250df\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cf222e\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cf222e\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0a3069\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#953800\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#cf222e\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#f6f8fa\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0a3069\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0a3069\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#953800\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#1f2328\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffebe9\\\",\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cf222e\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#dafbe1\\\",\\\"foreground\\\":\\\"#116329\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffd8b5\\\",\\\"foreground\\\":\\\"#953800\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#0550ae\\\",\\\"foreground\\\":\\\"#eaeef2\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8250df\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0550ae\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#57606a\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82071e\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0a3069\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: github-light-high-contrast */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#ef5b48\\\",\\\"activityBar.background\\\":\\\"#ffffff\\\",\\\"activityBar.border\\\":\\\"#20252c\\\",\\\"activityBar.foreground\\\":\\\"#0e1116\\\",\\\"activityBar.inactiveForeground\\\":\\\"#0e1116\\\",\\\"activityBarBadge.background\\\":\\\"#0349b4\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#0349b4\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#0e1116\\\",\\\"breadcrumb.focusForeground\\\":\\\"#0e1116\\\",\\\"breadcrumb.foreground\\\":\\\"#0e1116\\\",\\\"breadcrumbPicker.background\\\":\\\"#ffffff\\\",\\\"button.background\\\":\\\"#055d20\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#024c1a\\\",\\\"button.secondaryBackground\\\":\\\"#acb6c0\\\",\\\"button.secondaryForeground\\\":\\\"#0e1116\\\",\\\"button.secondaryHoverBackground\\\":\\\"#ced5dc\\\",\\\"checkbox.background\\\":\\\"#e7ecf0\\\",\\\"checkbox.border\\\":\\\"#20252c\\\",\\\"debugConsole.errorForeground\\\":\\\"#a0111f\\\",\\\"debugConsole.infoForeground\\\":\\\"#4b535d\\\",\\\"debugConsole.sourceForeground\\\":\\\"#744500\\\",\\\"debugConsole.warningForeground\\\":\\\"#603700\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#512598\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#a0111f\\\",\\\"debugTokenExpression.boolean\\\":\\\"#024c1a\\\",\\\"debugTokenExpression.error\\\":\\\"#86061d\\\",\\\"debugTokenExpression.name\\\":\\\"#023b95\\\",\\\"debugTokenExpression.number\\\":\\\"#024c1a\\\",\\\"debugTokenExpression.string\\\":\\\"#032563\\\",\\\"debugTokenExpression.value\\\":\\\"#032563\\\",\\\"debugToolBar.background\\\":\\\"#ffffff\\\",\\\"descriptionForeground\\\":\\\"#0e1116\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#82e5964d\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#43c66380\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#ffc1bc4d\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ee5a5d66\\\",\\\"dropdown.background\\\":\\\"#ffffff\\\",\\\"dropdown.border\\\":\\\"#20252c\\\",\\\"dropdown.foreground\\\":\\\"#0e1116\\\",\\\"dropdown.listBackground\\\":\\\"#ffffff\\\",\\\"editor.background\\\":\\\"#ffffff\\\",\\\"editor.findMatchBackground\\\":\\\"#744500\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#f0ce5380\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#26a148\\\",\\\"editor.foldBackground\\\":\\\"#66707b1a\\\",\\\"editor.foreground\\\":\\\"#0e1116\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#66707b\\\",\\\"editor.lineHighlightBackground\\\":\\\"#e7ecf0\\\",\\\"editor.linkedEditingBackground\\\":\\\"#0349b412\\\",\\\"editor.selectionBackground\\\":\\\"#0e1116\\\",\\\"editor.selectionForeground\\\":\\\"#ffffff\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#26a14840\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#b58407\\\",\\\"editor.wordHighlightBackground\\\":\\\"#e7ecf080\\\",\\\"editor.wordHighlightBorder\\\":\\\"#acb6c099\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#acb6c04d\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#acb6c099\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#0349b4\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#055d20\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#744500\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#a0111f\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#971368\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#622cbc\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#0e1116\\\",\\\"editorBracketMatch.background\\\":\\\"#26a14840\\\",\\\"editorBracketMatch.border\\\":\\\"#26a14899\\\",\\\"editorCursor.foreground\\\":\\\"#0349b4\\\",\\\"editorGroup.border\\\":\\\"#20252c\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#ffffff\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#20252c\\\",\\\"editorGutter.addedBackground\\\":\\\"#26a148\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ee5a5d\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#b58407\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#0e11163d\\\",\\\"editorIndentGuide.background\\\":\\\"#0e11161f\\\",\\\"editorInlayHint.background\\\":\\\"#acb6c033\\\",\\\"editorInlayHint.foreground\\\":\\\"#0e1116\\\",\\\"editorInlayHint.paramBackground\\\":\\\"#acb6c033\\\",\\\"editorInlayHint.paramForeground\\\":\\\"#0e1116\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#acb6c033\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#0e1116\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#0e1116\\\",\\\"editorLineNumber.foreground\\\":\\\"#88929d\\\",\\\"editorOverviewRuler.border\\\":\\\"#ffffff\\\",\\\"editorWhitespace.foreground\\\":\\\"#acb6c0\\\",\\\"editorWidget.background\\\":\\\"#ffffff\\\",\\\"errorForeground\\\":\\\"#a0111f\\\",\\\"focusBorder\\\":\\\"#0349b4\\\",\\\"foreground\\\":\\\"#0e1116\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#055d20\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#873800\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#a0111f\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#66707b\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#744500\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#0e1116\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#055d20\\\",\\\"icon.foreground\\\":\\\"#0e1116\\\",\\\"input.background\\\":\\\"#ffffff\\\",\\\"input.border\\\":\\\"#20252c\\\",\\\"input.foreground\\\":\\\"#0e1116\\\",\\\"input.placeholderForeground\\\":\\\"#66707b\\\",\\\"keybindingLabel.foreground\\\":\\\"#0e1116\\\",\\\"list.activeSelectionBackground\\\":\\\"#acb6c033\\\",\\\"list.activeSelectionForeground\\\":\\\"#0e1116\\\",\\\"list.focusBackground\\\":\\\"#dff7ff\\\",\\\"list.focusForeground\\\":\\\"#0e1116\\\",\\\"list.highlightForeground\\\":\\\"#0349b4\\\",\\\"list.hoverBackground\\\":\\\"#e7ecf0\\\",\\\"list.hoverForeground\\\":\\\"#0e1116\\\",\\\"list.inactiveFocusBackground\\\":\\\"#dff7ff\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#acb6c033\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#0e1116\\\",\\\"minimapSlider.activeBackground\\\":\\\"#88929d47\\\",\\\"minimapSlider.background\\\":\\\"#88929d33\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#88929d3d\\\",\\\"notificationCenterHeader.background\\\":\\\"#e7ecf0\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#0e1116\\\",\\\"notifications.background\\\":\\\"#ffffff\\\",\\\"notifications.border\\\":\\\"#20252c\\\",\\\"notifications.foreground\\\":\\\"#0e1116\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#a0111f\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#0349b4\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#744500\\\",\\\"panel.background\\\":\\\"#ffffff\\\",\\\"panel.border\\\":\\\"#20252c\\\",\\\"panelInput.border\\\":\\\"#20252c\\\",\\\"panelTitle.activeBorder\\\":\\\"#ef5b48\\\",\\\"panelTitle.activeForeground\\\":\\\"#0e1116\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#0e1116\\\",\\\"pickerGroup.border\\\":\\\"#20252c\\\",\\\"pickerGroup.foreground\\\":\\\"#0e1116\\\",\\\"progressBar.background\\\":\\\"#0349b4\\\",\\\"quickInput.background\\\":\\\"#ffffff\\\",\\\"quickInput.foreground\\\":\\\"#0e1116\\\",\\\"scrollbar.shadow\\\":\\\"#66707b33\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#88929d47\\\",\\\"scrollbarSlider.background\\\":\\\"#88929d33\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#88929d3d\\\",\\\"settings.headerForeground\\\":\\\"#0e1116\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#b58407\\\",\\\"sideBar.background\\\":\\\"#ffffff\\\",\\\"sideBar.border\\\":\\\"#20252c\\\",\\\"sideBar.foreground\\\":\\\"#0e1116\\\",\\\"sideBarSectionHeader.background\\\":\\\"#ffffff\\\",\\\"sideBarSectionHeader.border\\\":\\\"#20252c\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#0e1116\\\",\\\"sideBarTitle.foreground\\\":\\\"#0e1116\\\",\\\"statusBar.background\\\":\\\"#ffffff\\\",\\\"statusBar.border\\\":\\\"#20252c\\\",\\\"statusBar.debuggingBackground\\\":\\\"#a0111f\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.focusBorder\\\":\\\"#0349b480\\\",\\\"statusBar.foreground\\\":\\\"#0e1116\\\",\\\"statusBar.noFolderBackground\\\":\\\"#ffffff\\\",\\\"statusBarItem.activeBackground\\\":\\\"#0e11161f\\\",\\\"statusBarItem.focusBorder\\\":\\\"#0349b4\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#0e111614\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#acb6c033\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#e7ecf0\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#0e1116\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#023b95\\\",\\\"symbolIcon.classForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.colorForeground\\\":\\\"#032563\\\",\\\"symbolIcon.constantForeground\\\":\\\"#024c1a\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#341763\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#023b95\\\",\\\"symbolIcon.eventForeground\\\":\\\"#4b535d\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.fileForeground\\\":\\\"#603700\\\",\\\"symbolIcon.folderForeground\\\":\\\"#603700\\\",\\\"symbolIcon.functionForeground\\\":\\\"#512598\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.keyForeground\\\":\\\"#023b95\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#86061d\\\",\\\"symbolIcon.methodForeground\\\":\\\"#512598\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#86061d\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#86061d\\\",\\\"symbolIcon.nullForeground\\\":\\\"#023b95\\\",\\\"symbolIcon.numberForeground\\\":\\\"#024c1a\\\",\\\"symbolIcon.objectForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#032563\\\",\\\"symbolIcon.packageForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#023b95\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#023b95\\\",\\\"symbolIcon.stringForeground\\\":\\\"#032563\\\",\\\"symbolIcon.structForeground\\\":\\\"#702c00\\\",\\\"symbolIcon.textForeground\\\":\\\"#032563\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#032563\\\",\\\"symbolIcon.unitForeground\\\":\\\"#023b95\\\",\\\"symbolIcon.variableForeground\\\":\\\"#702c00\\\",\\\"tab.activeBackground\\\":\\\"#ffffff\\\",\\\"tab.activeBorder\\\":\\\"#ffffff\\\",\\\"tab.activeBorderTop\\\":\\\"#ef5b48\\\",\\\"tab.activeForeground\\\":\\\"#0e1116\\\",\\\"tab.border\\\":\\\"#20252c\\\",\\\"tab.hoverBackground\\\":\\\"#ffffff\\\",\\\"tab.inactiveBackground\\\":\\\"#ffffff\\\",\\\"tab.inactiveForeground\\\":\\\"#0e1116\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#ffffff\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#20252c\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#e7ecf0\\\",\\\"terminal.ansiBlack\\\":\\\"#0e1116\\\",\\\"terminal.ansiBlue\\\":\\\"#0349b4\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#4b535d\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#1168e3\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#3192aa\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#055d20\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#844ae7\\\",\\\"terminal.ansiBrightRed\\\":\\\"#86061d\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#88929d\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#4e2c00\\\",\\\"terminal.ansiCyan\\\":\\\"#1b7c83\\\",\\\"terminal.ansiGreen\\\":\\\"#024c1a\\\",\\\"terminal.ansiMagenta\\\":\\\"#622cbc\\\",\\\"terminal.ansiRed\\\":\\\"#a0111f\\\",\\\"terminal.ansiWhite\\\":\\\"#66707b\\\",\\\"terminal.ansiYellow\\\":\\\"#3f2200\\\",\\\"terminal.foreground\\\":\\\"#0e1116\\\",\\\"textBlockQuote.background\\\":\\\"#ffffff\\\",\\\"textBlockQuote.border\\\":\\\"#20252c\\\",\\\"textCodeBlock.background\\\":\\\"#acb6c033\\\",\\\"textLink.activeForeground\\\":\\\"#0349b4\\\",\\\"textLink.foreground\\\":\\\"#0349b4\\\",\\\"textPreformat.background\\\":\\\"#acb6c033\\\",\\\"textPreformat.foreground\\\":\\\"#0e1116\\\",\\\"textSeparator.foreground\\\":\\\"#88929d\\\",\\\"titleBar.activeBackground\\\":\\\"#ffffff\\\",\\\"titleBar.activeForeground\\\":\\\"#0e1116\\\",\\\"titleBar.border\\\":\\\"#20252c\\\",\\\"titleBar.inactiveBackground\\\":\\\"#ffffff\\\",\\\"titleBar.inactiveForeground\\\":\\\"#0e1116\\\",\\\"tree.indentGuidesStroke\\\":\\\"#88929d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#e7ecf0\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#ced5dc\\\"},\\\"displayName\\\":\\\"GitHub Light High Contrast\\\",\\\"name\\\":\\\"github-light-high-contrast\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#66707b\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a0111f\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\",\\\"variable.language\\\",\\\"entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"meta.export.default\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#702c00\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function\\\",\\\"meta.jsx.children\\\",\\\"meta.block\\\",\\\"meta.tag.attributes\\\",\\\"entity.name.constant\\\",\\\"meta.object.member\\\",\\\"meta.embedded.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0e1116\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#622cbc\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#024c1a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a0111f\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a0111f\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0e1116\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032563\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#702c00\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0e1116\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#6e011a\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#6e011a\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#6e011a\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#6e011a\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#a0111f\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6e011a\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032563\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032563\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#024c1a\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#024c1a\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#702c00\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#024c1a\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#0e1116\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#0e1116\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"markup.strikethrough\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#fff0ee\\\",\\\"foreground\\\":\\\"#6e011a\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a0111f\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#d2fedb\\\",\\\"foreground\\\":\\\"#024c1a\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffc67b\\\",\\\"foreground\\\":\\\"#702c00\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#023b95\\\",\\\"foreground\\\":\\\"#e7ecf0\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#622cbc\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#023b95\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4b535d\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6e011a\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#032563\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: gruvbox-dark-hard */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#1d2021\\\",\\\"activityBar.border\\\":\\\"#3c3836\\\",\\\"activityBar.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#1d2021\\\",\\\"activityBarTop.foreground\\\":\\\"#ebdbb2\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#ebdbb2\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#1d2021\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#b8bb2630\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#fb493430\\\",\\\"dropdown.background\\\":\\\"#1d2021\\\",\\\"dropdown.border\\\":\\\"#3c3836\\\",\\\"dropdown.foreground\\\":\\\"#ebdbb2\\\",\\\"editor.background\\\":\\\"#1d2021\\\",\\\"editor.findMatchBackground\\\":\\\"#83a59870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#fe801930\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#83a59870\\\",\\\"editor.foreground\\\":\\\"#ebdbb2\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#3c383660\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#fabd2f40\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#a8998490\\\",\\\"editorCursor.foreground\\\":\\\"#ebdbb2\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGhostText.background\\\":\\\"#665c5460\\\",\\\"editorGroup.border\\\":\\\"#3c3836\\\",\\\"editorGroup.dropBackground\\\":\\\"#3c383660\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#1d2021\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#1d2021\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#3c3836\\\",\\\"editorGutter.addedBackground\\\":\\\"#b8bb26\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#fb4934\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#83a598\\\",\\\"editorHoverWidget.background\\\":\\\"#1d2021\\\",\\\"editorHoverWidget.border\\\":\\\"#3c3836\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#665c54\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#665c54\\\",\\\"editorLink.activeForeground\\\":\\\"#ebdbb2\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#fb4934\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#d3869b\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#665c54\\\",\\\"editorRuler.foreground\\\":\\\"#a8998440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#50494599\\\",\\\"editorStickyScrollHover.background\\\":\\\"#3c383660\\\",\\\"editorSuggestWidget.background\\\":\\\"#1d2021\\\",\\\"editorSuggestWidget.border\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#3c383660\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#a8998420\\\",\\\"editorWidget.background\\\":\\\"#1d2021\\\",\\\"editorWidget.border\\\":\\\"#3c3836\\\",\\\"errorForeground\\\":\\\"#fb4934\\\",\\\"extensionButton.prominentBackground\\\":\\\"#b8bb2680\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#b8bb2630\\\",\\\"focusBorder\\\":\\\"#3c3836\\\",\\\"foreground\\\":\\\"#ebdbb2\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#ebdbb2\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#7c6f64\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#7c6f64\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#83a598\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#d3869b\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#8ec07c\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#fabd2f\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#b8bb26\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#b8bb26\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#83a598\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#fe8019\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#7c6f64\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#b8bb26\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#83a598\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#fe8019\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#7c6f64\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#8ec07c\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#fabd2f\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#fb4934\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#b8bb26\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#1d2021a0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#fe8019\\\",\\\"icon.foreground\\\":\\\"#ebdbb2\\\",\\\"input.background\\\":\\\"#1d2021\\\",\\\"input.border\\\":\\\"#3c3836\\\",\\\"input.foreground\\\":\\\"#ebdbb2\\\",\\\"input.placeholderForeground\\\":\\\"#ebdbb260\\\",\\\"inputOption.activeBorder\\\":\\\"#ebdbb260\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#fb4934\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#83a598\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#fabd2f\\\",\\\"list.activeSelectionBackground\\\":\\\"#3c383680\\\",\\\"list.activeSelectionForeground\\\":\\\"#8ec07c\\\",\\\"list.dropBackground\\\":\\\"#3c3836\\\",\\\"list.focusBackground\\\":\\\"#3c3836\\\",\\\"list.focusForeground\\\":\\\"#ebdbb2\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#3c383680\\\",\\\"list.hoverForeground\\\":\\\"#d5c4a1\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#3c383680\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#3c3836\\\",\\\"menu.separatorBackground\\\":\\\"#3c3836\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#504945\\\",\\\"notebook.cellEditorBackground\\\":\\\"#3c3836\\\",\\\"notebook.focusedCellBorder\\\":\\\"#a89984\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#504945\\\",\\\"panel.border\\\":\\\"#3c3836\\\",\\\"panelTitle.activeForeground\\\":\\\"#ebdbb2\\\",\\\"peekView.border\\\":\\\"#3c3836\\\",\\\"peekViewEditor.background\\\":\\\"#3c383670\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#504945\\\",\\\"peekViewEditorGutter.background\\\":\\\"#3c383670\\\",\\\"peekViewResult.background\\\":\\\"#3c383670\\\",\\\"peekViewResult.fileForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewResult.lineForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#504945\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewTitle.background\\\":\\\"#3c383670\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#bdae93\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#ebdbb2\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#1d2021\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#50494599\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#665c54\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#1d2021\\\",\\\"sideBar.border\\\":\\\"#3c3836\\\",\\\"sideBar.foreground\\\":\\\"#d5c4a1\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#ebdbb2\\\",\\\"sideBarTitle.foreground\\\":\\\"#ebdbb2\\\",\\\"statusBar.background\\\":\\\"#1d2021\\\",\\\"statusBar.border\\\":\\\"#3c3836\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fe8019\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#1d2021\\\",\\\"statusBar.foreground\\\":\\\"#ebdbb2\\\",\\\"statusBar.noFolderBackground\\\":\\\"#1d2021\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#3c3836\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#ebdbb2\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#1d2021\\\",\\\"tab.inactiveForeground\\\":\\\"#a89984\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#a89984\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#3c3836\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#83a598\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#8ec07c\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#b8bb26\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d3869b\\\",\\\"terminal.ansiBrightRed\\\":\\\"#fb4934\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#fabd2f\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#a89984\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#1d2021\\\",\\\"terminal.foreground\\\":\\\"#ebdbb2\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#83a598\\\",\\\"titleBar.activeBackground\\\":\\\"#1d2021\\\",\\\"titleBar.activeForeground\\\":\\\"#ebdbb2\\\",\\\"titleBar.inactiveBackground\\\":\\\"#1d2021\\\",\\\"widget.border\\\":\\\"#3c3836\\\",\\\"widget.shadow\\\":\\\"#1d202130\\\"},\\\"displayName\\\":\\\"Gruvbox Dark Hard\\\",\\\"name\\\":\\\"gruvbox-dark-hard\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#fe8019\\\",\\\"constant.builtin\\\":\\\"#d3869b\\\",\\\"function\\\":\\\"#8ec07c\\\",\\\"function.builtin\\\":\\\"#fe8019\\\",\\\"method\\\":\\\"#8ec07c\\\",\\\"parameter\\\":\\\"#83a598\\\",\\\"property\\\":\\\"#83a598\\\",\\\"property:python\\\":\\\"#ebdbb2\\\",\\\"variable\\\":\\\"#ebdbb2\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d5c4a1\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a89984\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d5c4a1\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdae93\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdae93\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: gruvbox-dark-medium */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#282828\\\",\\\"activityBar.border\\\":\\\"#3c3836\\\",\\\"activityBar.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#282828\\\",\\\"activityBarTop.foreground\\\":\\\"#ebdbb2\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#ebdbb2\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#282828\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#b8bb2630\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#fb493430\\\",\\\"dropdown.background\\\":\\\"#282828\\\",\\\"dropdown.border\\\":\\\"#3c3836\\\",\\\"dropdown.foreground\\\":\\\"#ebdbb2\\\",\\\"editor.background\\\":\\\"#282828\\\",\\\"editor.findMatchBackground\\\":\\\"#83a59870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#fe801930\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#83a59870\\\",\\\"editor.foreground\\\":\\\"#ebdbb2\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#3c383660\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#fabd2f40\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#a8998490\\\",\\\"editorCursor.foreground\\\":\\\"#ebdbb2\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGhostText.background\\\":\\\"#665c5460\\\",\\\"editorGroup.border\\\":\\\"#3c3836\\\",\\\"editorGroup.dropBackground\\\":\\\"#3c383660\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#282828\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#282828\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#3c3836\\\",\\\"editorGutter.addedBackground\\\":\\\"#b8bb26\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#fb4934\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#83a598\\\",\\\"editorHoverWidget.background\\\":\\\"#282828\\\",\\\"editorHoverWidget.border\\\":\\\"#3c3836\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#665c54\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#665c54\\\",\\\"editorLink.activeForeground\\\":\\\"#ebdbb2\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#fb4934\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#d3869b\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#665c54\\\",\\\"editorRuler.foreground\\\":\\\"#a8998440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#50494599\\\",\\\"editorStickyScrollHover.background\\\":\\\"#3c383660\\\",\\\"editorSuggestWidget.background\\\":\\\"#282828\\\",\\\"editorSuggestWidget.border\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#3c383660\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#a8998420\\\",\\\"editorWidget.background\\\":\\\"#282828\\\",\\\"editorWidget.border\\\":\\\"#3c3836\\\",\\\"errorForeground\\\":\\\"#fb4934\\\",\\\"extensionButton.prominentBackground\\\":\\\"#b8bb2680\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#b8bb2630\\\",\\\"focusBorder\\\":\\\"#3c3836\\\",\\\"foreground\\\":\\\"#ebdbb2\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#ebdbb2\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#7c6f64\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#7c6f64\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#83a598\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#d3869b\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#8ec07c\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#fabd2f\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#b8bb26\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#b8bb26\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#83a598\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#fe8019\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#7c6f64\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#b8bb26\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#83a598\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#fe8019\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#7c6f64\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#8ec07c\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#fabd2f\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#fb4934\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#b8bb26\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#282828a0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#fe8019\\\",\\\"icon.foreground\\\":\\\"#ebdbb2\\\",\\\"input.background\\\":\\\"#282828\\\",\\\"input.border\\\":\\\"#3c3836\\\",\\\"input.foreground\\\":\\\"#ebdbb2\\\",\\\"input.placeholderForeground\\\":\\\"#ebdbb260\\\",\\\"inputOption.activeBorder\\\":\\\"#ebdbb260\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#fb4934\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#83a598\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#fabd2f\\\",\\\"list.activeSelectionBackground\\\":\\\"#3c383680\\\",\\\"list.activeSelectionForeground\\\":\\\"#8ec07c\\\",\\\"list.dropBackground\\\":\\\"#3c3836\\\",\\\"list.focusBackground\\\":\\\"#3c3836\\\",\\\"list.focusForeground\\\":\\\"#ebdbb2\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#3c383680\\\",\\\"list.hoverForeground\\\":\\\"#d5c4a1\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#3c383680\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#3c3836\\\",\\\"menu.separatorBackground\\\":\\\"#3c3836\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#504945\\\",\\\"notebook.cellEditorBackground\\\":\\\"#3c3836\\\",\\\"notebook.focusedCellBorder\\\":\\\"#a89984\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#504945\\\",\\\"panel.border\\\":\\\"#3c3836\\\",\\\"panelTitle.activeForeground\\\":\\\"#ebdbb2\\\",\\\"peekView.border\\\":\\\"#3c3836\\\",\\\"peekViewEditor.background\\\":\\\"#3c383670\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#504945\\\",\\\"peekViewEditorGutter.background\\\":\\\"#3c383670\\\",\\\"peekViewResult.background\\\":\\\"#3c383670\\\",\\\"peekViewResult.fileForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewResult.lineForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#504945\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewTitle.background\\\":\\\"#3c383670\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#bdae93\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#ebdbb2\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#282828\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#50494599\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#665c54\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#282828\\\",\\\"sideBar.border\\\":\\\"#3c3836\\\",\\\"sideBar.foreground\\\":\\\"#d5c4a1\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#ebdbb2\\\",\\\"sideBarTitle.foreground\\\":\\\"#ebdbb2\\\",\\\"statusBar.background\\\":\\\"#282828\\\",\\\"statusBar.border\\\":\\\"#3c3836\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fe8019\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#282828\\\",\\\"statusBar.foreground\\\":\\\"#ebdbb2\\\",\\\"statusBar.noFolderBackground\\\":\\\"#282828\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#3c3836\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#ebdbb2\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#282828\\\",\\\"tab.inactiveForeground\\\":\\\"#a89984\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#a89984\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#3c3836\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#83a598\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#8ec07c\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#b8bb26\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d3869b\\\",\\\"terminal.ansiBrightRed\\\":\\\"#fb4934\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#fabd2f\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#a89984\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#282828\\\",\\\"terminal.foreground\\\":\\\"#ebdbb2\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#83a598\\\",\\\"titleBar.activeBackground\\\":\\\"#282828\\\",\\\"titleBar.activeForeground\\\":\\\"#ebdbb2\\\",\\\"titleBar.inactiveBackground\\\":\\\"#282828\\\",\\\"widget.border\\\":\\\"#3c3836\\\",\\\"widget.shadow\\\":\\\"#28282830\\\"},\\\"displayName\\\":\\\"Gruvbox Dark Medium\\\",\\\"name\\\":\\\"gruvbox-dark-medium\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#fe8019\\\",\\\"constant.builtin\\\":\\\"#d3869b\\\",\\\"function\\\":\\\"#8ec07c\\\",\\\"function.builtin\\\":\\\"#fe8019\\\",\\\"method\\\":\\\"#8ec07c\\\",\\\"parameter\\\":\\\"#83a598\\\",\\\"property\\\":\\\"#83a598\\\",\\\"property:python\\\":\\\"#ebdbb2\\\",\\\"variable\\\":\\\"#ebdbb2\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d5c4a1\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a89984\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d5c4a1\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdae93\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdae93\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: gruvbox-dark-soft */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#32302f\\\",\\\"activityBar.border\\\":\\\"#3c3836\\\",\\\"activityBar.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#32302f\\\",\\\"activityBarTop.foreground\\\":\\\"#ebdbb2\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#ebdbb2\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#32302f\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#b8bb2630\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#fb493430\\\",\\\"dropdown.background\\\":\\\"#32302f\\\",\\\"dropdown.border\\\":\\\"#3c3836\\\",\\\"dropdown.foreground\\\":\\\"#ebdbb2\\\",\\\"editor.background\\\":\\\"#32302f\\\",\\\"editor.findMatchBackground\\\":\\\"#83a59870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#fe801930\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#83a59870\\\",\\\"editor.foreground\\\":\\\"#ebdbb2\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#3c383660\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#fabd2f40\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#a8998490\\\",\\\"editorCursor.foreground\\\":\\\"#ebdbb2\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGhostText.background\\\":\\\"#665c5460\\\",\\\"editorGroup.border\\\":\\\"#3c3836\\\",\\\"editorGroup.dropBackground\\\":\\\"#3c383660\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#32302f\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#32302f\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#3c3836\\\",\\\"editorGutter.addedBackground\\\":\\\"#b8bb26\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#fb4934\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#83a598\\\",\\\"editorHoverWidget.background\\\":\\\"#32302f\\\",\\\"editorHoverWidget.border\\\":\\\"#3c3836\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#665c54\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#665c54\\\",\\\"editorLink.activeForeground\\\":\\\"#ebdbb2\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#fb4934\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#d3869b\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#83a598\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#665c54\\\",\\\"editorRuler.foreground\\\":\\\"#a8998440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#50494599\\\",\\\"editorStickyScrollHover.background\\\":\\\"#3c383660\\\",\\\"editorSuggestWidget.background\\\":\\\"#32302f\\\",\\\"editorSuggestWidget.border\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#3c383660\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#a8998420\\\",\\\"editorWidget.background\\\":\\\"#32302f\\\",\\\"editorWidget.border\\\":\\\"#3c3836\\\",\\\"errorForeground\\\":\\\"#fb4934\\\",\\\"extensionButton.prominentBackground\\\":\\\"#b8bb2680\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#b8bb2630\\\",\\\"focusBorder\\\":\\\"#3c3836\\\",\\\"foreground\\\":\\\"#ebdbb2\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#ebdbb2\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#7c6f64\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#7c6f64\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#83a598\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#d3869b\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#8ec07c\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#fabd2f\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#b8bb26\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#b8bb26\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#83a598\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#fe8019\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#7c6f64\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#b8bb26\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#83a598\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#fe8019\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#7c6f64\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#8ec07c\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#fabd2f\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#fb4934\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#b8bb26\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#32302fa0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#fe8019\\\",\\\"icon.foreground\\\":\\\"#ebdbb2\\\",\\\"input.background\\\":\\\"#32302f\\\",\\\"input.border\\\":\\\"#3c3836\\\",\\\"input.foreground\\\":\\\"#ebdbb2\\\",\\\"input.placeholderForeground\\\":\\\"#ebdbb260\\\",\\\"inputOption.activeBorder\\\":\\\"#ebdbb260\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#fb4934\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#83a598\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#fabd2f\\\",\\\"list.activeSelectionBackground\\\":\\\"#3c383680\\\",\\\"list.activeSelectionForeground\\\":\\\"#8ec07c\\\",\\\"list.dropBackground\\\":\\\"#3c3836\\\",\\\"list.focusBackground\\\":\\\"#3c3836\\\",\\\"list.focusForeground\\\":\\\"#ebdbb2\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#3c383680\\\",\\\"list.hoverForeground\\\":\\\"#d5c4a1\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#3c383680\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#3c3836\\\",\\\"menu.separatorBackground\\\":\\\"#3c3836\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#504945\\\",\\\"notebook.cellEditorBackground\\\":\\\"#3c3836\\\",\\\"notebook.focusedCellBorder\\\":\\\"#a89984\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#504945\\\",\\\"panel.border\\\":\\\"#3c3836\\\",\\\"panelTitle.activeForeground\\\":\\\"#ebdbb2\\\",\\\"peekView.border\\\":\\\"#3c3836\\\",\\\"peekViewEditor.background\\\":\\\"#3c383670\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#504945\\\",\\\"peekViewEditorGutter.background\\\":\\\"#3c383670\\\",\\\"peekViewResult.background\\\":\\\"#3c383670\\\",\\\"peekViewResult.fileForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewResult.lineForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#504945\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#ebdbb2\\\",\\\"peekViewTitle.background\\\":\\\"#3c383670\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#bdae93\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#ebdbb2\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#32302f\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#50494599\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#665c54\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#32302f\\\",\\\"sideBar.border\\\":\\\"#3c3836\\\",\\\"sideBar.foreground\\\":\\\"#d5c4a1\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#ebdbb2\\\",\\\"sideBarTitle.foreground\\\":\\\"#ebdbb2\\\",\\\"statusBar.background\\\":\\\"#32302f\\\",\\\"statusBar.border\\\":\\\"#3c3836\\\",\\\"statusBar.debuggingBackground\\\":\\\"#fe8019\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#32302f\\\",\\\"statusBar.foreground\\\":\\\"#ebdbb2\\\",\\\"statusBar.noFolderBackground\\\":\\\"#32302f\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#3c3836\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#ebdbb2\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#32302f\\\",\\\"tab.inactiveForeground\\\":\\\"#a89984\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#a89984\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#3c3836\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#83a598\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#8ec07c\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#b8bb26\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d3869b\\\",\\\"terminal.ansiBrightRed\\\":\\\"#fb4934\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#fabd2f\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#a89984\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#32302f\\\",\\\"terminal.foreground\\\":\\\"#ebdbb2\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#83a598\\\",\\\"titleBar.activeBackground\\\":\\\"#32302f\\\",\\\"titleBar.activeForeground\\\":\\\"#ebdbb2\\\",\\\"titleBar.inactiveBackground\\\":\\\"#32302f\\\",\\\"widget.border\\\":\\\"#3c3836\\\",\\\"widget.shadow\\\":\\\"#32302f30\\\"},\\\"displayName\\\":\\\"Gruvbox Dark Soft\\\",\\\"name\\\":\\\"gruvbox-dark-soft\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#fe8019\\\",\\\"constant.builtin\\\":\\\"#d3869b\\\",\\\"function\\\":\\\"#8ec07c\\\",\\\"function.builtin\\\":\\\"#fe8019\\\",\\\"method\\\":\\\"#8ec07c\\\",\\\"parameter\\\":\\\"#83a598\\\",\\\"property\\\":\\\"#83a598\\\",\\\"property:python\\\":\\\"#ebdbb2\\\",\\\"variable\\\":\\\"#ebdbb2\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d5c4a1\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a89984\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d5c4a1\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdae93\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebdbb2\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8bb26\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#83a598\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fabd2f\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bdae93\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb4934\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe8019\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d3869b\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8ec07c\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: gruvbox-light-hard */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#f9f5d7\\\",\\\"activityBar.border\\\":\\\"#ebdbb2\\\",\\\"activityBar.foreground\\\":\\\"#3c3836\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#f9f5d7\\\",\\\"activityBarTop.foreground\\\":\\\"#3c3836\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#3c3836\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#f9f5d7\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#79740e30\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#9d000630\\\",\\\"dropdown.background\\\":\\\"#f9f5d7\\\",\\\"dropdown.border\\\":\\\"#ebdbb2\\\",\\\"dropdown.foreground\\\":\\\"#3c3836\\\",\\\"editor.background\\\":\\\"#f9f5d7\\\",\\\"editor.findMatchBackground\\\":\\\"#07667870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#af3a0330\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#07667870\\\",\\\"editor.foreground\\\":\\\"#3c3836\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#ebdbb260\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#b5761440\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#7c6f6490\\\",\\\"editorCursor.foreground\\\":\\\"#3c3836\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGhostText.background\\\":\\\"#bdae9360\\\",\\\"editorGroup.border\\\":\\\"#ebdbb2\\\",\\\"editorGroup.dropBackground\\\":\\\"#ebdbb260\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#f9f5d7\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#f9f5d7\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#ebdbb2\\\",\\\"editorGutter.addedBackground\\\":\\\"#79740e\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#9d0006\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#076678\\\",\\\"editorHoverWidget.background\\\":\\\"#f9f5d7\\\",\\\"editorHoverWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#bdae93\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#bdae93\\\",\\\"editorLink.activeForeground\\\":\\\"#3c3836\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#9d0006\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#8f3f71\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#bdae93\\\",\\\"editorRuler.foreground\\\":\\\"#7c6f6440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#d5c4a199\\\",\\\"editorStickyScrollHover.background\\\":\\\"#ebdbb260\\\",\\\"editorSuggestWidget.background\\\":\\\"#f9f5d7\\\",\\\"editorSuggestWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#ebdbb260\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#7c6f6420\\\",\\\"editorWidget.background\\\":\\\"#f9f5d7\\\",\\\"editorWidget.border\\\":\\\"#ebdbb2\\\",\\\"errorForeground\\\":\\\"#9d0006\\\",\\\"extensionButton.prominentBackground\\\":\\\"#79740e80\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#79740e30\\\",\\\"focusBorder\\\":\\\"#ebdbb2\\\",\\\"foreground\\\":\\\"#3c3836\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#3c3836\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#a89984\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a89984\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#076678\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8f3f71\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#427b58\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#b57614\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#79740e\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#427b58\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#b57614\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#9d0006\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#79740e\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#f9f5d7a0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#af3a03\\\",\\\"icon.foreground\\\":\\\"#3c3836\\\",\\\"input.background\\\":\\\"#f9f5d7\\\",\\\"input.border\\\":\\\"#ebdbb2\\\",\\\"input.foreground\\\":\\\"#3c3836\\\",\\\"input.placeholderForeground\\\":\\\"#3c383660\\\",\\\"inputOption.activeBorder\\\":\\\"#3c383660\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#9d0006\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#076678\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#b57614\\\",\\\"list.activeSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.activeSelectionForeground\\\":\\\"#427b58\\\",\\\"list.dropBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusForeground\\\":\\\"#3c3836\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#ebdbb280\\\",\\\"list.hoverForeground\\\":\\\"#504945\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#ebdbb2\\\",\\\"menu.separatorBackground\\\":\\\"#ebdbb2\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#d5c4a1\\\",\\\"notebook.cellEditorBackground\\\":\\\"#ebdbb2\\\",\\\"notebook.focusedCellBorder\\\":\\\"#7c6f64\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#d5c4a1\\\",\\\"panel.border\\\":\\\"#ebdbb2\\\",\\\"panelTitle.activeForeground\\\":\\\"#3c3836\\\",\\\"peekView.border\\\":\\\"#ebdbb2\\\",\\\"peekViewEditor.background\\\":\\\"#ebdbb270\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewEditorGutter.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.fileForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.lineForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#3c3836\\\",\\\"peekViewTitle.background\\\":\\\"#ebdbb270\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#665c54\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#3c3836\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#f9f5d7\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#d5c4a199\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#bdae93\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#f9f5d7\\\",\\\"sideBar.border\\\":\\\"#ebdbb2\\\",\\\"sideBar.foreground\\\":\\\"#504945\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#3c3836\\\",\\\"sideBarTitle.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.background\\\":\\\"#f9f5d7\\\",\\\"statusBar.border\\\":\\\"#ebdbb2\\\",\\\"statusBar.debuggingBackground\\\":\\\"#af3a03\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#f9f5d7\\\",\\\"statusBar.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.noFolderBackground\\\":\\\"#f9f5d7\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#ebdbb2\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#3c3836\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#f9f5d7\\\",\\\"tab.inactiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#076678\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#427b58\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#79740e\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#8f3f71\\\",\\\"terminal.ansiBrightRed\\\":\\\"#9d0006\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#3c3836\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#b57614\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#7c6f64\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#f9f5d7\\\",\\\"terminal.foreground\\\":\\\"#3c3836\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#076678\\\",\\\"titleBar.activeBackground\\\":\\\"#f9f5d7\\\",\\\"titleBar.activeForeground\\\":\\\"#3c3836\\\",\\\"titleBar.inactiveBackground\\\":\\\"#f9f5d7\\\",\\\"widget.border\\\":\\\"#ebdbb2\\\",\\\"widget.shadow\\\":\\\"#f9f5d730\\\"},\\\"displayName\\\":\\\"Gruvbox Light Hard\\\",\\\"name\\\":\\\"gruvbox-light-hard\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#af3a03\\\",\\\"constant.builtin\\\":\\\"#8f3f71\\\",\\\"function\\\":\\\"#427b58\\\",\\\"function.builtin\\\":\\\"#af3a03\\\",\\\"method\\\":\\\"#427b58\\\",\\\"parameter\\\":\\\"#076678\\\",\\\"property\\\":\\\"#076678\\\",\\\"property:python\\\":\\\"#3c3836\\\",\\\"variable\\\":\\\"#3c3836\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7c6f64\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: gruvbox-light-medium */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#fbf1c7\\\",\\\"activityBar.border\\\":\\\"#ebdbb2\\\",\\\"activityBar.foreground\\\":\\\"#3c3836\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#fbf1c7\\\",\\\"activityBarTop.foreground\\\":\\\"#3c3836\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#3c3836\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#fbf1c7\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#79740e30\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#9d000630\\\",\\\"dropdown.background\\\":\\\"#fbf1c7\\\",\\\"dropdown.border\\\":\\\"#ebdbb2\\\",\\\"dropdown.foreground\\\":\\\"#3c3836\\\",\\\"editor.background\\\":\\\"#fbf1c7\\\",\\\"editor.findMatchBackground\\\":\\\"#07667870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#af3a0330\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#07667870\\\",\\\"editor.foreground\\\":\\\"#3c3836\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#ebdbb260\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#b5761440\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#7c6f6490\\\",\\\"editorCursor.foreground\\\":\\\"#3c3836\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGhostText.background\\\":\\\"#bdae9360\\\",\\\"editorGroup.border\\\":\\\"#ebdbb2\\\",\\\"editorGroup.dropBackground\\\":\\\"#ebdbb260\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#fbf1c7\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#fbf1c7\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#ebdbb2\\\",\\\"editorGutter.addedBackground\\\":\\\"#79740e\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#9d0006\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#076678\\\",\\\"editorHoverWidget.background\\\":\\\"#fbf1c7\\\",\\\"editorHoverWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#bdae93\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#bdae93\\\",\\\"editorLink.activeForeground\\\":\\\"#3c3836\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#9d0006\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#8f3f71\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#bdae93\\\",\\\"editorRuler.foreground\\\":\\\"#7c6f6440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#d5c4a199\\\",\\\"editorStickyScrollHover.background\\\":\\\"#ebdbb260\\\",\\\"editorSuggestWidget.background\\\":\\\"#fbf1c7\\\",\\\"editorSuggestWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#ebdbb260\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#7c6f6420\\\",\\\"editorWidget.background\\\":\\\"#fbf1c7\\\",\\\"editorWidget.border\\\":\\\"#ebdbb2\\\",\\\"errorForeground\\\":\\\"#9d0006\\\",\\\"extensionButton.prominentBackground\\\":\\\"#79740e80\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#79740e30\\\",\\\"focusBorder\\\":\\\"#ebdbb2\\\",\\\"foreground\\\":\\\"#3c3836\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#3c3836\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#a89984\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a89984\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#076678\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8f3f71\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#427b58\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#b57614\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#79740e\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#427b58\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#b57614\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#9d0006\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#79740e\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#fbf1c7a0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#af3a03\\\",\\\"icon.foreground\\\":\\\"#3c3836\\\",\\\"input.background\\\":\\\"#fbf1c7\\\",\\\"input.border\\\":\\\"#ebdbb2\\\",\\\"input.foreground\\\":\\\"#3c3836\\\",\\\"input.placeholderForeground\\\":\\\"#3c383660\\\",\\\"inputOption.activeBorder\\\":\\\"#3c383660\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#9d0006\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#076678\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#b57614\\\",\\\"list.activeSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.activeSelectionForeground\\\":\\\"#427b58\\\",\\\"list.dropBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusForeground\\\":\\\"#3c3836\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#ebdbb280\\\",\\\"list.hoverForeground\\\":\\\"#504945\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#ebdbb2\\\",\\\"menu.separatorBackground\\\":\\\"#ebdbb2\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#d5c4a1\\\",\\\"notebook.cellEditorBackground\\\":\\\"#ebdbb2\\\",\\\"notebook.focusedCellBorder\\\":\\\"#7c6f64\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#d5c4a1\\\",\\\"panel.border\\\":\\\"#ebdbb2\\\",\\\"panelTitle.activeForeground\\\":\\\"#3c3836\\\",\\\"peekView.border\\\":\\\"#ebdbb2\\\",\\\"peekViewEditor.background\\\":\\\"#ebdbb270\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewEditorGutter.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.fileForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.lineForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#3c3836\\\",\\\"peekViewTitle.background\\\":\\\"#ebdbb270\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#665c54\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#3c3836\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#fbf1c7\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#d5c4a199\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#bdae93\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#fbf1c7\\\",\\\"sideBar.border\\\":\\\"#ebdbb2\\\",\\\"sideBar.foreground\\\":\\\"#504945\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#3c3836\\\",\\\"sideBarTitle.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.background\\\":\\\"#fbf1c7\\\",\\\"statusBar.border\\\":\\\"#ebdbb2\\\",\\\"statusBar.debuggingBackground\\\":\\\"#af3a03\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#fbf1c7\\\",\\\"statusBar.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.noFolderBackground\\\":\\\"#fbf1c7\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#ebdbb2\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#3c3836\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#fbf1c7\\\",\\\"tab.inactiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#076678\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#427b58\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#79740e\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#8f3f71\\\",\\\"terminal.ansiBrightRed\\\":\\\"#9d0006\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#3c3836\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#b57614\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#7c6f64\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#fbf1c7\\\",\\\"terminal.foreground\\\":\\\"#3c3836\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#076678\\\",\\\"titleBar.activeBackground\\\":\\\"#fbf1c7\\\",\\\"titleBar.activeForeground\\\":\\\"#3c3836\\\",\\\"titleBar.inactiveBackground\\\":\\\"#fbf1c7\\\",\\\"widget.border\\\":\\\"#ebdbb2\\\",\\\"widget.shadow\\\":\\\"#fbf1c730\\\"},\\\"displayName\\\":\\\"Gruvbox Light Medium\\\",\\\"name\\\":\\\"gruvbox-light-medium\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#af3a03\\\",\\\"constant.builtin\\\":\\\"#8f3f71\\\",\\\"function\\\":\\\"#427b58\\\",\\\"function.builtin\\\":\\\"#af3a03\\\",\\\"method\\\":\\\"#427b58\\\",\\\"parameter\\\":\\\"#076678\\\",\\\"property\\\":\\\"#076678\\\",\\\"property:python\\\":\\\"#3c3836\\\",\\\"variable\\\":\\\"#3c3836\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7c6f64\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: gruvbox-light-soft */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#f2e5bc\\\",\\\"activityBar.border\\\":\\\"#ebdbb2\\\",\\\"activityBar.foreground\\\":\\\"#3c3836\\\",\\\"activityBarBadge.background\\\":\\\"#458588\\\",\\\"activityBarBadge.foreground\\\":\\\"#ebdbb2\\\",\\\"activityBarTop.background\\\":\\\"#f2e5bc\\\",\\\"activityBarTop.foreground\\\":\\\"#3c3836\\\",\\\"badge.background\\\":\\\"#b16286\\\",\\\"badge.foreground\\\":\\\"#ebdbb2\\\",\\\"button.background\\\":\\\"#45858880\\\",\\\"button.foreground\\\":\\\"#3c3836\\\",\\\"button.hoverBackground\\\":\\\"#45858860\\\",\\\"debugToolBar.background\\\":\\\"#f2e5bc\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#79740e30\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#9d000630\\\",\\\"dropdown.background\\\":\\\"#f2e5bc\\\",\\\"dropdown.border\\\":\\\"#ebdbb2\\\",\\\"dropdown.foreground\\\":\\\"#3c3836\\\",\\\"editor.background\\\":\\\"#f2e5bc\\\",\\\"editor.findMatchBackground\\\":\\\"#07667870\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#af3a0330\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#07667870\\\",\\\"editor.foreground\\\":\\\"#3c3836\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#689d6a50\\\",\\\"editor.lineHighlightBackground\\\":\\\"#ebdbb260\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.selectionBackground\\\":\\\"#689d6a40\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#b5761440\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b16286\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#458588\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#689d6a\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#98971a\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d79921\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#d65d0e\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#cc241d\\\",\\\"editorBracketMatch.background\\\":\\\"#92837480\\\",\\\"editorBracketMatch.border\\\":\\\"#0000\\\",\\\"editorCodeLens.foreground\\\":\\\"#7c6f6490\\\",\\\"editorCursor.foreground\\\":\\\"#3c3836\\\",\\\"editorError.foreground\\\":\\\"#cc241d\\\",\\\"editorGhostText.background\\\":\\\"#bdae9360\\\",\\\"editorGroup.border\\\":\\\"#ebdbb2\\\",\\\"editorGroup.dropBackground\\\":\\\"#ebdbb260\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#f2e5bc\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#f2e5bc\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#ebdbb2\\\",\\\"editorGutter.addedBackground\\\":\\\"#79740e\\\",\\\"editorGutter.background\\\":\\\"#0000\\\",\\\"editorGutter.deletedBackground\\\":\\\"#9d0006\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#076678\\\",\\\"editorHoverWidget.background\\\":\\\"#f2e5bc\\\",\\\"editorHoverWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#bdae93\\\",\\\"editorInfo.foreground\\\":\\\"#458588\\\",\\\"editorLineNumber.foreground\\\":\\\"#bdae93\\\",\\\"editorLink.activeForeground\\\":\\\"#3c3836\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.border\\\":\\\"#0000\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#928374\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#458588\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#9d0006\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#689d6a\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#8f3f71\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#076678\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#665c54\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#d79921\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#bdae93\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#bdae93\\\",\\\"editorRuler.foreground\\\":\\\"#7c6f6440\\\",\\\"editorStickyScroll.shadow\\\":\\\"#d5c4a199\\\",\\\"editorStickyScrollHover.background\\\":\\\"#ebdbb260\\\",\\\"editorSuggestWidget.background\\\":\\\"#f2e5bc\\\",\\\"editorSuggestWidget.border\\\":\\\"#ebdbb2\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#3c3836\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#689d6a\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#ebdbb260\\\",\\\"editorWarning.foreground\\\":\\\"#d79921\\\",\\\"editorWhitespace.foreground\\\":\\\"#7c6f6420\\\",\\\"editorWidget.background\\\":\\\"#f2e5bc\\\",\\\"editorWidget.border\\\":\\\"#ebdbb2\\\",\\\"errorForeground\\\":\\\"#9d0006\\\",\\\"extensionButton.prominentBackground\\\":\\\"#79740e80\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#79740e30\\\",\\\"focusBorder\\\":\\\"#ebdbb2\\\",\\\"foreground\\\":\\\"#3c3836\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#3c3836\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b16286\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cc241d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#a89984\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d79921\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98971a\\\",\\\"gitlens.closedAutolinkedIssueIconColor\\\":\\\"#b16286\\\",\\\"gitlens.closedPullRequestIconColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.branchAheadForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.branchBehindForegroundColor\\\":\\\"#d65d0e\\\",\\\"gitlens.decorations.branchDivergedForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.branchMissingUpstreamForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingConflictForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.decorations.statusMergingOrRebasingForegroundColor\\\":\\\"#d79921\\\",\\\"gitlens.decorations.workspaceCurrentForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.workspaceRepoMissingForegroundColor\\\":\\\"#a89984\\\",\\\"gitlens.decorations.workspaceRepoOpenForegroundColor\\\":\\\"#98971a\\\",\\\"gitlens.decorations.worktreeHasUncommittedChangesForegroundColor\\\":\\\"#928374\\\",\\\"gitlens.decorations.worktreeMissingForegroundColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphChangesColumnAddedColor\\\":\\\"#98971a\\\",\\\"gitlens.graphChangesColumnDeletedColor\\\":\\\"#cc241d\\\",\\\"gitlens.graphLane10Color\\\":\\\"#98971a\\\",\\\"gitlens.graphLane1Color\\\":\\\"#076678\\\",\\\"gitlens.graphLane2Color\\\":\\\"#458588\\\",\\\"gitlens.graphLane3Color\\\":\\\"#8f3f71\\\",\\\"gitlens.graphLane4Color\\\":\\\"#b16286\\\",\\\"gitlens.graphLane5Color\\\":\\\"#427b58\\\",\\\"gitlens.graphLane6Color\\\":\\\"#689d6a\\\",\\\"gitlens.graphLane7Color\\\":\\\"#b57614\\\",\\\"gitlens.graphLane8Color\\\":\\\"#d79921\\\",\\\"gitlens.graphLane9Color\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerHeadColor\\\":\\\"#98971a\\\",\\\"gitlens.graphMinimapMarkerHighlightsColor\\\":\\\"#79740e\\\",\\\"gitlens.graphMinimapMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphMinimapMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphMinimapMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphMinimapMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphMinimapMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphMinimapMarkerUpstreamColor\\\":\\\"#689d6a\\\",\\\"gitlens.graphScrollMarkerHeadColor\\\":\\\"#79740e\\\",\\\"gitlens.graphScrollMarkerHighlightsColor\\\":\\\"#d79921\\\",\\\"gitlens.graphScrollMarkerLocalBranchesColor\\\":\\\"#076678\\\",\\\"gitlens.graphScrollMarkerPullRequestsColor\\\":\\\"#af3a03\\\",\\\"gitlens.graphScrollMarkerRemoteBranchesColor\\\":\\\"#458588\\\",\\\"gitlens.graphScrollMarkerStashesColor\\\":\\\"#b16286\\\",\\\"gitlens.graphScrollMarkerTagsColor\\\":\\\"#a89984\\\",\\\"gitlens.graphScrollMarkerUpstreamColor\\\":\\\"#427b58\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#3c3836\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#458588\\\",\\\"gitlens.launchpadIndicatorAttentionColor\\\":\\\"#b57614\\\",\\\"gitlens.launchpadIndicatorAttentionHoverColor\\\":\\\"#d79921\\\",\\\"gitlens.launchpadIndicatorBlockedColor\\\":\\\"#9d0006\\\",\\\"gitlens.launchpadIndicatorBlockedHoverColor\\\":\\\"#cc241d\\\",\\\"gitlens.launchpadIndicatorMergeableColor\\\":\\\"#79740e\\\",\\\"gitlens.launchpadIndicatorMergeableHoverColor\\\":\\\"#98971a\\\",\\\"gitlens.lineHighlightBackgroundColor\\\":\\\"#ebdbb2\\\",\\\"gitlens.lineHighlightOverviewRulerColor\\\":\\\"#458588\\\",\\\"gitlens.mergedPullRequestIconColor\\\":\\\"#b16286\\\",\\\"gitlens.openAutolinkedIssueIconColor\\\":\\\"#98971a\\\",\\\"gitlens.openPullRequestIconColor\\\":\\\"#98971a\\\",\\\"gitlens.trailingLineBackgroundColor\\\":\\\"#f2e5bca0\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#928374a0\\\",\\\"gitlens.unpublishedChangesIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpublishedCommitIconColor\\\":\\\"#98971a\\\",\\\"gitlens.unpulledChangesIconColor\\\":\\\"#af3a03\\\",\\\"icon.foreground\\\":\\\"#3c3836\\\",\\\"input.background\\\":\\\"#f2e5bc\\\",\\\"input.border\\\":\\\"#ebdbb2\\\",\\\"input.foreground\\\":\\\"#3c3836\\\",\\\"input.placeholderForeground\\\":\\\"#3c383660\\\",\\\"inputOption.activeBorder\\\":\\\"#3c383660\\\",\\\"inputValidation.errorBackground\\\":\\\"#cc241d\\\",\\\"inputValidation.errorBorder\\\":\\\"#9d0006\\\",\\\"inputValidation.infoBackground\\\":\\\"#45858880\\\",\\\"inputValidation.infoBorder\\\":\\\"#076678\\\",\\\"inputValidation.warningBackground\\\":\\\"#d79921\\\",\\\"inputValidation.warningBorder\\\":\\\"#b57614\\\",\\\"list.activeSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.activeSelectionForeground\\\":\\\"#427b58\\\",\\\"list.dropBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusBackground\\\":\\\"#ebdbb2\\\",\\\"list.focusForeground\\\":\\\"#3c3836\\\",\\\"list.highlightForeground\\\":\\\"#689d6a\\\",\\\"list.hoverBackground\\\":\\\"#ebdbb280\\\",\\\"list.hoverForeground\\\":\\\"#504945\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#ebdbb280\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#689d6a\\\",\\\"menu.border\\\":\\\"#ebdbb2\\\",\\\"menu.separatorBackground\\\":\\\"#ebdbb2\\\",\\\"merge.border\\\":\\\"#0000\\\",\\\"merge.currentContentBackground\\\":\\\"#45858820\\\",\\\"merge.currentHeaderBackground\\\":\\\"#45858840\\\",\\\"merge.incomingContentBackground\\\":\\\"#689d6a20\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#689d6a40\\\",\\\"notebook.cellBorderColor\\\":\\\"#d5c4a1\\\",\\\"notebook.cellEditorBackground\\\":\\\"#ebdbb2\\\",\\\"notebook.focusedCellBorder\\\":\\\"#7c6f64\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#d5c4a1\\\",\\\"panel.border\\\":\\\"#ebdbb2\\\",\\\"panelTitle.activeForeground\\\":\\\"#3c3836\\\",\\\"peekView.border\\\":\\\"#ebdbb2\\\",\\\"peekViewEditor.background\\\":\\\"#ebdbb270\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewEditorGutter.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.background\\\":\\\"#ebdbb270\\\",\\\"peekViewResult.fileForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.lineForeground\\\":\\\"#3c3836\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#d5c4a1\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#45858820\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#3c3836\\\",\\\"peekViewTitle.background\\\":\\\"#ebdbb270\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#665c54\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#3c3836\\\",\\\"progressBar.background\\\":\\\"#689d6a\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#ebdbb2\\\",\\\"scrollbar.shadow\\\":\\\"#f2e5bc\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#689d6a\\\",\\\"scrollbarSlider.background\\\":\\\"#d5c4a199\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#bdae93\\\",\\\"selection.background\\\":\\\"#689d6a80\\\",\\\"sideBar.background\\\":\\\"#f2e5bc\\\",\\\"sideBar.border\\\":\\\"#ebdbb2\\\",\\\"sideBar.foreground\\\":\\\"#504945\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#3c3836\\\",\\\"sideBarTitle.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.background\\\":\\\"#f2e5bc\\\",\\\"statusBar.border\\\":\\\"#ebdbb2\\\",\\\"statusBar.debuggingBackground\\\":\\\"#af3a03\\\",\\\"statusBar.debuggingBorder\\\":\\\"#0000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#f2e5bc\\\",\\\"statusBar.foreground\\\":\\\"#3c3836\\\",\\\"statusBar.noFolderBackground\\\":\\\"#f2e5bc\\\",\\\"statusBar.noFolderBorder\\\":\\\"#0000\\\",\\\"tab.activeBackground\\\":\\\"#ebdbb2\\\",\\\"tab.activeBorder\\\":\\\"#689d6a\\\",\\\"tab.activeForeground\\\":\\\"#3c3836\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.inactiveBackground\\\":\\\"#f2e5bc\\\",\\\"tab.inactiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#0000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#7c6f64\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#928374\\\",\\\"terminal.ansiBlack\\\":\\\"#ebdbb2\\\",\\\"terminal.ansiBlue\\\":\\\"#458588\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#928374\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#076678\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#427b58\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#79740e\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#8f3f71\\\",\\\"terminal.ansiBrightRed\\\":\\\"#9d0006\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#3c3836\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#b57614\\\",\\\"terminal.ansiCyan\\\":\\\"#689d6a\\\",\\\"terminal.ansiGreen\\\":\\\"#98971a\\\",\\\"terminal.ansiMagenta\\\":\\\"#b16286\\\",\\\"terminal.ansiRed\\\":\\\"#cc241d\\\",\\\"terminal.ansiWhite\\\":\\\"#7c6f64\\\",\\\"terminal.ansiYellow\\\":\\\"#d79921\\\",\\\"terminal.background\\\":\\\"#f2e5bc\\\",\\\"terminal.foreground\\\":\\\"#3c3836\\\",\\\"textLink.activeForeground\\\":\\\"#458588\\\",\\\"textLink.foreground\\\":\\\"#076678\\\",\\\"titleBar.activeBackground\\\":\\\"#f2e5bc\\\",\\\"titleBar.activeForeground\\\":\\\"#3c3836\\\",\\\"titleBar.inactiveBackground\\\":\\\"#f2e5bc\\\",\\\"widget.border\\\":\\\"#ebdbb2\\\",\\\"widget.shadow\\\":\\\"#f2e5bc30\\\"},\\\"displayName\\\":\\\"Gruvbox Light Soft\\\",\\\"name\\\":\\\"gruvbox-light-soft\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"component\\\":\\\"#af3a03\\\",\\\"constant.builtin\\\":\\\"#8f3f71\\\",\\\"function\\\":\\\"#427b58\\\",\\\"function.builtin\\\":\\\"#af3a03\\\",\\\"method\\\":\\\"#427b58\\\",\\\"parameter\\\":\\\"#076678\\\",\\\"property\\\":\\\"#076678\\\",\\\"property:python\\\":\\\"#3c3836\\\",\\\"variable\\\":\\\"#3c3836\\\"},\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#458588\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\",\\\"variable.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"constant.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"punctuation.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cc241d\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b16286\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"meta.header.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"string.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"string.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"keyword.control.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d79921\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.operator.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"metatag.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"meta.type.name\\\",\\\"meta.return.type\\\",\\\"meta.return-type\\\",\\\"meta.cast\\\",\\\"meta.type.annotation\\\",\\\"support.type\\\",\\\"storage.type.cs\\\",\\\"variable.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"variable.this\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"entity.static\\\",\\\"entity.name.class.static.function\\\",\\\"entity.name.function\\\",\\\"entity.name.class\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"entity.function\\\",\\\"entity.name.function.static\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"entity.name.function.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.builtin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"entity.name.method\\\",\\\"entity.name.method.function-call\\\",\\\"entity.name.static.function-call\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#689d6a\\\"}},{\\\"scope\\\":\\\"brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":[\\\"meta.parameter.type.variable\\\",\\\"variable.parameter\\\",\\\"variable.name\\\",\\\"variable.other\\\",\\\"variable\\\",\\\"string.constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"prototype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7c6f64\\\"}},{\\\"scope\\\":\\\"punctuation.quoted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"punctuation.quasi\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.function.python\\\",\\\"entity.name.function.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"storage.type.function.python\\\",\\\"storage.modifier.declaration\\\",\\\"storage.type.class.python\\\",\\\"storage.type.string.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"storage.type.function.async.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#504945\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"constant.other.caps\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":\\\"punctuation.definition.logical-expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"string.interpolated.dollar.shell\\\",\\\"string.interpolated.backtick.shell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"keyword.control.directive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"support.function.C99\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"meta.function.cs\\\",\\\"entity.name.function.cs\\\",\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"keyword.other.using.cs\\\",\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.local.cs\\\",\\\"variable.other.readwrite.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"keyword.other.this.cs\\\",\\\"keyword.other.base.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"meta.scope.prerequisites\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"entity.name.function.target\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"storage.type.annotation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"keyword.other.documentation.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"comment.block.javadoc variable.parameter.java\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.java variable.other.object\\\",\\\"source.java variable.other.definition.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"meta.function-parameters.lisp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#928374\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"markup.punctuation.quote.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98971a\\\"}},{\\\"scope\\\":\\\"markup.punctuation.list.beginning\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw\\\",\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"source.css meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.css support.function.transform\\\",\\\"source.css support.function.timing-function\\\",\\\"source.css support.function.misc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.property-value\\\",\\\"constant.rgb-value\\\",\\\"support.property-value.scss\\\",\\\"constant.rgb-value.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d65d0e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"text.html entity.name.tag\\\",\\\"text.html punctuation.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.js variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.ts variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package\\\",\\\"source.go keyword.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.go keyword.interface\\\",\\\"source.go keyword.struct\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3c3836\\\"}},{\\\"scope\\\":[\\\"source.go entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"keyword.control.cucumber.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason string.double\\\",\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79740e\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.control.less\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}},{\\\"scope\\\":[\\\"source.reason entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#076678\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\",\\\"source.reason entity.name.filename\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell variable.other.member.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b57614\\\"}},{\\\"scope\\\":[\\\"source.powershell support.function.attribute.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#665c54\\\"}},{\\\"scope\\\":[\\\"source.powershell meta.hashtable.assignment.powershell variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"support.function.be.latex\\\",\\\"support.function.general.tex\\\",\\\"support.function.section.latex\\\",\\\"support.function.textbf.latex\\\",\\\"support.function.textit.latex\\\",\\\"support.function.texttt.latex\\\",\\\"support.function.emph.latex\\\",\\\"support.function.url.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d0006\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.tex\\\",\\\"support.class.math.block.environment.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#af3a03\\\"}},{\\\"scope\\\":[\\\"keyword.control.preamble.latex\\\",\\\"keyword.control.include.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8f3f71\\\"}},{\\\"scope\\\":[\\\"support.class.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#427b58\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: houston */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#343841\\\",\\\"activityBar.background\\\":\\\"#17191e\\\",\\\"activityBar.border\\\":\\\"#343841\\\",\\\"activityBar.foreground\\\":\\\"#eef0f9\\\",\\\"activityBar.inactiveForeground\\\":\\\"#858b98\\\",\\\"activityBarBadge.background\\\":\\\"#4bf3c8\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#bfc1c9\\\",\\\"badge.foreground\\\":\\\"#17191e\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#eef0f9\\\",\\\"breadcrumb.background\\\":\\\"#17191e\\\",\\\"breadcrumb.focusForeground\\\":\\\"#eef0f9\\\",\\\"breadcrumb.foreground\\\":\\\"#858b98\\\",\\\"button.background\\\":\\\"#4bf3c8\\\",\\\"button.foreground\\\":\\\"#17191e\\\",\\\"button.hoverBackground\\\":\\\"#31c19c\\\",\\\"button.secondaryBackground\\\":\\\"#545864\\\",\\\"button.secondaryForeground\\\":\\\"#eef0f9\\\",\\\"button.secondaryHoverBackground\\\":\\\"#858b98\\\",\\\"checkbox.background\\\":\\\"#23262d\\\",\\\"checkbox.border\\\":\\\"#00000000\\\",\\\"checkbox.foreground\\\":\\\"#eef0f9\\\",\\\"debugExceptionWidget.background\\\":\\\"#23262d\\\",\\\"debugExceptionWidget.border\\\":\\\"#8996d5\\\",\\\"debugToolBar.background\\\":\\\"#000\\\",\\\"debugToolBar.border\\\":\\\"#ffffff00\\\",\\\"diffEditor.border\\\":\\\"#ffffff00\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#4bf3c824\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#dc365724\\\",\\\"dropdown.background\\\":\\\"#23262d\\\",\\\"dropdown.border\\\":\\\"#00000000\\\",\\\"dropdown.foreground\\\":\\\"#eef0f9\\\",\\\"editor.background\\\":\\\"#17191e\\\",\\\"editor.findMatchBackground\\\":\\\"#515c6a\\\",\\\"editor.findMatchBorder\\\":\\\"#74879f\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ea5c0055\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#ffffff00\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#23262d\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#b2434300\\\",\\\"editor.foldBackground\\\":\\\"#ad5dca26\\\",\\\"editor.foreground\\\":\\\"#eef0f9\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#5495d740\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#2a2d34\\\",\\\"editor.lineHighlightBackground\\\":\\\"#23262d\\\",\\\"editor.lineHighlightBorder\\\":\\\"#ffffff00\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#ffffff0b\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#ffffff00\\\",\\\"editor.selectionBackground\\\":\\\"#ad5dca44\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#add6ff34\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#495f77\\\",\\\"editor.wordHighlightBackground\\\":\\\"#494949b8\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#004972b8\\\",\\\"editorBracketMatch.background\\\":\\\"#545864\\\",\\\"editorBracketMatch.border\\\":\\\"#ffffff00\\\",\\\"editorCodeLens.foreground\\\":\\\"#bfc1c9\\\",\\\"editorCursor.background\\\":\\\"#000000\\\",\\\"editorCursor.foreground\\\":\\\"#aeafad\\\",\\\"editorError.background\\\":\\\"#ffffff00\\\",\\\"editorError.border\\\":\\\"#ffffff00\\\",\\\"editorError.foreground\\\":\\\"#f4587e\\\",\\\"editorGroup.border\\\":\\\"#343841\\\",\\\"editorGroup.emptyBackground\\\":\\\"#17191e\\\",\\\"editorGroupHeader.border\\\":\\\"#ffffff00\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#23262d\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#ffffff00\\\",\\\"editorGutter.addedBackground\\\":\\\"#4bf3c8\\\",\\\"editorGutter.background\\\":\\\"#17191e\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#545864\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f06788\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#545864\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#54b9ff\\\",\\\"editorHoverWidget.background\\\":\\\"#252526\\\",\\\"editorHoverWidget.border\\\":\\\"#454545\\\",\\\"editorHoverWidget.foreground\\\":\\\"#cccccc\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#858b98\\\",\\\"editorIndentGuide.background\\\":\\\"#343841\\\",\\\"editorInfo.background\\\":\\\"#4490bf00\\\",\\\"editorInfo.border\\\":\\\"#4490bf00\\\",\\\"editorInfo.foreground\\\":\\\"#54b9ff\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#858b98\\\",\\\"editorLineNumber.foreground\\\":\\\"#545864\\\",\\\"editorLink.activeForeground\\\":\\\"#54b9ff\\\",\\\"editorMarkerNavigation.background\\\":\\\"#23262d\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#dc3657\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#54b9ff\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#ffd493\\\",\\\"editorOverviewRuler.background\\\":\\\"#ffffff00\\\",\\\"editorOverviewRuler.border\\\":\\\"#ffffff00\\\",\\\"editorRuler.foreground\\\":\\\"#545864\\\",\\\"editorSuggestWidget.background\\\":\\\"#252526\\\",\\\"editorSuggestWidget.border\\\":\\\"#454545\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#d4d4d4\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#0097fb\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#062f4a\\\",\\\"editorWarning.background\\\":\\\"#a9904000\\\",\\\"editorWarning.border\\\":\\\"#ffffff00\\\",\\\"editorWarning.foreground\\\":\\\"#fbc23b\\\",\\\"editorWhitespace.foreground\\\":\\\"#cc75f450\\\",\\\"editorWidget.background\\\":\\\"#343841\\\",\\\"editorWidget.foreground\\\":\\\"#ffffff\\\",\\\"editorWidget.resizeBorder\\\":\\\"#cc75f4\\\",\\\"focusBorder\\\":\\\"#00daef\\\",\\\"foreground\\\":\\\"#cccccc\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#4bf3c8\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#00daef\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f4587e\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#858b98\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ffd493\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#c74e39\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#ffd493\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#54b9ff\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#4bf3c8\\\",\\\"icon.foreground\\\":\\\"#cccccc\\\",\\\"input.background\\\":\\\"#23262d\\\",\\\"input.border\\\":\\\"#bfc1c9\\\",\\\"input.foreground\\\":\\\"#eef0f9\\\",\\\"input.placeholderForeground\\\":\\\"#858b98\\\",\\\"inputOption.activeBackground\\\":\\\"#54b9ff\\\",\\\"inputOption.activeBorder\\\":\\\"#007acc00\\\",\\\"inputOption.activeForeground\\\":\\\"#17191e\\\",\\\"list.activeSelectionBackground\\\":\\\"#2d4860\\\",\\\"list.activeSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.dropBackground\\\":\\\"#17191e\\\",\\\"list.focusBackground\\\":\\\"#54b9ff\\\",\\\"list.focusForeground\\\":\\\"#ffffff\\\",\\\"list.highlightForeground\\\":\\\"#ffffff\\\",\\\"list.hoverBackground\\\":\\\"#343841\\\",\\\"list.hoverForeground\\\":\\\"#eef0f9\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#17191e\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#eef0f9\\\",\\\"listFilterWidget.background\\\":\\\"#2d4860\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#dc3657\\\",\\\"listFilterWidget.outline\\\":\\\"#54b9ff\\\",\\\"menu.background\\\":\\\"#252526\\\",\\\"menu.border\\\":\\\"#00000085\\\",\\\"menu.foreground\\\":\\\"#cccccc\\\",\\\"menu.selectionBackground\\\":\\\"#094771\\\",\\\"menu.selectionBorder\\\":\\\"#00000000\\\",\\\"menu.selectionForeground\\\":\\\"#4bf3c8\\\",\\\"menu.separatorBackground\\\":\\\"#bbbbbb\\\",\\\"menubar.selectionBackground\\\":\\\"#ffffff1a\\\",\\\"menubar.selectionForeground\\\":\\\"#cccccc\\\",\\\"merge.commonContentBackground\\\":\\\"#282828\\\",\\\"merge.commonHeaderBackground\\\":\\\"#383838\\\",\\\"merge.currentContentBackground\\\":\\\"#27403b\\\",\\\"merge.currentHeaderBackground\\\":\\\"#367366\\\",\\\"merge.incomingContentBackground\\\":\\\"#28384b\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#395f8f\\\",\\\"minimap.background\\\":\\\"#17191e\\\",\\\"minimap.errorHighlight\\\":\\\"#dc3657\\\",\\\"minimap.findMatchHighlight\\\":\\\"#515c6a\\\",\\\"minimap.selectionHighlight\\\":\\\"#3757b942\\\",\\\"minimap.warningHighlight\\\":\\\"#fbc23b\\\",\\\"minimapGutter.addedBackground\\\":\\\"#4bf3c8\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#f06788\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#54b9ff\\\",\\\"notificationCenter.border\\\":\\\"#ffffff00\\\",\\\"notificationCenterHeader.background\\\":\\\"#343841\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#17191e\\\",\\\"notificationToast.border\\\":\\\"#ffffff00\\\",\\\"notifications.background\\\":\\\"#343841\\\",\\\"notifications.border\\\":\\\"#bfc1c9\\\",\\\"notifications.foreground\\\":\\\"#ffffff\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#f4587e\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#54b9ff\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#ff8551\\\",\\\"panel.background\\\":\\\"#23262d\\\",\\\"panel.border\\\":\\\"#17191e\\\",\\\"panelSection.border\\\":\\\"#17191e\\\",\\\"panelTitle.activeBorder\\\":\\\"#e7e7e7\\\",\\\"panelTitle.activeForeground\\\":\\\"#eef0f9\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#bfc1c9\\\",\\\"peekView.border\\\":\\\"#007acc\\\",\\\"peekViewEditor.background\\\":\\\"#001f33\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#ff8f0099\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#ee931e\\\",\\\"peekViewEditorGutter.background\\\":\\\"#001f33\\\",\\\"peekViewResult.background\\\":\\\"#252526\\\",\\\"peekViewResult.fileForeground\\\":\\\"#ffffff\\\",\\\"peekViewResult.lineForeground\\\":\\\"#bbbbbb\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#f00\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#3399ff33\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#ffffff\\\",\\\"peekViewTitle.background\\\":\\\"#1e1e1e\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#ccccccb3\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#ffffff\\\",\\\"pickerGroup.border\\\":\\\"#ffffff00\\\",\\\"pickerGroup.foreground\\\":\\\"#eef0f9\\\",\\\"progressBar.background\\\":\\\"#4bf3c8\\\",\\\"scrollbar.shadow\\\":\\\"#000000\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#54b9ff66\\\",\\\"scrollbarSlider.background\\\":\\\"#54586466\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#545864B3\\\",\\\"selection.background\\\":\\\"#00daef56\\\",\\\"settings.focusedRowBackground\\\":\\\"#ffffff07\\\",\\\"settings.headerForeground\\\":\\\"#cccccc\\\",\\\"sideBar.background\\\":\\\"#23262d\\\",\\\"sideBar.border\\\":\\\"#17191e\\\",\\\"sideBar.dropBackground\\\":\\\"#17191e\\\",\\\"sideBar.foreground\\\":\\\"#bfc1c9\\\",\\\"sideBarSectionHeader.background\\\":\\\"#343841\\\",\\\"sideBarSectionHeader.border\\\":\\\"#17191e\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#eef0f9\\\",\\\"sideBarTitle.foreground\\\":\\\"#eef0f9\\\",\\\"statusBar.background\\\":\\\"#17548b\\\",\\\"statusBar.debuggingBackground\\\":\\\"#cc75f4\\\",\\\"statusBar.debuggingForeground\\\":\\\"#eef0f9\\\",\\\"statusBar.foreground\\\":\\\"#eef0f9\\\",\\\"statusBar.noFolderBackground\\\":\\\"#6c3c7d\\\",\\\"statusBar.noFolderForeground\\\":\\\"#eef0f9\\\",\\\"statusBarItem.activeBackground\\\":\\\"#ffffff25\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#ffffff1f\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#297763\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#eef0f9\\\",\\\"tab.activeBackground\\\":\\\"#17191e\\\",\\\"tab.activeBorder\\\":\\\"#ffffff00\\\",\\\"tab.activeBorderTop\\\":\\\"#eef0f9\\\",\\\"tab.activeForeground\\\":\\\"#eef0f9\\\",\\\"tab.border\\\":\\\"#17191e\\\",\\\"tab.hoverBackground\\\":\\\"#343841\\\",\\\"tab.hoverForeground\\\":\\\"#eef0f9\\\",\\\"tab.inactiveBackground\\\":\\\"#23262d\\\",\\\"tab.inactiveForeground\\\":\\\"#858b98\\\",\\\"terminal.ansiBlack\\\":\\\"#17191e\\\",\\\"terminal.ansiBlue\\\":\\\"#2b7eca\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#545864\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#54b9ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#00daef\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#4bf3c8\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#cc75f4\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f4587e\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#fafafa\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffd493\\\",\\\"terminal.ansiCyan\\\":\\\"#24c0cf\\\",\\\"terminal.ansiGreen\\\":\\\"#23d18b\\\",\\\"terminal.ansiMagenta\\\":\\\"#ad5dca\\\",\\\"terminal.ansiRed\\\":\\\"#dc3657\\\",\\\"terminal.ansiWhite\\\":\\\"#eef0f9\\\",\\\"terminal.ansiYellow\\\":\\\"#ffc368\\\",\\\"terminal.border\\\":\\\"#80808059\\\",\\\"terminal.foreground\\\":\\\"#cccccc\\\",\\\"terminal.selectionBackground\\\":\\\"#ffffff40\\\",\\\"terminalCursor.background\\\":\\\"#0087ff\\\",\\\"terminalCursor.foreground\\\":\\\"#ffffff\\\",\\\"textLink.foreground\\\":\\\"#54b9ff\\\",\\\"titleBar.activeBackground\\\":\\\"#17191e\\\",\\\"titleBar.activeForeground\\\":\\\"#cccccc\\\",\\\"titleBar.border\\\":\\\"#00000000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#3c3c3c99\\\",\\\"titleBar.inactiveForeground\\\":\\\"#cccccc99\\\",\\\"tree.indentGuidesStroke\\\":\\\"#545864\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#00000050\\\",\\\"widget.shadow\\\":\\\"#ffffff00\\\"},\\\"displayName\\\":\\\"Houston\\\",\\\"name\\\":\\\"houston\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"enumMember\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"},\\\"variable.constant\\\":{\\\"foreground\\\":\\\"#ffd493\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":\\\"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"variable.other.generic-type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"storage.type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"support.variable.magic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.special.self.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"storage.modifier.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.function.std.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"entity.name.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"variable.language.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.constant.edge\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin,punctuation.definition.string.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"comment markup.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#545864\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"meta.function.c,meta.function.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.import\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"support.constant.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"support.constant.property.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"variable.other.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"storage.type.annotation.java\\\",\\\"storage.type.object.array.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"source.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"meta.method.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java,storage.type.java,storage.type.generic.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"keyword.operator.instanceof.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"meta.definition.variable.name.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.bitwise\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.channel\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.property-value.scss,support.constant.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"keyword.operator.css,keyword.operator.scss,keyword.operator.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.separator.list.comma.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.color.w3c-standard-color-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"support.type.vendored.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.module.node,support.type.object.module,support.module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"entity.name.type.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.constant.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.instanceof\\\",\\\"keyword.operator.new\\\",\\\"keyword.operator.ternary\\\",\\\"keyword.operator.optional\\\",\\\"keyword.operator.expression.keyof\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"support.type.object.console\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.variable.property.process\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"entity.name.function,support.function.console\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"keyword.operator.misc.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.sigil.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.delete\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"support.type.object.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.variable.dom,support.variable.property.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"punctuation.separator.delimiter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.separator.c,punctuation.separator.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"support.type.posix-reserved.c,support.type.posix-reserved.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"support.type.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.compound\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"variable.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"token.variable.parameter.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"import.storage.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"token.package.keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"token.package\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.require\\\",\\\"support.function.any-method\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"support.class, entity.name.type.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"entity.name.class.identifier.namespace.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"variable.other.class.js\\\",\\\"variable.other.class.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"variable.other.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"entity.name.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"control.elements, keyword.operator.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"keyword.other.special-method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"token.storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"token.storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.font-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"meta.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"source.astro.meta.attribute.client:idle.html\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"string.quoted.double.html,string.quoted.single.html,string.template.html,punctuation.definition.string.begin.html,punctuation.definition.string.end.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\",\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"markup.heading punctuation.definition.heading, entity.name.section\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"markup.bold,todo.bold\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"markup.italic, punctuation.definition.italic,todo.emphasis\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"emphasis md\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"entity.name.section.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.definition.metadata.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"markup.underline.link.markdown,markup.underline.link.image.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown,string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded, variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded.begin,punctuation.section.embedded.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.illegal.bad-ampersand.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > string.quoted.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cc75f4\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"support.other.namespace.use.php,support.other.namespace.use-as.php,support.other.namespace.php,entity.other.alias.php,meta.interface.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"keyword.operator.error-control.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"punctuation.section.array.begin.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"punctuation.section.array.end.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"invalid.illegal.non-null-typehinted.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"support.constant.core.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"entity.name.goto-label.php,support.other.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.regexp.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"keyword.operator.comparison.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"keyword.operator.heredoc.php,keyword.operator.nowdoc.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":\\\"meta.function.decorator.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"support.token.decorator.python,meta.function.decorator.identifier.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"function.parameter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"function.brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"function.parameter.ruby, function.parameter.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"inline-color-decoration rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"less rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"selector.sass\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"block.scope.end,block.scope.begin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"storage.type.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":\\\"entity.name.variable.local.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"keyword.operator.module\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"support.type.type.flowtype\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":[\\\"support.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"meta.property.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"keyword.other.template.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.other.template.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.other.substitution.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.other.substitution.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"keyword.operator.arithmetic.go\\\",\\\"keyword.operator.address.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"entity.name.package.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"support.type.prelude.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"support.constant.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"punctuation.quasi.element\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"constant.character.entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-element\\\",\\\"entity.other.attribute-name.pseudo-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"entity.global.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"meta.symbol.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"constant.keyword.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"meta.arguments.coffee\\\",\\\"variable.parameter.function.coffee\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"source.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"meta.scope.prerequisites.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"source.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"meta.method.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":[\\\"meta.definition.variable.name.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"meta.definition.class.inherited.classes.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"support.variable.semantic.hlsl\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"support.type.texture.hlsl\\\",\\\"support.type.sampler.hlsl\\\",\\\"support.type.object.hlsl\\\",\\\"support.type.object.rw.hlsl\\\",\\\"support.type.fx.hlsl\\\",\\\"support.type.object.hlsl\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"text.variable\\\",\\\"text.bracketed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"support.type.swift\\\",\\\"support.type.vb.asp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"entity.name.function.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"entity.name.class.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"constant.character.character-class.regexp.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\"constant.regexp.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#54b9ff\\\"}},{\\\"scope\\\":[\\\"keyword.control.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"invalid.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.quote.markdown.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f98f\\\"}},{\\\"scope\\\":[\\\"constant.character.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":[\\\"accent.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00daef\\\"}},{\\\"scope\\\":[\\\"wikiword.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffd493\\\"}},{\\\"scope\\\":[\\\"constant.other.color.rgb-value.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545864\\\"}},{\\\"scope\\\":[\\\"entity.name.label.cs\\\",\\\"entity.name.scope-resolution.function.call\\\",\\\"entity.name.scope-resolution.function.definition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#acafff\\\"}},{\\\"scope\\\":[\\\"entity.name.label.cs\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.setext.2.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4bf3c8\\\"}},{\\\"scope\\\":[\\\" meta.brace.square\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"comment, punctuation.definition.comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eef0f98f\\\"}},{\\\"scope\\\":\\\"markup.quote.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f98f\\\"}},{\\\"scope\\\":\\\"punctuation.definition.block.sequence.item.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":[\\\"constant.language.symbol.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eef0f9\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"comment.line.double-slash,comment.block.documentation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"keyword.control.import.python,keyword.control.flow.python\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: kanagawa-dragon */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#282727\\\",\\\"activityBar.foreground\\\":\\\"#C5C9C5\\\",\\\"activityBarBadge.background\\\":\\\"#658594\\\",\\\"activityBarBadge.foreground\\\":\\\"#C5C9C5\\\",\\\"badge.background\\\":\\\"#282727\\\",\\\"button.background\\\":\\\"#282727\\\",\\\"button.foreground\\\":\\\"#C8C093\\\",\\\"button.secondaryBackground\\\":\\\"#223249\\\",\\\"button.secondaryForeground\\\":\\\"#C5C9C5\\\",\\\"checkbox.border\\\":\\\"#223249\\\",\\\"debugToolBar.background\\\":\\\"#0D0C0C\\\",\\\"descriptionForeground\\\":\\\"#C5C9C5\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#2B332880\\\",\\\"dropdown.background\\\":\\\"#0D0C0C\\\",\\\"dropdown.border\\\":\\\"#0D0C0C\\\",\\\"editor.background\\\":\\\"#181616\\\",\\\"editor.findMatchBackground\\\":\\\"#2D4F67\\\",\\\"editor.findMatchBorder\\\":\\\"#FF9E3B\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#2D4F6780\\\",\\\"editor.foreground\\\":\\\"#C5C9C5\\\",\\\"editor.lineHighlightBackground\\\":\\\"#393836\\\",\\\"editor.selectionBackground\\\":\\\"#223249\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#39383680\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#625E5A\\\",\\\"editor.wordHighlightBackground\\\":\\\"#3938364D\\\",\\\"editor.wordHighlightBorder\\\":\\\"#625E5A\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#3938364D\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#625E5A\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#8992A7\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#B6927B\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#8BA4B0\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#A292A3\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#C4B28A\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#8EA4A2\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#C4746E\\\",\\\"editorBracketMatch.background\\\":\\\"#0D0C0C\\\",\\\"editorBracketMatch.border\\\":\\\"#625E5A\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#8992A7\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#B6927B\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#8BA4B0\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#A292A3\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#C4B28A\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#8EA4A2\\\",\\\"editorCursor.background\\\":\\\"#181616\\\",\\\"editorCursor.foreground\\\":\\\"#C5C9C5\\\",\\\"editorError.foreground\\\":\\\"#E82424\\\",\\\"editorGroup.border\\\":\\\"#0D0C0C\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0D0C0C\\\",\\\"editorGutter.addedBackground\\\":\\\"#76946A\\\",\\\"editorGutter.deletedBackground\\\":\\\"#C34043\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#DCA561\\\",\\\"editorHoverWidget.background\\\":\\\"#181616\\\",\\\"editorHoverWidget.border\\\":\\\"#282727\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#658594\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#393836\\\",\\\"editorIndentGuide.background1\\\":\\\"#282727\\\",\\\"editorInlayHint.background\\\":\\\"#181616\\\",\\\"editorInlayHint.foreground\\\":\\\"#737C73\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#FFA066\\\",\\\"editorLineNumber.foreground\\\":\\\"#625E5A\\\",\\\"editorMarkerNavigation.background\\\":\\\"#393836\\\",\\\"editorRuler.foreground\\\":\\\"#393836\\\",\\\"editorSuggestWidget.background\\\":\\\"#223249\\\",\\\"editorSuggestWidget.border\\\":\\\"#223249\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#2D4F67\\\",\\\"editorWarning.foreground\\\":\\\"#FF9E3B\\\",\\\"editorWhitespace.foreground\\\":\\\"#181616\\\",\\\"editorWidget.background\\\":\\\"#181616\\\",\\\"focusBorder\\\":\\\"#223249\\\",\\\"foreground\\\":\\\"#C5C9C5\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#737C73\\\",\\\"input.background\\\":\\\"#0D0C0C\\\",\\\"list.activeSelectionBackground\\\":\\\"#393836\\\",\\\"list.activeSelectionForeground\\\":\\\"#C5C9C5\\\",\\\"list.focusBackground\\\":\\\"#282727\\\",\\\"list.focusForeground\\\":\\\"#C5C9C5\\\",\\\"list.highlightForeground\\\":\\\"#8BA4B0\\\",\\\"list.hoverBackground\\\":\\\"#393836\\\",\\\"list.hoverForeground\\\":\\\"#C5C9C5\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#282727\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#C5C9C5\\\",\\\"list.warningForeground\\\":\\\"#FF9E3B\\\",\\\"menu.background\\\":\\\"#393836\\\",\\\"menu.border\\\":\\\"#0D0C0C\\\",\\\"menu.foreground\\\":\\\"#C5C9C5\\\",\\\"menu.selectionBackground\\\":\\\"#0D0C0C\\\",\\\"menu.selectionForeground\\\":\\\"#C5C9C5\\\",\\\"menu.separatorBackground\\\":\\\"#625E5A\\\",\\\"menubar.selectionBackground\\\":\\\"#0D0C0C\\\",\\\"menubar.selectionForeground\\\":\\\"#C5C9C5\\\",\\\"minimapGutter.addedBackground\\\":\\\"#76946A\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#C34043\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#DCA561\\\",\\\"panel.border\\\":\\\"#0D0C0C\\\",\\\"panelSectionHeader.background\\\":\\\"#181616\\\",\\\"peekView.border\\\":\\\"#625E5A\\\",\\\"peekViewEditor.background\\\":\\\"#282727\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#2D4F67\\\",\\\"peekViewResult.background\\\":\\\"#393836\\\",\\\"scrollbar.shadow\\\":\\\"#393836\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#28272780\\\",\\\"scrollbarSlider.background\\\":\\\"#625E5A66\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#625E5A80\\\",\\\"settings.focusedRowBackground\\\":\\\"#393836\\\",\\\"settings.headerForeground\\\":\\\"#C5C9C5\\\",\\\"sideBar.background\\\":\\\"#181616\\\",\\\"sideBar.border\\\":\\\"#0D0C0C\\\",\\\"sideBar.foreground\\\":\\\"#C5C9C5\\\",\\\"sideBarSectionHeader.background\\\":\\\"#393836\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#C5C9C5\\\",\\\"statusBar.background\\\":\\\"#0D0C0C\\\",\\\"statusBar.debuggingBackground\\\":\\\"#E82424\\\",\\\"statusBar.debuggingBorder\\\":\\\"#8992A7\\\",\\\"statusBar.debuggingForeground\\\":\\\"#C5C9C5\\\",\\\"statusBar.foreground\\\":\\\"#C8C093\\\",\\\"statusBar.noFolderBackground\\\":\\\"#181616\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#393836\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#2D4F67\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#C5C9C5\\\",\\\"tab.activeBackground\\\":\\\"#282727\\\",\\\"tab.activeForeground\\\":\\\"#8BA4B0\\\",\\\"tab.border\\\":\\\"#282727\\\",\\\"tab.hoverBackground\\\":\\\"#393836\\\",\\\"tab.inactiveBackground\\\":\\\"#1D1C19\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#181616\\\",\\\"terminal.ansiBlack\\\":\\\"#0D0C0C\\\",\\\"terminal.ansiBlue\\\":\\\"#8BA4B0\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#A6A69C\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7FB4CA\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#7AA89F\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#87A987\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#938AA9\\\",\\\"terminal.ansiBrightRed\\\":\\\"#E46876\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#C5C9C5\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#E6C384\\\",\\\"terminal.ansiCyan\\\":\\\"#8EA4A2\\\",\\\"terminal.ansiGreen\\\":\\\"#8A9A7B\\\",\\\"terminal.ansiMagenta\\\":\\\"#A292A3\\\",\\\"terminal.ansiRed\\\":\\\"#C4746E\\\",\\\"terminal.ansiWhite\\\":\\\"#C8C093\\\",\\\"terminal.ansiYellow\\\":\\\"#C4B28A\\\",\\\"terminal.background\\\":\\\"#181616\\\",\\\"terminal.border\\\":\\\"#0D0C0C\\\",\\\"terminal.foreground\\\":\\\"#C5C9C5\\\",\\\"terminal.selectionBackground\\\":\\\"#223249\\\",\\\"textBlockQuote.background\\\":\\\"#181616\\\",\\\"textBlockQuote.border\\\":\\\"#0D0C0C\\\",\\\"textLink.foreground\\\":\\\"#6A9589\\\",\\\"textPreformat.foreground\\\":\\\"#FF9E3B\\\",\\\"titleBar.activeBackground\\\":\\\"#393836\\\",\\\"titleBar.activeForeground\\\":\\\"#C5C9C5\\\",\\\"titleBar.inactiveBackground\\\":\\\"#181616\\\",\\\"titleBar.inactiveForeground\\\":\\\"#C5C9C5\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#181616\\\"},\\\"displayName\\\":\\\"Kanagawa Dragon\\\",\\\"name\\\":\\\"kanagawa-dragon\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"arithmetic\\\":\\\"#B98D7B\\\",\\\"function\\\":\\\"#8BA4B0\\\",\\\"keyword.controlFlow\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8992A7\\\"},\\\"macro\\\":\\\"#C4746E\\\",\\\"method\\\":\\\"#949FB5\\\",\\\"operator\\\":\\\"#B98D7B\\\",\\\"parameter\\\":\\\"#A6A69C\\\",\\\"parameter.declaration\\\":\\\"#A6A69C\\\",\\\"parameter.definition\\\":\\\"#A6A69C\\\",\\\"variable\\\":\\\"#C5C9C5\\\",\\\"variable.readonly\\\":\\\"#C5C9C5\\\",\\\"variable.readonly.defaultLibrary\\\":\\\"#C5C9C5\\\",\\\"variable.readonly.local\\\":\\\"#C5C9C5\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"string constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E82424\\\"}},{\\\"scope\\\":[\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow\\\",\\\"keyword.control.conditional\\\",\\\"keyword.control.loop\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"constant.other.color\\\",\\\"meta.tag\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"keyword.control.trycatch\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\",\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"punctuation\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"meta.brace\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9E9B93\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call\\\",\\\"variable.function\\\",\\\"support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BA4B0\\\"}},{\\\"scope\\\":[\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A292A3\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"entity.other.inherited-class\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"markup.inline.raw.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8A9A7B\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.type\\\",\\\"support.class\\\",\\\"support.other.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8EA4A2\\\"}},{\\\"scope\\\":[\\\"entity.name.type.module\\\",\\\"entity.name.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"entity.name.import.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8A9A7B\\\"}},{\\\"scope\\\":[\\\"keyword.blade\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"keyword.control.import\\\",\\\"keyword.import\\\",\\\"meta.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8EA4A2\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#76946A\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C34043\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCA561\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B98D7B\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A292A3\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BA4B0\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A292A3\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8A9A7B\\\"}},{\\\"scope\\\":[\\\"meta.tag JSXNested\\\",\\\"meta.jsx.children\\\",\\\"text.html\\\",\\\"text.log\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"entity.name.section.markdown\\\",\\\"markup.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8BA4B0\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#C4746E\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#949FB5\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B6927B\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C4B28A\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8992A7\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#737C73\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#9E9B93\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C5C9C5\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: kanagawa-lotus */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#E7DBA0\\\",\\\"activityBar.foreground\\\":\\\"#545464\\\",\\\"activityBarBadge.background\\\":\\\"#5A7785\\\",\\\"activityBarBadge.foreground\\\":\\\"#545464\\\",\\\"badge.background\\\":\\\"#E7DBA0\\\",\\\"button.background\\\":\\\"#E7DBA0\\\",\\\"button.foreground\\\":\\\"#43436C\\\",\\\"button.secondaryBackground\\\":\\\"#C7D7E0\\\",\\\"button.secondaryForeground\\\":\\\"#545464\\\",\\\"checkbox.border\\\":\\\"#C7D7E0\\\",\\\"debugToolBar.background\\\":\\\"#D5CEA3\\\",\\\"descriptionForeground\\\":\\\"#545464\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#B7D0AE80\\\",\\\"dropdown.background\\\":\\\"#D5CEA3\\\",\\\"dropdown.border\\\":\\\"#D5CEA3\\\",\\\"editor.background\\\":\\\"#F2ECBC\\\",\\\"editor.findMatchBackground\\\":\\\"#B5CBD2\\\",\\\"editor.findMatchBorder\\\":\\\"#E98A00\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#B5CBD280\\\",\\\"editor.foreground\\\":\\\"#545464\\\",\\\"editor.lineHighlightBackground\\\":\\\"#E4D794\\\",\\\"editor.selectionBackground\\\":\\\"#C7D7E0\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#E4D79480\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#766B90\\\",\\\"editor.wordHighlightBackground\\\":\\\"#E4D7944D\\\",\\\"editor.wordHighlightBorder\\\":\\\"#766B90\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#E4D7944D\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#766B90\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#624C83\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#CC6D00\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#4D699B\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#B35B79\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#77713F\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#597B75\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#D9A594\\\",\\\"editorBracketMatch.background\\\":\\\"#D5CEA3\\\",\\\"editorBracketMatch.border\\\":\\\"#766B90\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#624C83\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#CC6D00\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#4D699B\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#B35B79\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#77713F\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#597B75\\\",\\\"editorCursor.background\\\":\\\"#F2ECBC\\\",\\\"editorCursor.foreground\\\":\\\"#545464\\\",\\\"editorError.foreground\\\":\\\"#E82424\\\",\\\"editorGroup.border\\\":\\\"#D5CEA3\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#D5CEA3\\\",\\\"editorGutter.addedBackground\\\":\\\"#6E915F\\\",\\\"editorGutter.deletedBackground\\\":\\\"#D7474B\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#DE9800\\\",\\\"editorHoverWidget.background\\\":\\\"#F2ECBC\\\",\\\"editorHoverWidget.border\\\":\\\"#E7DBA0\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#5A7785\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#E4D794\\\",\\\"editorIndentGuide.background1\\\":\\\"#E7DBA0\\\",\\\"editorInlayHint.background\\\":\\\"#F2ECBC\\\",\\\"editorInlayHint.foreground\\\":\\\"#716E61\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#CC6D00\\\",\\\"editorLineNumber.foreground\\\":\\\"#766B90\\\",\\\"editorMarkerNavigation.background\\\":\\\"#E4D794\\\",\\\"editorRuler.foreground\\\":\\\"#ff0000\\\",\\\"editorSuggestWidget.background\\\":\\\"#C7D7E0\\\",\\\"editorSuggestWidget.border\\\":\\\"#C7D7E0\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#B5CBD2\\\",\\\"editorWarning.foreground\\\":\\\"#E98A00\\\",\\\"editorWhitespace.foreground\\\":\\\"#F2ECBC\\\",\\\"editorWidget.background\\\":\\\"#F2ECBC\\\",\\\"focusBorder\\\":\\\"#C7D7E0\\\",\\\"foreground\\\":\\\"#545464\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#716E61\\\",\\\"input.background\\\":\\\"#D5CEA3\\\",\\\"list.activeSelectionBackground\\\":\\\"#E4D794\\\",\\\"list.activeSelectionForeground\\\":\\\"#545464\\\",\\\"list.focusBackground\\\":\\\"#E7DBA0\\\",\\\"list.focusForeground\\\":\\\"#545464\\\",\\\"list.highlightForeground\\\":\\\"#4D699B\\\",\\\"list.hoverBackground\\\":\\\"#E4D794\\\",\\\"list.hoverForeground\\\":\\\"#545464\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#E7DBA0\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#545464\\\",\\\"list.warningForeground\\\":\\\"#E98A00\\\",\\\"menu.background\\\":\\\"#E4D794\\\",\\\"menu.border\\\":\\\"#D5CEA3\\\",\\\"menu.foreground\\\":\\\"#545464\\\",\\\"menu.selectionBackground\\\":\\\"#D5CEA3\\\",\\\"menu.selectionForeground\\\":\\\"#545464\\\",\\\"menu.separatorBackground\\\":\\\"#766B90\\\",\\\"menubar.selectionBackground\\\":\\\"#D5CEA3\\\",\\\"menubar.selectionForeground\\\":\\\"#545464\\\",\\\"minimapGutter.addedBackground\\\":\\\"#6E915F\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#D7474B\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#DE9800\\\",\\\"panel.border\\\":\\\"#D5CEA3\\\",\\\"panelSectionHeader.background\\\":\\\"#F2ECBC\\\",\\\"peekView.border\\\":\\\"#766B90\\\",\\\"peekViewEditor.background\\\":\\\"#E7DBA0\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#B5CBD2\\\",\\\"peekViewResult.background\\\":\\\"#E4D794\\\",\\\"scrollbar.shadow\\\":\\\"#E4D794\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#E7DBA080\\\",\\\"scrollbarSlider.background\\\":\\\"#766B9066\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#766B9080\\\",\\\"settings.focusedRowBackground\\\":\\\"#E4D794\\\",\\\"settings.headerForeground\\\":\\\"#545464\\\",\\\"sideBar.background\\\":\\\"#F2ECBC\\\",\\\"sideBar.border\\\":\\\"#D5CEA3\\\",\\\"sideBar.foreground\\\":\\\"#545464\\\",\\\"sideBarSectionHeader.background\\\":\\\"#E4D794\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#545464\\\",\\\"statusBar.background\\\":\\\"#D5CEA3\\\",\\\"statusBar.debuggingBackground\\\":\\\"#E82424\\\",\\\"statusBar.debuggingBorder\\\":\\\"#624C83\\\",\\\"statusBar.debuggingForeground\\\":\\\"#545464\\\",\\\"statusBar.foreground\\\":\\\"#43436C\\\",\\\"statusBar.noFolderBackground\\\":\\\"#F2ECBC\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#E4D794\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#B5CBD2\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#545464\\\",\\\"tab.activeBackground\\\":\\\"#E7DBA0\\\",\\\"tab.activeForeground\\\":\\\"#4D699B\\\",\\\"tab.border\\\":\\\"#E7DBA0\\\",\\\"tab.hoverBackground\\\":\\\"#E4D794\\\",\\\"tab.inactiveBackground\\\":\\\"#E5DDB0\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#F2ECBC\\\",\\\"terminal.ansiBlack\\\":\\\"#1F1F28\\\",\\\"terminal.ansiBlue\\\":\\\"#4D699B\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#8A8980\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6693BF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#5E857A\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#6E915F\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#624C83\\\",\\\"terminal.ansiBrightRed\\\":\\\"#D7474B\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#43436C\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#836F4A\\\",\\\"terminal.ansiCyan\\\":\\\"#597B75\\\",\\\"terminal.ansiGreen\\\":\\\"#6F894E\\\",\\\"terminal.ansiMagenta\\\":\\\"#B35B79\\\",\\\"terminal.ansiRed\\\":\\\"#C84053\\\",\\\"terminal.ansiWhite\\\":\\\"#545464\\\",\\\"terminal.ansiYellow\\\":\\\"#77713F\\\",\\\"terminal.background\\\":\\\"#F2ECBC\\\",\\\"terminal.border\\\":\\\"#D5CEA3\\\",\\\"terminal.foreground\\\":\\\"#545464\\\",\\\"terminal.selectionBackground\\\":\\\"#C7D7E0\\\",\\\"textBlockQuote.background\\\":\\\"#F2ECBC\\\",\\\"textBlockQuote.border\\\":\\\"#D5CEA3\\\",\\\"textLink.foreground\\\":\\\"#5E857A\\\",\\\"textPreformat.foreground\\\":\\\"#E98A00\\\",\\\"titleBar.activeBackground\\\":\\\"#E4D794\\\",\\\"titleBar.activeForeground\\\":\\\"#545464\\\",\\\"titleBar.inactiveBackground\\\":\\\"#F2ECBC\\\",\\\"titleBar.inactiveForeground\\\":\\\"#545464\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#F2ECBC\\\"},\\\"displayName\\\":\\\"Kanagawa Lotus\\\",\\\"name\\\":\\\"kanagawa-lotus\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"arithmetic\\\":\\\"#836F4A\\\",\\\"function\\\":\\\"#4D699B\\\",\\\"keyword.controlFlow\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#624C83\\\"},\\\"macro\\\":\\\"#C84053\\\",\\\"method\\\":\\\"#6693BF\\\",\\\"operator\\\":\\\"#836F4A\\\",\\\"parameter\\\":\\\"#5D57A3\\\",\\\"parameter.declaration\\\":\\\"#5D57A3\\\",\\\"parameter.definition\\\":\\\"#5D57A3\\\",\\\"variable\\\":\\\"#545464\\\",\\\"variable.readonly\\\":\\\"#545464\\\",\\\"variable.readonly.defaultLibrary\\\":\\\"#545464\\\",\\\"variable.readonly.local\\\":\\\"#545464\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"string constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E82424\\\"}},{\\\"scope\\\":[\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow\\\",\\\"keyword.control.conditional\\\",\\\"keyword.control.loop\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"constant.other.color\\\",\\\"meta.tag\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"keyword.control.trycatch\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\",\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"punctuation\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"meta.brace\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4E8CA2\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call\\\",\\\"variable.function\\\",\\\"support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4D699B\\\"}},{\\\"scope\\\":[\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C84053\\\"}},{\\\"scope\\\":[\\\"meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B35B79\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"entity.other.inherited-class\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"markup.inline.raw.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6F894E\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.type\\\",\\\"support.class\\\",\\\"support.other.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#597B75\\\"}},{\\\"scope\\\":[\\\"entity.name.type.module\\\",\\\"entity.name.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"entity.name.import.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6F894E\\\"}},{\\\"scope\\\":[\\\"keyword.blade\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"keyword.control.import\\\",\\\"keyword.import\\\",\\\"meta.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#597B75\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6E915F\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D7474B\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DE9800\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#836F4A\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B35B79\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D9A594\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4D699B\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B35B79\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6F894E\\\"}},{\\\"scope\\\":[\\\"meta.tag JSXNested\\\",\\\"meta.jsx.children\\\",\\\"text.html\\\",\\\"text.log\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"entity.name.section.markdown\\\",\\\"markup.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4D699B\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#C84053\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#C84053\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#6693BF\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CC6D00\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#77713F\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#624C83\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#716E61\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#4E8CA2\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#545464\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: kanagawa-wave */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#2A2A37\\\",\\\"activityBar.foreground\\\":\\\"#DCD7BA\\\",\\\"activityBarBadge.background\\\":\\\"#658594\\\",\\\"activityBarBadge.foreground\\\":\\\"#DCD7BA\\\",\\\"badge.background\\\":\\\"#2A2A37\\\",\\\"button.background\\\":\\\"#2A2A37\\\",\\\"button.foreground\\\":\\\"#C8C093\\\",\\\"button.secondaryBackground\\\":\\\"#223249\\\",\\\"button.secondaryForeground\\\":\\\"#DCD7BA\\\",\\\"checkbox.border\\\":\\\"#223249\\\",\\\"debugToolBar.background\\\":\\\"#16161D\\\",\\\"descriptionForeground\\\":\\\"#DCD7BA\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#2B332880\\\",\\\"dropdown.background\\\":\\\"#16161D\\\",\\\"dropdown.border\\\":\\\"#16161D\\\",\\\"editor.background\\\":\\\"#1F1F28\\\",\\\"editor.findMatchBackground\\\":\\\"#2D4F67\\\",\\\"editor.findMatchBorder\\\":\\\"#FF9E3B\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#2D4F6780\\\",\\\"editor.foreground\\\":\\\"#DCD7BA\\\",\\\"editor.lineHighlightBackground\\\":\\\"#363646\\\",\\\"editor.selectionBackground\\\":\\\"#223249\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#36364680\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#54546D\\\",\\\"editor.wordHighlightBackground\\\":\\\"#3636464D\\\",\\\"editor.wordHighlightBorder\\\":\\\"#54546D\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#3636464D\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#54546D\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#957FB8\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#FFA066\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#7E9CD8\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#D27E99\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#E6C384\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#7AA89F\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#FF5D62\\\",\\\"editorBracketMatch.background\\\":\\\"#16161D\\\",\\\"editorBracketMatch.border\\\":\\\"#54546D\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#957FB8\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#FFA066\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#7E9CD8\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#D27E99\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#E6C384\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#7AA89F\\\",\\\"editorCursor.background\\\":\\\"#1F1F28\\\",\\\"editorCursor.foreground\\\":\\\"#DCD7BA\\\",\\\"editorError.foreground\\\":\\\"#E82424\\\",\\\"editorGroup.border\\\":\\\"#16161D\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#16161D\\\",\\\"editorGutter.addedBackground\\\":\\\"#76946A\\\",\\\"editorGutter.deletedBackground\\\":\\\"#C34043\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#DCA561\\\",\\\"editorHoverWidget.background\\\":\\\"#1F1F28\\\",\\\"editorHoverWidget.border\\\":\\\"#2A2A37\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#658594\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#363646\\\",\\\"editorIndentGuide.background1\\\":\\\"#2A2A37\\\",\\\"editorInlayHint.background\\\":\\\"#1F1F28\\\",\\\"editorInlayHint.foreground\\\":\\\"#727169\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#FFA066\\\",\\\"editorLineNumber.foreground\\\":\\\"#54546D\\\",\\\"editorMarkerNavigation.background\\\":\\\"#363646\\\",\\\"editorRuler.foreground\\\":\\\"#363646\\\",\\\"editorSuggestWidget.background\\\":\\\"#223249\\\",\\\"editorSuggestWidget.border\\\":\\\"#223249\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#2D4F67\\\",\\\"editorWarning.foreground\\\":\\\"#FF9E3B\\\",\\\"editorWhitespace.foreground\\\":\\\"#1F1F28\\\",\\\"editorWidget.background\\\":\\\"#1F1F28\\\",\\\"focusBorder\\\":\\\"#223249\\\",\\\"foreground\\\":\\\"#DCD7BA\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#727169\\\",\\\"input.background\\\":\\\"#16161D\\\",\\\"list.activeSelectionBackground\\\":\\\"#363646\\\",\\\"list.activeSelectionForeground\\\":\\\"#DCD7BA\\\",\\\"list.focusBackground\\\":\\\"#2A2A37\\\",\\\"list.focusForeground\\\":\\\"#DCD7BA\\\",\\\"list.highlightForeground\\\":\\\"#7E9CD8\\\",\\\"list.hoverBackground\\\":\\\"#363646\\\",\\\"list.hoverForeground\\\":\\\"#DCD7BA\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#2A2A37\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#DCD7BA\\\",\\\"list.warningForeground\\\":\\\"#FF9E3B\\\",\\\"menu.background\\\":\\\"#363646\\\",\\\"menu.border\\\":\\\"#16161D\\\",\\\"menu.foreground\\\":\\\"#DCD7BA\\\",\\\"menu.selectionBackground\\\":\\\"#16161D\\\",\\\"menu.selectionForeground\\\":\\\"#DCD7BA\\\",\\\"menu.separatorBackground\\\":\\\"#54546D\\\",\\\"menubar.selectionBackground\\\":\\\"#16161D\\\",\\\"menubar.selectionForeground\\\":\\\"#DCD7BA\\\",\\\"minimapGutter.addedBackground\\\":\\\"#76946A\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#C34043\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#DCA561\\\",\\\"panel.border\\\":\\\"#16161D\\\",\\\"panelSectionHeader.background\\\":\\\"#1F1F28\\\",\\\"peekView.border\\\":\\\"#54546D\\\",\\\"peekViewEditor.background\\\":\\\"#2A2A37\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#2D4F67\\\",\\\"peekViewResult.background\\\":\\\"#363646\\\",\\\"scrollbar.shadow\\\":\\\"#363646\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#2A2A3780\\\",\\\"scrollbarSlider.background\\\":\\\"#54546D66\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#54546D80\\\",\\\"settings.focusedRowBackground\\\":\\\"#363646\\\",\\\"settings.headerForeground\\\":\\\"#DCD7BA\\\",\\\"sideBar.background\\\":\\\"#1F1F28\\\",\\\"sideBar.border\\\":\\\"#16161D\\\",\\\"sideBar.foreground\\\":\\\"#DCD7BA\\\",\\\"sideBarSectionHeader.background\\\":\\\"#363646\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#DCD7BA\\\",\\\"statusBar.background\\\":\\\"#16161D\\\",\\\"statusBar.debuggingBackground\\\":\\\"#E82424\\\",\\\"statusBar.debuggingBorder\\\":\\\"#957FB8\\\",\\\"statusBar.debuggingForeground\\\":\\\"#DCD7BA\\\",\\\"statusBar.foreground\\\":\\\"#C8C093\\\",\\\"statusBar.noFolderBackground\\\":\\\"#1F1F28\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#363646\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#2D4F67\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#DCD7BA\\\",\\\"tab.activeBackground\\\":\\\"#2A2A37\\\",\\\"tab.activeForeground\\\":\\\"#7E9CD8\\\",\\\"tab.border\\\":\\\"#2A2A37\\\",\\\"tab.hoverBackground\\\":\\\"#363646\\\",\\\"tab.inactiveBackground\\\":\\\"#1A1A22\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#1F1F28\\\",\\\"terminal.ansiBlack\\\":\\\"#16161D\\\",\\\"terminal.ansiBlue\\\":\\\"#7E9CD8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#727169\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7FB4CA\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#7AA89F\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#98BB6C\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#938AA9\\\",\\\"terminal.ansiBrightRed\\\":\\\"#E82424\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#DCD7BA\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#E6C384\\\",\\\"terminal.ansiCyan\\\":\\\"#6A9589\\\",\\\"terminal.ansiGreen\\\":\\\"#76946A\\\",\\\"terminal.ansiMagenta\\\":\\\"#957FB8\\\",\\\"terminal.ansiRed\\\":\\\"#C34043\\\",\\\"terminal.ansiWhite\\\":\\\"#C8C093\\\",\\\"terminal.ansiYellow\\\":\\\"#C0A36E\\\",\\\"terminal.background\\\":\\\"#1F1F28\\\",\\\"terminal.border\\\":\\\"#16161D\\\",\\\"terminal.foreground\\\":\\\"#DCD7BA\\\",\\\"terminal.selectionBackground\\\":\\\"#223249\\\",\\\"textBlockQuote.background\\\":\\\"#1F1F28\\\",\\\"textBlockQuote.border\\\":\\\"#16161D\\\",\\\"textLink.foreground\\\":\\\"#6A9589\\\",\\\"textPreformat.foreground\\\":\\\"#FF9E3B\\\",\\\"titleBar.activeBackground\\\":\\\"#363646\\\",\\\"titleBar.activeForeground\\\":\\\"#DCD7BA\\\",\\\"titleBar.inactiveBackground\\\":\\\"#1F1F28\\\",\\\"titleBar.inactiveForeground\\\":\\\"#DCD7BA\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#1F1F28\\\"},\\\"displayName\\\":\\\"Kanagawa Wave\\\",\\\"name\\\":\\\"kanagawa-wave\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"arithmetic\\\":\\\"#C0A36E\\\",\\\"function\\\":\\\"#7E9CD8\\\",\\\"keyword.controlFlow\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#957FB8\\\"},\\\"macro\\\":\\\"#E46876\\\",\\\"method\\\":\\\"#7FB4CA\\\",\\\"operator\\\":\\\"#C0A36E\\\",\\\"parameter\\\":\\\"#B8B4D0\\\",\\\"parameter.declaration\\\":\\\"#B8B4D0\\\",\\\"parameter.definition\\\":\\\"#B8B4D0\\\",\\\"variable\\\":\\\"#DCD7BA\\\",\\\"variable.readonly\\\":\\\"#DCD7BA\\\",\\\"variable.readonly.defaultLibrary\\\":\\\"#DCD7BA\\\",\\\"variable.readonly.local\\\":\\\"#DCD7BA\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"string constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E82424\\\"}},{\\\"scope\\\":[\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow\\\",\\\"keyword.control.conditional\\\",\\\"keyword.control.loop\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"constant.other.color\\\",\\\"meta.tag\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"keyword.other.definition.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"keyword.control.trycatch\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\",\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"punctuation\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"meta.brace\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9CABCA\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.function-call\\\",\\\"variable.function\\\",\\\"support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7E9CD8\\\"}},{\\\"scope\\\":[\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"entity.name.function.macro\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E46876\\\"}},{\\\"scope\\\":[\\\"meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D27E99\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"punctuation.definition.string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"entity.other.inherited-class\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"markup.inline.raw.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98BB6C\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.type\\\",\\\"support.class\\\",\\\"support.other.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7AA89F\\\"}},{\\\"scope\\\":[\\\"entity.name.type.module\\\",\\\"entity.name.namespace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"entity.name.import.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98BB6C\\\"}},{\\\"scope\\\":[\\\"keyword.blade\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"keyword.control.import\\\",\\\"keyword.import\\\",\\\"meta.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7AA89F\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#76946A\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C34043\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCA561\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C0A36E\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D27E99\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5D62\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7E9CD8\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D27E99\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98BB6C\\\"}},{\\\"scope\\\":[\\\"meta.tag JSXNested\\\",\\\"meta.jsx.children\\\",\\\"text.html\\\",\\\"text.log\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"entity.name.section.markdown\\\",\\\"markup.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7E9CD8\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#E46876\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#E46876\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#7FB4CA\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFA066\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E6C384\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#957FB8\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#727169\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#9CABCA\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCD7BA\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: laserwave */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#EB64B9\\\",\\\"activityBar.background\\\":\\\"#27212e\\\",\\\"activityBar.foreground\\\":\\\"#ddd\\\",\\\"activityBarBadge.background\\\":\\\"#EB64B9\\\",\\\"button.background\\\":\\\"#EB64B9\\\",\\\"diffEditor.border\\\":\\\"#b4dce7\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#74dfc423\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#eb64b940\\\",\\\"editor.background\\\":\\\"#27212e\\\",\\\"editor.findMatchBackground\\\":\\\"#40b4c48c\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#40b4c460\\\",\\\"editor.foreground\\\":\\\"#ffffff\\\",\\\"editor.selectionBackground\\\":\\\"#eb64b927\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#eb64b927\\\",\\\"editor.wordHighlightBackground\\\":\\\"#eb64b927\\\",\\\"editorError.foreground\\\":\\\"#ff3e7b\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#242029\\\",\\\"editorGutter.addedBackground\\\":\\\"#74dfc4\\\",\\\"editorGutter.deletedBackground\\\":\\\"#eb64B9\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#40b4c4\\\",\\\"editorSuggestWidget.border\\\":\\\"#b4dce7\\\",\\\"focusBorder\\\":\\\"#EB64B9\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#EB64B9\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#b381c5\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#92889d\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#74dfc4\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#40b4c4\\\",\\\"input.background\\\":\\\"#3a3242\\\",\\\"input.border\\\":\\\"#964c7b\\\",\\\"inputOption.activeBorder\\\":\\\"#EB64B9\\\",\\\"list.activeSelectionBackground\\\":\\\"#eb64b98f\\\",\\\"list.activeSelectionForeground\\\":\\\"#eee\\\",\\\"list.dropBackground\\\":\\\"#74dfc466\\\",\\\"list.errorForeground\\\":\\\"#ff3e7b\\\",\\\"list.focusBackground\\\":\\\"#eb64ba60\\\",\\\"list.highlightForeground\\\":\\\"#eb64b9\\\",\\\"list.hoverBackground\\\":\\\"#91889b80\\\",\\\"list.hoverForeground\\\":\\\"#eee\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#eb64b98f\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#ddd\\\",\\\"list.invalidItemForeground\\\":\\\"#fff\\\",\\\"menu.background\\\":\\\"#27212e\\\",\\\"merge.currentContentBackground\\\":\\\"#74dfc433\\\",\\\"merge.currentHeaderBackground\\\":\\\"#74dfc4cc\\\",\\\"merge.incomingContentBackground\\\":\\\"#40b4c433\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#40b4c4cc\\\",\\\"notifications.background\\\":\\\"#3e3549\\\",\\\"peekView.border\\\":\\\"#40b4c4\\\",\\\"peekViewEditor.background\\\":\\\"#40b5c449\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#40b5c460\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#27212e\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#40b4c43f\\\",\\\"progressBar.background\\\":\\\"#40b4c4\\\",\\\"sideBar.background\\\":\\\"#27212e\\\",\\\"sideBar.foreground\\\":\\\"#ddd\\\",\\\"sideBarSectionHeader.background\\\":\\\"#27212e\\\",\\\"sideBarTitle.foreground\\\":\\\"#EB64B9\\\",\\\"statusBar.background\\\":\\\"#EB64B9\\\",\\\"statusBar.debuggingBackground\\\":\\\"#74dfc4\\\",\\\"statusBar.foreground\\\":\\\"#27212e\\\",\\\"statusBar.noFolderBackground\\\":\\\"#EB64B9\\\",\\\"tab.activeBorder\\\":\\\"#EB64B9\\\",\\\"tab.inactiveBackground\\\":\\\"#242029\\\",\\\"terminal.ansiBlue\\\":\\\"#40b4c4\\\",\\\"terminal.ansiCyan\\\":\\\"#b4dce7\\\",\\\"terminal.ansiGreen\\\":\\\"#74dfc4\\\",\\\"terminal.ansiMagenta\\\":\\\"#b381c5\\\",\\\"terminal.ansiRed\\\":\\\"#EB64B9\\\",\\\"terminal.ansiYellow\\\":\\\"#ffe261\\\",\\\"titleBar.activeBackground\\\":\\\"#27212e\\\",\\\"titleBar.inactiveBackground\\\":\\\"#27212e\\\",\\\"tree.indentGuidesStroke\\\":\\\"#ffffff33\\\"},\\\"displayName\\\":\\\"LaserWave\\\",\\\"name\\\":\\\"laserwave\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"keyword.other\\\",\\\"keyword.control\\\",\\\"storage.type.class.js\\\",\\\"keyword.control.module.js\\\",\\\"storage.type.extends.js\\\",\\\"variable.language.this.js\\\",\\\"keyword.control.switch.js\\\",\\\"keyword.control.loop.js\\\",\\\"keyword.control.conditional.js\\\",\\\"keyword.control.flow.js\\\",\\\"keyword.operator.accessor.js\\\",\\\"keyword.other.important.css\\\",\\\"keyword.control.at-rule.media.scss\\\",\\\"entity.name.tag.reference.scss\\\",\\\"meta.class.python\\\",\\\"storage.type.function.python\\\",\\\"keyword.control.flow.python\\\",\\\"storage.type.function.js\\\",\\\"keyword.control.export.ts\\\",\\\"keyword.control.flow.ts\\\",\\\"keyword.control.from.ts\\\",\\\"keyword.control.import.ts\\\",\\\"storage.type.class.ts\\\",\\\"keyword.control.loop.ts\\\",\\\"keyword.control.ruby\\\",\\\"keyword.control.module.ruby\\\",\\\"keyword.control.class.ruby\\\",\\\"keyword.other.special-method.ruby\\\",\\\"keyword.control.def.ruby\\\",\\\"markup.heading\\\",\\\"keyword.other.import.java\\\",\\\"keyword.other.package.java\\\",\\\"storage.modifier.java\\\",\\\"storage.modifier.extends.java\\\",\\\"storage.modifier.implements.java\\\",\\\"storage.modifier.cs\\\",\\\"storage.modifier.js\\\",\\\"storage.modifier.dart\\\",\\\"keyword.declaration.dart\\\",\\\"keyword.package.go\\\",\\\"keyword.import.go\\\",\\\"keyword.fsharp\\\",\\\"variable.parameter.function-call.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40b4c4\\\"}},{\\\"scope\\\":[\\\"binding.fsharp\\\",\\\"support.function\\\",\\\"meta.function-call\\\",\\\"entity.name.function\\\",\\\"support.function.misc.scss\\\",\\\"meta.method.declaration.ts\\\",\\\"entity.name.function.method.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EB64B9\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string.quoted\\\",\\\"string.unquoted\\\",\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4dce7\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b381c5\\\"}},{\\\"scope\\\":[\\\"meta.brace\\\",\\\"punctuation\\\",\\\"punctuation.bracket\\\",\\\"punctuation.section\\\",\\\"punctuation.separator\\\",\\\"punctuation.comma.dart\\\",\\\"punctuation.terminator\\\",\\\"punctuation.definition\\\",\\\"punctuation.parenthesis\\\",\\\"meta.delimiter.comma.js\\\",\\\"meta.brace.curly.litobj.js\\\",\\\"punctuation.definition.tag\\\",\\\"puncatuation.other.comma.go\\\",\\\"punctuation.section.embedded\\\",\\\"punctuation.definition.string\\\",\\\"punctuation.definition.tag.jsx\\\",\\\"punctuation.definition.tag.end\\\",\\\"punctuation.definition.markdown\\\",\\\"punctuation.terminator.rule.css\\\",\\\"punctuation.definition.block.ts\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.section.class.end.js\\\",\\\"punctuation.definition.tag.begin\\\",\\\"punctuation.squarebracket.open.cs\\\",\\\"punctuation.separator.dict.python\\\",\\\"punctuation.section.function.scss\\\",\\\"punctuation.section.class.begin.js\\\",\\\"punctuation.section.array.end.ruby\\\",\\\"punctuation.separator.key-value.js\\\",\\\"meta.method-call.with-arguments.js\\\",\\\"punctuation.section.scope.end.ruby\\\",\\\"punctuation.squarebracket.close.cs\\\",\\\"punctuation.separator.key-value.css\\\",\\\"punctuation.definition.constant.css\\\",\\\"punctuation.section.array.begin.ruby\\\",\\\"punctuation.section.scope.begin.ruby\\\",\\\"punctuation.definition.string.end.js\\\",\\\"punctuation.definition.parameters.ruby\\\",\\\"punctuation.definition.string.begin.js\\\",\\\"punctuation.section.class.begin.python\\\",\\\"storage.modifier.array.bracket.square.c\\\",\\\"punctuation.separator.parameters.python\\\",\\\"punctuation.section.group.end.powershell\\\",\\\"punctuation.definition.parameters.end.ts\\\",\\\"punctuation.section.braces.end.powershell\\\",\\\"punctuation.section.function.begin.python\\\",\\\"punctuation.definition.parameters.begin.ts\\\",\\\"punctuation.section.bracket.end.powershell\\\",\\\"punctuation.section.group.begin.powershell\\\",\\\"punctuation.section.braces.begin.powershell\\\",\\\"punctuation.definition.parameters.end.python\\\",\\\"punctuation.definition.typeparameters.end.cs\\\",\\\"punctuation.section.bracket.begin.powershell\\\",\\\"punctuation.definition.arguments.begin.python\\\",\\\"punctuation.definition.parameters.begin.python\\\",\\\"punctuation.definition.typeparameters.begin.cs\\\",\\\"punctuation.section.block.begin.bracket.curly.c\\\",\\\"punctuation.definition.map.begin.bracket.round.scss\\\",\\\"punctuation.section.property-list.end.bracket.curly.css\\\",\\\"punctuation.definition.parameters.end.bracket.round.java\\\",\\\"punctuation.section.property-list.begin.bracket.curly.css\\\",\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7b6995\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"meta.decorator.ts\\\",\\\"entity.name.type.ts\\\",\\\"punctuation.dot.dart\\\",\\\"keyword.symbol.fsharp\\\",\\\"punctuation.accessor.ts\\\",\\\"punctuation.accessor.cs\\\",\\\"keyword.operator.logical\\\",\\\"meta.tag.inline.any.html\\\",\\\"punctuation.separator.java\\\",\\\"keyword.operator.comparison\\\",\\\"keyword.operator.arithmetic\\\",\\\"keyword.operator.assignment\\\",\\\"keyword.operator.ternary.js\\\",\\\"keyword.operator.other.ruby\\\",\\\"keyword.operator.logical.js\\\",\\\"punctuation.other.period.go\\\",\\\"keyword.operator.increment.ts\\\",\\\"keyword.operator.increment.js\\\",\\\"storage.type.function.arrow.js\\\",\\\"storage.type.function.arrow.ts\\\",\\\"keyword.operator.relational.js\\\",\\\"keyword.operator.relational.ts\\\",\\\"keyword.operator.arithmetic.js\\\",\\\"keyword.operator.assignment.js\\\",\\\"storage.type.function.arrow.tsx\\\",\\\"keyword.operator.logical.python\\\",\\\"punctuation.separator.period.java\\\",\\\"punctuation.separator.method.ruby\\\",\\\"keyword.operator.assignment.python\\\",\\\"keyword.operator.arithmetic.python\\\",\\\"keyword.operator.increment-decrement.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#74dfc4\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91889b\\\"}},{\\\"scope\\\":[\\\"meta.tag.sgml\\\",\\\"entity.name.tag\\\",\\\"entity.name.tag.open.jsx\\\",\\\"entity.name.tag.close.jsx\\\",\\\"entity.name.tag.inline.any.html\\\",\\\"entity.name.tag.structure.any.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#74dfc4\\\"}},{\\\"scope\\\":[\\\"variable.other.enummember\\\",\\\"entity.other.attribute-name\\\",\\\"entity.other.attribute-name.jsx\\\",\\\"entity.other.attribute-name.html\\\",\\\"entity.other.attribute-name.id.css\\\",\\\"entity.other.attribute-name.id.html\\\",\\\"entity.other.attribute-name.class.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EB64B9\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\",\\\"variable.parameter.fsharp\\\",\\\"support.variable.property.js\\\",\\\"support.type.property-name.css\\\",\\\"support.type.property-name.json\\\",\\\"support.variable.property.dom.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40b4c4\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"constant.other.elm\\\",\\\"constant.language.c\\\",\\\"variable.language.dart\\\",\\\"variable.language.this\\\",\\\"support.class.builtin.js\\\",\\\"support.constant.json.ts\\\",\\\"support.class.console.ts\\\",\\\"support.class.console.js\\\",\\\"variable.language.this.js\\\",\\\"variable.language.this.ts\\\",\\\"entity.name.section.fsharp\\\",\\\"support.type.object.dom.js\\\",\\\"variable.other.constant.js\\\",\\\"variable.language.self.ruby\\\",\\\"variable.other.constant.ruby\\\",\\\"support.type.object.console.js\\\",\\\"constant.language.undefined.js\\\",\\\"support.function.builtin.python\\\",\\\"constant.language.boolean.true.js\\\",\\\"constant.language.boolean.false.js\\\",\\\"variable.language.special.self.python\\\",\\\"support.constant.automatic.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffe261\\\"}},{\\\"scope\\\":[\\\"variable.other\\\",\\\"variable.scss\\\",\\\"meta.function-call.c\\\",\\\"variable.parameter.ts\\\",\\\"variable.parameter.dart\\\",\\\"variable.other.class.js\\\",\\\"variable.other.object.js\\\",\\\"variable.other.object.ts\\\",\\\"support.function.json.ts\\\",\\\"variable.name.source.dart\\\",\\\"variable.other.source.dart\\\",\\\"variable.other.readwrite.js\\\",\\\"variable.other.readwrite.ts\\\",\\\"support.function.console.ts\\\",\\\"entity.name.type.instance.js\\\",\\\"meta.function-call.arguments\\\",\\\"variable.other.property.dom.ts\\\",\\\"support.variable.property.dom.ts\\\",\\\"variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fff\\\"}},{\\\"scope\\\":[\\\"storage.type.annotation\\\",\\\"punctuation.definition.annotation\\\",\\\"support.function.attribute.fsharp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#74dfc4\\\"}},{\\\"scope\\\":[\\\"entity.name.type\\\",\\\"storage.type\\\",\\\"keyword.var.go\\\",\\\"keyword.type.go\\\",\\\"keyword.type.js\\\",\\\"storage.type.js\\\",\\\"storage.type.ts\\\",\\\"keyword.type.cs\\\",\\\"keyword.const.go\\\",\\\"keyword.struct.go\\\",\\\"support.class.dart\\\",\\\"storage.modifier.c\\\",\\\"storage.modifier.ts\\\",\\\"keyword.function.go\\\",\\\"keyword.operator.new.ts\\\",\\\"meta.type.annotation.ts\\\",\\\"entity.name.type.fsharp\\\",\\\"meta.type.annotation.tsx\\\",\\\"storage.modifier.async.js\\\",\\\"punctuation.definition.variable.ruby\\\",\\\"punctuation.definition.constant.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a96bc0\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.italic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EB64B9\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key.js\\\",\\\"constant.other.object.key.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40b4c4\\\"}},{\\\"scope\\\":[],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb85b\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#40b4c4\\\"}},{\\\"scope\\\":[\\\"meta.diff.range.unified\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b381c5\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"punctuation.definition.deleted.diff\\\",\\\"punctuation.definition.from-file.diff\\\",\\\"meta.diff.header.from-file\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eb64b9\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"punctuation.definition.inserted.diff\\\",\\\"punctuation.definition.to-file.diff\\\",\\\"meta.diff.header.to-file\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#74dfc4\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: light-plus */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"actionBar.toggledBackground\\\":\\\"#dddddd\\\",\\\"activityBarBadge.background\\\":\\\"#007ACC\\\",\\\"checkbox.border\\\":\\\"#919191\\\",\\\"diffEditor.unchangedRegionBackground\\\":\\\"#f8f8f8\\\",\\\"editor.background\\\":\\\"#FFFFFF\\\",\\\"editor.foreground\\\":\\\"#000000\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#E5EBF1\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#ADD6FF80\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#939393\\\",\\\"editorIndentGuide.background1\\\":\\\"#D3D3D3\\\",\\\"editorSuggestWidget.background\\\":\\\"#F3F3F3\\\",\\\"input.placeholderForeground\\\":\\\"#767676\\\",\\\"list.activeSelectionIconForeground\\\":\\\"#FFF\\\",\\\"list.focusAndSelectionOutline\\\":\\\"#90C2F9\\\",\\\"list.hoverBackground\\\":\\\"#E8E8E8\\\",\\\"menu.border\\\":\\\"#D4D4D4\\\",\\\"notebook.cellBorderColor\\\":\\\"#E8E8E8\\\",\\\"notebook.selectedCellBackground\\\":\\\"#c8ddf150\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#369432\\\",\\\"searchEditor.textInputBorder\\\":\\\"#CECECE\\\",\\\"settings.numberInputBorder\\\":\\\"#CECECE\\\",\\\"settings.textInputBorder\\\":\\\"#CECECE\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.border\\\":\\\"#61616130\\\",\\\"sideBarTitle.foreground\\\":\\\"#6F6F6F\\\",\\\"statusBarItem.errorBackground\\\":\\\"#c72e0f\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#16825D\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#FFF\\\",\\\"tab.lastPinnedBorder\\\":\\\"#61616130\\\",\\\"tab.selectedBackground\\\":\\\"#ffffffa5\\\",\\\"tab.selectedForeground\\\":\\\"#333333b3\\\",\\\"terminal.inactiveSelectionBackground\\\":\\\"#E5EBF1\\\",\\\"widget.border\\\":\\\"#d4d4d4\\\"},\\\"displayName\\\":\\\"Light Plus\\\",\\\"name\\\":\\\"light-plus\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"customLiteral\\\":\\\"#795E26\\\",\\\"newOperator\\\":\\\"#AF00DB\\\",\\\"numberLiteral\\\":\\\"#098658\\\",\\\"stringLiteral\\\":\\\"#a31515\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#000000ff\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#000080\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#008000\\\"}},{\\\"scope\\\":\\\"constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"variable.other.enummember\\\",\\\"keyword.operator.plus.exponent\\\",\\\"keyword.operator.minus.exponent\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#098658\\\"}},{\\\"scope\\\":\\\"constant.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#811f3f\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#800000\\\"}},{\\\"scope\\\":\\\"entity.name.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#800000\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e50000\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class.css\\\",\\\"source.css entity.other.attribute-name.class\\\",\\\"entity.other.attribute-name.id.css\\\",\\\"entity.other.attribute-name.parent-selector.css\\\",\\\"entity.other.attribute-name.parent.less\\\",\\\"source.css entity.other.attribute-name.pseudo-class\\\",\\\"entity.other.attribute-name.pseudo-element.css\\\",\\\"source.css.less entity.other.attribute-name.id\\\",\\\"entity.other.attribute-name.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#800000\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cd3131\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#000080\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#800000\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#098658\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a31515\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0451a5\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote.begin.markdown\\\",\\\"punctuation.definition.list.begin.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0451a5\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#800000\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#800000\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor\\\",\\\"entity.name.function.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a31515\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#098658\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.key.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0451a5\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":[\\\"storage.modifier\\\",\\\"keyword.operator.noexcept\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"meta.embedded.assembly\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a31515\\\"}},{\\\"scope\\\":[\\\"string.comment.buffered.block.pug\\\",\\\"string.quoted.pug\\\",\\\"string.interpolated.pug\\\",\\\"string.unquoted.plain.in.yaml\\\",\\\"string.unquoted.plain.out.yaml\\\",\\\"string.unquoted.block.yaml\\\",\\\"string.quoted.single.yaml\\\",\\\"string.quoted.double.xml\\\",\\\"string.quoted.single.xml\\\",\\\"string.unquoted.cdata.xml\\\",\\\"string.quoted.double.html\\\",\\\"string.quoted.single.html\\\",\\\"string.unquoted.html\\\",\\\"string.quoted.single.handlebars\\\",\\\"string.quoted.double.handlebars\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#811f3f\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#000000\\\"}},{\\\"scope\\\":[\\\"support.constant.property-value\\\",\\\"support.constant.font-name\\\",\\\"support.constant.media-type\\\",\\\"support.constant.media\\\",\\\"constant.other.color.rgb-value\\\",\\\"constant.other.rgb-value\\\",\\\"support.constant.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0451a5\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\",\\\"support.type.property-name\\\",\\\"source.css variable\\\",\\\"source.coffee.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e50000\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0451a5\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#000000\\\"}},{\\\"scope\\\":[\\\"keyword.operator.new\\\",\\\"keyword.operator.expression\\\",\\\"keyword.operator.cast\\\",\\\"keyword.operator.sizeof\\\",\\\"keyword.operator.alignof\\\",\\\"keyword.operator.typeid\\\",\\\"keyword.operator.alignas\\\",\\\"keyword.operator.instanceof\\\",\\\"keyword.operator.logical.python\\\",\\\"keyword.operator.wordlike\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#098658\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.end.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#800000\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0451a5\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#098658\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"variable.language.wildcard.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#000000\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"support.function\\\",\\\"support.constant.handlebars\\\",\\\"source.powershell variable.other.member\\\",\\\"entity.name.operator.custom-literal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#795E26\\\"}},{\\\"scope\\\":[\\\"support.class\\\",\\\"support.type\\\",\\\"entity.name.type\\\",\\\"entity.name.namespace\\\",\\\"entity.other.attribute\\\",\\\"entity.name.scope-resolution\\\",\\\"entity.name.class\\\",\\\"storage.type.numeric.go\\\",\\\"storage.type.byte.go\\\",\\\"storage.type.boolean.go\\\",\\\"storage.type.string.go\\\",\\\"storage.type.uintptr.go\\\",\\\"storage.type.error.go\\\",\\\"storage.type.rune.go\\\",\\\"storage.type.cs\\\",\\\"storage.type.generic.cs\\\",\\\"storage.type.modifier.cs\\\",\\\"storage.type.variable.cs\\\",\\\"storage.type.annotation.java\\\",\\\"storage.type.generic.java\\\",\\\"storage.type.java\\\",\\\"storage.type.object.array.java\\\",\\\"storage.type.primitive.array.java\\\",\\\"storage.type.primitive.java\\\",\\\"storage.type.token.java\\\",\\\"storage.type.groovy\\\",\\\"storage.type.annotation.groovy\\\",\\\"storage.type.parameters.groovy\\\",\\\"storage.type.generic.groovy\\\",\\\"storage.type.object.array.groovy\\\",\\\"storage.type.primitive.array.groovy\\\",\\\"storage.type.primitive.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#267f99\\\"}},{\\\"scope\\\":[\\\"meta.type.cast.expr\\\",\\\"meta.type.new.expr\\\",\\\"support.constant.math\\\",\\\"support.constant.dom\\\",\\\"support.constant.json\\\",\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#267f99\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"source.cpp keyword.operator.new\\\",\\\"source.cpp keyword.operator.delete\\\",\\\"keyword.other.using\\\",\\\"keyword.other.directive.using\\\",\\\"keyword.other.operator\\\",\\\"entity.name.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#AF00DB\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"meta.definition.variable.name\\\",\\\"support.variable\\\",\\\"entity.name.variable\\\",\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#001080\\\"}},{\\\"scope\\\":[\\\"variable.other.constant\\\",\\\"variable.other.enummember\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0070C1\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#001080\\\"}},{\\\"scope\\\":[\\\"support.constant.property-value\\\",\\\"support.constant.font-name\\\",\\\"support.constant.media-type\\\",\\\"support.constant.media\\\",\\\"constant.other.color.rgb-value\\\",\\\"constant.other.rgb-value\\\",\\\"support.constant.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0451a5\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"punctuation.definition.group.assertion.regexp\\\",\\\"punctuation.definition.character-class.regexp\\\",\\\"punctuation.character.set.begin.regexp\\\",\\\"punctuation.character.set.end.regexp\\\",\\\"keyword.operator.negation.regexp\\\",\\\"support.other.parenthesis.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d16969\\\"}},{\\\"scope\\\":[\\\"constant.character.character-class.regexp\\\",\\\"constant.other.character-class.set.regexp\\\",\\\"constant.other.character-class.regexp\\\",\\\"constant.character.set.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#811f3f\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#000000\\\"}},{\\\"scope\\\":[\\\"keyword.operator.or.regexp\\\",\\\"keyword.control.anchor.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EE0000\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other.option\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0000ff\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EE0000\\\"}},{\\\"scope\\\":\\\"entity.name.label\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#000000\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: material-theme */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#80CBC4\\\",\\\"activityBar.background\\\":\\\"#263238\\\",\\\"activityBar.border\\\":\\\"#26323860\\\",\\\"activityBar.dropBackground\\\":\\\"#f0717880\\\",\\\"activityBar.foreground\\\":\\\"#EEFFFF\\\",\\\"activityBarBadge.background\\\":\\\"#80CBC4\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#00000030\\\",\\\"badge.foreground\\\":\\\"#546E7A\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"breadcrumb.background\\\":\\\"#263238\\\",\\\"breadcrumb.focusForeground\\\":\\\"#EEFFFF\\\",\\\"breadcrumb.foreground\\\":\\\"#6c8692\\\",\\\"breadcrumbPicker.background\\\":\\\"#263238\\\",\\\"button.background\\\":\\\"#80CBC420\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"debugConsole.errorForeground\\\":\\\"#f07178\\\",\\\"debugConsole.infoForeground\\\":\\\"#89DDFF\\\",\\\"debugConsole.warningForeground\\\":\\\"#FFCB6B\\\",\\\"debugToolBar.background\\\":\\\"#263238\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#89DDFF20\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff9cac20\\\",\\\"dropdown.background\\\":\\\"#263238\\\",\\\"dropdown.border\\\":\\\"#FFFFFF10\\\",\\\"editor.background\\\":\\\"#263238\\\",\\\"editor.findMatchBackground\\\":\\\"#000000\\\",\\\"editor.findMatchBorder\\\":\\\"#80CBC4\\\",\\\"editor.findMatchHighlight\\\":\\\"#EEFFFF\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#ffffff30\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#FFCB6B30\\\",\\\"editor.foreground\\\":\\\"#EEFFFF\\\",\\\"editor.lineHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#FFFFFF0d\\\",\\\"editor.selectionBackground\\\":\\\"#80CBC420\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#FFCC0020\\\",\\\"editor.wordHighlightBackground\\\":\\\"#ff9cac30\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#C3E88D30\\\",\\\"editorBracketMatch.background\\\":\\\"#263238\\\",\\\"editorBracketMatch.border\\\":\\\"#FFCC0050\\\",\\\"editorCursor.foreground\\\":\\\"#FFCC00\\\",\\\"editorError.foreground\\\":\\\"#f0717870\\\",\\\"editorGroup.border\\\":\\\"#00000030\\\",\\\"editorGroup.dropBackground\\\":\\\"#f0717880\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#f07178\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#263238\\\",\\\"editorGutter.addedBackground\\\":\\\"#C3E88D60\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f0717860\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#82AAFF60\\\",\\\"editorHoverWidget.background\\\":\\\"#263238\\\",\\\"editorHoverWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#37474F\\\",\\\"editorIndentGuide.background\\\":\\\"#37474F70\\\",\\\"editorInfo.foreground\\\":\\\"#82AAFF70\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#6c8692\\\",\\\"editorLineNumber.foreground\\\":\\\"#465A64\\\",\\\"editorLink.activeForeground\\\":\\\"#EEFFFF\\\",\\\"editorMarkerNavigation.background\\\":\\\"#EEFFFF05\\\",\\\"editorOverviewRuler.border\\\":\\\"#263238\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#f0717840\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#80CBC4\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#82AAFF40\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#FFCB6B40\\\",\\\"editorRuler.foreground\\\":\\\"#37474F\\\",\\\"editorSuggestWidget.background\\\":\\\"#263238\\\",\\\"editorSuggestWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#EEFFFF\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#80CBC4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#00000050\\\",\\\"editorWarning.foreground\\\":\\\"#FFCB6B70\\\",\\\"editorWhitespace.foreground\\\":\\\"#EEFFFF40\\\",\\\"editorWidget.background\\\":\\\"#263238\\\",\\\"editorWidget.border\\\":\\\"#80CBC4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#80CBC4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#EEFFFF\\\",\\\"extensionButton.prominentBackground\\\":\\\"#C3E88D90\\\",\\\"extensionButton.prominentForeground\\\":\\\"#EEFFFF\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#C3E88D\\\",\\\"focusBorder\\\":\\\"#FFFFFF00\\\",\\\"foreground\\\":\\\"#EEFFFF\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFCB6B90\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f0717890\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6c869290\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#82AAFF90\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#C3E88D90\\\",\\\"input.background\\\":\\\"#303C41\\\",\\\"input.border\\\":\\\"#FFFFFF10\\\",\\\"input.foreground\\\":\\\"#EEFFFF\\\",\\\"input.placeholderForeground\\\":\\\"#EEFFFF60\\\",\\\"inputOption.activeBackground\\\":\\\"#EEFFFF30\\\",\\\"inputOption.activeBorder\\\":\\\"#EEFFFF30\\\",\\\"inputValidation.errorBorder\\\":\\\"#f07178\\\",\\\"inputValidation.infoBorder\\\":\\\"#82AAFF\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFCB6B\\\",\\\"list.activeSelectionBackground\\\":\\\"#263238\\\",\\\"list.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"list.dropBackground\\\":\\\"#f0717880\\\",\\\"list.focusBackground\\\":\\\"#EEFFFF20\\\",\\\"list.focusForeground\\\":\\\"#EEFFFF\\\",\\\"list.highlightForeground\\\":\\\"#80CBC4\\\",\\\"list.hoverBackground\\\":\\\"#263238\\\",\\\"list.hoverForeground\\\":\\\"#FFFFFF\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#00000030\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#80CBC4\\\",\\\"listFilterWidget.background\\\":\\\"#00000030\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#00000030\\\",\\\"listFilterWidget.outline\\\":\\\"#00000030\\\",\\\"menu.background\\\":\\\"#263238\\\",\\\"menu.foreground\\\":\\\"#EEFFFF\\\",\\\"menu.selectionBackground\\\":\\\"#00000050\\\",\\\"menu.selectionBorder\\\":\\\"#00000030\\\",\\\"menu.selectionForeground\\\":\\\"#80CBC4\\\",\\\"menu.separatorBackground\\\":\\\"#EEFFFF\\\",\\\"menubar.selectionBackground\\\":\\\"#00000030\\\",\\\"menubar.selectionBorder\\\":\\\"#00000030\\\",\\\"menubar.selectionForeground\\\":\\\"#80CBC4\\\",\\\"notebook.focusedCellBorder\\\":\\\"#80CBC4\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#80CBC450\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notifications.background\\\":\\\"#263238\\\",\\\"notifications.foreground\\\":\\\"#EEFFFF\\\",\\\"panel.background\\\":\\\"#263238\\\",\\\"panel.border\\\":\\\"#26323860\\\",\\\"panel.dropBackground\\\":\\\"#EEFFFF\\\",\\\"panelTitle.activeBorder\\\":\\\"#80CBC4\\\",\\\"panelTitle.activeForeground\\\":\\\"#FFFFFF\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#EEFFFF\\\",\\\"peekView.border\\\":\\\"#00000030\\\",\\\"peekViewEditor.background\\\":\\\"#303C41\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#80CBC420\\\",\\\"peekViewEditorGutter.background\\\":\\\"#303C41\\\",\\\"peekViewResult.background\\\":\\\"#303C41\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#80CBC420\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#6c869270\\\",\\\"peekViewTitle.background\\\":\\\"#303C41\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#EEFFFF60\\\",\\\"pickerGroup.border\\\":\\\"#FFFFFF1a\\\",\\\"pickerGroup.foreground\\\":\\\"#80CBC4\\\",\\\"progressBar.background\\\":\\\"#80CBC4\\\",\\\"quickInput.background\\\":\\\"#263238\\\",\\\"quickInput.foreground\\\":\\\"#6c8692\\\",\\\"quickInput.list.focusBackground\\\":\\\"#EEFFFF20\\\",\\\"sash.hoverBorder\\\":\\\"#80CBC450\\\",\\\"scrollbar.shadow\\\":\\\"#00000030\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#80CBC4\\\",\\\"scrollbarSlider.background\\\":\\\"#EEFFFF20\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#EEFFFF10\\\",\\\"selection.background\\\":\\\"#00000080\\\",\\\"settings.checkboxBackground\\\":\\\"#263238\\\",\\\"settings.checkboxForeground\\\":\\\"#EEFFFF\\\",\\\"settings.dropdownBackground\\\":\\\"#263238\\\",\\\"settings.dropdownForeground\\\":\\\"#EEFFFF\\\",\\\"settings.headerForeground\\\":\\\"#80CBC4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#80CBC4\\\",\\\"settings.numberInputBackground\\\":\\\"#263238\\\",\\\"settings.numberInputForeground\\\":\\\"#EEFFFF\\\",\\\"settings.textInputBackground\\\":\\\"#263238\\\",\\\"settings.textInputForeground\\\":\\\"#EEFFFF\\\",\\\"sideBar.background\\\":\\\"#263238\\\",\\\"sideBar.border\\\":\\\"#26323860\\\",\\\"sideBar.foreground\\\":\\\"#6c8692\\\",\\\"sideBarSectionHeader.background\\\":\\\"#263238\\\",\\\"sideBarSectionHeader.border\\\":\\\"#26323860\\\",\\\"sideBarTitle.foreground\\\":\\\"#EEFFFF\\\",\\\"statusBar.background\\\":\\\"#263238\\\",\\\"statusBar.border\\\":\\\"#26323860\\\",\\\"statusBar.debuggingBackground\\\":\\\"#C792EA\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#546E7A\\\",\\\"statusBar.noFolderBackground\\\":\\\"#263238\\\",\\\"statusBarItem.activeBackground\\\":\\\"#f0717880\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#546E7A20\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#80CBC4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000000\\\",\\\"tab.activeBackground\\\":\\\"#263238\\\",\\\"tab.activeBorder\\\":\\\"#80CBC4\\\",\\\"tab.activeForeground\\\":\\\"#FFFFFF\\\",\\\"tab.activeModifiedBorder\\\":\\\"#6c8692\\\",\\\"tab.border\\\":\\\"#263238\\\",\\\"tab.inactiveBackground\\\":\\\"#263238\\\",\\\"tab.inactiveForeground\\\":\\\"#6c8692\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#904348\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#546E7A\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#EEFFFF\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#c05a60\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#904348\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#546E7A\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFCB6B\\\",\\\"terminal.ansiCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiRed\\\":\\\"#f07178\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#FFCB6B\\\",\\\"terminalCursor.background\\\":\\\"#000000\\\",\\\"terminalCursor.foreground\\\":\\\"#FFCB6B\\\",\\\"textLink.activeForeground\\\":\\\"#EEFFFF\\\",\\\"textLink.foreground\\\":\\\"#80CBC4\\\",\\\"titleBar.activeBackground\\\":\\\"#263238\\\",\\\"titleBar.activeForeground\\\":\\\"#EEFFFF\\\",\\\"titleBar.border\\\":\\\"#26323860\\\",\\\"titleBar.inactiveBackground\\\":\\\"#263238\\\",\\\"titleBar.inactiveForeground\\\":\\\"#6c8692\\\",\\\"tree.indentGuidesStroke\\\":\\\"#37474F\\\",\\\"widget.shadow\\\":\\\"#00000030\\\"},\\\"displayName\\\":\\\"Material Theme\\\",\\\"name\\\":\\\"material-theme\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#263238\\\",\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"punctuation, constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"constant.character.escape, text.html constant.character.entity.named\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"keyword.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"keyword, modifier, variable.language.this, support.type.object, constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"storage.type, storage.modifier, storage.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"support.module, support.node\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"support.type, constant.other.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.other.inherited-class, entity.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#546E7A\\\"}},{\\\"scope\\\":\\\"comment punctuation.definition.comment, string.quoted.docstring\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#546E7A\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name, entity.name.type.class, support.type, support.class, meta.use\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"variable.object.property, meta.field.declaration entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.definition.method entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.function entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"meta.embedded, source.groovy.embedded, meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"source.css entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"meta.tag, punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"text.html.markdown meta.link.inline, meta.link.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"source.cs meta.class.identifier storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.identifier entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.cs meta.method-call meta.method, source.cs entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.cs storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.return-type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#546E7A\\\"}},{\\\"scope\\\":\\\"source.cs entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"meta.jsx.children, SXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"support.class.component\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"source.python meta.member.access.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.python, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"meta.block\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.function.call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.php support.other.namespace, source.php meta.use support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"constant.keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#263238\\\",\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"constant.character.format.placeholder.other.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF90\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#916b53\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: material-theme-darker */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#80CBC4\\\",\\\"activityBar.background\\\":\\\"#212121\\\",\\\"activityBar.border\\\":\\\"#21212160\\\",\\\"activityBar.dropBackground\\\":\\\"#f0717880\\\",\\\"activityBar.foreground\\\":\\\"#EEFFFF\\\",\\\"activityBarBadge.background\\\":\\\"#80CBC4\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#00000030\\\",\\\"badge.foreground\\\":\\\"#545454\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"breadcrumb.background\\\":\\\"#212121\\\",\\\"breadcrumb.focusForeground\\\":\\\"#EEFFFF\\\",\\\"breadcrumb.foreground\\\":\\\"#676767\\\",\\\"breadcrumbPicker.background\\\":\\\"#212121\\\",\\\"button.background\\\":\\\"#61616150\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"debugConsole.errorForeground\\\":\\\"#f07178\\\",\\\"debugConsole.infoForeground\\\":\\\"#89DDFF\\\",\\\"debugConsole.warningForeground\\\":\\\"#FFCB6B\\\",\\\"debugToolBar.background\\\":\\\"#212121\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#89DDFF20\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff9cac20\\\",\\\"dropdown.background\\\":\\\"#212121\\\",\\\"dropdown.border\\\":\\\"#FFFFFF10\\\",\\\"editor.background\\\":\\\"#212121\\\",\\\"editor.findMatchBackground\\\":\\\"#000000\\\",\\\"editor.findMatchBorder\\\":\\\"#80CBC4\\\",\\\"editor.findMatchHighlight\\\":\\\"#EEFFFF\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#ffffff30\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#FFCB6B30\\\",\\\"editor.foreground\\\":\\\"#EEFFFF\\\",\\\"editor.lineHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#FFFFFF0d\\\",\\\"editor.selectionBackground\\\":\\\"#61616150\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#FFCC0020\\\",\\\"editor.wordHighlightBackground\\\":\\\"#ff9cac30\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#C3E88D30\\\",\\\"editorBracketMatch.background\\\":\\\"#212121\\\",\\\"editorBracketMatch.border\\\":\\\"#FFCC0050\\\",\\\"editorCursor.foreground\\\":\\\"#FFCC00\\\",\\\"editorError.foreground\\\":\\\"#f0717870\\\",\\\"editorGroup.border\\\":\\\"#00000030\\\",\\\"editorGroup.dropBackground\\\":\\\"#f0717880\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#f07178\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#212121\\\",\\\"editorGutter.addedBackground\\\":\\\"#C3E88D60\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f0717860\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#82AAFF60\\\",\\\"editorHoverWidget.background\\\":\\\"#212121\\\",\\\"editorHoverWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#424242\\\",\\\"editorIndentGuide.background\\\":\\\"#42424270\\\",\\\"editorInfo.foreground\\\":\\\"#82AAFF70\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#676767\\\",\\\"editorLineNumber.foreground\\\":\\\"#424242\\\",\\\"editorLink.activeForeground\\\":\\\"#EEFFFF\\\",\\\"editorMarkerNavigation.background\\\":\\\"#EEFFFF05\\\",\\\"editorOverviewRuler.border\\\":\\\"#212121\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#f0717840\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#80CBC4\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#82AAFF40\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#FFCB6B40\\\",\\\"editorRuler.foreground\\\":\\\"#424242\\\",\\\"editorSuggestWidget.background\\\":\\\"#212121\\\",\\\"editorSuggestWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#EEFFFF\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#80CBC4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#00000050\\\",\\\"editorWarning.foreground\\\":\\\"#FFCB6B70\\\",\\\"editorWhitespace.foreground\\\":\\\"#EEFFFF40\\\",\\\"editorWidget.background\\\":\\\"#212121\\\",\\\"editorWidget.border\\\":\\\"#80CBC4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#80CBC4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#EEFFFF\\\",\\\"extensionButton.prominentBackground\\\":\\\"#C3E88D90\\\",\\\"extensionButton.prominentForeground\\\":\\\"#EEFFFF\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#C3E88D\\\",\\\"focusBorder\\\":\\\"#FFFFFF00\\\",\\\"foreground\\\":\\\"#EEFFFF\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFCB6B90\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f0717890\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#67676790\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#82AAFF90\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#C3E88D90\\\",\\\"input.background\\\":\\\"#2B2B2B\\\",\\\"input.border\\\":\\\"#FFFFFF10\\\",\\\"input.foreground\\\":\\\"#EEFFFF\\\",\\\"input.placeholderForeground\\\":\\\"#EEFFFF60\\\",\\\"inputOption.activeBackground\\\":\\\"#EEFFFF30\\\",\\\"inputOption.activeBorder\\\":\\\"#EEFFFF30\\\",\\\"inputValidation.errorBorder\\\":\\\"#f07178\\\",\\\"inputValidation.infoBorder\\\":\\\"#82AAFF\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFCB6B\\\",\\\"list.activeSelectionBackground\\\":\\\"#212121\\\",\\\"list.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"list.dropBackground\\\":\\\"#f0717880\\\",\\\"list.focusBackground\\\":\\\"#EEFFFF20\\\",\\\"list.focusForeground\\\":\\\"#EEFFFF\\\",\\\"list.highlightForeground\\\":\\\"#80CBC4\\\",\\\"list.hoverBackground\\\":\\\"#212121\\\",\\\"list.hoverForeground\\\":\\\"#FFFFFF\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#00000030\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#80CBC4\\\",\\\"listFilterWidget.background\\\":\\\"#00000030\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#00000030\\\",\\\"listFilterWidget.outline\\\":\\\"#00000030\\\",\\\"menu.background\\\":\\\"#212121\\\",\\\"menu.foreground\\\":\\\"#EEFFFF\\\",\\\"menu.selectionBackground\\\":\\\"#00000050\\\",\\\"menu.selectionBorder\\\":\\\"#00000030\\\",\\\"menu.selectionForeground\\\":\\\"#80CBC4\\\",\\\"menu.separatorBackground\\\":\\\"#EEFFFF\\\",\\\"menubar.selectionBackground\\\":\\\"#00000030\\\",\\\"menubar.selectionBorder\\\":\\\"#00000030\\\",\\\"menubar.selectionForeground\\\":\\\"#80CBC4\\\",\\\"notebook.focusedCellBorder\\\":\\\"#80CBC4\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#80CBC450\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notifications.background\\\":\\\"#212121\\\",\\\"notifications.foreground\\\":\\\"#EEFFFF\\\",\\\"panel.background\\\":\\\"#212121\\\",\\\"panel.border\\\":\\\"#21212160\\\",\\\"panel.dropBackground\\\":\\\"#EEFFFF\\\",\\\"panelTitle.activeBorder\\\":\\\"#80CBC4\\\",\\\"panelTitle.activeForeground\\\":\\\"#FFFFFF\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#EEFFFF\\\",\\\"peekView.border\\\":\\\"#00000030\\\",\\\"peekViewEditor.background\\\":\\\"#2B2B2B\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#61616150\\\",\\\"peekViewEditorGutter.background\\\":\\\"#2B2B2B\\\",\\\"peekViewResult.background\\\":\\\"#2B2B2B\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#61616150\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#67676770\\\",\\\"peekViewTitle.background\\\":\\\"#2B2B2B\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#EEFFFF60\\\",\\\"pickerGroup.border\\\":\\\"#FFFFFF1a\\\",\\\"pickerGroup.foreground\\\":\\\"#80CBC4\\\",\\\"progressBar.background\\\":\\\"#80CBC4\\\",\\\"quickInput.background\\\":\\\"#212121\\\",\\\"quickInput.foreground\\\":\\\"#676767\\\",\\\"quickInput.list.focusBackground\\\":\\\"#EEFFFF20\\\",\\\"sash.hoverBorder\\\":\\\"#80CBC450\\\",\\\"scrollbar.shadow\\\":\\\"#00000030\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#80CBC4\\\",\\\"scrollbarSlider.background\\\":\\\"#EEFFFF20\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#EEFFFF10\\\",\\\"selection.background\\\":\\\"#00000080\\\",\\\"settings.checkboxBackground\\\":\\\"#212121\\\",\\\"settings.checkboxForeground\\\":\\\"#EEFFFF\\\",\\\"settings.dropdownBackground\\\":\\\"#212121\\\",\\\"settings.dropdownForeground\\\":\\\"#EEFFFF\\\",\\\"settings.headerForeground\\\":\\\"#80CBC4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#80CBC4\\\",\\\"settings.numberInputBackground\\\":\\\"#212121\\\",\\\"settings.numberInputForeground\\\":\\\"#EEFFFF\\\",\\\"settings.textInputBackground\\\":\\\"#212121\\\",\\\"settings.textInputForeground\\\":\\\"#EEFFFF\\\",\\\"sideBar.background\\\":\\\"#212121\\\",\\\"sideBar.border\\\":\\\"#21212160\\\",\\\"sideBar.foreground\\\":\\\"#676767\\\",\\\"sideBarSectionHeader.background\\\":\\\"#212121\\\",\\\"sideBarSectionHeader.border\\\":\\\"#21212160\\\",\\\"sideBarTitle.foreground\\\":\\\"#EEFFFF\\\",\\\"statusBar.background\\\":\\\"#212121\\\",\\\"statusBar.border\\\":\\\"#21212160\\\",\\\"statusBar.debuggingBackground\\\":\\\"#C792EA\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#616161\\\",\\\"statusBar.noFolderBackground\\\":\\\"#212121\\\",\\\"statusBarItem.activeBackground\\\":\\\"#f0717880\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#54545420\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#80CBC4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000000\\\",\\\"tab.activeBackground\\\":\\\"#212121\\\",\\\"tab.activeBorder\\\":\\\"#80CBC4\\\",\\\"tab.activeForeground\\\":\\\"#FFFFFF\\\",\\\"tab.activeModifiedBorder\\\":\\\"#676767\\\",\\\"tab.border\\\":\\\"#212121\\\",\\\"tab.inactiveBackground\\\":\\\"#212121\\\",\\\"tab.inactiveForeground\\\":\\\"#676767\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#904348\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#545454\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#EEFFFF\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#c05a60\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#904348\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#545454\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFCB6B\\\",\\\"terminal.ansiCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiRed\\\":\\\"#f07178\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#FFCB6B\\\",\\\"terminalCursor.background\\\":\\\"#000000\\\",\\\"terminalCursor.foreground\\\":\\\"#FFCB6B\\\",\\\"textLink.activeForeground\\\":\\\"#EEFFFF\\\",\\\"textLink.foreground\\\":\\\"#80CBC4\\\",\\\"titleBar.activeBackground\\\":\\\"#212121\\\",\\\"titleBar.activeForeground\\\":\\\"#EEFFFF\\\",\\\"titleBar.border\\\":\\\"#21212160\\\",\\\"titleBar.inactiveBackground\\\":\\\"#212121\\\",\\\"titleBar.inactiveForeground\\\":\\\"#676767\\\",\\\"tree.indentGuidesStroke\\\":\\\"#424242\\\",\\\"widget.shadow\\\":\\\"#00000030\\\"},\\\"displayName\\\":\\\"Material Theme Darker\\\",\\\"name\\\":\\\"material-theme-darker\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#212121\\\",\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"punctuation, constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"constant.character.escape, text.html constant.character.entity.named\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"keyword.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"keyword, modifier, variable.language.this, support.type.object, constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"storage.type, storage.modifier, storage.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"support.module, support.node\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"support.type, constant.other.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.other.inherited-class, entity.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#545454\\\"}},{\\\"scope\\\":\\\"comment punctuation.definition.comment, string.quoted.docstring\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#545454\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name, entity.name.type.class, support.type, support.class, meta.use\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"variable.object.property, meta.field.declaration entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.definition.method entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.function entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"meta.embedded, source.groovy.embedded, meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"source.css entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"meta.tag, punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"text.html.markdown meta.link.inline, meta.link.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"source.cs meta.class.identifier storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.identifier entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.cs meta.method-call meta.method, source.cs entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.cs storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.return-type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#545454\\\"}},{\\\"scope\\\":\\\"source.cs entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"meta.jsx.children, SXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"support.class.component\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"source.python meta.member.access.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.python, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"meta.block\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.function.call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.php support.other.namespace, source.php meta.use support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":\\\"constant.keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#212121\\\",\\\"foreground\\\":\\\"#EEFFFF\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"constant.character.format.placeholder.other.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#EEFFFF90\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#916b53\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: material-theme-lighter */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#80CBC4\\\",\\\"activityBar.background\\\":\\\"#FAFAFA\\\",\\\"activityBar.border\\\":\\\"#FAFAFA60\\\",\\\"activityBar.dropBackground\\\":\\\"#E5393580\\\",\\\"activityBar.foreground\\\":\\\"#90A4AE\\\",\\\"activityBarBadge.background\\\":\\\"#80CBC4\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#CCD7DA30\\\",\\\"badge.foreground\\\":\\\"#90A4AE\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"breadcrumb.background\\\":\\\"#FAFAFA\\\",\\\"breadcrumb.focusForeground\\\":\\\"#90A4AE\\\",\\\"breadcrumb.foreground\\\":\\\"#758a95\\\",\\\"breadcrumbPicker.background\\\":\\\"#FAFAFA\\\",\\\"button.background\\\":\\\"#80CBC440\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"debugConsole.errorForeground\\\":\\\"#E53935\\\",\\\"debugConsole.infoForeground\\\":\\\"#39ADB5\\\",\\\"debugConsole.warningForeground\\\":\\\"#E2931D\\\",\\\"debugToolBar.background\\\":\\\"#FAFAFA\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#39ADB520\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#FF537020\\\",\\\"dropdown.background\\\":\\\"#FAFAFA\\\",\\\"dropdown.border\\\":\\\"#00000010\\\",\\\"editor.background\\\":\\\"#FAFAFA\\\",\\\"editor.findMatchBackground\\\":\\\"#00000020\\\",\\\"editor.findMatchBorder\\\":\\\"#80CBC4\\\",\\\"editor.findMatchHighlight\\\":\\\"#90A4AE\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000010\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#00000030\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#E2931D30\\\",\\\"editor.foreground\\\":\\\"#90A4AE\\\",\\\"editor.lineHighlightBackground\\\":\\\"#CCD7DA50\\\",\\\"editor.lineHighlightBorder\\\":\\\"#CCD7DA00\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#FFFFFF0d\\\",\\\"editor.selectionBackground\\\":\\\"#80CBC440\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#27272720\\\",\\\"editor.wordHighlightBackground\\\":\\\"#FF537030\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#91B85930\\\",\\\"editorBracketMatch.background\\\":\\\"#FAFAFA\\\",\\\"editorBracketMatch.border\\\":\\\"#27272750\\\",\\\"editorCursor.foreground\\\":\\\"#272727\\\",\\\"editorError.foreground\\\":\\\"#E5393570\\\",\\\"editorGroup.border\\\":\\\"#00000020\\\",\\\"editorGroup.dropBackground\\\":\\\"#E5393580\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#E53935\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#FAFAFA\\\",\\\"editorGutter.addedBackground\\\":\\\"#91B85960\\\",\\\"editorGutter.deletedBackground\\\":\\\"#E5393560\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#6182B860\\\",\\\"editorHoverWidget.background\\\":\\\"#FAFAFA\\\",\\\"editorHoverWidget.border\\\":\\\"#00000010\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#B0BEC5\\\",\\\"editorIndentGuide.background\\\":\\\"#B0BEC570\\\",\\\"editorInfo.foreground\\\":\\\"#6182B870\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#758a95\\\",\\\"editorLineNumber.foreground\\\":\\\"#CFD8DC\\\",\\\"editorLink.activeForeground\\\":\\\"#90A4AE\\\",\\\"editorMarkerNavigation.background\\\":\\\"#90A4AE05\\\",\\\"editorOverviewRuler.border\\\":\\\"#FAFAFA\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#E5393540\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#80CBC4\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#6182B840\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#E2931D40\\\",\\\"editorRuler.foreground\\\":\\\"#B0BEC5\\\",\\\"editorSuggestWidget.background\\\":\\\"#FAFAFA\\\",\\\"editorSuggestWidget.border\\\":\\\"#00000010\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#90A4AE\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#80CBC4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#CCD7DA50\\\",\\\"editorWarning.foreground\\\":\\\"#E2931D70\\\",\\\"editorWhitespace.foreground\\\":\\\"#90A4AE40\\\",\\\"editorWidget.background\\\":\\\"#FAFAFA\\\",\\\"editorWidget.border\\\":\\\"#80CBC4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#80CBC4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#90A4AE\\\",\\\"extensionButton.prominentBackground\\\":\\\"#91B85990\\\",\\\"extensionButton.prominentForeground\\\":\\\"#90A4AE\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#91B859\\\",\\\"focusBorder\\\":\\\"#FFFFFF00\\\",\\\"foreground\\\":\\\"#90A4AE\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#E2931D90\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#E5393590\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#758a9590\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#6182B890\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#91B85990\\\",\\\"input.background\\\":\\\"#EEEEEE\\\",\\\"input.border\\\":\\\"#00000010\\\",\\\"input.foreground\\\":\\\"#90A4AE\\\",\\\"input.placeholderForeground\\\":\\\"#90A4AE60\\\",\\\"inputOption.activeBackground\\\":\\\"#90A4AE30\\\",\\\"inputOption.activeBorder\\\":\\\"#90A4AE30\\\",\\\"inputValidation.errorBorder\\\":\\\"#E53935\\\",\\\"inputValidation.infoBorder\\\":\\\"#6182B8\\\",\\\"inputValidation.warningBorder\\\":\\\"#E2931D\\\",\\\"list.activeSelectionBackground\\\":\\\"#FAFAFA\\\",\\\"list.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"list.dropBackground\\\":\\\"#E5393580\\\",\\\"list.focusBackground\\\":\\\"#90A4AE20\\\",\\\"list.focusForeground\\\":\\\"#90A4AE\\\",\\\"list.highlightForeground\\\":\\\"#80CBC4\\\",\\\"list.hoverBackground\\\":\\\"#FAFAFA\\\",\\\"list.hoverForeground\\\":\\\"#B1C7D3\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#CCD7DA50\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#80CBC4\\\",\\\"listFilterWidget.background\\\":\\\"#CCD7DA50\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#CCD7DA50\\\",\\\"listFilterWidget.outline\\\":\\\"#CCD7DA50\\\",\\\"menu.background\\\":\\\"#FAFAFA\\\",\\\"menu.foreground\\\":\\\"#90A4AE\\\",\\\"menu.selectionBackground\\\":\\\"#CCD7DA50\\\",\\\"menu.selectionBorder\\\":\\\"#CCD7DA50\\\",\\\"menu.selectionForeground\\\":\\\"#80CBC4\\\",\\\"menu.separatorBackground\\\":\\\"#90A4AE\\\",\\\"menubar.selectionBackground\\\":\\\"#CCD7DA50\\\",\\\"menubar.selectionBorder\\\":\\\"#CCD7DA50\\\",\\\"menubar.selectionForeground\\\":\\\"#80CBC4\\\",\\\"notebook.focusedCellBorder\\\":\\\"#80CBC4\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#80CBC450\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notifications.background\\\":\\\"#FAFAFA\\\",\\\"notifications.foreground\\\":\\\"#90A4AE\\\",\\\"panel.background\\\":\\\"#FAFAFA\\\",\\\"panel.border\\\":\\\"#FAFAFA60\\\",\\\"panel.dropBackground\\\":\\\"#90A4AE\\\",\\\"panelTitle.activeBorder\\\":\\\"#80CBC4\\\",\\\"panelTitle.activeForeground\\\":\\\"#000000\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#90A4AE\\\",\\\"peekView.border\\\":\\\"#00000020\\\",\\\"peekViewEditor.background\\\":\\\"#EEEEEE\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#80CBC440\\\",\\\"peekViewEditorGutter.background\\\":\\\"#EEEEEE\\\",\\\"peekViewResult.background\\\":\\\"#EEEEEE\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#80CBC440\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#758a9570\\\",\\\"peekViewTitle.background\\\":\\\"#EEEEEE\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#90A4AE60\\\",\\\"pickerGroup.border\\\":\\\"#FFFFFF1a\\\",\\\"pickerGroup.foreground\\\":\\\"#80CBC4\\\",\\\"progressBar.background\\\":\\\"#80CBC4\\\",\\\"quickInput.background\\\":\\\"#FAFAFA\\\",\\\"quickInput.foreground\\\":\\\"#758a95\\\",\\\"quickInput.list.focusBackground\\\":\\\"#90A4AE20\\\",\\\"sash.hoverBorder\\\":\\\"#80CBC450\\\",\\\"scrollbar.shadow\\\":\\\"#00000020\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#80CBC4\\\",\\\"scrollbarSlider.background\\\":\\\"#90A4AE20\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#90A4AE10\\\",\\\"selection.background\\\":\\\"#CCD7DA80\\\",\\\"settings.checkboxBackground\\\":\\\"#FAFAFA\\\",\\\"settings.checkboxForeground\\\":\\\"#90A4AE\\\",\\\"settings.dropdownBackground\\\":\\\"#FAFAFA\\\",\\\"settings.dropdownForeground\\\":\\\"#90A4AE\\\",\\\"settings.headerForeground\\\":\\\"#80CBC4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#80CBC4\\\",\\\"settings.numberInputBackground\\\":\\\"#FAFAFA\\\",\\\"settings.numberInputForeground\\\":\\\"#90A4AE\\\",\\\"settings.textInputBackground\\\":\\\"#FAFAFA\\\",\\\"settings.textInputForeground\\\":\\\"#90A4AE\\\",\\\"sideBar.background\\\":\\\"#FAFAFA\\\",\\\"sideBar.border\\\":\\\"#FAFAFA60\\\",\\\"sideBar.foreground\\\":\\\"#758a95\\\",\\\"sideBarSectionHeader.background\\\":\\\"#FAFAFA\\\",\\\"sideBarSectionHeader.border\\\":\\\"#FAFAFA60\\\",\\\"sideBarTitle.foreground\\\":\\\"#90A4AE\\\",\\\"statusBar.background\\\":\\\"#FAFAFA\\\",\\\"statusBar.border\\\":\\\"#FAFAFA60\\\",\\\"statusBar.debuggingBackground\\\":\\\"#9C3EDA\\\",\\\"statusBar.debuggingForeground\\\":\\\"#FFFFFF\\\",\\\"statusBar.foreground\\\":\\\"#7E939E\\\",\\\"statusBar.noFolderBackground\\\":\\\"#FAFAFA\\\",\\\"statusBarItem.activeBackground\\\":\\\"#E5393580\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#90A4AE20\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#80CBC4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000000\\\",\\\"tab.activeBackground\\\":\\\"#FAFAFA\\\",\\\"tab.activeBorder\\\":\\\"#80CBC4\\\",\\\"tab.activeForeground\\\":\\\"#000000\\\",\\\"tab.activeModifiedBorder\\\":\\\"#758a95\\\",\\\"tab.border\\\":\\\"#FAFAFA\\\",\\\"tab.inactiveBackground\\\":\\\"#FAFAFA\\\",\\\"tab.inactiveForeground\\\":\\\"#758a95\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#89221f\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#90A4AE\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#90A4AE\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#b72d2a\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#89221f\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#6182B8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#90A4AE\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6182B8\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#39ADB5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#91B859\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#9C3EDA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#E53935\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#FFFFFF\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#E2931D\\\",\\\"terminal.ansiCyan\\\":\\\"#39ADB5\\\",\\\"terminal.ansiGreen\\\":\\\"#91B859\\\",\\\"terminal.ansiMagenta\\\":\\\"#9C3EDA\\\",\\\"terminal.ansiRed\\\":\\\"#E53935\\\",\\\"terminal.ansiWhite\\\":\\\"#FFFFFF\\\",\\\"terminal.ansiYellow\\\":\\\"#E2931D\\\",\\\"terminalCursor.background\\\":\\\"#000000\\\",\\\"terminalCursor.foreground\\\":\\\"#E2931D\\\",\\\"textLink.activeForeground\\\":\\\"#90A4AE\\\",\\\"textLink.foreground\\\":\\\"#80CBC4\\\",\\\"titleBar.activeBackground\\\":\\\"#FAFAFA\\\",\\\"titleBar.activeForeground\\\":\\\"#90A4AE\\\",\\\"titleBar.border\\\":\\\"#FAFAFA60\\\",\\\"titleBar.inactiveBackground\\\":\\\"#FAFAFA\\\",\\\"titleBar.inactiveForeground\\\":\\\"#758a95\\\",\\\"tree.indentGuidesStroke\\\":\\\"#B0BEC5\\\",\\\"widget.shadow\\\":\\\"#00000020\\\"},\\\"displayName\\\":\\\"Material Theme Lighter\\\",\\\"name\\\":\\\"material-theme-lighter\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#FAFAFA\\\",\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}},{\\\"scope\\\":\\\"punctuation, constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"constant.character.escape, text.html constant.character.entity.named\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":\\\"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"keyword.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":\\\"keyword, modifier, variable.language.this, support.type.object, constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"storage.type, storage.modifier, storage.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9C3EDA\\\"}},{\\\"scope\\\":\\\"support.module, support.node\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"support.type, constant.other.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.other.inherited-class, entity.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"comment punctuation.definition.comment, string.quoted.docstring\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.name, entity.name.type.class, support.type, support.class, meta.use\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"variable.object.property, meta.field.declaration entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"meta.definition.method entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"meta.function entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"meta.embedded, source.groovy.embedded, meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":\\\"source.css entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8796B0\\\"}},{\\\"scope\\\":\\\"meta.tag, punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9C3EDA\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"text.html.markdown meta.link.inline, meta.link.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"source.cs meta.class.identifier storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.identifier entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"source.cs meta.method-call meta.method, source.cs entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"source.cs storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.return-type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"source.cs meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"source.cs entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"meta.jsx.children, SXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"support.class.component\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"source.python meta.member.access.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.python, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"meta.block\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":\\\"entity.name.function.call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":\\\"source.php support.other.namespace, source.php meta.use support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":\\\"constant.keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#FAFAFA\\\",\\\"foreground\\\":\\\"#90A4AE\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":[\\\"constant.character.format.placeholder.other.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#39ADB5\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#90A4AE90\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9C3EDA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E2931D\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F76D47\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E53935\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#916b53\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6182B8\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5370\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9C3EDA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B859\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: material-theme-ocean */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#80CBC4\\\",\\\"activityBar.background\\\":\\\"#0F111A\\\",\\\"activityBar.border\\\":\\\"#0F111A60\\\",\\\"activityBar.dropBackground\\\":\\\"#f0717880\\\",\\\"activityBar.foreground\\\":\\\"#babed8\\\",\\\"activityBarBadge.background\\\":\\\"#80CBC4\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#00000030\\\",\\\"badge.foreground\\\":\\\"#464B5D\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"breadcrumb.background\\\":\\\"#0F111A\\\",\\\"breadcrumb.focusForeground\\\":\\\"#babed8\\\",\\\"breadcrumb.foreground\\\":\\\"#525975\\\",\\\"breadcrumbPicker.background\\\":\\\"#0F111A\\\",\\\"button.background\\\":\\\"#717CB450\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"debugConsole.errorForeground\\\":\\\"#f07178\\\",\\\"debugConsole.infoForeground\\\":\\\"#89DDFF\\\",\\\"debugConsole.warningForeground\\\":\\\"#FFCB6B\\\",\\\"debugToolBar.background\\\":\\\"#0F111A\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#89DDFF20\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff9cac20\\\",\\\"dropdown.background\\\":\\\"#0F111A\\\",\\\"dropdown.border\\\":\\\"#FFFFFF10\\\",\\\"editor.background\\\":\\\"#0F111A\\\",\\\"editor.findMatchBackground\\\":\\\"#000000\\\",\\\"editor.findMatchBorder\\\":\\\"#80CBC4\\\",\\\"editor.findMatchHighlight\\\":\\\"#babed8\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#ffffff30\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#FFCB6B30\\\",\\\"editor.foreground\\\":\\\"#babed8\\\",\\\"editor.lineHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#FFFFFF0d\\\",\\\"editor.selectionBackground\\\":\\\"#717CB450\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#FFCC0020\\\",\\\"editor.wordHighlightBackground\\\":\\\"#ff9cac30\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#C3E88D30\\\",\\\"editorBracketMatch.background\\\":\\\"#0F111A\\\",\\\"editorBracketMatch.border\\\":\\\"#FFCC0050\\\",\\\"editorCursor.foreground\\\":\\\"#FFCC00\\\",\\\"editorError.foreground\\\":\\\"#f0717870\\\",\\\"editorGroup.border\\\":\\\"#00000030\\\",\\\"editorGroup.dropBackground\\\":\\\"#f0717880\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#f07178\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0F111A\\\",\\\"editorGutter.addedBackground\\\":\\\"#C3E88D60\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f0717860\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#82AAFF60\\\",\\\"editorHoverWidget.background\\\":\\\"#0F111A\\\",\\\"editorHoverWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#3B3F51\\\",\\\"editorIndentGuide.background\\\":\\\"#3B3F5170\\\",\\\"editorInfo.foreground\\\":\\\"#82AAFF70\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#525975\\\",\\\"editorLineNumber.foreground\\\":\\\"#3B3F5180\\\",\\\"editorLink.activeForeground\\\":\\\"#babed8\\\",\\\"editorMarkerNavigation.background\\\":\\\"#babed805\\\",\\\"editorOverviewRuler.border\\\":\\\"#0F111A\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#f0717840\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#80CBC4\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#82AAFF40\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#FFCB6B40\\\",\\\"editorRuler.foreground\\\":\\\"#3B3F51\\\",\\\"editorSuggestWidget.background\\\":\\\"#0F111A\\\",\\\"editorSuggestWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#babed8\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#80CBC4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#00000050\\\",\\\"editorWarning.foreground\\\":\\\"#FFCB6B70\\\",\\\"editorWhitespace.foreground\\\":\\\"#babed840\\\",\\\"editorWidget.background\\\":\\\"#0F111A\\\",\\\"editorWidget.border\\\":\\\"#80CBC4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#80CBC4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#babed8\\\",\\\"extensionButton.prominentBackground\\\":\\\"#C3E88D90\\\",\\\"extensionButton.prominentForeground\\\":\\\"#babed8\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#C3E88D\\\",\\\"focusBorder\\\":\\\"#FFFFFF00\\\",\\\"foreground\\\":\\\"#babed8\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFCB6B90\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f0717890\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#52597590\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#82AAFF90\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#C3E88D90\\\",\\\"input.background\\\":\\\"#1A1C25\\\",\\\"input.border\\\":\\\"#FFFFFF10\\\",\\\"input.foreground\\\":\\\"#babed8\\\",\\\"input.placeholderForeground\\\":\\\"#babed860\\\",\\\"inputOption.activeBackground\\\":\\\"#babed830\\\",\\\"inputOption.activeBorder\\\":\\\"#babed830\\\",\\\"inputValidation.errorBorder\\\":\\\"#f07178\\\",\\\"inputValidation.infoBorder\\\":\\\"#82AAFF\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFCB6B\\\",\\\"list.activeSelectionBackground\\\":\\\"#0F111A\\\",\\\"list.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"list.dropBackground\\\":\\\"#f0717880\\\",\\\"list.focusBackground\\\":\\\"#babed820\\\",\\\"list.focusForeground\\\":\\\"#babed8\\\",\\\"list.highlightForeground\\\":\\\"#80CBC4\\\",\\\"list.hoverBackground\\\":\\\"#0F111A\\\",\\\"list.hoverForeground\\\":\\\"#FFFFFF\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#00000030\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#80CBC4\\\",\\\"listFilterWidget.background\\\":\\\"#00000030\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#00000030\\\",\\\"listFilterWidget.outline\\\":\\\"#00000030\\\",\\\"menu.background\\\":\\\"#0F111A\\\",\\\"menu.foreground\\\":\\\"#babed8\\\",\\\"menu.selectionBackground\\\":\\\"#00000050\\\",\\\"menu.selectionBorder\\\":\\\"#00000030\\\",\\\"menu.selectionForeground\\\":\\\"#80CBC4\\\",\\\"menu.separatorBackground\\\":\\\"#babed8\\\",\\\"menubar.selectionBackground\\\":\\\"#00000030\\\",\\\"menubar.selectionBorder\\\":\\\"#00000030\\\",\\\"menubar.selectionForeground\\\":\\\"#80CBC4\\\",\\\"notebook.focusedCellBorder\\\":\\\"#80CBC4\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#80CBC450\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notifications.background\\\":\\\"#0F111A\\\",\\\"notifications.foreground\\\":\\\"#babed8\\\",\\\"panel.background\\\":\\\"#0F111A\\\",\\\"panel.border\\\":\\\"#0F111A60\\\",\\\"panel.dropBackground\\\":\\\"#babed8\\\",\\\"panelTitle.activeBorder\\\":\\\"#80CBC4\\\",\\\"panelTitle.activeForeground\\\":\\\"#FFFFFF\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#babed8\\\",\\\"peekView.border\\\":\\\"#00000030\\\",\\\"peekViewEditor.background\\\":\\\"#1A1C25\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#717CB450\\\",\\\"peekViewEditorGutter.background\\\":\\\"#1A1C25\\\",\\\"peekViewResult.background\\\":\\\"#1A1C25\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#717CB450\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#52597570\\\",\\\"peekViewTitle.background\\\":\\\"#1A1C25\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#babed860\\\",\\\"pickerGroup.border\\\":\\\"#FFFFFF1a\\\",\\\"pickerGroup.foreground\\\":\\\"#80CBC4\\\",\\\"progressBar.background\\\":\\\"#80CBC4\\\",\\\"quickInput.background\\\":\\\"#0F111A\\\",\\\"quickInput.foreground\\\":\\\"#525975\\\",\\\"quickInput.list.focusBackground\\\":\\\"#babed820\\\",\\\"sash.hoverBorder\\\":\\\"#80CBC450\\\",\\\"scrollbar.shadow\\\":\\\"#00000030\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#80CBC4\\\",\\\"scrollbarSlider.background\\\":\\\"#8F93A220\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#8F93A210\\\",\\\"selection.background\\\":\\\"#00000080\\\",\\\"settings.checkboxBackground\\\":\\\"#0F111A\\\",\\\"settings.checkboxForeground\\\":\\\"#babed8\\\",\\\"settings.dropdownBackground\\\":\\\"#0F111A\\\",\\\"settings.dropdownForeground\\\":\\\"#babed8\\\",\\\"settings.headerForeground\\\":\\\"#80CBC4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#80CBC4\\\",\\\"settings.numberInputBackground\\\":\\\"#0F111A\\\",\\\"settings.numberInputForeground\\\":\\\"#babed8\\\",\\\"settings.textInputBackground\\\":\\\"#0F111A\\\",\\\"settings.textInputForeground\\\":\\\"#babed8\\\",\\\"sideBar.background\\\":\\\"#0F111A\\\",\\\"sideBar.border\\\":\\\"#0F111A60\\\",\\\"sideBar.foreground\\\":\\\"#525975\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0F111A\\\",\\\"sideBarSectionHeader.border\\\":\\\"#0F111A60\\\",\\\"sideBarTitle.foreground\\\":\\\"#babed8\\\",\\\"statusBar.background\\\":\\\"#0F111A\\\",\\\"statusBar.border\\\":\\\"#0F111A60\\\",\\\"statusBar.debuggingBackground\\\":\\\"#C792EA\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#4B526D\\\",\\\"statusBar.noFolderBackground\\\":\\\"#0F111A\\\",\\\"statusBarItem.activeBackground\\\":\\\"#f0717880\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#464B5D20\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#80CBC4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000000\\\",\\\"tab.activeBackground\\\":\\\"#0F111A\\\",\\\"tab.activeBorder\\\":\\\"#80CBC4\\\",\\\"tab.activeForeground\\\":\\\"#FFFFFF\\\",\\\"tab.activeModifiedBorder\\\":\\\"#525975\\\",\\\"tab.border\\\":\\\"#0F111A\\\",\\\"tab.inactiveBackground\\\":\\\"#0F111A\\\",\\\"tab.inactiveForeground\\\":\\\"#525975\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#904348\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#464B5D\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#babed8\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#c05a60\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#904348\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#464B5D\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFCB6B\\\",\\\"terminal.ansiCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiRed\\\":\\\"#f07178\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#FFCB6B\\\",\\\"terminalCursor.background\\\":\\\"#000000\\\",\\\"terminalCursor.foreground\\\":\\\"#FFCB6B\\\",\\\"textLink.activeForeground\\\":\\\"#babed8\\\",\\\"textLink.foreground\\\":\\\"#80CBC4\\\",\\\"titleBar.activeBackground\\\":\\\"#0F111A\\\",\\\"titleBar.activeForeground\\\":\\\"#babed8\\\",\\\"titleBar.border\\\":\\\"#0F111A60\\\",\\\"titleBar.inactiveBackground\\\":\\\"#0F111A\\\",\\\"titleBar.inactiveForeground\\\":\\\"#525975\\\",\\\"tree.indentGuidesStroke\\\":\\\"#3B3F51\\\",\\\"widget.shadow\\\":\\\"#00000030\\\"},\\\"displayName\\\":\\\"Material Theme Ocean\\\",\\\"name\\\":\\\"material-theme-ocean\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#0F111A\\\",\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"punctuation, constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"constant.character.escape, text.html constant.character.entity.named\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"keyword.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"keyword, modifier, variable.language.this, support.type.object, constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"storage.type, storage.modifier, storage.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"support.module, support.node\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"support.type, constant.other.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.other.inherited-class, entity.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#464B5D\\\"}},{\\\"scope\\\":\\\"comment punctuation.definition.comment, string.quoted.docstring\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#464B5D\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name, entity.name.type.class, support.type, support.class, meta.use\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"variable.object.property, meta.field.declaration entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.definition.method entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.function entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"meta.embedded, source.groovy.embedded, meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"source.css entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"meta.tag, punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"text.html.markdown meta.link.inline, meta.link.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"source.cs meta.class.identifier storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.identifier entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.cs meta.method-call meta.method, source.cs entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.cs storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.return-type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#464B5D\\\"}},{\\\"scope\\\":\\\"source.cs entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"meta.jsx.children, SXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"support.class.component\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"source.python meta.member.access.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.python, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"meta.block\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.function.call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.php support.other.namespace, source.php meta.use support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"constant.keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#0F111A\\\",\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"constant.character.format.placeholder.other.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#babed890\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#916b53\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: material-theme-palenight */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#80CBC4\\\",\\\"activityBar.background\\\":\\\"#292D3E\\\",\\\"activityBar.border\\\":\\\"#292D3E60\\\",\\\"activityBar.dropBackground\\\":\\\"#f0717880\\\",\\\"activityBar.foreground\\\":\\\"#babed8\\\",\\\"activityBarBadge.background\\\":\\\"#80CBC4\\\",\\\"activityBarBadge.foreground\\\":\\\"#000000\\\",\\\"badge.background\\\":\\\"#00000030\\\",\\\"badge.foreground\\\":\\\"#676E95\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"breadcrumb.background\\\":\\\"#292D3E\\\",\\\"breadcrumb.focusForeground\\\":\\\"#babed8\\\",\\\"breadcrumb.foreground\\\":\\\"#676E95\\\",\\\"breadcrumbPicker.background\\\":\\\"#292D3E\\\",\\\"button.background\\\":\\\"#717CB450\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"debugConsole.errorForeground\\\":\\\"#f07178\\\",\\\"debugConsole.infoForeground\\\":\\\"#89DDFF\\\",\\\"debugConsole.warningForeground\\\":\\\"#FFCB6B\\\",\\\"debugToolBar.background\\\":\\\"#292D3E\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#89DDFF20\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ff9cac20\\\",\\\"dropdown.background\\\":\\\"#292D3E\\\",\\\"dropdown.border\\\":\\\"#FFFFFF10\\\",\\\"editor.background\\\":\\\"#292D3E\\\",\\\"editor.findMatchBackground\\\":\\\"#000000\\\",\\\"editor.findMatchBorder\\\":\\\"#80CBC4\\\",\\\"editor.findMatchHighlight\\\":\\\"#babed8\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#ffffff30\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#FFCB6B30\\\",\\\"editor.foreground\\\":\\\"#babed8\\\",\\\"editor.lineHighlightBackground\\\":\\\"#00000050\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#FFFFFF0d\\\",\\\"editor.selectionBackground\\\":\\\"#717CB450\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#FFCC0020\\\",\\\"editor.wordHighlightBackground\\\":\\\"#ff9cac30\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#C3E88D30\\\",\\\"editorBracketMatch.background\\\":\\\"#292D3E\\\",\\\"editorBracketMatch.border\\\":\\\"#FFCC0050\\\",\\\"editorCursor.foreground\\\":\\\"#FFCC00\\\",\\\"editorError.foreground\\\":\\\"#f0717870\\\",\\\"editorGroup.border\\\":\\\"#00000030\\\",\\\"editorGroup.dropBackground\\\":\\\"#f0717880\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#f07178\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#292D3E\\\",\\\"editorGutter.addedBackground\\\":\\\"#C3E88D60\\\",\\\"editorGutter.deletedBackground\\\":\\\"#f0717860\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#82AAFF60\\\",\\\"editorHoverWidget.background\\\":\\\"#292D3E\\\",\\\"editorHoverWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#4E5579\\\",\\\"editorIndentGuide.background\\\":\\\"#4E557970\\\",\\\"editorInfo.foreground\\\":\\\"#82AAFF70\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#676E95\\\",\\\"editorLineNumber.foreground\\\":\\\"#3A3F58\\\",\\\"editorLink.activeForeground\\\":\\\"#babed8\\\",\\\"editorMarkerNavigation.background\\\":\\\"#babed805\\\",\\\"editorOverviewRuler.border\\\":\\\"#292D3E\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#f0717840\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#80CBC4\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#82AAFF40\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#FFCB6B40\\\",\\\"editorRuler.foreground\\\":\\\"#4E5579\\\",\\\"editorSuggestWidget.background\\\":\\\"#292D3E\\\",\\\"editorSuggestWidget.border\\\":\\\"#FFFFFF10\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#babed8\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#80CBC4\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#00000050\\\",\\\"editorWarning.foreground\\\":\\\"#FFCB6B70\\\",\\\"editorWhitespace.foreground\\\":\\\"#babed840\\\",\\\"editorWidget.background\\\":\\\"#292D3E\\\",\\\"editorWidget.border\\\":\\\"#80CBC4\\\",\\\"editorWidget.resizeBorder\\\":\\\"#80CBC4\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#babed8\\\",\\\"extensionButton.prominentBackground\\\":\\\"#C3E88D90\\\",\\\"extensionButton.prominentForeground\\\":\\\"#babed8\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#C3E88D\\\",\\\"focusBorder\\\":\\\"#FFFFFF00\\\",\\\"foreground\\\":\\\"#babed8\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFCB6B90\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#f0717890\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#676E9590\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#82AAFF90\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#C3E88D90\\\",\\\"input.background\\\":\\\"#333747\\\",\\\"input.border\\\":\\\"#FFFFFF10\\\",\\\"input.foreground\\\":\\\"#babed8\\\",\\\"input.placeholderForeground\\\":\\\"#babed860\\\",\\\"inputOption.activeBackground\\\":\\\"#babed830\\\",\\\"inputOption.activeBorder\\\":\\\"#babed830\\\",\\\"inputValidation.errorBorder\\\":\\\"#f07178\\\",\\\"inputValidation.infoBorder\\\":\\\"#82AAFF\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFCB6B\\\",\\\"list.activeSelectionBackground\\\":\\\"#292D3E\\\",\\\"list.activeSelectionForeground\\\":\\\"#80CBC4\\\",\\\"list.dropBackground\\\":\\\"#f0717880\\\",\\\"list.focusBackground\\\":\\\"#babed820\\\",\\\"list.focusForeground\\\":\\\"#babed8\\\",\\\"list.highlightForeground\\\":\\\"#80CBC4\\\",\\\"list.hoverBackground\\\":\\\"#292D3E\\\",\\\"list.hoverForeground\\\":\\\"#FFFFFF\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#00000030\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#80CBC4\\\",\\\"listFilterWidget.background\\\":\\\"#00000030\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#00000030\\\",\\\"listFilterWidget.outline\\\":\\\"#00000030\\\",\\\"menu.background\\\":\\\"#292D3E\\\",\\\"menu.foreground\\\":\\\"#babed8\\\",\\\"menu.selectionBackground\\\":\\\"#00000050\\\",\\\"menu.selectionBorder\\\":\\\"#00000030\\\",\\\"menu.selectionForeground\\\":\\\"#80CBC4\\\",\\\"menu.separatorBackground\\\":\\\"#babed8\\\",\\\"menubar.selectionBackground\\\":\\\"#00000030\\\",\\\"menubar.selectionBorder\\\":\\\"#00000030\\\",\\\"menubar.selectionForeground\\\":\\\"#80CBC4\\\",\\\"notebook.focusedCellBorder\\\":\\\"#80CBC4\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#80CBC450\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notifications.background\\\":\\\"#292D3E\\\",\\\"notifications.foreground\\\":\\\"#babed8\\\",\\\"panel.background\\\":\\\"#292D3E\\\",\\\"panel.border\\\":\\\"#292D3E60\\\",\\\"panel.dropBackground\\\":\\\"#babed8\\\",\\\"panelTitle.activeBorder\\\":\\\"#80CBC4\\\",\\\"panelTitle.activeForeground\\\":\\\"#FFFFFF\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#babed8\\\",\\\"peekView.border\\\":\\\"#00000030\\\",\\\"peekViewEditor.background\\\":\\\"#333747\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#717CB450\\\",\\\"peekViewEditorGutter.background\\\":\\\"#333747\\\",\\\"peekViewResult.background\\\":\\\"#333747\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#717CB450\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#676E9570\\\",\\\"peekViewTitle.background\\\":\\\"#333747\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#babed860\\\",\\\"pickerGroup.border\\\":\\\"#FFFFFF1a\\\",\\\"pickerGroup.foreground\\\":\\\"#80CBC4\\\",\\\"progressBar.background\\\":\\\"#80CBC4\\\",\\\"quickInput.background\\\":\\\"#292D3E\\\",\\\"quickInput.foreground\\\":\\\"#676E95\\\",\\\"quickInput.list.focusBackground\\\":\\\"#babed820\\\",\\\"sash.hoverBorder\\\":\\\"#80CBC450\\\",\\\"scrollbar.shadow\\\":\\\"#00000030\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#80CBC4\\\",\\\"scrollbarSlider.background\\\":\\\"#A6ACCD20\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#A6ACCD10\\\",\\\"selection.background\\\":\\\"#00000080\\\",\\\"settings.checkboxBackground\\\":\\\"#292D3E\\\",\\\"settings.checkboxForeground\\\":\\\"#babed8\\\",\\\"settings.dropdownBackground\\\":\\\"#292D3E\\\",\\\"settings.dropdownForeground\\\":\\\"#babed8\\\",\\\"settings.headerForeground\\\":\\\"#80CBC4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#80CBC4\\\",\\\"settings.numberInputBackground\\\":\\\"#292D3E\\\",\\\"settings.numberInputForeground\\\":\\\"#babed8\\\",\\\"settings.textInputBackground\\\":\\\"#292D3E\\\",\\\"settings.textInputForeground\\\":\\\"#babed8\\\",\\\"sideBar.background\\\":\\\"#292D3E\\\",\\\"sideBar.border\\\":\\\"#292D3E60\\\",\\\"sideBar.foreground\\\":\\\"#676E95\\\",\\\"sideBarSectionHeader.background\\\":\\\"#292D3E\\\",\\\"sideBarSectionHeader.border\\\":\\\"#292D3E60\\\",\\\"sideBarTitle.foreground\\\":\\\"#babed8\\\",\\\"statusBar.background\\\":\\\"#292D3E\\\",\\\"statusBar.border\\\":\\\"#292D3E60\\\",\\\"statusBar.debuggingBackground\\\":\\\"#C792EA\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#676E95\\\",\\\"statusBar.noFolderBackground\\\":\\\"#292D3E\\\",\\\"statusBarItem.activeBackground\\\":\\\"#f0717880\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#676E9520\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#80CBC4\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000000\\\",\\\"tab.activeBackground\\\":\\\"#292D3E\\\",\\\"tab.activeBorder\\\":\\\"#80CBC4\\\",\\\"tab.activeForeground\\\":\\\"#FFFFFF\\\",\\\"tab.activeModifiedBorder\\\":\\\"#676E95\\\",\\\"tab.border\\\":\\\"#292D3E\\\",\\\"tab.inactiveBackground\\\":\\\"#292D3E\\\",\\\"tab.inactiveForeground\\\":\\\"#676E95\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#904348\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#676E95\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#babed8\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#c05a60\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#904348\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#676E95\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f07178\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#FFCB6B\\\",\\\"terminal.ansiCyan\\\":\\\"#89DDFF\\\",\\\"terminal.ansiGreen\\\":\\\"#C3E88D\\\",\\\"terminal.ansiMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiRed\\\":\\\"#f07178\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#FFCB6B\\\",\\\"terminalCursor.background\\\":\\\"#000000\\\",\\\"terminalCursor.foreground\\\":\\\"#FFCB6B\\\",\\\"textLink.activeForeground\\\":\\\"#babed8\\\",\\\"textLink.foreground\\\":\\\"#80CBC4\\\",\\\"titleBar.activeBackground\\\":\\\"#292D3E\\\",\\\"titleBar.activeForeground\\\":\\\"#babed8\\\",\\\"titleBar.border\\\":\\\"#292D3E60\\\",\\\"titleBar.inactiveBackground\\\":\\\"#292D3E\\\",\\\"titleBar.inactiveForeground\\\":\\\"#676E95\\\",\\\"tree.indentGuidesStroke\\\":\\\"#4E5579\\\",\\\"widget.shadow\\\":\\\"#00000030\\\"},\\\"displayName\\\":\\\"Material Theme Palenight\\\",\\\"name\\\":\\\"material-theme-palenight\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#292D3E\\\",\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"punctuation, constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"constant.character.escape, text.html constant.character.entity.named\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"keyword.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"keyword, modifier, variable.language.this, support.type.object, constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function, support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"storage.type, storage.modifier, storage.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"support.module, support.node\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"support.type, constant.other.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.other.inherited-class, entity.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#676E95\\\"}},{\\\"scope\\\":\\\"comment punctuation.definition.comment, string.quoted.docstring\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#676E95\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name, entity.name.type.class, support.type, support.class, meta.use\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"variable.object.property, meta.field.declaration entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.definition.method entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.function entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"meta.embedded, source.groovy.embedded, meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"source.css entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"meta.tag, punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":\\\"punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"text.html.markdown meta.link.inline, meta.link.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.bold markup.italic, markup.italic markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic bold\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"markup.fenced_code.block.markdown punctuation.definition.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":\\\"keyword.other.definition.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"source.cs meta.class.identifier storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.identifier entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.cs meta.method-call meta.method, source.cs entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.cs storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.method.return-type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cs meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#676E95\\\"}},{\\\"scope\\\":\\\"source.cs entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"meta.jsx.children, SXNested\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"support.class.component\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"source.python meta.member.access.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.python, meta.function-call.arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"meta.block\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":\\\"entity.name.function.call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.php support.other.namespace, source.php meta.use support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":\\\"constant.keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#292D3E\\\",\\\"foreground\\\":\\\"#babed8\\\"}},{\\\"scope\\\":[\\\"constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special.self.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"constant.character.format.placeholder.other.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#89DDFF\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#babed890\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB6B\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f07178\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#916b53\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9cac\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C3E88D\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: min-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#1A1A1A\\\",\\\"activityBar.foreground\\\":\\\"#7D7D7D\\\",\\\"activityBarBadge.background\\\":\\\"#383838\\\",\\\"badge.background\\\":\\\"#383838\\\",\\\"badge.foreground\\\":\\\"#C1C1C1\\\",\\\"button.background\\\":\\\"#333\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#79b8ff\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#848484\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#FF7A84\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#79b8ff\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#848484\\\",\\\"debugIcon.continueForeground\\\":\\\"#FF7A84\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#FF7A84\\\",\\\"debugIcon.pauseForeground\\\":\\\"#FF7A84\\\",\\\"debugIcon.restartForeground\\\":\\\"#79b8ff\\\",\\\"debugIcon.startForeground\\\":\\\"#79b8ff\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#FF7A84\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#FF7A84\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#FF7A84\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#FF7A84\\\",\\\"debugIcon.stopForeground\\\":\\\"#79b8ff\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#3a632a4b\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#88063852\\\",\\\"editor.background\\\":\\\"#1f1f1f\\\",\\\"editor.lineHighlightBorder\\\":\\\"#303030\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#1A1A1A\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#1A1A1A\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#383838\\\",\\\"editorIndentGuide.background\\\":\\\"#2A2A2A\\\",\\\"editorLineNumber.foreground\\\":\\\"#727272\\\",\\\"editorRuler.foreground\\\":\\\"#2A2A2A\\\",\\\"editorSuggestWidget.background\\\":\\\"#1A1A1A\\\",\\\"focusBorder\\\":\\\"#444\\\",\\\"foreground\\\":\\\"#888888\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#444444\\\",\\\"input.background\\\":\\\"#2A2A2A\\\",\\\"input.foreground\\\":\\\"#E0E0E0\\\",\\\"inputOption.activeBackground\\\":\\\"#3a3a3a\\\",\\\"list.activeSelectionBackground\\\":\\\"#212121\\\",\\\"list.activeSelectionForeground\\\":\\\"#F5F5F5\\\",\\\"list.focusBackground\\\":\\\"#292929\\\",\\\"list.highlightForeground\\\":\\\"#EAEAEA\\\",\\\"list.hoverBackground\\\":\\\"#262626\\\",\\\"list.hoverForeground\\\":\\\"#9E9E9E\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#212121\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#F5F5F5\\\",\\\"panelTitle.activeBorder\\\":\\\"#1f1f1f\\\",\\\"panelTitle.activeForeground\\\":\\\"#FAFAFA\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#484848\\\",\\\"peekView.border\\\":\\\"#444\\\",\\\"peekViewEditor.background\\\":\\\"#242424\\\",\\\"pickerGroup.border\\\":\\\"#363636\\\",\\\"pickerGroup.foreground\\\":\\\"#EAEAEA\\\",\\\"progressBar.background\\\":\\\"#FAFAFA\\\",\\\"scrollbar.shadow\\\":\\\"#1f1f1f\\\",\\\"sideBar.background\\\":\\\"#1A1A1A\\\",\\\"sideBarSectionHeader.background\\\":\\\"#202020\\\",\\\"statusBar.background\\\":\\\"#1A1A1A\\\",\\\"statusBar.debuggingBackground\\\":\\\"#1A1A1A\\\",\\\"statusBar.foreground\\\":\\\"#7E7E7E\\\",\\\"statusBar.noFolderBackground\\\":\\\"#1A1A1A\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#fafafa1a\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#1a1a1a00\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#7E7E7E\\\",\\\"symbolIcon.classForeground\\\":\\\"#FF9800\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#b392f0\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#FF9800\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#79b8ff\\\",\\\"symbolIcon.eventForeground\\\":\\\"#FF9800\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#79b8ff\\\",\\\"symbolIcon.functionForeground\\\":\\\"#b392f0\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#79b8ff\\\",\\\"symbolIcon.methodForeground\\\":\\\"#b392f0\\\",\\\"symbolIcon.variableForeground\\\":\\\"#79b8ff\\\",\\\"tab.activeBorder\\\":\\\"#1e1e1e\\\",\\\"tab.activeForeground\\\":\\\"#FAFAFA\\\",\\\"tab.border\\\":\\\"#1A1A1A\\\",\\\"tab.inactiveBackground\\\":\\\"#1A1A1A\\\",\\\"tab.inactiveForeground\\\":\\\"#727272\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#5c5c5c\\\",\\\"textLink.activeForeground\\\":\\\"#fafafa\\\",\\\"textLink.foreground\\\":\\\"#CCC\\\",\\\"titleBar.activeBackground\\\":\\\"#1A1A1A\\\",\\\"titleBar.border\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Min Dark\\\",\\\"name\\\":\\\"min-dark\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"keyword.operator.accessor\\\",\\\"meta.group.braces.round.function.arguments\\\",\\\"meta.template.expression\\\",\\\"markup.fenced_code meta.embedded.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"strong\\\",\\\"markup.heading.markdown\\\",\\\"markup.bold.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#FF7A84\\\"}},{\\\"scope\\\":[\\\"markup.italic.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"meta.link.inline.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#1976D2\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"markup.fenced_code\\\",\\\"markup.inline\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9db1c5\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"string.quoted.docstring.multi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6b737c\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"variable.language.this\\\",\\\"variable.other.object\\\",\\\"variable.other.class\\\",\\\"variable.other.constant\\\",\\\"meta.property-name\\\",\\\"support\\\",\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.other.placeholder\\\",\\\"constant.character.format.placeholder\\\",\\\"meta.property-value\\\",\\\"keyword.other.unit\\\",\\\"keyword.other.template\\\",\\\"entity.name.tag.yaml\\\",\\\"entity.other.attribute-name\\\",\\\"support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f8f8f8\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage.modifier\\\",\\\"storage.type\\\",\\\"storage.control.clojure\\\",\\\"entity.name.function.clojure\\\",\\\"support.function.node\\\",\\\"punctuation.separator.key-value\\\",\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f97583\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF9800\\\"}},{\\\"scope\\\":[\\\"entity.name.type\\\",\\\"entity.other.inherited-class\\\",\\\"meta.function-call\\\",\\\"meta.instance.constructor\\\",\\\"entity.other.attribute-name\\\",\\\"entity.name.function\\\",\\\"constant.keyword.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"string.quoted\\\",\\\"string.regexp\\\",\\\"string.interpolated\\\",\\\"string.template\\\",\\\"string.unquoted.plain.out.yaml\\\",\\\"keyword.other.template\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#316bcd\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cd9731\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cd3131\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#800080\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.arguments\\\",\\\"punctuation.definition.dict\\\",\\\"punctuation.separator\\\",\\\"meta.function-call.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bbbbbb\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF7A84\\\"}},{\\\"scope\\\":\\\"punctuation.definition.metadata.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: min-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#f6f6f6\\\",\\\"activityBar.foreground\\\":\\\"#9E9E9E\\\",\\\"activityBarBadge.background\\\":\\\"#616161\\\",\\\"badge.background\\\":\\\"#E0E0E0\\\",\\\"badge.foreground\\\":\\\"#616161\\\",\\\"button.background\\\":\\\"#757575\\\",\\\"button.hoverBackground\\\":\\\"#616161\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#1976D2\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#848484\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#D32F2F\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#1976D2\\\",\\\"debugIcon.continueForeground\\\":\\\"#6f42c1\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#6f42c1\\\",\\\"debugIcon.pauseForeground\\\":\\\"#6f42c1\\\",\\\"debugIcon.restartForeground\\\":\\\"#1976D2\\\",\\\"debugIcon.startForeground\\\":\\\"#1976D2\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#6f42c1\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#6f42c1\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#6f42c1\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#6f42c1\\\",\\\"debugIcon.stopForeground\\\":\\\"#1976D2\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#b7e7a44b\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#e597af52\\\",\\\"editor.background\\\":\\\"#ffffff\\\",\\\"editor.foreground\\\":\\\"#212121\\\",\\\"editor.lineHighlightBorder\\\":\\\"#f2f2f2\\\",\\\"editorBracketMatch.background\\\":\\\"#E7F3FF\\\",\\\"editorBracketMatch.border\\\":\\\"#c8e1ff\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#f6f6f6\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#fff\\\",\\\"editorIndentGuide.background\\\":\\\"#EEE\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#757575\\\",\\\"editorLineNumber.foreground\\\":\\\"#CCC\\\",\\\"editorSuggestWidget.background\\\":\\\"#F3F3F3\\\",\\\"extensionButton.prominentBackground\\\":\\\"#000000AA\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#000000BB\\\",\\\"focusBorder\\\":\\\"#D0D0D0\\\",\\\"foreground\\\":\\\"#757575\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#AAAAAA\\\",\\\"input.border\\\":\\\"#E9E9E9\\\",\\\"inputOption.activeBackground\\\":\\\"#EDEDED\\\",\\\"list.activeSelectionBackground\\\":\\\"#EEE\\\",\\\"list.activeSelectionForeground\\\":\\\"#212121\\\",\\\"list.focusBackground\\\":\\\"#ddd\\\",\\\"list.focusForeground\\\":\\\"#212121\\\",\\\"list.highlightForeground\\\":\\\"#212121\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#E0E0E0\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#212121\\\",\\\"panel.background\\\":\\\"#fff\\\",\\\"panel.border\\\":\\\"#f4f4f4\\\",\\\"panelTitle.activeBorder\\\":\\\"#fff\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#BDBDBD\\\",\\\"peekView.border\\\":\\\"#E0E0E0\\\",\\\"peekViewEditor.background\\\":\\\"#f8f8f8\\\",\\\"pickerGroup.foreground\\\":\\\"#000\\\",\\\"progressBar.background\\\":\\\"#000\\\",\\\"scrollbar.shadow\\\":\\\"#FFF\\\",\\\"sideBar.background\\\":\\\"#f6f6f6\\\",\\\"sideBar.border\\\":\\\"#f6f6f6\\\",\\\"sideBarSectionHeader.background\\\":\\\"#EEE\\\",\\\"sideBarTitle.foreground\\\":\\\"#999\\\",\\\"statusBar.background\\\":\\\"#f6f6f6\\\",\\\"statusBar.border\\\":\\\"#f6f6f6\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f6f6f6\\\",\\\"statusBar.foreground\\\":\\\"#7E7E7E\\\",\\\"statusBar.noFolderBackground\\\":\\\"#f6f6f6\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#0000001a\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#f6f6f600\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#7E7E7E\\\",\\\"symbolIcon.classForeground\\\":\\\"#dd8500\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#6f42c1\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#dd8500\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#1976D2\\\",\\\"symbolIcon.eventForeground\\\":\\\"#dd8500\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#1976D2\\\",\\\"symbolIcon.functionForeground\\\":\\\"#6f42c1\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#1976D2\\\",\\\"symbolIcon.methodForeground\\\":\\\"#6f42c1\\\",\\\"symbolIcon.variableForeground\\\":\\\"#1976D2\\\",\\\"tab.activeBorder\\\":\\\"#FFF\\\",\\\"tab.activeForeground\\\":\\\"#424242\\\",\\\"tab.border\\\":\\\"#f6f6f6\\\",\\\"tab.inactiveBackground\\\":\\\"#f6f6f6\\\",\\\"tab.inactiveForeground\\\":\\\"#BDBDBD\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#fff\\\",\\\"terminal.ansiBlack\\\":\\\"#333\\\",\\\"terminal.ansiBlue\\\":\\\"#e0e0e0\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#a1a1a1\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6871ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#57d9ad\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#a3d900\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#a37acc\\\",\\\"terminal.ansiBrightRed\\\":\\\"#d6656a\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#7E7E7E\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e7c547\\\",\\\"terminal.ansiCyan\\\":\\\"#4dbf99\\\",\\\"terminal.ansiGreen\\\":\\\"#77cc00\\\",\\\"terminal.ansiMagenta\\\":\\\"#9966cc\\\",\\\"terminal.ansiRed\\\":\\\"#D32F2F\\\",\\\"terminal.ansiWhite\\\":\\\"#c7c7c7\\\",\\\"terminal.ansiYellow\\\":\\\"#f29718\\\",\\\"terminal.background\\\":\\\"#fff\\\",\\\"textLink.activeForeground\\\":\\\"#000\\\",\\\"textLink.foreground\\\":\\\"#000\\\",\\\"titleBar.activeBackground\\\":\\\"#f6f6f6\\\",\\\"titleBar.border\\\":\\\"#FFFFFF00\\\",\\\"titleBar.inactiveBackground\\\":\\\"#f6f6f6\\\"},\\\"displayName\\\":\\\"Min Light\\\",\\\"name\\\":\\\"min-light\\\",\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#24292eff\\\"}},{\\\"scope\\\":[\\\"keyword.operator.accessor\\\",\\\"meta.group.braces.round.function.arguments\\\",\\\"meta.template.expression\\\",\\\"markup.fenced_code meta.embedded.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#24292eff\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"strong\\\",\\\"markup.heading.markdown\\\",\\\"markup.bold.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"markup.italic.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"meta.link.inline.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#1976D2\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"markup.fenced_code\\\",\\\"markup.inline\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2b5581\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"string.quoted.docstring.multi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c2c3c5\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\",\\\"constant.other.placeholder\\\",\\\"constant.character.format.placeholder\\\",\\\"variable.language.this\\\",\\\"variable.other.object\\\",\\\"variable.other.class\\\",\\\"variable.other.constant\\\",\\\"meta.property-name\\\",\\\"meta.property-value\\\",\\\"support\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1976D2\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage.modifier\\\",\\\"storage.type\\\",\\\"storage.control.clojure\\\",\\\"entity.name.function.clojure\\\",\\\"entity.name.tag.yaml\\\",\\\"support.function.node\\\",\\\"support.type.property-name.json\\\",\\\"punctuation.separator.key-value\\\",\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D32F2F\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF9800\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"entity.name.type\\\",\\\"entity.other.inherited-class\\\",\\\"meta.function-call\\\",\\\"meta.instance.constructor\\\",\\\"entity.other.attribute-name\\\",\\\"entity.name.function\\\",\\\"constant.keyword.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6f42c1\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"string.quoted\\\",\\\"string.regexp\\\",\\\"string.interpolated\\\",\\\"string.template\\\",\\\"string.unquoted.plain.out.yaml\\\",\\\"keyword.other.template\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#316bcd\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cd9731\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cd3131\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#800080\\\"}},{\\\"scope\\\":[\\\"strong\\\",\\\"markup.heading.markdown\\\",\\\"markup.bold.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6f42c1\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.arguments\\\",\\\"punctuation.definition.dict\\\",\\\"punctuation.separator\\\",\\\"meta.function-call.arguments\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#212121\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6f42c1\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"string.other.link.title.markdown\\\",\\\"string.other.link.description.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d32f2f\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: monokai */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#272822\\\",\\\"activityBar.foreground\\\":\\\"#f8f8f2\\\",\\\"badge.background\\\":\\\"#75715E\\\",\\\"badge.foreground\\\":\\\"#f8f8f2\\\",\\\"button.background\\\":\\\"#75715E\\\",\\\"debugToolBar.background\\\":\\\"#1e1f1c\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#4b661680\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#90274A70\\\",\\\"dropdown.background\\\":\\\"#414339\\\",\\\"dropdown.listBackground\\\":\\\"#1e1f1c\\\",\\\"editor.background\\\":\\\"#272822\\\",\\\"editor.foreground\\\":\\\"#f8f8f2\\\",\\\"editor.lineHighlightBackground\\\":\\\"#3e3d32\\\",\\\"editor.selectionBackground\\\":\\\"#878b9180\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#575b6180\\\",\\\"editor.wordHighlightBackground\\\":\\\"#4a4a7680\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#6a6a9680\\\",\\\"editorCursor.foreground\\\":\\\"#f8f8f0\\\",\\\"editorGroup.border\\\":\\\"#34352f\\\",\\\"editorGroup.dropBackground\\\":\\\"#41433980\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#1e1f1c\\\",\\\"editorHoverWidget.background\\\":\\\"#414339\\\",\\\"editorHoverWidget.border\\\":\\\"#75715E\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#767771\\\",\\\"editorIndentGuide.background\\\":\\\"#464741\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#c2c2bf\\\",\\\"editorLineNumber.foreground\\\":\\\"#90908a\\\",\\\"editorSuggestWidget.background\\\":\\\"#272822\\\",\\\"editorSuggestWidget.border\\\":\\\"#75715E\\\",\\\"editorWhitespace.foreground\\\":\\\"#464741\\\",\\\"editorWidget.background\\\":\\\"#1e1f1c\\\",\\\"focusBorder\\\":\\\"#99947c\\\",\\\"input.background\\\":\\\"#414339\\\",\\\"inputOption.activeBorder\\\":\\\"#75715E\\\",\\\"inputValidation.errorBackground\\\":\\\"#90274A\\\",\\\"inputValidation.errorBorder\\\":\\\"#f92672\\\",\\\"inputValidation.infoBackground\\\":\\\"#546190\\\",\\\"inputValidation.infoBorder\\\":\\\"#819aff\\\",\\\"inputValidation.warningBackground\\\":\\\"#848528\\\",\\\"inputValidation.warningBorder\\\":\\\"#e2e22e\\\",\\\"list.activeSelectionBackground\\\":\\\"#75715E\\\",\\\"list.dropBackground\\\":\\\"#414339\\\",\\\"list.highlightForeground\\\":\\\"#f8f8f2\\\",\\\"list.hoverBackground\\\":\\\"#3e3d32\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#414339\\\",\\\"menu.background\\\":\\\"#1e1f1c\\\",\\\"menu.foreground\\\":\\\"#cccccc\\\",\\\"minimap.selectionHighlight\\\":\\\"#878b9180\\\",\\\"panel.border\\\":\\\"#414339\\\",\\\"panelTitle.activeBorder\\\":\\\"#75715E\\\",\\\"panelTitle.activeForeground\\\":\\\"#f8f8f2\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#75715E\\\",\\\"peekView.border\\\":\\\"#75715E\\\",\\\"peekViewEditor.background\\\":\\\"#272822\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#75715E\\\",\\\"peekViewResult.background\\\":\\\"#1e1f1c\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#75715E\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#414339\\\",\\\"peekViewTitle.background\\\":\\\"#1e1f1c\\\",\\\"pickerGroup.foreground\\\":\\\"#75715E\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#ccccc7\\\",\\\"progressBar.background\\\":\\\"#75715E\\\",\\\"quickInputList.focusBackground\\\":\\\"#414339\\\",\\\"selection.background\\\":\\\"#878b9180\\\",\\\"settings.focusedRowBackground\\\":\\\"#4143395A\\\",\\\"sideBar.background\\\":\\\"#1e1f1c\\\",\\\"sideBarSectionHeader.background\\\":\\\"#272822\\\",\\\"statusBar.background\\\":\\\"#414339\\\",\\\"statusBar.debuggingBackground\\\":\\\"#75715E\\\",\\\"statusBar.noFolderBackground\\\":\\\"#414339\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#AC6218\\\",\\\"tab.border\\\":\\\"#1e1f1c\\\",\\\"tab.inactiveBackground\\\":\\\"#34352f\\\",\\\"tab.inactiveForeground\\\":\\\"#ccccc7\\\",\\\"tab.lastPinnedBorder\\\":\\\"#414339\\\",\\\"terminal.ansiBlack\\\":\\\"#333333\\\",\\\"terminal.ansiBlue\\\":\\\"#6A7EC8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#666666\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#819aff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#66D9EF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#A6E22E\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#AE81FF\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f92672\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#f8f8f2\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e2e22e\\\",\\\"terminal.ansiCyan\\\":\\\"#56ADBC\\\",\\\"terminal.ansiGreen\\\":\\\"#86B42B\\\",\\\"terminal.ansiMagenta\\\":\\\"#8C6BC8\\\",\\\"terminal.ansiRed\\\":\\\"#C4265E\\\",\\\"terminal.ansiWhite\\\":\\\"#e3e3dd\\\",\\\"terminal.ansiYellow\\\":\\\"#B3B42B\\\",\\\"titleBar.activeBackground\\\":\\\"#1e1f1c\\\",\\\"widget.shadow\\\":\\\"#00000098\\\"},\\\"displayName\\\":\\\"Monokai\\\",\\\"name\\\":\\\"monokai\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88846f\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FF\\\"}},{\\\"scope\\\":\\\"constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FF\\\"}},{\\\"scope\\\":\\\"constant.character, constant.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FF\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F8F8F2\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"entity.name.type, entity.name.class, entity.name.namespace, entity.name.scope-resolution\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FD971F\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"support.type, support.class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F44747\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F44747\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.json string.quoted.double.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CFCFC2\\\"}},{\\\"scope\\\":\\\"meta.diff, meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#75715E\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":\\\"constant.numeric.line-number.find-in-files - match\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FFA0\\\"}},{\\\"scope\\\":\\\"entity.name.filename.find-in-files\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F92672\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":\\\"markup.bold, markup.italic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#66D9EF\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#FD971F\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"markup.heading.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.quote.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#75715E\\\"}},{\\\"scope\\\":\\\"markup.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown,string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#AE81FF\\\"}},{\\\"scope\\\":\\\"markup.underline.link.markdown,markup.underline.link.image.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E6DB74\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.list.unnumbered.markdown, markup.list.numbered.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f8f8f2\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A6E22E\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6796e6\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cd9731\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b267e6\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FD971F\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: night-owl */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#011627\\\",\\\"activityBar.border\\\":\\\"#011627\\\",\\\"activityBar.dropBackground\\\":\\\"#5f7e97\\\",\\\"activityBar.foreground\\\":\\\"#5f7e97\\\",\\\"activityBarBadge.background\\\":\\\"#44596b\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#5f7e97\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#FFFFFF\\\",\\\"breadcrumb.focusForeground\\\":\\\"#ffffff\\\",\\\"breadcrumb.foreground\\\":\\\"#A599E9\\\",\\\"breadcrumbPicker.background\\\":\\\"#001122\\\",\\\"button.background\\\":\\\"#7e57c2cc\\\",\\\"button.foreground\\\":\\\"#ffffffcc\\\",\\\"button.hoverBackground\\\":\\\"#7e57c2\\\",\\\"contrastBorder\\\":\\\"#122d42\\\",\\\"debugExceptionWidget.background\\\":\\\"#011627\\\",\\\"debugExceptionWidget.border\\\":\\\"#5f7e97\\\",\\\"debugToolBar.background\\\":\\\"#011627\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#99b76d23\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ef535033\\\",\\\"dropdown.background\\\":\\\"#011627\\\",\\\"dropdown.border\\\":\\\"#5f7e97\\\",\\\"dropdown.foreground\\\":\\\"#ffffffcc\\\",\\\"editor.background\\\":\\\"#011627\\\",\\\"editor.findMatchBackground\\\":\\\"#5f7e9779\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#1085bb5d\\\",\\\"editor.findRangeHighlightBackground\\\":null,\\\"editor.foreground\\\":\\\"#d6deeb\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#7e57c25a\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#7e57c25a\\\",\\\"editor.lineHighlightBackground\\\":\\\"#28707d29\\\",\\\"editor.lineHighlightBorder\\\":null,\\\"editor.rangeHighlightBackground\\\":\\\"#7e57c25a\\\",\\\"editor.selectionBackground\\\":\\\"#1d3b53\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#5f7e9779\\\",\\\"editor.wordHighlightBackground\\\":\\\"#f6bbe533\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#e2a2f433\\\",\\\"editorCodeLens.foreground\\\":\\\"#5e82ceb4\\\",\\\"editorCursor.foreground\\\":\\\"#80a4c2\\\",\\\"editorError.border\\\":null,\\\"editorError.foreground\\\":\\\"#EF5350\\\",\\\"editorGroup.border\\\":\\\"#011627\\\",\\\"editorGroup.dropBackground\\\":\\\"#7e57c273\\\",\\\"editorGroup.emptyBackground\\\":\\\"#011627\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#011627\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#011627\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#262A39\\\",\\\"editorGutter.addedBackground\\\":\\\"#9CCC65\\\",\\\"editorGutter.background\\\":\\\"#011627\\\",\\\"editorGutter.deletedBackground\\\":\\\"#EF5350\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#e2b93d\\\",\\\"editorHoverWidget.background\\\":\\\"#011627\\\",\\\"editorHoverWidget.border\\\":\\\"#5f7e97\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#7E97AC\\\",\\\"editorIndentGuide.background\\\":\\\"#5e81ce52\\\",\\\"editorInlayHint.background\\\":\\\"#0000\\\",\\\"editorInlayHint.foreground\\\":\\\"#829D9D\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#C5E4FD\\\",\\\"editorLineNumber.foreground\\\":\\\"#4b6479\\\",\\\"editorLink.activeForeground\\\":null,\\\"editorMarkerNavigation.background\\\":\\\"#0b2942\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#EF5350\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#FFCA28\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#7e57c2\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#7e57c2\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#7e57c2\\\",\\\"editorRuler.foreground\\\":\\\"#5e81ce52\\\",\\\"editorSuggestWidget.background\\\":\\\"#2C3043\\\",\\\"editorSuggestWidget.border\\\":\\\"#2B2F40\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#d6deeb\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#ffffff\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#5f7e97\\\",\\\"editorWarning.border\\\":null,\\\"editorWarning.foreground\\\":\\\"#b39554\\\",\\\"editorWhitespace.foreground\\\":null,\\\"editorWidget.background\\\":\\\"#021320\\\",\\\"editorWidget.border\\\":\\\"#5f7e97\\\",\\\"errorForeground\\\":\\\"#EF5350\\\",\\\"extensionButton.prominentBackground\\\":\\\"#7e57c2cc\\\",\\\"extensionButton.prominentForeground\\\":\\\"#ffffffcc\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#7e57c2\\\",\\\"focusBorder\\\":\\\"#122d42\\\",\\\"foreground\\\":\\\"#d6deeb\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#ffeb95cc\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#EF535090\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#395a75\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#a2bffc\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#c5e478ff\\\",\\\"input.background\\\":\\\"#0b253a\\\",\\\"input.border\\\":\\\"#5f7e97\\\",\\\"input.foreground\\\":\\\"#ffffffcc\\\",\\\"input.placeholderForeground\\\":\\\"#5f7e97\\\",\\\"inputOption.activeBorder\\\":\\\"#ffffffcc\\\",\\\"inputValidation.errorBackground\\\":\\\"#AB0300F2\\\",\\\"inputValidation.errorBorder\\\":\\\"#EF5350\\\",\\\"inputValidation.infoBackground\\\":\\\"#00589EF2\\\",\\\"inputValidation.infoBorder\\\":\\\"#64B5F6\\\",\\\"inputValidation.warningBackground\\\":\\\"#675700F2\\\",\\\"inputValidation.warningBorder\\\":\\\"#FFCA28\\\",\\\"list.activeSelectionBackground\\\":\\\"#234d708c\\\",\\\"list.activeSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.dropBackground\\\":\\\"#011627\\\",\\\"list.focusBackground\\\":\\\"#010d18\\\",\\\"list.focusForeground\\\":\\\"#ffffff\\\",\\\"list.highlightForeground\\\":\\\"#ffffff\\\",\\\"list.hoverBackground\\\":\\\"#011627\\\",\\\"list.hoverForeground\\\":\\\"#ffffff\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#0e293f\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#5f7e97\\\",\\\"list.invalidItemForeground\\\":\\\"#975f94\\\",\\\"merge.border\\\":null,\\\"merge.currentContentBackground\\\":null,\\\"merge.currentHeaderBackground\\\":\\\"#5f7e97\\\",\\\"merge.incomingContentBackground\\\":null,\\\"merge.incomingHeaderBackground\\\":\\\"#7e57c25a\\\",\\\"meta.objectliteral.js\\\":\\\"#82AAFF\\\",\\\"notificationCenter.border\\\":\\\"#262a39\\\",\\\"notificationLink.foreground\\\":\\\"#80CBC4\\\",\\\"notificationToast.border\\\":\\\"#262a39\\\",\\\"notifications.background\\\":\\\"#01111d\\\",\\\"notifications.border\\\":\\\"#262a39\\\",\\\"notifications.foreground\\\":\\\"#ffffffcc\\\",\\\"panel.background\\\":\\\"#011627\\\",\\\"panel.border\\\":\\\"#5f7e97\\\",\\\"panelTitle.activeBorder\\\":\\\"#5f7e97\\\",\\\"panelTitle.activeForeground\\\":\\\"#ffffffcc\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#d6deeb80\\\",\\\"peekView.border\\\":\\\"#5f7e97\\\",\\\"peekViewEditor.background\\\":\\\"#011627\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#7e57c25a\\\",\\\"peekViewResult.background\\\":\\\"#011627\\\",\\\"peekViewResult.fileForeground\\\":\\\"#5f7e97\\\",\\\"peekViewResult.lineForeground\\\":\\\"#5f7e97\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#ffffffcc\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#2E3250\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#5f7e97\\\",\\\"peekViewTitle.background\\\":\\\"#011627\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#697098\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#5f7e97\\\",\\\"pickerGroup.border\\\":\\\"#011627\\\",\\\"pickerGroup.foreground\\\":\\\"#d1aaff\\\",\\\"progress.background\\\":\\\"#7e57c2\\\",\\\"punctuation.definition.generic.begin.html\\\":\\\"#ef5350f2\\\",\\\"scrollbar.shadow\\\":\\\"#010b14\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#084d8180\\\",\\\"scrollbarSlider.background\\\":\\\"#084d8180\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#084d8180\\\",\\\"selection.background\\\":\\\"#4373c2\\\",\\\"sideBar.background\\\":\\\"#011627\\\",\\\"sideBar.border\\\":\\\"#011627\\\",\\\"sideBar.foreground\\\":\\\"#89a4bb\\\",\\\"sideBarSectionHeader.background\\\":\\\"#011627\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#5f7e97\\\",\\\"sideBarTitle.foreground\\\":\\\"#5f7e97\\\",\\\"source.elm\\\":\\\"#5f7e97\\\",\\\"statusBar.background\\\":\\\"#011627\\\",\\\"statusBar.border\\\":\\\"#262A39\\\",\\\"statusBar.debuggingBackground\\\":\\\"#202431\\\",\\\"statusBar.debuggingBorder\\\":\\\"#1F2330\\\",\\\"statusBar.debuggingForeground\\\":null,\\\"statusBar.foreground\\\":\\\"#5f7e97\\\",\\\"statusBar.noFolderBackground\\\":\\\"#011627\\\",\\\"statusBar.noFolderBorder\\\":\\\"#25293A\\\",\\\"statusBar.noFolderForeground\\\":null,\\\"statusBarItem.activeBackground\\\":\\\"#202431\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#202431\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#202431\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#202431\\\",\\\"string.quoted.single.js\\\":\\\"#ffffff\\\",\\\"tab.activeBackground\\\":\\\"#0b2942\\\",\\\"tab.activeBorder\\\":\\\"#262A39\\\",\\\"tab.activeForeground\\\":\\\"#d2dee7\\\",\\\"tab.border\\\":\\\"#272B3B\\\",\\\"tab.inactiveBackground\\\":\\\"#01111d\\\",\\\"tab.inactiveForeground\\\":\\\"#5f7e97\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#262A39\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#5f7e97\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#5f7e97\\\",\\\"terminal.ansiBlack\\\":\\\"#011627\\\",\\\"terminal.ansiBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#575656\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#82AAFF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#7fdbca\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#22da6e\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiBrightRed\\\":\\\"#EF5350\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffeb95\\\",\\\"terminal.ansiCyan\\\":\\\"#21c7a8\\\",\\\"terminal.ansiGreen\\\":\\\"#22da6e\\\",\\\"terminal.ansiMagenta\\\":\\\"#C792EA\\\",\\\"terminal.ansiRed\\\":\\\"#EF5350\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#c5e478\\\",\\\"terminal.selectionBackground\\\":\\\"#1b90dd4d\\\",\\\"terminalCursor.background\\\":\\\"#234d70\\\",\\\"textCodeBlock.background\\\":\\\"#4f4f4f\\\",\\\"titleBar.activeBackground\\\":\\\"#011627\\\",\\\"titleBar.activeForeground\\\":\\\"#eeefff\\\",\\\"titleBar.inactiveBackground\\\":\\\"#010e1a\\\",\\\"titleBar.inactiveForeground\\\":null,\\\"walkThrough.embeddedEditorBackground\\\":\\\"#011627\\\",\\\"welcomePage.buttonBackground\\\":\\\"#011627\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#011627\\\",\\\"widget.shadow\\\":\\\"#011627\\\"},\\\"displayName\\\":\\\"Night Owl\\\",\\\"name\\\":\\\"night-owl\\\",\\\"semanticHighlighting\\\":false,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"markup.changed\\\",\\\"meta.diff.header.git\\\",\\\"meta.diff.header.from-file\\\",\\\"meta.diff.header.to-file\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a2bffc\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#EF535090\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c5e478ff\\\"}},{\\\"settings\\\":{\\\"background\\\":\\\"#011627\\\",\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#637777\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ecc48d\\\"}},{\\\"scope\\\":[\\\"string.quoted\\\",\\\"variable.other.readwrite.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ecc48d\\\"}},{\\\"scope\\\":\\\"support.constant.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.character.numeric\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"punctuation.definition.constant\\\",\\\"variable.other.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"string.regexp keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5ca7e4\\\"}},{\\\"scope\\\":\\\"meta.function punctuation.separator.comma\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5f7e97\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\",\\\"keyword\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"meta.var.expr\\\",\\\"meta.class meta.method.declaration meta.var.expr storage.type.js\\\",\\\"storage.type.property.js\\\",\\\"storage.type.property.ts\\\",\\\"storage.type.property.tsx\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"storage.type.function.arrow.js\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"meta.class entity.name.type.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\",\\\"meta.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.other.html\\\",\\\"meta.tag.other.js\\\",\\\"meta.tag.other.tsx\\\",\\\"entity.name.tag.tsx\\\",\\\"entity.name.tag.js\\\",\\\"entity.name.tag\\\",\\\"meta.tag.js\\\",\\\"meta.tag.tsx\\\",\\\"meta.tag.html\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#caece6\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"entity.name.tag.custom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f78c6c\\\"}},{\\\"scope\\\":[\\\"support.function\\\",\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"support.constant.meta.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"support.variable.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"background\\\":\\\"#ff2c83\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"background\\\":\\\"#d3423e\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"keyword.operator.relational\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.arithmetic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.bitwise\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.increment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"keyword.operator.ternary\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"comment.line.double-slash\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#637777\\\"}},{\\\"scope\\\":\\\"object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cdebf7\\\"}},{\\\"scope\\\":\\\"constant.language.null\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":\\\"meta.brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"meta.delimiter.period\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d9f5dd\\\"}},{\\\"scope\\\":\\\"punctuation.definition.string.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":\\\"constant.language.boolean\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":\\\"object.comma\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"support.type.vendor.property-name\\\",\\\"support.constant.vendor.property-value\\\",\\\"support.type.property-name\\\",\\\"meta.property-list entity.name.tag\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":\\\"meta.property-list entity.name.tag.reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#57eaf1\\\"}},{\\\"scope\\\":\\\"constant.other.color.rgb-value punctuation.definition.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":\\\"constant.other.color\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FAD430\\\"}},{\\\"scope\\\":\\\"meta.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.doctype\\\",\\\"meta.tag.sgml.doctype\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"punctuation.definition.parameters\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d9f5dd\\\"}},{\\\"scope\\\":\\\"keyword.control.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"variable.instance\\\",\\\"variable.other.instance\\\",\\\"variable.readwrite.instance\\\",\\\"variable.other.readwrite.instance\\\",\\\"variable.other.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#baebe2\\\"}},{\\\"scope\\\":[\\\"variable.other.object.property\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#faf39f\\\"}},{\\\"scope\\\":[\\\"variable.other.object.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"variable.language.this.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#41eec6\\\"}},{\\\"scope\\\":[\\\"keyword.operator.comparison\\\",\\\"keyword.control.flow.js\\\",\\\"keyword.control.flow.ts\\\",\\\"keyword.control.flow.tsx\\\",\\\"keyword.control.ruby\\\",\\\"keyword.control.module.ruby\\\",\\\"keyword.control.class.ruby\\\",\\\"keyword.control.def.ruby\\\",\\\"keyword.control.loop.js\\\",\\\"keyword.control.loop.ts\\\",\\\"keyword.control.import.js\\\",\\\"keyword.control.import.ts\\\",\\\"keyword.control.import.tsx\\\",\\\"keyword.control.from.js\\\",\\\"keyword.control.from.ts\\\",\\\"keyword.control.from.tsx\\\",\\\"keyword.operator.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.instanceof.tsx\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"keyword.control.conditional.js\\\",\\\"keyword.control.conditional.ts\\\",\\\"keyword.control.switch.js\\\",\\\"keyword.control.switch.ts\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"support.constant\\\",\\\"keyword.other.special-method\\\",\\\"keyword.other.new\\\",\\\"keyword.other.debugger\\\",\\\"keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"background\\\":\\\"#F78C6C\\\",\\\"foreground\\\":\\\"#020e14\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"background\\\":\\\"#8BD649\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"background\\\":\\\"#ec5f67\\\",\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"support.variable.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"variable.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ec5f67\\\"}},{\\\"scope\\\":\\\"meta.function-call\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3423e\\\"}},{\\\"scope\\\":[\\\"punctuation.terminator.expression\\\",\\\"punctuation.definition.arguments\\\",\\\"punctuation.definition.array\\\",\\\"punctuation.section.array\\\",\\\"meta.array\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.list.begin\\\",\\\"punctuation.definition.list.end\\\",\\\"punctuation.separator.arguments\\\",\\\"punctuation.definition.list\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d9f5dd\\\"}},{\\\"scope\\\":\\\"string.template meta.template.expression\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d3423e\\\"}},{\\\"scope\\\":\\\"string.template punctuation.definition.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"quote\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#697098\\\"}},{\\\"scope\\\":\\\"raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":\\\"variable.assignment.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#31e1eb\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"variable.assignment.coffee\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.class.cs\\\",\\\"storage.type.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"string.unquoted.preprocessor.message.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"punctuation.separator.hash.cs\\\",\\\"keyword.preprocessor.region.cs\\\",\\\"keyword.preprocessor.endregion.cs\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"variable.other.object.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"entity.name.type.enum.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"string.interpolated.single.dart\\\",\\\"string.interpolated.double.dart\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB8B\\\"}},{\\\"scope\\\":\\\"support.class.dart\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFCB8B\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.css\\\",\\\"entity.name.tag.less\\\",\\\"entity.name.tag.custom.css\\\",\\\"support.constant.property-value.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ff6363\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.wildcard.css\\\",\\\"entity.name.tag.wildcard.less\\\",\\\"entity.name.tag.wildcard.scss\\\",\\\"entity.name.tag.wildcard.sass\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":[\\\"meta.attribute-selector.css entity.other.attribute-name.attribute\\\",\\\"variable.other.readwrite.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"source.elixir support.type.elixir\\\",\\\"source.elixir meta.module.elixir entity.name.class.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.elixir entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"source.elixir constant.other.symbol.elixir\\\",\\\"source.elixir constant.other.keywords.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"source.elixir punctuation.definition.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"source.elixir variable.other.readwrite.module.elixir\\\",\\\"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"source.elixir .punctuation.binary.elixir\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"constant.keyword.clojure\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"source.go meta.function-call.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DDDDDD\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package.go\\\",\\\"source.go keyword.import.go\\\",\\\"source.go keyword.function.go\\\",\\\"source.go keyword.type.go\\\",\\\"source.go keyword.struct.go\\\",\\\"source.go keyword.interface.go\\\",\\\"source.go keyword.const.go\\\",\\\"source.go keyword.var.go\\\",\\\"source.go keyword.map.go\\\",\\\"source.go keyword.channel.go\\\",\\\"source.go keyword.control.go\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"source.go constant.language.go\\\",\\\"source.go constant.other.placeholder.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":[\\\"entity.name.function.preprocessor.cpp\\\",\\\"entity.scope.name.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbcaff\\\"}},{\\\"scope\\\":[\\\"meta.namespace-block.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0dec6\\\"}},{\\\"scope\\\":[\\\"storage.type.language.primitive.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor.macro.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":[\\\"variable.other.readwrite.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"support.function.powershell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbcaff\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6ae9f0\\\"}},{\\\"scope\\\":\\\"meta.tag.sgml.doctype.html\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"meta.class entity.name.type.class.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"meta.method.declaration storage.type.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"terminator.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"meta.js punctuation.definition.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.instance.jsdoc\\\",\\\"entity.name.type.instance.phpdoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5f7e97\\\"}},{\\\"scope\\\":[\\\"variable.other.jsdoc\\\",\\\"variable.other.phpdoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#78ccf0\\\"}},{\\\"scope\\\":[\\\"variable.other.meta.import.js\\\",\\\"meta.import.js variable.other\\\",\\\"variable.other.meta.export.js\\\",\\\"meta.export.js variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7986E7\\\"}},{\\\"scope\\\":[\\\"variable.other.object.js\\\",\\\"variable.other.object.jsx\\\",\\\"variable.object.property.js\\\",\\\"variable.object.property.jsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"variable.js\\\",\\\"variable.other.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.js\\\",\\\"entity.name.type.module.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"support.class.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"support.constant.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.value.json string.quoted.double\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c789d6\\\"}},{\\\"scope\\\":\\\"string.quoted.double.json punctuation.definition.string.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.json meta.structure.dictionary.value constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":\\\"variable.other.object.js\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"variable.other.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.class.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ecc48d\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.hashkey.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"entity.name.tag.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":\\\"keyword.other.unit.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":\\\"meta.attribute-selector.less entity.other.attribute-name.attribute\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading.setext.1\\\",\\\"markup.heading.setext.2\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82b1ff\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#697098\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80CBC4\\\"}},{\\\"scope\\\":[\\\"markup.underline.link\\\",\\\"markup.underline.link.image\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff869a\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\",\\\"string.other.link.description.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.markdown\\\",\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"meta.link.inline.markdown punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82b1ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82b1ff\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"variable.other.php\\\",\\\"variable.other.property.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bec5d4\\\"}},{\\\"scope\\\":\\\"support.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":\\\"meta.function-call.php punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"variable.other.global.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"variable.other.global.php punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"constant.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5874\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.python\\\",\\\"meta.function-call.arguments.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.function-call.python\\\",\\\"meta.function-call.generic.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B2CCD6\\\"}},{\\\"scope\\\":\\\"punctuation.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"entity.name.function.decorator.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":\\\"source.python variable.language.special\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8EACE3\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c792ea\\\"}},{\\\"scope\\\":[\\\"variable.scss\\\",\\\"variable.sass\\\",\\\"variable.parameter.url.scss\\\",\\\"variable.parameter.url.sass\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c5e478\\\"}},{\\\"scope\\\":[\\\"source.css.scss meta.at-rule variable\\\",\\\"source.css.sass meta.at-rule variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"source.css.scss meta.at-rule variable\\\",\\\"source.css.sass meta.at-rule variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bec5d4\\\"}},{\\\"scope\\\":[\\\"meta.attribute-selector.scss entity.other.attribute-name.attribute\\\",\\\"meta.attribute-selector.sass entity.other.attribute-name.attribute\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F78C6C\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.scss\\\",\\\"entity.name.tag.sass\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit.scss\\\",\\\"keyword.other.unit.sass\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFEB95\\\"}},{\\\"scope\\\":[\\\"variable.other.readwrite.alias.ts\\\",\\\"variable.other.readwrite.alias.tsx\\\",\\\"variable.other.readwrite.ts\\\",\\\"variable.other.readwrite.tsx\\\",\\\"variable.other.object.ts\\\",\\\"variable.other.object.tsx\\\",\\\"variable.object.property.ts\\\",\\\"variable.object.property.tsx\\\",\\\"variable.other.ts\\\",\\\"variable.other.tsx\\\",\\\"variable.tsx\\\",\\\"variable.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"entity.name.type.ts\\\",\\\"entity.name.type.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":[\\\"support.class.node.ts\\\",\\\"support.class.node.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":[\\\"meta.type.parameters.ts entity.name.type\\\",\\\"meta.type.parameters.tsx entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5f7e97\\\"}},{\\\"scope\\\":[\\\"meta.import.ts punctuation.definition.block\\\",\\\"meta.import.tsx punctuation.definition.block\\\",\\\"meta.export.ts punctuation.definition.block\\\",\\\"meta.export.tsx punctuation.definition.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":[\\\"meta.decorator punctuation.decorator.ts\\\",\\\"meta.decorator punctuation.decorator.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"meta.tag.js meta.jsx.children.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7fdbca\\\"}},{\\\"scope\\\":[\\\"variable.other.readwrite.js\\\",\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7dbe0\\\"}},{\\\"scope\\\":[\\\"support.class.component.js\\\",\\\"support.class.component.tsx\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f78c6c\\\"}},{\\\"scope\\\":[\\\"meta.jsx.children\\\",\\\"meta.jsx.children.js\\\",\\\"meta.jsx.children.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d6deeb\\\"}},{\\\"scope\\\":\\\"meta.class entity.name.type.class.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":[\\\"entity.name.type.tsx\\\",\\\"entity.name.type.module.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffcb8b\\\"}},{\\\"scope\\\":[\\\"meta.class.ts meta.var.expr.ts storage.type.ts\\\",\\\"meta.class.tsx meta.var.expr.tsx storage.type.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"meta.method.declaration storage.type.ts\\\",\\\"meta.method.declaration storage.type.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#82AAFF\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff0000\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#036A07\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"meta.property-list.css meta.property-value.css variable.other.less\\\",\\\"meta.property-list.scss variable.scss\\\",\\\"meta.property-list.sass variable.sass\\\",\\\"meta.brace\\\",\\\"keyword.operator.operator\\\",\\\"keyword.operator.or.regexp\\\",\\\"keyword.operator.expression.in\\\",\\\"keyword.operator.relational\\\",\\\"keyword.operator.assignment\\\",\\\"keyword.operator.comparison\\\",\\\"keyword.operator.type\\\",\\\"keyword.operator\\\",\\\"keyword\\\",\\\"punctuation.definintion.string\\\",\\\"punctuation\\\",\\\"variable.other.readwrite.js\\\",\\\"storage.type\\\",\\\"source.css\\\",\\\"string.quoted\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: nord */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBackground\\\":\\\"#3b4252\\\",\\\"activityBar.activeBorder\\\":\\\"#88c0d0\\\",\\\"activityBar.background\\\":\\\"#2e3440\\\",\\\"activityBar.dropBackground\\\":\\\"#3b4252\\\",\\\"activityBar.foreground\\\":\\\"#d8dee9\\\",\\\"activityBarBadge.background\\\":\\\"#88c0d0\\\",\\\"activityBarBadge.foreground\\\":\\\"#2e3440\\\",\\\"badge.background\\\":\\\"#88c0d0\\\",\\\"badge.foreground\\\":\\\"#2e3440\\\",\\\"button.background\\\":\\\"#88c0d0ee\\\",\\\"button.foreground\\\":\\\"#2e3440\\\",\\\"button.hoverBackground\\\":\\\"#88c0d0\\\",\\\"button.secondaryBackground\\\":\\\"#434c5e\\\",\\\"button.secondaryForeground\\\":\\\"#d8dee9\\\",\\\"button.secondaryHoverBackground\\\":\\\"#4c566a\\\",\\\"charts.blue\\\":\\\"#81a1c1\\\",\\\"charts.foreground\\\":\\\"#d8dee9\\\",\\\"charts.green\\\":\\\"#a3be8c\\\",\\\"charts.lines\\\":\\\"#88c0d0\\\",\\\"charts.orange\\\":\\\"#d08770\\\",\\\"charts.purple\\\":\\\"#b48ead\\\",\\\"charts.red\\\":\\\"#bf616a\\\",\\\"charts.yellow\\\":\\\"#ebcb8b\\\",\\\"debugConsole.errorForeground\\\":\\\"#bf616a\\\",\\\"debugConsole.infoForeground\\\":\\\"#88c0d0\\\",\\\"debugConsole.sourceForeground\\\":\\\"#616e88\\\",\\\"debugConsole.warningForeground\\\":\\\"#ebcb8b\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#81a1c1\\\",\\\"debugExceptionWidget.background\\\":\\\"#4c566a\\\",\\\"debugExceptionWidget.border\\\":\\\"#2e3440\\\",\\\"debugToolBar.background\\\":\\\"#3b4252\\\",\\\"descriptionForeground\\\":\\\"#d8dee9e6\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#81a1c133\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#bf616a4d\\\",\\\"dropdown.background\\\":\\\"#3b4252\\\",\\\"dropdown.border\\\":\\\"#3b4252\\\",\\\"dropdown.foreground\\\":\\\"#d8dee9\\\",\\\"editor.background\\\":\\\"#2e3440\\\",\\\"editor.findMatchBackground\\\":\\\"#88c0d066\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#88c0d033\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#88c0d033\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#5e81ac\\\",\\\"editor.foreground\\\":\\\"#d8dee9\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#3b4252\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#434c5ecc\\\",\\\"editor.inlineValuesBackground\\\":\\\"#4c566a\\\",\\\"editor.inlineValuesForeground\\\":\\\"#eceff4\\\",\\\"editor.lineHighlightBackground\\\":\\\"#3b4252\\\",\\\"editor.lineHighlightBorder\\\":\\\"#3b4252\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#434c5e52\\\",\\\"editor.selectionBackground\\\":\\\"#434c5ecc\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#434c5ecc\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#5e81ac\\\",\\\"editor.wordHighlightBackground\\\":\\\"#81a1c166\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#81a1c199\\\",\\\"editorActiveLineNumber.foreground\\\":\\\"#d8dee9cc\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#8fbcbb\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#88c0d0\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#81a1c1\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#5e81ac\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#8fbcbb\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#88c0d0\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#bf616a\\\",\\\"editorBracketMatch.background\\\":\\\"#2e344000\\\",\\\"editorBracketMatch.border\\\":\\\"#88c0d0\\\",\\\"editorCodeLens.foreground\\\":\\\"#4c566a\\\",\\\"editorCursor.foreground\\\":\\\"#d8dee9\\\",\\\"editorError.border\\\":\\\"#bf616a00\\\",\\\"editorError.foreground\\\":\\\"#bf616a\\\",\\\"editorGroup.background\\\":\\\"#2e3440\\\",\\\"editorGroup.border\\\":\\\"#3b425201\\\",\\\"editorGroup.dropBackground\\\":\\\"#3b425299\\\",\\\"editorGroupHeader.border\\\":\\\"#3b425200\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#2e3440\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#2e3440\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#3b425200\\\",\\\"editorGutter.addedBackground\\\":\\\"#a3be8c\\\",\\\"editorGutter.background\\\":\\\"#2e3440\\\",\\\"editorGutter.deletedBackground\\\":\\\"#bf616a\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#ebcb8b\\\",\\\"editorHint.border\\\":\\\"#ebcb8b00\\\",\\\"editorHint.foreground\\\":\\\"#ebcb8b\\\",\\\"editorHoverWidget.background\\\":\\\"#3b4252\\\",\\\"editorHoverWidget.border\\\":\\\"#3b4252\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#4c566a\\\",\\\"editorIndentGuide.background\\\":\\\"#434c5eb3\\\",\\\"editorInlayHint.background\\\":\\\"#434c5e\\\",\\\"editorInlayHint.foreground\\\":\\\"#d8dee9\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#d8dee9\\\",\\\"editorLineNumber.foreground\\\":\\\"#4c566a\\\",\\\"editorLink.activeForeground\\\":\\\"#88c0d0\\\",\\\"editorMarkerNavigation.background\\\":\\\"#5e81acc0\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#bf616ac0\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#ebcb8bc0\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#a3be8c\\\",\\\"editorOverviewRuler.border\\\":\\\"#3b4252\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#3b4252\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#bf616a\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#bf616a\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#88c0d066\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#3b4252\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#81a1c1\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#ebcb8b\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#88c0d066\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#88c0d066\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#ebcb8b\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#88c0d066\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#88c0d066\\\",\\\"editorRuler.foreground\\\":\\\"#434c5e\\\",\\\"editorSuggestWidget.background\\\":\\\"#2e3440\\\",\\\"editorSuggestWidget.border\\\":\\\"#3b4252\\\",\\\"editorSuggestWidget.focusHighlightForeground\\\":\\\"#88c0d0\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#d8dee9\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#88c0d0\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#434c5e\\\",\\\"editorSuggestWidget.selectedForeground\\\":\\\"#d8dee9\\\",\\\"editorWarning.border\\\":\\\"#ebcb8b00\\\",\\\"editorWarning.foreground\\\":\\\"#ebcb8b\\\",\\\"editorWhitespace.foreground\\\":\\\"#4c566ab3\\\",\\\"editorWidget.background\\\":\\\"#2e3440\\\",\\\"editorWidget.border\\\":\\\"#3b4252\\\",\\\"errorForeground\\\":\\\"#bf616a\\\",\\\"extensionButton.prominentBackground\\\":\\\"#434c5e\\\",\\\"extensionButton.prominentForeground\\\":\\\"#d8dee9\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#4c566a\\\",\\\"focusBorder\\\":\\\"#3b4252\\\",\\\"foreground\\\":\\\"#d8dee9\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#5e81ac\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#bf616a\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#d8dee966\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ebcb8b\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#bf616a\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#ebcb8b\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#8fbcbb\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#a3be8c\\\",\\\"input.background\\\":\\\"#3b4252\\\",\\\"input.border\\\":\\\"#3b4252\\\",\\\"input.foreground\\\":\\\"#d8dee9\\\",\\\"input.placeholderForeground\\\":\\\"#d8dee999\\\",\\\"inputOption.activeBackground\\\":\\\"#5e81ac\\\",\\\"inputOption.activeBorder\\\":\\\"#5e81ac\\\",\\\"inputOption.activeForeground\\\":\\\"#eceff4\\\",\\\"inputValidation.errorBackground\\\":\\\"#bf616a\\\",\\\"inputValidation.errorBorder\\\":\\\"#bf616a\\\",\\\"inputValidation.infoBackground\\\":\\\"#81a1c1\\\",\\\"inputValidation.infoBorder\\\":\\\"#81a1c1\\\",\\\"inputValidation.warningBackground\\\":\\\"#d08770\\\",\\\"inputValidation.warningBorder\\\":\\\"#d08770\\\",\\\"keybindingLabel.background\\\":\\\"#4c566a\\\",\\\"keybindingLabel.border\\\":\\\"#4c566a\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#4c566a\\\",\\\"keybindingLabel.foreground\\\":\\\"#d8dee9\\\",\\\"list.activeSelectionBackground\\\":\\\"#88c0d0\\\",\\\"list.activeSelectionForeground\\\":\\\"#2e3440\\\",\\\"list.dropBackground\\\":\\\"#88c0d099\\\",\\\"list.errorForeground\\\":\\\"#bf616a\\\",\\\"list.focusBackground\\\":\\\"#88c0d099\\\",\\\"list.focusForeground\\\":\\\"#d8dee9\\\",\\\"list.focusHighlightForeground\\\":\\\"#eceff4\\\",\\\"list.highlightForeground\\\":\\\"#88c0d0\\\",\\\"list.hoverBackground\\\":\\\"#3b4252\\\",\\\"list.hoverForeground\\\":\\\"#eceff4\\\",\\\"list.inactiveFocusBackground\\\":\\\"#434c5ecc\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#434c5e\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#d8dee9\\\",\\\"list.warningForeground\\\":\\\"#ebcb8b\\\",\\\"merge.border\\\":\\\"#3b425200\\\",\\\"merge.currentContentBackground\\\":\\\"#81a1c14d\\\",\\\"merge.currentHeaderBackground\\\":\\\"#81a1c166\\\",\\\"merge.incomingContentBackground\\\":\\\"#8fbcbb4d\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#8fbcbb66\\\",\\\"minimap.background\\\":\\\"#2e3440\\\",\\\"minimap.errorHighlight\\\":\\\"#bf616acc\\\",\\\"minimap.findMatchHighlight\\\":\\\"#88c0d0\\\",\\\"minimap.selectionHighlight\\\":\\\"#88c0d0cc\\\",\\\"minimap.warningHighlight\\\":\\\"#ebcb8bcc\\\",\\\"minimapGutter.addedBackground\\\":\\\"#a3be8c\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#bf616a\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#ebcb8b\\\",\\\"minimapSlider.activeBackground\\\":\\\"#434c5eaa\\\",\\\"minimapSlider.background\\\":\\\"#434c5e99\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#434c5eaa\\\",\\\"notification.background\\\":\\\"#3b4252\\\",\\\"notification.buttonBackground\\\":\\\"#434c5e\\\",\\\"notification.buttonForeground\\\":\\\"#d8dee9\\\",\\\"notification.buttonHoverBackground\\\":\\\"#4c566a\\\",\\\"notification.errorBackground\\\":\\\"#bf616a\\\",\\\"notification.errorForeground\\\":\\\"#2e3440\\\",\\\"notification.foreground\\\":\\\"#d8dee9\\\",\\\"notification.infoBackground\\\":\\\"#88c0d0\\\",\\\"notification.infoForeground\\\":\\\"#2e3440\\\",\\\"notification.warningBackground\\\":\\\"#ebcb8b\\\",\\\"notification.warningForeground\\\":\\\"#2e3440\\\",\\\"notificationCenter.border\\\":\\\"#3b425200\\\",\\\"notificationCenterHeader.background\\\":\\\"#2e3440\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#88c0d0\\\",\\\"notificationLink.foreground\\\":\\\"#88c0d0\\\",\\\"notificationToast.border\\\":\\\"#3b425200\\\",\\\"notifications.background\\\":\\\"#3b4252\\\",\\\"notifications.border\\\":\\\"#2e3440\\\",\\\"notifications.foreground\\\":\\\"#d8dee9\\\",\\\"panel.background\\\":\\\"#2e3440\\\",\\\"panel.border\\\":\\\"#3b4252\\\",\\\"panelTitle.activeBorder\\\":\\\"#88c0d000\\\",\\\"panelTitle.activeForeground\\\":\\\"#88c0d0\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#d8dee9\\\",\\\"peekView.border\\\":\\\"#4c566a\\\",\\\"peekViewEditor.background\\\":\\\"#2e3440\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#88c0d04d\\\",\\\"peekViewEditorGutter.background\\\":\\\"#2e3440\\\",\\\"peekViewResult.background\\\":\\\"#2e3440\\\",\\\"peekViewResult.fileForeground\\\":\\\"#88c0d0\\\",\\\"peekViewResult.lineForeground\\\":\\\"#d8dee966\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#88c0d0cc\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#434c5e\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#d8dee9\\\",\\\"peekViewTitle.background\\\":\\\"#3b4252\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#d8dee9\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#88c0d0\\\",\\\"pickerGroup.border\\\":\\\"#3b4252\\\",\\\"pickerGroup.foreground\\\":\\\"#88c0d0\\\",\\\"progressBar.background\\\":\\\"#88c0d0\\\",\\\"quickInputList.focusBackground\\\":\\\"#88c0d0\\\",\\\"quickInputList.focusForeground\\\":\\\"#2e3440\\\",\\\"sash.hoverBorder\\\":\\\"#88c0d0\\\",\\\"scrollbar.shadow\\\":\\\"#00000066\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#434c5eaa\\\",\\\"scrollbarSlider.background\\\":\\\"#434c5e99\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#434c5eaa\\\",\\\"selection.background\\\":\\\"#88c0d099\\\",\\\"sideBar.background\\\":\\\"#2e3440\\\",\\\"sideBar.border\\\":\\\"#3b4252\\\",\\\"sideBar.foreground\\\":\\\"#d8dee9\\\",\\\"sideBarSectionHeader.background\\\":\\\"#3b4252\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#d8dee9\\\",\\\"sideBarTitle.foreground\\\":\\\"#d8dee9\\\",\\\"statusBar.background\\\":\\\"#3b4252\\\",\\\"statusBar.border\\\":\\\"#3b425200\\\",\\\"statusBar.debuggingBackground\\\":\\\"#5e81ac\\\",\\\"statusBar.debuggingForeground\\\":\\\"#d8dee9\\\",\\\"statusBar.foreground\\\":\\\"#d8dee9\\\",\\\"statusBar.noFolderBackground\\\":\\\"#3b4252\\\",\\\"statusBar.noFolderForeground\\\":\\\"#d8dee9\\\",\\\"statusBarItem.activeBackground\\\":\\\"#4c566a\\\",\\\"statusBarItem.errorBackground\\\":\\\"#3b4252\\\",\\\"statusBarItem.errorForeground\\\":\\\"#bf616a\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#434c5e\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#3b4252\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#434c5e\\\",\\\"statusBarItem.warningBackground\\\":\\\"#ebcb8b\\\",\\\"statusBarItem.warningForeground\\\":\\\"#2e3440\\\",\\\"tab.activeBackground\\\":\\\"#3b4252\\\",\\\"tab.activeBorder\\\":\\\"#88c0d000\\\",\\\"tab.activeBorderTop\\\":\\\"#88c0d000\\\",\\\"tab.activeForeground\\\":\\\"#d8dee9\\\",\\\"tab.border\\\":\\\"#3b425200\\\",\\\"tab.hoverBackground\\\":\\\"#3b4252cc\\\",\\\"tab.hoverBorder\\\":\\\"#88c0d000\\\",\\\"tab.inactiveBackground\\\":\\\"#2e3440\\\",\\\"tab.inactiveForeground\\\":\\\"#d8dee966\\\",\\\"tab.lastPinnedBorder\\\":\\\"#4c566a\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#88c0d000\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#88c0d000\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#d8dee999\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#3b4252b3\\\",\\\"tab.unfocusedHoverBorder\\\":\\\"#88c0d000\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#d8dee966\\\",\\\"terminal.ansiBlack\\\":\\\"#3b4252\\\",\\\"terminal.ansiBlue\\\":\\\"#81a1c1\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#4c566a\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#81a1c1\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#8fbcbb\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#a3be8c\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#b48ead\\\",\\\"terminal.ansiBrightRed\\\":\\\"#bf616a\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#eceff4\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ebcb8b\\\",\\\"terminal.ansiCyan\\\":\\\"#88c0d0\\\",\\\"terminal.ansiGreen\\\":\\\"#a3be8c\\\",\\\"terminal.ansiMagenta\\\":\\\"#b48ead\\\",\\\"terminal.ansiRed\\\":\\\"#bf616a\\\",\\\"terminal.ansiWhite\\\":\\\"#e5e9f0\\\",\\\"terminal.ansiYellow\\\":\\\"#ebcb8b\\\",\\\"terminal.background\\\":\\\"#2e3440\\\",\\\"terminal.foreground\\\":\\\"#d8dee9\\\",\\\"terminal.tab.activeBorder\\\":\\\"#88c0d0\\\",\\\"textBlockQuote.background\\\":\\\"#3b4252\\\",\\\"textBlockQuote.border\\\":\\\"#81a1c1\\\",\\\"textCodeBlock.background\\\":\\\"#4c566a\\\",\\\"textLink.activeForeground\\\":\\\"#88c0d0\\\",\\\"textLink.foreground\\\":\\\"#88c0d0\\\",\\\"textPreformat.foreground\\\":\\\"#8fbcbb\\\",\\\"textSeparator.foreground\\\":\\\"#eceff4\\\",\\\"titleBar.activeBackground\\\":\\\"#2e3440\\\",\\\"titleBar.activeForeground\\\":\\\"#d8dee9\\\",\\\"titleBar.border\\\":\\\"#2e344000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#2e3440\\\",\\\"titleBar.inactiveForeground\\\":\\\"#d8dee966\\\",\\\"tree.indentGuidesStroke\\\":\\\"#616e88\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#2e3440\\\",\\\"welcomePage.buttonBackground\\\":\\\"#434c5e\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#4c566a\\\",\\\"widget.shadow\\\":\\\"#00000066\\\"},\\\"displayName\\\":\\\"Nord\\\",\\\"name\\\":\\\"nord\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"background\\\":\\\"#2e3440ff\\\",\\\"foreground\\\":\\\"#d8dee9ff\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#616E88\\\"}},{\\\"scope\\\":\\\"constant.character\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EBCB8B\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EBCB8B\\\"}},{\\\"scope\\\":\\\"constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B48EAD\\\"}},{\\\"scope\\\":\\\"constant.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EBCB8B\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.name.type.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"background\\\":\\\"#EBCB8B\\\",\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"background\\\":\\\"#BF616A\\\",\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"keyword.other.new\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EBCB8B\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#BF616A\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#A3BE8C\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5E81AC\\\"}},{\\\"scope\\\":\\\"punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ECEFF4\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.method-parameters\\\",\\\"punctuation.definition.function-parameters\\\",\\\"punctuation.definition.parameters\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ECEFF4\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.comment\\\",\\\"punctuation.end.definition.comment\\\",\\\"punctuation.start.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#616E88\\\"}},{\\\"scope\\\":\\\"punctuation.section\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ECEFF4\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin\\\",\\\"punctuation.section.embedded.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"punctuation.terminator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#A3BE8C\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EBCB8B\\\"}},{\\\"scope\\\":\\\"support.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":\\\"support.function.construct\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"support.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"support.type.exception\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b48ead\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#bf616a\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88c0d0\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ebcb8b\\\"}},{\\\"scope\\\":\\\"variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"punctuation.separator.pointer-access.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":[\\\"source.c meta.preprocessor.include\\\",\\\"source.c string.quoted.other.lt-gt.include\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":[\\\"source.cpp keyword.control.directive.conditional\\\",\\\"source.cpp punctuation.definition.directive\\\",\\\"source.c keyword.control.directive.conditional\\\",\\\"source.c punctuation.definition.directive\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#5E81AC\\\"}},{\\\"scope\\\":\\\"source.css constant.other.color.rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B48EAD\\\"}},{\\\"scope\\\":\\\"source.css meta.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":[\\\"source.css keyword.control.at-rule.media\\\",\\\"source.css keyword.control.at-rule.media punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D08770\\\"}},{\\\"scope\\\":\\\"source.css punctuation.definition.keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"source.css support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"source.diff meta.diff.range.context\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.diff meta.diff.header.from-file\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.diff punctuation.definition.from-file\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.diff punctuation.definition.range\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.diff punctuation.definition.separator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.module.elixir\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.elixir\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"variable.other.constant.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.go constant.other.placeholder.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EBCB8B\\\"}},{\\\"scope\\\":\\\"source.java comment.block.documentation.javadoc punctuation.definition.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"source.java constant.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"source.java keyword.other.documentation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.java keyword.other.documentation.author.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":[\\\"source.java keyword.other.documentation.directive\\\",\\\"source.java keyword.other.documentation.custom\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.java keyword.other.documentation.see.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.java meta.method-call meta.method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":[\\\"source.java meta.tag.template.link.javadoc\\\",\\\"source.java string.other.link.title.javadoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.java meta.tag.template.value.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":\\\"source.java punctuation.definition.keyword.javadoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":[\\\"source.java punctuation.definition.tag.begin.javadoc\\\",\\\"source.java punctuation.definition.tag.end.javadoc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#616E88\\\"}},{\\\"scope\\\":\\\"source.java storage.modifier.import\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.java storage.modifier.package\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.java storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.java storage.type.annotation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D08770\\\"}},{\\\"scope\\\":\\\"source.java storage.type.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.java storage.type.primitive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":[\\\"source.js punctuation.decorator\\\",\\\"source.js meta.decorator variable.other.readwrite\\\",\\\"source.js meta.decorator entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D08770\\\"}},{\\\"scope\\\":\\\"source.js meta.object-literal.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":\\\"source.js storage.type.class.jsdoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":[\\\"source.js string.quoted.template punctuation.quasi.element.begin\\\",\\\"source.js string.quoted.template punctuation.quasi.element.end\\\",\\\"source.js string.template punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"source.js string.quoted.template meta.method-call.with-arguments\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ECEFF4\\\"}},{\\\"scope\\\":[\\\"source.js string.template meta.template.expression support.variable.property\\\",\\\"source.js string.template meta.template.expression variable.other.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"source.js support.type.primitive\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"source.js variable.other.object\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":\\\"source.js variable.other.readwrite.alias\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":[\\\"source.js meta.embedded.line meta.brace.square\\\",\\\"source.js meta.embedded.line meta.brace.round\\\",\\\"source.js string.quoted.template meta.brace.square\\\",\\\"source.js string.quoted.template meta.brace.round\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ECEFF4\\\"}},{\\\"scope\\\":\\\"text.html.basic constant.character.entity.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EBCB8B\\\"}},{\\\"scope\\\":\\\"text.html.basic constant.other.inline-data\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#D08770\\\"}},{\\\"scope\\\":\\\"text.html.basic meta.tag.sgml.doctype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5E81AC\\\"}},{\\\"scope\\\":\\\"text.html.basic punctuation.definition.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"source.properties entity.name.section.group-title.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":\\\"source.properties punctuation.separator.key-value.ini\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.fenced_code.block\\\",\\\"text.html.markdown markup.fenced_code.block punctuation.definition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw\\\",\\\"text.html.markdown markup.inline.raw punctuation.definition.raw\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"text.html.markdown markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"text.html.markdown markup.underline.link\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"text.html.markdown beginning.punctuation.definition.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"text.html.markdown markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#616E88\\\"}},{\\\"scope\\\":\\\"text.html.markdown constant.character.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.math.begin\\\",\\\"text.html.markdown punctuation.definition.math.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5E81AC\\\"}},{\\\"scope\\\":\\\"text.html.markdown punctuation.definition.function.math.tex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":\\\"text.html.markdown punctuation.math.operator.latex\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"text.html.markdown punctuation.definition.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":[\\\"text.html.markdown punctuation.definition.constant\\\",\\\"text.html.markdown punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":[\\\"text.html.markdown constant.other.reference.link\\\",\\\"text.html.markdown string.other.link.description\\\",\\\"text.html.markdown string.other.link.title\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":\\\"source.perl punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":[\\\"source.php meta.function-call\\\",\\\"source.php meta.function-call.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":[\\\"source.python entity.name.function.decorator\\\",\\\"source.python meta.function.decorator support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D08770\\\"}},{\\\"scope\\\":\\\"source.python meta.function-call.generic\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":\\\"source.python support.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":[\\\"source.python variable.parameter.function.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":[\\\"source.python meta.function.parameters variable.parameter.function.language.special.self\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"source.rust entity.name.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"source.rust meta.macro entity.name.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":[\\\"source.rust meta.attribute\\\",\\\"source.rust meta.attribute punctuation\\\",\\\"source.rust meta.attribute keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5E81AC\\\"}},{\\\"scope\\\":\\\"source.rust entity.name.type.trait\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"source.rust punctuation.definition.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#EBCB8B\\\"}},{\\\"scope\\\":[\\\"source.css.scss punctuation.definition.interpolation.begin.bracket.curly\\\",\\\"source.css.scss punctuation.definition.interpolation.end.bracket.curly\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#81A1C1\\\"}},{\\\"scope\\\":\\\"source.css.scss variable.interpolation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":[\\\"source.ts punctuation.decorator\\\",\\\"source.ts meta.decorator variable.other.readwrite\\\",\\\"source.ts meta.decorator entity.name.function\\\",\\\"source.tsx punctuation.decorator\\\",\\\"source.tsx meta.decorator variable.other.readwrite\\\",\\\"source.tsx meta.decorator entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D08770\\\"}},{\\\"scope\\\":[\\\"source.ts meta.object-literal.key\\\",\\\"source.tsx meta.object-literal.key\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":[\\\"source.ts meta.object-literal.key entity.name.function\\\",\\\"source.tsx meta.object-literal.key entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#88C0D0\\\"}},{\\\"scope\\\":[\\\"source.ts support.class\\\",\\\"source.ts support.type\\\",\\\"source.ts entity.name.type\\\",\\\"source.ts entity.name.class\\\",\\\"source.tsx support.class\\\",\\\"source.tsx support.type\\\",\\\"source.tsx entity.name.type\\\",\\\"source.tsx entity.name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":[\\\"source.ts support.constant.math\\\",\\\"source.ts support.constant.dom\\\",\\\"source.ts support.constant.json\\\",\\\"source.tsx support.constant.math\\\",\\\"source.tsx support.constant.dom\\\",\\\"source.tsx support.constant.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":[\\\"source.ts support.variable\\\",\\\"source.tsx support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D8DEE9\\\"}},{\\\"scope\\\":[\\\"source.ts meta.embedded.line meta.brace.square\\\",\\\"source.ts meta.embedded.line meta.brace.round\\\",\\\"source.tsx meta.embedded.line meta.brace.square\\\",\\\"source.tsx meta.embedded.line meta.brace.round\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ECEFF4\\\"}},{\\\"scope\\\":\\\"text.xml entity.name.tag.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}},{\\\"scope\\\":\\\"text.xml keyword.other.doctype\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5E81AC\\\"}},{\\\"scope\\\":\\\"text.xml meta.tag.preprocessor entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5E81AC\\\"}},{\\\"scope\\\":[\\\"text.xml string.unquoted.cdata\\\",\\\"text.xml string.unquoted.cdata punctuation.definition.string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#D08770\\\"}},{\\\"scope\\\":\\\"source.yaml entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#8FBCBB\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: one-dark-pro */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"actionBar.toggledBackground\\\":\\\"#525761\\\",\\\"activityBar.background\\\":\\\"#282c34\\\",\\\"activityBar.foreground\\\":\\\"#d7dae0\\\",\\\"activityBarBadge.background\\\":\\\"#4d78cc\\\",\\\"activityBarBadge.foreground\\\":\\\"#f8fafd\\\",\\\"badge.background\\\":\\\"#282c34\\\",\\\"button.background\\\":\\\"#404754\\\",\\\"button.secondaryBackground\\\":\\\"#30333d\\\",\\\"button.secondaryForeground\\\":\\\"#c0bdbd\\\",\\\"checkbox.border\\\":\\\"#404754\\\",\\\"debugToolBar.background\\\":\\\"#21252b\\\",\\\"descriptionForeground\\\":\\\"#abb2bf\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#00809b33\\\",\\\"dropdown.background\\\":\\\"#21252b\\\",\\\"dropdown.border\\\":\\\"#21252b\\\",\\\"editor.background\\\":\\\"#282c34\\\",\\\"editor.findMatchBackground\\\":\\\"#d19a6644\\\",\\\"editor.findMatchBorder\\\":\\\"#ffffff5a\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ffffff22\\\",\\\"editor.foreground\\\":\\\"#abb2bf\\\",\\\"editor.lineHighlightBackground\\\":\\\"#2c313c\\\",\\\"editor.selectionBackground\\\":\\\"#67769660\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#ffd33d44\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#dddddd\\\",\\\"editor.wordHighlightBackground\\\":\\\"#d2e0ff2f\\\",\\\"editor.wordHighlightBorder\\\":\\\"#7f848e\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#abb2bf26\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#7f848e\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#d19a66\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#c678dd\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#56b6c2\\\",\\\"editorBracketMatch.background\\\":\\\"#515a6b\\\",\\\"editorBracketMatch.border\\\":\\\"#515a6b\\\",\\\"editorCursor.background\\\":\\\"#ffffffc9\\\",\\\"editorCursor.foreground\\\":\\\"#528bff\\\",\\\"editorError.foreground\\\":\\\"#c24038\\\",\\\"editorGroup.background\\\":\\\"#181a1f\\\",\\\"editorGroup.border\\\":\\\"#181a1f\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#21252b\\\",\\\"editorGutter.addedBackground\\\":\\\"#109868\\\",\\\"editorGutter.deletedBackground\\\":\\\"#9A353D\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#948B60\\\",\\\"editorHoverWidget.background\\\":\\\"#21252b\\\",\\\"editorHoverWidget.border\\\":\\\"#181a1f\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#61afef\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#c8c8c859\\\",\\\"editorIndentGuide.background1\\\":\\\"#3b4048\\\",\\\"editorInlayHint.background\\\":\\\"#2c313c\\\",\\\"editorInlayHint.foreground\\\":\\\"#abb2bf\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#abb2bf\\\",\\\"editorLineNumber.foreground\\\":\\\"#495162\\\",\\\"editorMarkerNavigation.background\\\":\\\"#21252b\\\",\\\"editorOverviewRuler.addedBackground\\\":\\\"#109868\\\",\\\"editorOverviewRuler.deletedBackground\\\":\\\"#9A353D\\\",\\\"editorOverviewRuler.modifiedBackground\\\":\\\"#948B60\\\",\\\"editorRuler.foreground\\\":\\\"#abb2bf26\\\",\\\"editorSuggestWidget.background\\\":\\\"#21252b\\\",\\\"editorSuggestWidget.border\\\":\\\"#181a1f\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#2c313a\\\",\\\"editorWarning.foreground\\\":\\\"#d19a66\\\",\\\"editorWhitespace.foreground\\\":\\\"#ffffff1d\\\",\\\"editorWidget.background\\\":\\\"#21252b\\\",\\\"focusBorder\\\":\\\"#3e4452\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#636b78\\\",\\\"input.background\\\":\\\"#1d1f23\\\",\\\"input.foreground\\\":\\\"#abb2bf\\\",\\\"list.activeSelectionBackground\\\":\\\"#2c313a\\\",\\\"list.activeSelectionForeground\\\":\\\"#d7dae0\\\",\\\"list.focusBackground\\\":\\\"#323842\\\",\\\"list.focusForeground\\\":\\\"#f0f0f0\\\",\\\"list.highlightForeground\\\":\\\"#ecebeb\\\",\\\"list.hoverBackground\\\":\\\"#2c313a\\\",\\\"list.hoverForeground\\\":\\\"#abb2bf\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#323842\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#d7dae0\\\",\\\"list.warningForeground\\\":\\\"#d19a66\\\",\\\"menu.foreground\\\":\\\"#abb2bf\\\",\\\"menu.separatorBackground\\\":\\\"#343a45\\\",\\\"minimapGutter.addedBackground\\\":\\\"#109868\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#9A353D\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#948B60\\\",\\\"multiDiffEditor.headerBackground\\\":\\\"#21252b\\\",\\\"panel.border\\\":\\\"#3e4452\\\",\\\"panelSectionHeader.background\\\":\\\"#21252b\\\",\\\"peekViewEditor.background\\\":\\\"#1b1d23\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#29244b\\\",\\\"peekViewResult.background\\\":\\\"#22262b\\\",\\\"scrollbar.shadow\\\":\\\"#23252c\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#747d9180\\\",\\\"scrollbarSlider.background\\\":\\\"#4e566660\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#5a637580\\\",\\\"settings.focusedRowBackground\\\":\\\"#282c34\\\",\\\"settings.headerForeground\\\":\\\"#fff\\\",\\\"sideBar.background\\\":\\\"#21252b\\\",\\\"sideBar.foreground\\\":\\\"#abb2bf\\\",\\\"sideBarSectionHeader.background\\\":\\\"#282c34\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#abb2bf\\\",\\\"statusBar.background\\\":\\\"#21252b\\\",\\\"statusBar.debuggingBackground\\\":\\\"#cc6633\\\",\\\"statusBar.debuggingBorder\\\":\\\"#ff000000\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#9da5b4\\\",\\\"statusBar.noFolderBackground\\\":\\\"#21252b\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#4d78cc\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#f8fafd\\\",\\\"tab.activeBackground\\\":\\\"#282c34\\\",\\\"tab.activeBorder\\\":\\\"#b4b4b4\\\",\\\"tab.activeForeground\\\":\\\"#dcdcdc\\\",\\\"tab.border\\\":\\\"#181a1f\\\",\\\"tab.hoverBackground\\\":\\\"#323842\\\",\\\"tab.inactiveBackground\\\":\\\"#21252b\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#323842\\\",\\\"terminal.ansiBlack\\\":\\\"#3f4451\\\",\\\"terminal.ansiBlue\\\":\\\"#4aa5f0\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#4f5666\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#4dc4ff\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#4cd1e0\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#a5e075\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#de73ff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ff616e\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#e6e6e6\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#f0a45d\\\",\\\"terminal.ansiCyan\\\":\\\"#42b3c2\\\",\\\"terminal.ansiGreen\\\":\\\"#8cc265\\\",\\\"terminal.ansiMagenta\\\":\\\"#c162de\\\",\\\"terminal.ansiRed\\\":\\\"#e05561\\\",\\\"terminal.ansiWhite\\\":\\\"#d7dae0\\\",\\\"terminal.ansiYellow\\\":\\\"#d18f52\\\",\\\"terminal.background\\\":\\\"#282c34\\\",\\\"terminal.border\\\":\\\"#3e4452\\\",\\\"terminal.foreground\\\":\\\"#abb2bf\\\",\\\"terminal.selectionBackground\\\":\\\"#abb2bf30\\\",\\\"textBlockQuote.background\\\":\\\"#2e3440\\\",\\\"textBlockQuote.border\\\":\\\"#4b5362\\\",\\\"textLink.foreground\\\":\\\"#61afef\\\",\\\"textPreformat.foreground\\\":\\\"#d19a66\\\",\\\"titleBar.activeBackground\\\":\\\"#282c34\\\",\\\"titleBar.activeForeground\\\":\\\"#9da5b4\\\",\\\"titleBar.inactiveBackground\\\":\\\"#282c34\\\",\\\"titleBar.inactiveForeground\\\":\\\"#6b717d\\\",\\\"tree.indentGuidesStroke\\\":\\\"#ffffff1d\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#2e3440\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#404754\\\"},\\\"displayName\\\":\\\"One Dark Pro\\\",\\\"name\\\":\\\"one-dark-pro\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"annotation:dart\\\":{\\\"foreground\\\":\\\"#d19a66\\\"},\\\"enumMember\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"},\\\"macro\\\":{\\\"foreground\\\":\\\"#d19a66\\\"},\\\"memberOperatorOverload\\\":{\\\"foreground\\\":\\\"#c678dd\\\"},\\\"parameter.label:dart\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"},\\\"property:dart\\\":{\\\"foreground\\\":\\\"#d19a66\\\"},\\\"tomlArrayKey\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"},\\\"variable.constant\\\":{\\\"foreground\\\":\\\"#d19a66\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"},\\\"variable:dart\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":\\\"meta.embedded\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"variable.other.generic-type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"storage.type.haskell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"support.variable.magic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.special.self.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.special.cls.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"storage.modifier.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.function.std.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"entity.name.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.language.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.constant.edge\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"constant.other.character-class.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"keyword.operator.word\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"comment markup.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6370\\\"}},{\\\"scope\\\":\\\"markup.changed.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"markup.inserted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"markup.deleted.diff\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"meta.function.c,meta.function.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.import\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"support.constant.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"support.constant.property.math\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"variable.other.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"storage.type.annotation.java\\\",\\\"storage.type.object.array.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"source.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"meta.method.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.java,storage.type.java,storage.type.generic.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"keyword.operator.instanceof.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"meta.definition.variable.name.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.bitwise\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.channel\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.constant.property-value.scss,support.constant.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"keyword.operator.css,keyword.operator.scss,keyword.operator.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"punctuation.separator.list.comma.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.constant.color.w3c-standard-color-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"support.type.vendored.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.module.node,support.type.object.module,support.module.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"entity.name.type.module\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.constant.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.instanceof\\\",\\\"keyword.operator.new\\\",\\\"keyword.operator.ternary\\\",\\\"keyword.operator.optional\\\",\\\"keyword.operator.expression.keyof\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"support.type.object.console\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.variable.property.process\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"entity.name.function,support.function.console\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"keyword.operator.misc.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"keyword.operator.sigil.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.delete\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"support.type.object.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.variable.dom,support.variable.property.dom\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"punctuation.separator.delimiter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.separator.c,punctuation.separator.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"support.type.posix-reserved.c,support.type.posix-reserved.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.language.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"support.type.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"variable.parameter.function.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.compound\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"entity.name.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"variable.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"token.variable.parameter.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"import.storage.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"token.package.keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"token.package\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"meta.require\\\",\\\"support.function.any-method\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"entity.name.type.namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"support.class, entity.name.type.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"entity.name.class.identifier.namespace.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"variable.other.class.js\\\",\\\"variable.other.class.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.other.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"entity.name.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"control.elements, keyword.operator.less\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"keyword.other.special-method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"token.storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"token.storage.type.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.constant.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.constant.font-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"meta.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"punctuation.definition.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"meta.selector\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.heading punctuation.definition.heading, entity.name.section\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.bold,todo.bold\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"markup.italic, punctuation.definition.italic,todo.emphasis\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"emphasis md\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"entity.name.section.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"punctuation.definition.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.definition.metadata.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.underline.link.markdown,markup.underline.link.image.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown,string.other.link.description.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"markup.raw.monospace.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"punctuation.definition.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"markup.list.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"markup.link.asciidoc,markup.other.url.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"string.unquoted.asciidoc,markup.other.url.asciidoc\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded, variable.interpolation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded.begin,punctuation.section.embedded.end\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.illegal.bad-ampersand.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"invalid.illegal.unrecognized-tag.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"invalid.deprecated.entity.other.attribute-name.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > string.quoted.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"keyword.operator.error-control.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.type.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"punctuation.section.array.begin.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"punctuation.section.array.end.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"invalid.illegal.non-null-typehinted.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"support.constant.core.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"entity.name.goto-label.php,support.other.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.regexp.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"keyword.operator.comparison.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"keyword.operator.heredoc.php,keyword.operator.nowdoc.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"meta.function.decorator.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"support.token.decorator.python,meta.function.decorator.identifier.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"function.parameter\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"function.brace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"function.parameter.ruby, function.parameter.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"constant.language.symbol.hashkey.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":\\\"inline-color-decoration rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"less rgb-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"selector.sass\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"block.scope.end,block.scope.begin\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"storage.type.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"entity.name.variable.local.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"keyword.operator.module\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"support.type.type.flowtype\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"support.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"meta.property.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"keyword.other.template.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"keyword.other.template.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"keyword.other.substitution.begin\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"keyword.other.substitution.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"keyword.operator.arithmetic.go\\\",\\\"keyword.operator.address.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"keyword.operator.arithmetic.c\\\",\\\"keyword.operator.arithmetic.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"entity.name.package.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"support.type.prelude.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"support.constant.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":[\\\"punctuation.quasi.element\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"constant.character.entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-element\\\",\\\"entity.other.attribute-name.pseudo-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"entity.global.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"meta.symbol.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"constant.keyword.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"meta.arguments.coffee\\\",\\\"variable.parameter.function.coffee\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"source.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"meta.scope.prerequisites.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"source.makefile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"meta.method.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"meta.definition.variable.name.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"meta.definition.class.inherited.classes.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"support.variable.semantic.hlsl\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"support.type.texture.hlsl\\\",\\\"support.type.sampler.hlsl\\\",\\\"support.type.object.hlsl\\\",\\\"support.type.object.rw.hlsl\\\",\\\"support.type.fx.hlsl\\\",\\\"support.type.object.hlsl\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"text.variable\\\",\\\"text.bracketed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"support.type.swift\\\",\\\"support.type.vb.asp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.function.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.class.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"constant.character.character-class.regexp.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"constant.regexp.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"keyword.control.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"invalid.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.quote.markdown.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7f848e\\\"}},{\\\"scope\\\":[\\\"constant.character.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"accent.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"wikiword.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":[\\\"constant.other.color.rgb-value.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag.xi\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6370\\\"}},{\\\"scope\\\":[\\\"entity.name.label.cs\\\",\\\"entity.name.scope-resolution.function.call\\\",\\\"entity.name.scope-resolution.function.definition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.label.cs\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.setext.2.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\" meta.brace.square\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":\\\"comment, punctuation.definition.comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#7f848e\\\"}},{\\\"scope\\\":\\\"markup.quote.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5c6370\\\"}},{\\\"scope\\\":\\\"punctuation.definition.block.sequence.item.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"constant.language.symbol.elixir\\\",\\\"constant.language.symbol.double-quoted.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"entity.name.variable.parameter.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"entity.name.variable.field.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.end.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#BE5046\\\"}},{\\\"scope\\\":[\\\"support.other.namespace.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.latex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"variable.other.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#abb2bf\\\"}},{\\\"scope\\\":[\\\"constant.numeric.decimal.asm.x86_64\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":[\\\"support.other.parenthesis.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d19a66\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56b6c2\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"log.info\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":[\\\"log.warning\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e5c07b\\\"}},{\\\"scope\\\":[\\\"log.error\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":\\\"keyword.operator.expression.is\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c678dd\\\"}},{\\\"scope\\\":\\\"entity.name.label\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e06c75\\\"}},{\\\"scope\\\":[\\\"support.class.math.block.environment.latex\\\",\\\"constant.other.general.math.tex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61afef\\\"}},{\\\"scope\\\":[\\\"constant.character.math.tex\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98c379\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"comment.line.double-slash,comment.block.documentation\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: one-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#FAFAFA\\\",\\\"activityBar.foreground\\\":\\\"#121417\\\",\\\"activityBarBadge.background\\\":\\\"#526FFF\\\",\\\"activityBarBadge.foreground\\\":\\\"#FFFFFF\\\",\\\"badge.background\\\":\\\"#526FFF\\\",\\\"badge.foreground\\\":\\\"#FFFFFF\\\",\\\"button.background\\\":\\\"#5871EF\\\",\\\"button.foreground\\\":\\\"#FFFFFF\\\",\\\"button.hoverBackground\\\":\\\"#6B83ED\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#00809B33\\\",\\\"dropdown.background\\\":\\\"#FFFFFF\\\",\\\"dropdown.border\\\":\\\"#DBDBDC\\\",\\\"editor.background\\\":\\\"#FAFAFA\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#526FFF33\\\",\\\"editor.foreground\\\":\\\"#383A42\\\",\\\"editor.lineHighlightBackground\\\":\\\"#383A420C\\\",\\\"editor.selectionBackground\\\":\\\"#E5E5E6\\\",\\\"editorCursor.foreground\\\":\\\"#526FFF\\\",\\\"editorGroup.background\\\":\\\"#EAEAEB\\\",\\\"editorGroup.border\\\":\\\"#DBDBDC\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#EAEAEB\\\",\\\"editorHoverWidget.background\\\":\\\"#EAEAEB\\\",\\\"editorHoverWidget.border\\\":\\\"#DBDBDC\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#626772\\\",\\\"editorIndentGuide.background\\\":\\\"#383A4233\\\",\\\"editorInlayHint.background\\\":\\\"#F5F5F5\\\",\\\"editorInlayHint.foreground\\\":\\\"#AFB2BB\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#383A42\\\",\\\"editorLineNumber.foreground\\\":\\\"#9D9D9F\\\",\\\"editorRuler.foreground\\\":\\\"#383A4233\\\",\\\"editorSuggestWidget.background\\\":\\\"#EAEAEB\\\",\\\"editorSuggestWidget.border\\\":\\\"#DBDBDC\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#FFFFFF\\\",\\\"editorWhitespace.foreground\\\":\\\"#383A4233\\\",\\\"editorWidget.background\\\":\\\"#EAEAEB\\\",\\\"editorWidget.border\\\":\\\"#E5E5E6\\\",\\\"extensionButton.prominentBackground\\\":\\\"#3BBA54\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#4CC263\\\",\\\"focusBorder\\\":\\\"#526FFF\\\",\\\"input.background\\\":\\\"#FFFFFF\\\",\\\"input.border\\\":\\\"#DBDBDC\\\",\\\"list.activeSelectionBackground\\\":\\\"#DBDBDC\\\",\\\"list.activeSelectionForeground\\\":\\\"#232324\\\",\\\"list.focusBackground\\\":\\\"#DBDBDC\\\",\\\"list.highlightForeground\\\":\\\"#121417\\\",\\\"list.hoverBackground\\\":\\\"#DBDBDC66\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#DBDBDC\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#232324\\\",\\\"notebook.cellEditorBackground\\\":\\\"#F5F5F5\\\",\\\"notification.background\\\":\\\"#333333\\\",\\\"peekView.border\\\":\\\"#526FFF\\\",\\\"peekViewEditor.background\\\":\\\"#FFFFFF\\\",\\\"peekViewResult.background\\\":\\\"#EAEAEB\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#DBDBDC\\\",\\\"peekViewTitle.background\\\":\\\"#FFFFFF\\\",\\\"pickerGroup.border\\\":\\\"#526FFF\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#747D9180\\\",\\\"scrollbarSlider.background\\\":\\\"#4E566680\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#5A637580\\\",\\\"sideBar.background\\\":\\\"#EAEAEB\\\",\\\"sideBarSectionHeader.background\\\":\\\"#FAFAFA\\\",\\\"statusBar.background\\\":\\\"#EAEAEB\\\",\\\"statusBar.debuggingForeground\\\":\\\"#FFFFFF\\\",\\\"statusBar.foreground\\\":\\\"#424243\\\",\\\"statusBar.noFolderBackground\\\":\\\"#EAEAEB\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#DBDBDC\\\",\\\"tab.activeBackground\\\":\\\"#FAFAFA\\\",\\\"tab.activeForeground\\\":\\\"#121417\\\",\\\"tab.border\\\":\\\"#DBDBDC\\\",\\\"tab.inactiveBackground\\\":\\\"#EAEAEB\\\",\\\"titleBar.activeBackground\\\":\\\"#EAEAEB\\\",\\\"titleBar.activeForeground\\\":\\\"#424243\\\",\\\"titleBar.inactiveBackground\\\":\\\"#EAEAEB\\\",\\\"titleBar.inactiveForeground\\\":\\\"#424243\\\"},\\\"displayName\\\":\\\"One Light\\\",\\\"name\\\":\\\"one-light\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#A0A1A7\\\"}},{\\\"scope\\\":[\\\"comment markup.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A1A7\\\"}},{\\\"scope\\\":[\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"storage\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"storage.type.annotation\\\",\\\"storage.type.primitive\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"constant.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"constant.other.symbol\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"variable.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CA1243\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":[\\\"string > source\\\",\\\"string embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"string.regexp source.ruby.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A1A7\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.method-parameters\\\",\\\"punctuation.definition.function-parameters\\\",\\\"punctuation.definition.parameters\\\",\\\"punctuation.definition.separator\\\",\\\"punctuation.definition.seperator\\\",\\\"punctuation.definition.array\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.heading\\\",\\\"punctuation.definition.identity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.bold\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CA1243\\\"}},{\\\"scope\\\":[\\\"punctuation.section.method\\\",\\\"punctuation.section.class\\\",\\\"punctuation.section.inner-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"support.function.any-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.name.type.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"entity.name.section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.id\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"meta.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"meta.class.body\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.method-call\\\",\\\"meta.method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"meta.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"meta.require\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"meta.selector\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"underline\\\"],\\\"settings\\\":{\\\"text-decoration\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"none\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"invalid.deprecated\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#F2A60D\\\",\\\"foreground\\\":\\\"#000000\\\"}},{\\\"scope\\\":[\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#FF1414\\\",\\\"foreground\\\":\\\"white\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"markup.heading punctuation.definition.heading\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"markup.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"markup.raw\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":[\\\"source.c keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.cpp keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.cs keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.css property-name\\\",\\\"source.css property-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#696C77\\\"}},{\\\"scope\\\":[\\\"source.css property-name.support\\\",\\\"source.css property-value.support\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.elixir source.embedded.source\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.elixir constant.language\\\",\\\"source.elixir constant.numeric\\\",\\\"source.elixir constant.definition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"source.elixir variable.definition\\\",\\\"source.elixir variable.anonymous\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.elixir parameter.variable.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"source.elixir quoted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":[\\\"source.elixir keyword.special-method\\\",\\\"source.elixir embedded.section\\\",\\\"source.elixir embedded.source.empty\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"source.elixir readwrite.module punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"source.elixir regexp.section\\\",\\\"source.elixir regexp.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CA1243\\\"}},{\\\"scope\\\":[\\\"source.elixir separator\\\",\\\"source.elixir keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"source.elixir variable.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"source.elixir array\\\",\\\"source.elixir scope\\\",\\\"source.elixir section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#696C77\\\"}},{\\\"scope\\\":[\\\"source.gfm markup\\\"],\\\"settings\\\":{\\\"-webkit-font-smoothing\\\":\\\"auto\\\"}},{\\\"scope\\\":[\\\"source.gfm link entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"source.go storage.type.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.ini keyword.other.definition.ini\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"source.java storage.modifier.import\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"source.java storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"source.java keyword.operator.instanceof\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.java-properties meta.key-pair\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"source.java-properties meta.key-pair > punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.js keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"source.js keyword.operator.delete\\\",\\\"source.js keyword.operator.in\\\",\\\"source.js keyword.operator.of\\\",\\\"source.js keyword.operator.instanceof\\\",\\\"source.js keyword.operator.new\\\",\\\"source.js keyword.operator.typeof\\\",\\\"source.js keyword.operator.void\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.ts keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"source.flow keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json > string.quoted.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json > value.json > string.quoted.json\\\",\\\"source.json meta.structure.array.json > value.json > string.quoted.json\\\",\\\"source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation\\\",\\\"source.json meta.structure.array.json > value.json > string.quoted.json > punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json > constant.language.json\\\",\\\"source.json meta.structure.array.json > constant.language.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"ng.interpolation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"ng.interpolation.begin\\\",\\\"ng.interpolation.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"ng.interpolation function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"ng.interpolation function.begin\\\",\\\"ng.interpolation function.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":[\\\"ng.interpolation bool\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"ng.interpolation bracket\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"ng.pipe\\\",\\\"ng.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"ng.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"ng.attribute-with-value attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"ng.attribute-with-value string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"ng.attribute-with-value string.begin\\\",\\\"ng.attribute-with-value string.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.ruby constant.other.symbol > punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"inherit\\\"}},{\\\"scope\\\":[\\\"source.php class.bracket\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.python keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.python variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"customrule\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"support.type.property-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"string.quoted.double punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"support.type.property-name.json punctuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"punctuation.separator.key-value.ts\\\",\\\"punctuation.separator.key-value.js\\\",\\\"punctuation.separator.key-value.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"source.js.embedded.html keyword.operator\\\",\\\"source.ts.embedded.html keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"variable.other.readwrite.js\\\",\\\"variable.other.readwrite.ts\\\",\\\"variable.other.readwrite.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"support.variable.dom.js\\\",\\\"support.variable.dom.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"support.variable.property.dom.js\\\",\\\"support.variable.property.dom.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"meta.template.expression.js punctuation.definition\\\",\\\"meta.template.expression.ts punctuation.definition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CA1243\\\"}},{\\\"scope\\\":[\\\"source.ts punctuation.definition.typeparameters\\\",\\\"source.js punctuation.definition.typeparameters\\\",\\\"source.tsx punctuation.definition.typeparameters\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.ts punctuation.definition.block\\\",\\\"source.js punctuation.definition.block\\\",\\\"source.tsx punctuation.definition.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.ts punctuation.separator.comma\\\",\\\"source.js punctuation.separator.comma\\\",\\\"source.tsx punctuation.separator.comma\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"support.variable.property.js\\\",\\\"support.variable.property.ts\\\",\\\"support.variable.property.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"keyword.control.default.js\\\",\\\"keyword.control.default.ts\\\",\\\"keyword.control.default.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.instanceof.js\\\",\\\"keyword.operator.expression.instanceof.ts\\\",\\\"keyword.operator.expression.instanceof.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.of.js\\\",\\\"keyword.operator.expression.of.ts\\\",\\\"keyword.operator.expression.of.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"meta.brace.round.js\\\",\\\"meta.array-binding-pattern-variable.js\\\",\\\"meta.brace.square.js\\\",\\\"meta.brace.round.ts\\\",\\\"meta.array-binding-pattern-variable.ts\\\",\\\"meta.brace.square.ts\\\",\\\"meta.brace.round.tsx\\\",\\\"meta.array-binding-pattern-variable.tsx\\\",\\\"meta.brace.square.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.js punctuation.accessor\\\",\\\"source.ts punctuation.accessor\\\",\\\"source.tsx punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"punctuation.terminator.statement.js\\\",\\\"punctuation.terminator.statement.ts\\\",\\\"punctuation.terminator.statement.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.array-binding-pattern-variable.js variable.other.readwrite.js\\\",\\\"meta.array-binding-pattern-variable.ts variable.other.readwrite.ts\\\",\\\"meta.array-binding-pattern-variable.tsx variable.other.readwrite.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"source.js support.variable\\\",\\\"source.ts support.variable\\\",\\\"source.tsx support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.property.js\\\",\\\"variable.other.constant.property.ts\\\",\\\"variable.other.constant.property.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"keyword.operator.new.ts\\\",\\\"keyword.operator.new.j\\\",\\\"keyword.operator.new.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"source.ts keyword.operator\\\",\\\"source.tsx keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"punctuation.separator.parameter.js\\\",\\\"punctuation.separator.parameter.ts\\\",\\\"punctuation.separator.parameter.tsx \\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"constant.language.import-export-all.js\\\",\\\"constant.language.import-export-all.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"constant.language.import-export-all.jsx\\\",\\\"constant.language.import-export-all.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"keyword.control.as.js\\\",\\\"keyword.control.as.ts\\\",\\\"keyword.control.as.jsx\\\",\\\"keyword.control.as.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"variable.other.readwrite.alias.js\\\",\\\"variable.other.readwrite.alias.ts\\\",\\\"variable.other.readwrite.alias.jsx\\\",\\\"variable.other.readwrite.alias.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.js\\\",\\\"variable.other.constant.ts\\\",\\\"variable.other.constant.jsx\\\",\\\"variable.other.constant.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"meta.export.default.js variable.other.readwrite.js\\\",\\\"meta.export.default.ts variable.other.readwrite.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"source.js meta.template.expression.js punctuation.accessor\\\",\\\"source.ts meta.template.expression.ts punctuation.accessor\\\",\\\"source.tsx meta.template.expression.tsx punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":[\\\"source.js meta.import-equals.external.js keyword.operator\\\",\\\"source.jsx meta.import-equals.external.jsx keyword.operator\\\",\\\"source.ts meta.import-equals.external.ts keyword.operator\\\",\\\"source.tsx meta.import-equals.external.tsx keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"entity.name.type.module.js,entity.name.type.module.ts,entity.name.type.module.jsx,entity.name.type.module.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":\\\"meta.class.js,meta.class.ts,meta.class.jsx,meta.class.tsx\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.definition.property.js variable\\\",\\\"meta.definition.property.ts variable\\\",\\\"meta.definition.property.jsx variable\\\",\\\"meta.definition.property.tsx variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.type.parameters.js support.type\\\",\\\"meta.type.parameters.jsx support.type\\\",\\\"meta.type.parameters.ts support.type\\\",\\\"meta.type.parameters.tsx support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"source.js meta.tag.js keyword.operator\\\",\\\"source.jsx meta.tag.jsx keyword.operator\\\",\\\"source.ts meta.tag.ts keyword.operator\\\",\\\"source.tsx meta.tag.tsx keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.tag.js punctuation.section.embedded\\\",\\\"meta.tag.jsx punctuation.section.embedded\\\",\\\"meta.tag.ts punctuation.section.embedded\\\",\\\"meta.tag.tsx punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.array.literal.js variable\\\",\\\"meta.array.literal.jsx variable\\\",\\\"meta.array.literal.ts variable\\\",\\\"meta.array.literal.tsx variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":[\\\"support.type.object.module.js\\\",\\\"support.type.object.module.jsx\\\",\\\"support.type.object.module.ts\\\",\\\"support.type.object.module.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":[\\\"constant.language.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.object.js\\\",\\\"variable.other.constant.object.jsx\\\",\\\"variable.other.constant.object.ts\\\",\\\"variable.other.constant.object.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":[\\\"storage.type.property.js\\\",\\\"storage.type.property.jsx\\\",\\\"storage.type.property.ts\\\",\\\"storage.type.property.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":[\\\"meta.template.expression.js string.quoted punctuation.definition\\\",\\\"meta.template.expression.jsx string.quoted punctuation.definition\\\",\\\"meta.template.expression.ts string.quoted punctuation.definition\\\",\\\"meta.template.expression.tsx string.quoted punctuation.definition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":[\\\"meta.template.expression.js string.template punctuation.definition.string.template\\\",\\\"meta.template.expression.jsx string.template punctuation.definition.string.template\\\",\\\"meta.template.expression.ts string.template punctuation.definition.string.template\\\",\\\"meta.template.expression.tsx string.template punctuation.definition.string.template\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":[\\\"keyword.operator.expression.in.js\\\",\\\"keyword.operator.expression.in.jsx\\\",\\\"keyword.operator.expression.in.ts\\\",\\\"keyword.operator.expression.in.tsx\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"variable.other.object.js\\\",\\\"variable.other.object.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key.js\\\",\\\"meta.object-literal.key.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"source.python constant.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"source.python constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"constant.character.format.placeholder.other.python storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"support.variable.magic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"meta.function.parameters.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"punctuation.separator.annotation.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"punctuation.separator.parameters.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"entity.name.variable.field.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"source.cs keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"variable.other.readwrite.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"variable.other.object.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"variable.other.object.property.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"entity.name.variable.property.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":\\\"storage.type.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":\\\"keyword.other.unsafe.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":\\\"entity.name.type.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":\\\"storage.modifier.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"entity.name.lifetime.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"storage.type.core.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":\\\"meta.attribute.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"storage.class.std.rust\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0184BC\\\"}},{\\\"scope\\\":\\\"markup.raw.block.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable.shell\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"support.constant.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"punctuation.definition.constant.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"punctuation.definition.constant.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"meta.property-list.scss punctuation.separator.key-value.scss\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"storage.type.primitive.array.java\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C18401\\\"}},{\\\"scope\\\":\\\"entity.name.section.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"punctuation.definition.heading.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"punctuation.definition.bold.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":\\\"beginning.punctuation.definition.list.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"markup.quote.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#A0A1A7\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}},{\\\"scope\\\":\\\"punctuation.definition.metadata.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.markdown\\\",\\\"markup.underline.link.image.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A626A4\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\",\\\"string.other.link.description.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4078F2\\\"}},{\\\"scope\\\":\\\"punctuation.separator.variable.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"variable.other.constant.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#986801\\\"}},{\\\"scope\\\":\\\"keyword.operator.other.ruby\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#50A14F\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#E45649\\\"}},{\\\"scope\\\":\\\"meta.class.php\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#383A42\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: plastic */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#1085FF\\\",\\\"activityBar.background\\\":\\\"#21252B\\\",\\\"activityBar.border\\\":\\\"#0D1117\\\",\\\"activityBar.foreground\\\":\\\"#C6CCD7\\\",\\\"activityBar.inactiveForeground\\\":\\\"#5F6672\\\",\\\"activityBarBadge.background\\\":\\\"#E06C75\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.focusForeground\\\":\\\"#C6CCD7\\\",\\\"breadcrumb.foreground\\\":\\\"#5F6672\\\",\\\"button.background\\\":\\\"#E06C75\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#E48189\\\",\\\"button.secondaryBackground\\\":\\\"#0D1117\\\",\\\"button.secondaryForeground\\\":\\\"#ffffff\\\",\\\"checkbox.background\\\":\\\"#61AFEF\\\",\\\"checkbox.foreground\\\":\\\"#ffffff\\\",\\\"contrastBorder\\\":\\\"#0D1117\\\",\\\"debugToolBar.background\\\":\\\"#181A1F\\\",\\\"diffEditor.border\\\":\\\"#0D1117\\\",\\\"diffEditor.diagonalFill\\\":\\\"#0D1117\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#CBF6AC0D\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#CBF6AC1A\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#FF9FA80D\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#FF9FA81A\\\",\\\"dropdown.background\\\":\\\"#181A1F\\\",\\\"dropdown.border\\\":\\\"#0D1117\\\",\\\"editor.background\\\":\\\"#21252B\\\",\\\"editor.findMatchBackground\\\":\\\"#00000000\\\",\\\"editor.findMatchBorder\\\":\\\"#1085FF\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00000000\\\",\\\"editor.findMatchHighlightBorder\\\":\\\"#C6CCD7\\\",\\\"editor.foreground\\\":\\\"#A9B2C3\\\",\\\"editor.lineHighlightBackground\\\":\\\"#A9B2C31A\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.linkedEditingBackground\\\":\\\"#0D1117\\\",\\\"editor.rangeHighlightBorder\\\":\\\"#C6CCD7\\\",\\\"editor.selectionBackground\\\":\\\"#A9B2C333\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#A9B2C31A\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#C6CCD7\\\",\\\"editor.wordHighlightBackground\\\":\\\"#00000000\\\",\\\"editor.wordHighlightBorder\\\":\\\"#1085FF\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#00000000\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#1085FF\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#A9B2C3\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#61AFEF\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#E5C07B\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#E06C75\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#98C379\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#B57EDC\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#D74E42\\\",\\\"editorBracketMatch.background\\\":\\\"#00000000\\\",\\\"editorBracketMatch.border\\\":\\\"#1085FF\\\",\\\"editorCursor.foreground\\\":\\\"#A9B2C3\\\",\\\"editorError.foreground\\\":\\\"#D74E42\\\",\\\"editorGroup.border\\\":\\\"#0D1117\\\",\\\"editorGroup.emptyBackground\\\":\\\"#181A1F\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#181A1F\\\",\\\"editorGutter.addedBackground\\\":\\\"#98C379\\\",\\\"editorGutter.deletedBackground\\\":\\\"#E06C75\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#D19A66\\\",\\\"editorHoverWidget.background\\\":\\\"#181A1F\\\",\\\"editorHoverWidget.border\\\":\\\"#1085FF\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#A9B2C333\\\",\\\"editorIndentGuide.background\\\":\\\"#0D1117\\\",\\\"editorInfo.foreground\\\":\\\"#1085FF\\\",\\\"editorInlayHint.background\\\":\\\"#00000000\\\",\\\"editorInlayHint.foreground\\\":\\\"#5F6672\\\",\\\"editorLightBulb.foreground\\\":\\\"#E9D16C\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#1085FF\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#C6CCD7\\\",\\\"editorLineNumber.foreground\\\":\\\"#5F6672\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#98C379\\\",\\\"editorOverviewRuler.border\\\":\\\"#0D1117\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#E06C75\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#D74E42\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#1085FF\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#1085FF\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#D19A66\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#E9D16C\\\",\\\"editorRuler.foreground\\\":\\\"#0D1117\\\",\\\"editorStickyScroll.background\\\":\\\"#181A1F\\\",\\\"editorStickyScrollHover.background\\\":\\\"#21252B\\\",\\\"editorSuggestWidget.background\\\":\\\"#181A1F\\\",\\\"editorSuggestWidget.border\\\":\\\"#1085FF\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#A9B2C31A\\\",\\\"editorWarning.foreground\\\":\\\"#E9D16C\\\",\\\"editorWhitespace.foreground\\\":\\\"#A9B2C31A\\\",\\\"editorWidget.background\\\":\\\"#181A1F\\\",\\\"errorForeground\\\":\\\"#D74E42\\\",\\\"focusBorder\\\":\\\"#1085FF\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#E06C75\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#5F6672\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#D19A66\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#98C379\\\",\\\"input.background\\\":\\\"#0D1117\\\",\\\"inputOption.activeBorder\\\":\\\"#1085FF\\\",\\\"inputValidation.errorBackground\\\":\\\"#D74E42\\\",\\\"inputValidation.errorBorder\\\":\\\"#D74E42\\\",\\\"inputValidation.infoBackground\\\":\\\"#1085FF\\\",\\\"inputValidation.infoBorder\\\":\\\"#1085FF\\\",\\\"inputValidation.infoForeground\\\":\\\"#0D1117\\\",\\\"inputValidation.warningBackground\\\":\\\"#E9D16C\\\",\\\"inputValidation.warningBorder\\\":\\\"#E9D16C\\\",\\\"inputValidation.warningForeground\\\":\\\"#0D1117\\\",\\\"list.activeSelectionBackground\\\":\\\"#A9B2C333\\\",\\\"list.activeSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.errorForeground\\\":\\\"#D74E42\\\",\\\"list.focusBackground\\\":\\\"#A9B2C333\\\",\\\"list.hoverBackground\\\":\\\"#A9B2C31A\\\",\\\"list.inactiveFocusOutline\\\":\\\"#5F6672\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#A9B2C333\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#C6CCD7\\\",\\\"list.warningForeground\\\":\\\"#E9D16C\\\",\\\"minimap.findMatchHighlight\\\":\\\"#1085FF\\\",\\\"minimap.selectionHighlight\\\":\\\"#C6CCD7\\\",\\\"minimapGutter.addedBackground\\\":\\\"#98C379\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#E06C75\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#D19A66\\\",\\\"notificationCenter.border\\\":\\\"#0D1117\\\",\\\"notificationCenterHeader.background\\\":\\\"#181A1F\\\",\\\"notificationToast.border\\\":\\\"#0D1117\\\",\\\"notifications.background\\\":\\\"#181A1F\\\",\\\"notifications.border\\\":\\\"#0D1117\\\",\\\"panel.background\\\":\\\"#181A1F\\\",\\\"panel.border\\\":\\\"#0D1117\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#5F6672\\\",\\\"peekView.border\\\":\\\"#1085FF\\\",\\\"peekViewEditor.background\\\":\\\"#181A1F\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#A9B2C333\\\",\\\"peekViewResult.background\\\":\\\"#181A1F\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#A9B2C333\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#A9B2C31A\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#C6CCD7\\\",\\\"peekViewTitle.background\\\":\\\"#181A1F\\\",\\\"sash.hoverBorder\\\":\\\"#A9B2C333\\\",\\\"scrollbar.shadow\\\":\\\"#00000000\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#A9B2C333\\\",\\\"scrollbarSlider.background\\\":\\\"#A9B2C31A\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#A9B2C333\\\",\\\"sideBar.background\\\":\\\"#181A1F\\\",\\\"sideBar.border\\\":\\\"#0D1117\\\",\\\"sideBar.foreground\\\":\\\"#C6CCD7\\\",\\\"sideBarSectionHeader.background\\\":\\\"#21252B\\\",\\\"statusBar.background\\\":\\\"#21252B\\\",\\\"statusBar.border\\\":\\\"#0D1117\\\",\\\"statusBar.debuggingBackground\\\":\\\"#21252B\\\",\\\"statusBar.debuggingBorder\\\":\\\"#56B6C2\\\",\\\"statusBar.debuggingForeground\\\":\\\"#A9B2C3\\\",\\\"statusBar.focusBorder\\\":\\\"#A9B2C3\\\",\\\"statusBar.foreground\\\":\\\"#A9B2C3\\\",\\\"statusBar.noFolderBackground\\\":\\\"#181A1F\\\",\\\"statusBarItem.activeBackground\\\":\\\"#0D1117\\\",\\\"statusBarItem.errorBackground\\\":\\\"#21252B\\\",\\\"statusBarItem.errorForeground\\\":\\\"#D74E42\\\",\\\"statusBarItem.focusBorder\\\":\\\"#A9B2C3\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#181A1F\\\",\\\"statusBarItem.hoverForeground\\\":\\\"#A9B2C3\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#21252B\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#B57EDC\\\",\\\"statusBarItem.warningBackground\\\":\\\"#21252B\\\",\\\"statusBarItem.warningForeground\\\":\\\"#E9D16C\\\",\\\"tab.activeBackground\\\":\\\"#21252B\\\",\\\"tab.activeBorderTop\\\":\\\"#1085FF\\\",\\\"tab.activeForeground\\\":\\\"#C6CCD7\\\",\\\"tab.border\\\":\\\"#0D1117\\\",\\\"tab.inactiveBackground\\\":\\\"#181A1F\\\",\\\"tab.inactiveForeground\\\":\\\"#5F6672\\\",\\\"tab.lastPinnedBorder\\\":\\\"#A9B2C333\\\",\\\"terminal.ansiBlack\\\":\\\"#5F6672\\\",\\\"terminal.ansiBlue\\\":\\\"#61AFEF\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#5F6672\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#61AFEF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#56B6C2\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#98C379\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#B57EDC\\\",\\\"terminal.ansiBrightRed\\\":\\\"#E06C75\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#A9B2C3\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#E5C07B\\\",\\\"terminal.ansiCyan\\\":\\\"#56B6C2\\\",\\\"terminal.ansiGreen\\\":\\\"#98C379\\\",\\\"terminal.ansiMagenta\\\":\\\"#B57EDC\\\",\\\"terminal.ansiRed\\\":\\\"#E06C75\\\",\\\"terminal.ansiWhite\\\":\\\"#A9B2C3\\\",\\\"terminal.ansiYellow\\\":\\\"#E5C07B\\\",\\\"terminal.foreground\\\":\\\"#A9B2C3\\\",\\\"titleBar.activeBackground\\\":\\\"#21252B\\\",\\\"titleBar.activeForeground\\\":\\\"#C6CCD7\\\",\\\"titleBar.border\\\":\\\"#0D1117\\\",\\\"titleBar.inactiveBackground\\\":\\\"#21252B\\\",\\\"titleBar.inactiveForeground\\\":\\\"#5F6672\\\",\\\"toolbar.hoverBackground\\\":\\\"#A9B2C333\\\",\\\"widget.shadow\\\":\\\"#00000000\\\"},\\\"displayName\\\":\\\"Plastic\\\",\\\"name\\\":\\\"plastic\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"source.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5F6672\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"support.function\\\",\\\"meta.diff.range\\\",\\\"punctuation.definition.range.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B57EDC\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"punctuation.definition.keyword\\\",\\\"variable.language\\\",\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\",\\\"punctuation.definition.from-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E06C75\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56B6C2\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"support.class\\\",\\\"entity.name.namespace\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#61AFEF\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw.string\\\",\\\"string\\\",\\\"markup.inserted\\\",\\\"punctuation.definition.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.to-file.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#98C379\\\"}},{\\\"scope\\\":[\\\"entity.name.section\\\",\\\"entity.name.tag\\\",\\\"entity.name.type\\\",\\\"support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#E5C07B\\\"}},{\\\"scope\\\":[\\\"support.type.property-name\\\",\\\"support.variable\\\",\\\"variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C6CCD7\\\"}},{\\\"scope\\\":[\\\"entity.other\\\",\\\"punctuation.definition.entity\\\",\\\"support.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D19A66\\\"}},{\\\"scope\\\":[\\\"meta.brace\\\",\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A9B2C3\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"punctuation.definition.bold\\\",\\\"entity.other.attribute-name.id\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"markup.italic\\\",\\\"punctuation.definition.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: poimandres */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#a6accd\\\",\\\"activityBar.background\\\":\\\"#1b1e28\\\",\\\"activityBar.dropBorder\\\":\\\"#a6accd\\\",\\\"activityBar.foreground\\\":\\\"#a6accd\\\",\\\"activityBar.inactiveForeground\\\":\\\"#a6accd66\\\",\\\"activityBarBadge.background\\\":\\\"#303340\\\",\\\"activityBarBadge.foreground\\\":\\\"#e4f0fb\\\",\\\"badge.background\\\":\\\"#303340\\\",\\\"badge.foreground\\\":\\\"#e4f0fb\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#e4f0fb\\\",\\\"breadcrumb.background\\\":\\\"#00000000\\\",\\\"breadcrumb.focusForeground\\\":\\\"#e4f0fb\\\",\\\"breadcrumb.foreground\\\":\\\"#767c9dcc\\\",\\\"breadcrumbPicker.background\\\":\\\"#1b1e28\\\",\\\"button.background\\\":\\\"#303340\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#50647750\\\",\\\"button.secondaryBackground\\\":\\\"#a6accd\\\",\\\"button.secondaryForeground\\\":\\\"#ffffff\\\",\\\"button.secondaryHoverBackground\\\":\\\"#a6accd\\\",\\\"charts.blue\\\":\\\"#ADD7FF\\\",\\\"charts.foreground\\\":\\\"#a6accd\\\",\\\"charts.green\\\":\\\"#5DE4c7\\\",\\\"charts.lines\\\":\\\"#a6accd80\\\",\\\"charts.orange\\\":\\\"#89ddff\\\",\\\"charts.purple\\\":\\\"#f087bd\\\",\\\"charts.red\\\":\\\"#d0679d\\\",\\\"charts.yellow\\\":\\\"#fffac2\\\",\\\"checkbox.background\\\":\\\"#1b1e28\\\",\\\"checkbox.border\\\":\\\"#ffffff10\\\",\\\"checkbox.foreground\\\":\\\"#e4f0fb\\\",\\\"debugConsole.errorForeground\\\":\\\"#d0679d\\\",\\\"debugConsole.infoForeground\\\":\\\"#ADD7FF\\\",\\\"debugConsole.sourceForeground\\\":\\\"#a6accd\\\",\\\"debugConsole.warningForeground\\\":\\\"#fffac2\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#a6accd\\\",\\\"debugExceptionWidget.background\\\":\\\"#d0679d\\\",\\\"debugExceptionWidget.border\\\":\\\"#d0679d\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#fffac2\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#7390AA\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#d0679d\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#5fb3a1\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#7390AA\\\",\\\"debugIcon.continueForeground\\\":\\\"#ADD7FF\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#d0679d\\\",\\\"debugIcon.pauseForeground\\\":\\\"#ADD7FF\\\",\\\"debugIcon.restartForeground\\\":\\\"#5fb3a1\\\",\\\"debugIcon.startForeground\\\":\\\"#5fb3a1\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#ADD7FF\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#ADD7FF\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#ADD7FF\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#ADD7FF\\\",\\\"debugIcon.stopForeground\\\":\\\"#d0679d\\\",\\\"debugTokenExpression.boolean\\\":\\\"#89ddff\\\",\\\"debugTokenExpression.error\\\":\\\"#d0679d\\\",\\\"debugTokenExpression.name\\\":\\\"#e4f0fb\\\",\\\"debugTokenExpression.number\\\":\\\"#5fb3a1\\\",\\\"debugTokenExpression.string\\\":\\\"#89ddff\\\",\\\"debugTokenExpression.value\\\":\\\"#a6accd99\\\",\\\"debugToolBar.background\\\":\\\"#303340\\\",\\\"debugView.exceptionLabelBackground\\\":\\\"#d0679d\\\",\\\"debugView.exceptionLabelForeground\\\":\\\"#e4f0fb\\\",\\\"debugView.stateLabelBackground\\\":\\\"#303340\\\",\\\"debugView.stateLabelForeground\\\":\\\"#a6accd\\\",\\\"debugView.valueChangedHighlight\\\":\\\"#89ddff\\\",\\\"descriptionForeground\\\":\\\"#a6accdb3\\\",\\\"diffEditor.diagonalFill\\\":\\\"#a6accd33\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#50647715\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#d0679d20\\\",\\\"dropdown.background\\\":\\\"#1b1e28\\\",\\\"dropdown.border\\\":\\\"#ffffff10\\\",\\\"dropdown.foreground\\\":\\\"#e4f0fb\\\",\\\"editor.background\\\":\\\"#1b1e28\\\",\\\"editor.findMatchBackground\\\":\\\"#ADD7FF40\\\",\\\"editor.findMatchBorder\\\":\\\"#ADD7FF\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#ADD7FF40\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#ADD7FF40\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#7abd7a4d\\\",\\\"editor.foldBackground\\\":\\\"#717cb40b\\\",\\\"editor.foreground\\\":\\\"#a6accd\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#264f7840\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#717cb425\\\",\\\"editor.lineHighlightBackground\\\":\\\"#717cb425\\\",\\\"editor.lineHighlightBorder\\\":\\\"#00000000\\\",\\\"editor.linkedEditingBackground\\\":\\\"#d0679d4d\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#ffffff0b\\\",\\\"editor.selectionBackground\\\":\\\"#717cb425\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#00000000\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#ADD7FF80\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#525252\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#7c7c7c4d\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#ffff0033\\\",\\\"editor.symbolHighlightBackground\\\":\\\"#89ddff60\\\",\\\"editor.wordHighlightBackground\\\":\\\"#ADD7FF20\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#ADD7FF40\\\",\\\"editorBracketMatch.background\\\":\\\"#00000000\\\",\\\"editorBracketMatch.border\\\":\\\"#e4f0fb40\\\",\\\"editorCodeLens.foreground\\\":\\\"#a6accd\\\",\\\"editorCursor.foreground\\\":\\\"#a6accd\\\",\\\"editorError.foreground\\\":\\\"#d0679d\\\",\\\"editorGroup.border\\\":\\\"#00000030\\\",\\\"editorGroup.dropBackground\\\":\\\"#7390AA80\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#1b1e28\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#1b1e28\\\",\\\"editorGutter.addedBackground\\\":\\\"#5fb3a140\\\",\\\"editorGutter.background\\\":\\\"#1b1e28\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#a6accd\\\",\\\"editorGutter.deletedBackground\\\":\\\"#d0679d40\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#a6accd\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#ADD7FF20\\\",\\\"editorHint.foreground\\\":\\\"#7390AAb3\\\",\\\"editorHoverWidget.background\\\":\\\"#1b1e28\\\",\\\"editorHoverWidget.border\\\":\\\"#ffffff10\\\",\\\"editorHoverWidget.foreground\\\":\\\"#a6accd\\\",\\\"editorHoverWidget.statusBarBackground\\\":\\\"#202430\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#e3e4e229\\\",\\\"editorIndentGuide.background\\\":\\\"#303340\\\",\\\"editorInfo.foreground\\\":\\\"#ADD7FF\\\",\\\"editorInlineHint.background\\\":\\\"#a6accd\\\",\\\"editorInlineHint.foreground\\\":\\\"#1b1e28\\\",\\\"editorLightBulb.foreground\\\":\\\"#fffac2\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#ADD7FF\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#a6accd\\\",\\\"editorLineNumber.foreground\\\":\\\"#767c9d50\\\",\\\"editorLink.activeForeground\\\":\\\"#ADD7FF\\\",\\\"editorMarkerNavigation.background\\\":\\\"#2d2d30\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#d0679d\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#ADD7FF\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#fffac2\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#5fb3a199\\\",\\\"editorOverviewRuler.border\\\":\\\"#00000000\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#a0a0a0\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#a6accd66\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#5fb3a180\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#d0679d99\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#d0679db3\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#e4f0fb20\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#89ddff80\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#ADD7FF\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#89ddff99\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#89ddff99\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#a0a0a0cc\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#fffac2\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#a0a0a0cc\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#89ddffcc\\\",\\\"editorPane.background\\\":\\\"#1b1e28\\\",\\\"editorRuler.foreground\\\":\\\"#e4f0fb10\\\",\\\"editorSuggestWidget.background\\\":\\\"#1b1e28\\\",\\\"editorSuggestWidget.border\\\":\\\"#ffffff10\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#a6accd\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#5DE4c7\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#00000050\\\",\\\"editorUnnecessaryCode.opacity\\\":\\\"#000000aa\\\",\\\"editorWarning.foreground\\\":\\\"#fffac2\\\",\\\"editorWhitespace.foreground\\\":\\\"#303340\\\",\\\"editorWidget.background\\\":\\\"#1b1e28\\\",\\\"editorWidget.border\\\":\\\"#a6accd\\\",\\\"editorWidget.foreground\\\":\\\"#a6accd\\\",\\\"errorForeground\\\":\\\"#d0679d\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#303340\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#e4f0fb\\\",\\\"extensionButton.prominentBackground\\\":\\\"#30334090\\\",\\\"extensionButton.prominentForeground\\\":\\\"#ffffff\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#303340\\\",\\\"extensionIcon.starForeground\\\":\\\"#fffac2\\\",\\\"focusBorder\\\":\\\"#00000000\\\",\\\"foreground\\\":\\\"#a6accd\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#5fb3a1\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#d0679d\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#d0679d\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#767c9d70\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ADD7FF\\\",\\\"gitDecoration.renamedResourceForeground\\\":\\\"#5DE4c7\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#d0679d\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#ADD7FF\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#89ddff\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#5DE4c7\\\",\\\"icon.foreground\\\":\\\"#a6accd\\\",\\\"imagePreview.border\\\":\\\"#303340\\\",\\\"input.background\\\":\\\"#ffffff05\\\",\\\"input.border\\\":\\\"#ffffff10\\\",\\\"input.foreground\\\":\\\"#e4f0fb\\\",\\\"input.placeholderForeground\\\":\\\"#a6accd60\\\",\\\"inputOption.activeBackground\\\":\\\"#00000000\\\",\\\"inputOption.activeBorder\\\":\\\"#00000000\\\",\\\"inputOption.activeForeground\\\":\\\"#ffffff\\\",\\\"inputValidation.errorBackground\\\":\\\"#1b1e28\\\",\\\"inputValidation.errorBorder\\\":\\\"#d0679d\\\",\\\"inputValidation.errorForeground\\\":\\\"#d0679d\\\",\\\"inputValidation.infoBackground\\\":\\\"#506477\\\",\\\"inputValidation.infoBorder\\\":\\\"#89ddff\\\",\\\"inputValidation.warningBackground\\\":\\\"#506477\\\",\\\"inputValidation.warningBorder\\\":\\\"#fffac2\\\",\\\"list.activeSelectionBackground\\\":\\\"#30334080\\\",\\\"list.activeSelectionForeground\\\":\\\"#e4f0fb\\\",\\\"list.deemphasizedForeground\\\":\\\"#767c9d\\\",\\\"list.dropBackground\\\":\\\"#506477\\\",\\\"list.errorForeground\\\":\\\"#d0679d\\\",\\\"list.filterMatchBackground\\\":\\\"#89ddff60\\\",\\\"list.focusBackground\\\":\\\"#30334080\\\",\\\"list.focusForeground\\\":\\\"#a6accd\\\",\\\"list.focusOutline\\\":\\\"#00000000\\\",\\\"list.highlightForeground\\\":\\\"#5fb3a1\\\",\\\"list.hoverBackground\\\":\\\"#30334080\\\",\\\"list.hoverForeground\\\":\\\"#e4f0fb\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#30334080\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#e4f0fb\\\",\\\"list.invalidItemForeground\\\":\\\"#fffac2\\\",\\\"list.warningForeground\\\":\\\"#fffac2\\\",\\\"listFilterWidget.background\\\":\\\"#303340\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#d0679d\\\",\\\"listFilterWidget.outline\\\":\\\"#00000000\\\",\\\"menu.background\\\":\\\"#1b1e28\\\",\\\"menu.foreground\\\":\\\"#e4f0fb\\\",\\\"menu.selectionBackground\\\":\\\"#303340\\\",\\\"menu.selectionForeground\\\":\\\"#7390AA\\\",\\\"menu.separatorBackground\\\":\\\"#767c9d\\\",\\\"menubar.selectionBackground\\\":\\\"#717cb425\\\",\\\"menubar.selectionForeground\\\":\\\"#a6accd\\\",\\\"merge.commonContentBackground\\\":\\\"#a6accd29\\\",\\\"merge.commonHeaderBackground\\\":\\\"#a6accd66\\\",\\\"merge.currentContentBackground\\\":\\\"#5fb3a133\\\",\\\"merge.currentHeaderBackground\\\":\\\"#5fb3a180\\\",\\\"merge.incomingContentBackground\\\":\\\"#89ddff33\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#89ddff80\\\",\\\"minimap.errorHighlight\\\":\\\"#d0679d\\\",\\\"minimap.findMatchHighlight\\\":\\\"#ADD7FF\\\",\\\"minimap.selectionHighlight\\\":\\\"#e4f0fb40\\\",\\\"minimap.warningHighlight\\\":\\\"#fffac2\\\",\\\"minimapGutter.addedBackground\\\":\\\"#5fb3a180\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#d0679d80\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#ADD7FF80\\\",\\\"minimapSlider.activeBackground\\\":\\\"#a6accd30\\\",\\\"minimapSlider.background\\\":\\\"#a6accd20\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#a6accd30\\\",\\\"notebook.cellBorderColor\\\":\\\"#1b1e28\\\",\\\"notebook.cellInsertionIndicator\\\":\\\"#00000000\\\",\\\"notebook.cellStatusBarItemHoverBackground\\\":\\\"#ffffff26\\\",\\\"notebook.cellToolbarSeparator\\\":\\\"#303340\\\",\\\"notebook.focusedCellBorder\\\":\\\"#00000000\\\",\\\"notebook.focusedEditorBorder\\\":\\\"#00000000\\\",\\\"notebook.focusedRowBorder\\\":\\\"#00000000\\\",\\\"notebook.inactiveFocusedCellBorder\\\":\\\"#00000000\\\",\\\"notebook.outputContainerBackgroundColor\\\":\\\"#1b1e28\\\",\\\"notebook.rowHoverBackground\\\":\\\"#30334000\\\",\\\"notebook.selectedCellBackground\\\":\\\"#303340\\\",\\\"notebook.selectedCellBorder\\\":\\\"#1b1e28\\\",\\\"notebook.symbolHighlightBackground\\\":\\\"#ffffff0b\\\",\\\"notebookScrollbarSlider.activeBackground\\\":\\\"#a6accd25\\\",\\\"notebookScrollbarSlider.background\\\":\\\"#00000050\\\",\\\"notebookScrollbarSlider.hoverBackground\\\":\\\"#a6accd25\\\",\\\"notebookStatusErrorIcon.foreground\\\":\\\"#d0679d\\\",\\\"notebookStatusRunningIcon.foreground\\\":\\\"#a6accd\\\",\\\"notebookStatusSuccessIcon.foreground\\\":\\\"#5fb3a1\\\",\\\"notificationCenterHeader.background\\\":\\\"#303340\\\",\\\"notificationLink.foreground\\\":\\\"#ADD7FF\\\",\\\"notifications.background\\\":\\\"#1b1e28\\\",\\\"notifications.border\\\":\\\"#303340\\\",\\\"notifications.foreground\\\":\\\"#e4f0fb\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#d0679d\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#ADD7FF\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#fffac2\\\",\\\"panel.background\\\":\\\"#1b1e28\\\",\\\"panel.border\\\":\\\"#00000030\\\",\\\"panel.dropBorder\\\":\\\"#a6accd\\\",\\\"panelSection.border\\\":\\\"#1b1e28\\\",\\\"panelSection.dropBackground\\\":\\\"#7390AA80\\\",\\\"panelSectionHeader.background\\\":\\\"#303340\\\",\\\"panelTitle.activeBorder\\\":\\\"#a6accd\\\",\\\"panelTitle.activeForeground\\\":\\\"#a6accd\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#a6accd99\\\",\\\"peekView.border\\\":\\\"#00000030\\\",\\\"peekViewEditor.background\\\":\\\"#a6accd05\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#303340\\\",\\\"peekViewEditorGutter.background\\\":\\\"#a6accd05\\\",\\\"peekViewResult.background\\\":\\\"#a6accd05\\\",\\\"peekViewResult.fileForeground\\\":\\\"#ffffff\\\",\\\"peekViewResult.lineForeground\\\":\\\"#a6accd\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#303340\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#717cb425\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#ffffff\\\",\\\"peekViewTitle.background\\\":\\\"#a6accd05\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#a6accd60\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#ffffff\\\",\\\"pickerGroup.border\\\":\\\"#a6accd\\\",\\\"pickerGroup.foreground\\\":\\\"#89ddff\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#d0679d\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#ADD7FF\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#fffac2\\\",\\\"progressBar.background\\\":\\\"#89ddff\\\",\\\"quickInput.background\\\":\\\"#1b1e28\\\",\\\"quickInput.foreground\\\":\\\"#a6accd\\\",\\\"quickInputList.focusBackground\\\":\\\"#a6accd10\\\",\\\"quickInputTitle.background\\\":\\\"#ffffff1b\\\",\\\"sash.hoverBorder\\\":\\\"#00000000\\\",\\\"scm.providerBorder\\\":\\\"#e4f0fb10\\\",\\\"scrollbar.shadow\\\":\\\"#00000000\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#a6accd25\\\",\\\"scrollbarSlider.background\\\":\\\"#00000080\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#a6accd25\\\",\\\"searchEditor.findMatchBackground\\\":\\\"#ADD7FF50\\\",\\\"searchEditor.textInputBorder\\\":\\\"#ffffff10\\\",\\\"selection.background\\\":\\\"#a6accd\\\",\\\"settings.checkboxBackground\\\":\\\"#1b1e28\\\",\\\"settings.checkboxBorder\\\":\\\"#ffffff10\\\",\\\"settings.checkboxForeground\\\":\\\"#e4f0fb\\\",\\\"settings.dropdownBackground\\\":\\\"#1b1e28\\\",\\\"settings.dropdownBorder\\\":\\\"#ffffff10\\\",\\\"settings.dropdownForeground\\\":\\\"#e4f0fb\\\",\\\"settings.dropdownListBorder\\\":\\\"#e4f0fb10\\\",\\\"settings.focusedRowBackground\\\":\\\"#00000000\\\",\\\"settings.headerForeground\\\":\\\"#e4f0fb\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#ADD7FF\\\",\\\"settings.numberInputBackground\\\":\\\"#ffffff05\\\",\\\"settings.numberInputBorder\\\":\\\"#ffffff10\\\",\\\"settings.numberInputForeground\\\":\\\"#e4f0fb\\\",\\\"settings.textInputBackground\\\":\\\"#ffffff05\\\",\\\"settings.textInputBorder\\\":\\\"#ffffff10\\\",\\\"settings.textInputForeground\\\":\\\"#e4f0fb\\\",\\\"sideBar.background\\\":\\\"#1b1e28\\\",\\\"sideBar.dropBackground\\\":\\\"#7390AA80\\\",\\\"sideBar.foreground\\\":\\\"#767c9d\\\",\\\"sideBarSectionHeader.background\\\":\\\"#1b1e28\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#a6accd\\\",\\\"sideBarTitle.foreground\\\":\\\"#a6accd\\\",\\\"statusBar.background\\\":\\\"#1b1e28\\\",\\\"statusBar.debuggingBackground\\\":\\\"#303340\\\",\\\"statusBar.debuggingForeground\\\":\\\"#ffffff\\\",\\\"statusBar.foreground\\\":\\\"#a6accd\\\",\\\"statusBar.noFolderBackground\\\":\\\"#1b1e28\\\",\\\"statusBar.noFolderForeground\\\":\\\"#a6accd\\\",\\\"statusBarItem.activeBackground\\\":\\\"#ffffff2e\\\",\\\"statusBarItem.errorBackground\\\":\\\"#d0679d\\\",\\\"statusBarItem.errorForeground\\\":\\\"#ffffff\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#ffffff1f\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#00000080\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#a6accd\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#0000004d\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#303340\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#e4f0fb\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.booleanForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.classForeground\\\":\\\"#fffac2\\\",\\\"symbolIcon.colorForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.constantForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#f087bd\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#fffac2\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#ADD7FF\\\",\\\"symbolIcon.eventForeground\\\":\\\"#fffac2\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#ADD7FF\\\",\\\"symbolIcon.fileForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.folderForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.functionForeground\\\":\\\"#f087bd\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#ADD7FF\\\",\\\"symbolIcon.keyForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.methodForeground\\\":\\\"#f087bd\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.nullForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.numberForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.objectForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.packageForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.stringForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.structForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.textForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.unitForeground\\\":\\\"#a6accd\\\",\\\"symbolIcon.variableForeground\\\":\\\"#ADD7FF\\\",\\\"tab.activeBackground\\\":\\\"#30334080\\\",\\\"tab.activeForeground\\\":\\\"#e4f0fb\\\",\\\"tab.activeModifiedBorder\\\":\\\"#ADD7FF\\\",\\\"tab.border\\\":\\\"#00000000\\\",\\\"tab.inactiveBackground\\\":\\\"#1b1e28\\\",\\\"tab.inactiveForeground\\\":\\\"#767c9d\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#ADD7FF80\\\",\\\"tab.lastPinnedBorder\\\":\\\"#00000000\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#1b1e28\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#a6accd\\\",\\\"tab.unfocusedActiveModifiedBorder\\\":\\\"#ADD7FF40\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#1b1e28\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#a6accd80\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#ADD7FF40\\\",\\\"terminal.ansiBlack\\\":\\\"#1b1e28\\\",\\\"terminal.ansiBlue\\\":\\\"#89ddff\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#a6accd\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#ADD7FF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#ADD7FF\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#5DE4c7\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#f087bd\\\",\\\"terminal.ansiBrightRed\\\":\\\"#d0679d\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#fffac2\\\",\\\"terminal.ansiCyan\\\":\\\"#89ddff\\\",\\\"terminal.ansiGreen\\\":\\\"#5DE4c7\\\",\\\"terminal.ansiMagenta\\\":\\\"#f087bd\\\",\\\"terminal.ansiRed\\\":\\\"#d0679d\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#fffac2\\\",\\\"terminal.border\\\":\\\"#00000000\\\",\\\"terminal.foreground\\\":\\\"#a6accd\\\",\\\"terminal.selectionBackground\\\":\\\"#717cb425\\\",\\\"terminalCommandDecoration.defaultBackground\\\":\\\"#767c9d\\\",\\\"terminalCommandDecoration.errorBackground\\\":\\\"#d0679d\\\",\\\"terminalCommandDecoration.successBackground\\\":\\\"#5DE4c7\\\",\\\"testing.iconErrored\\\":\\\"#d0679d\\\",\\\"testing.iconFailed\\\":\\\"#d0679d\\\",\\\"testing.iconPassed\\\":\\\"#5DE4c7\\\",\\\"testing.iconQueued\\\":\\\"#fffac2\\\",\\\"testing.iconSkipped\\\":\\\"#7390AA\\\",\\\"testing.iconUnset\\\":\\\"#7390AA\\\",\\\"testing.message.error.decorationForeground\\\":\\\"#d0679d\\\",\\\"testing.message.error.lineBackground\\\":\\\"#d0679d33\\\",\\\"testing.message.hint.decorationForeground\\\":\\\"#7390AAb3\\\",\\\"testing.message.info.decorationForeground\\\":\\\"#ADD7FF\\\",\\\"testing.message.info.lineBackground\\\":\\\"#89ddff33\\\",\\\"testing.message.warning.decorationForeground\\\":\\\"#fffac2\\\",\\\"testing.message.warning.lineBackground\\\":\\\"#fffac233\\\",\\\"testing.peekBorder\\\":\\\"#d0679d\\\",\\\"testing.runAction\\\":\\\"#5DE4c7\\\",\\\"textBlockQuote.background\\\":\\\"#7390AA1a\\\",\\\"textBlockQuote.border\\\":\\\"#89ddff80\\\",\\\"textCodeBlock.background\\\":\\\"#00000050\\\",\\\"textLink.activeForeground\\\":\\\"#ADD7FF\\\",\\\"textLink.foreground\\\":\\\"#ADD7FF\\\",\\\"textPreformat.foreground\\\":\\\"#e4f0fb\\\",\\\"textSeparator.foreground\\\":\\\"#ffffff2e\\\",\\\"titleBar.activeBackground\\\":\\\"#1b1e28\\\",\\\"titleBar.activeForeground\\\":\\\"#a6accd\\\",\\\"titleBar.inactiveBackground\\\":\\\"#1b1e28\\\",\\\"titleBar.inactiveForeground\\\":\\\"#767c9d\\\",\\\"tree.indentGuidesStroke\\\":\\\"#303340\\\",\\\"tree.tableColumnsBorder\\\":\\\"#a6accd20\\\",\\\"welcomePage.progress.background\\\":\\\"#ffffff05\\\",\\\"welcomePage.progress.foreground\\\":\\\"#5fb3a1\\\",\\\"welcomePage.tileBackground\\\":\\\"#1b1e28\\\",\\\"welcomePage.tileHoverBackground\\\":\\\"#303340\\\",\\\"widget.shadow\\\":\\\"#00000030\\\"},\\\"displayName\\\":\\\"Poimandres\\\",\\\"name\\\":\\\"poimandres\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#767c9dB0\\\"}},{\\\"scope\\\":\\\"meta.parameters comment.block\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#a6accd\\\"}},{\\\"scope\\\":[\\\"variable.other.constant.object\\\",\\\"variable.other.readwrite.alias\\\",\\\"meta.import variable.other.readwrite\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"variable.other\\\",\\\"support.type.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"variable.other.object.property\\\",\\\"variable.other.property\\\",\\\"support.variable.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"entity.name.function.method\\\",\\\"string.unquoted\\\",\\\"meta.object.member\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"variable - meta.import\\\",\\\"constant.other.placeholder\\\",\\\"meta.object-literal.key-meta.object.member\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7c0\\\"}},{\\\"scope\\\":[\\\"keyword.operator.new\\\",\\\"keyword.control.new\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":[\\\"variable.language.this\\\",\\\"storage.modifier.async\\\",\\\"storage.modifier\\\",\\\"variable.language.super\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":[\\\"support.class.error\\\",\\\"keyword.control.trycatch\\\",\\\"keyword.operator.expression.delete\\\",\\\"keyword.operator.expression.void\\\",\\\"keyword.operator.void\\\",\\\"keyword.operator.delete\\\",\\\"constant.language.null\\\",\\\"constant.language.boolean.false\\\",\\\"constant.language.undefined\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d0679d\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\",\\\"variable.other.readwrite.js\\\",\\\"meta.definition.variable variable.other.constant\\\",\\\"meta.definition.variable variable.other.readwrite\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffff\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d0679d\\\"}},{\\\"scope\\\":[\\\"invalid.deprecated\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d0679d\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6accd\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"keyword.control.module\\\",\\\"keyword.control.import\\\",\\\"keyword.control.export\\\",\\\"keyword.control.default\\\",\\\"meta.import\\\",\\\"meta.export\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":[\\\"Keyword\\\",\\\"Storage\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"keyword-meta.export\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"meta.brace\\\",\\\"punctuation\\\",\\\"keyword.operator.existential\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6accd\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\",\\\"meta.tag\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"meta.objectliteral\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"support.class.component\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\",\\\"markup.deleted.git_gutter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":\\\"variable.function, source meta.function-call entity.name.function, source meta.function-call entity.name.function, source meta.method-call entity.name.function, meta.class meta.group.braces.curly meta.function-call variable.function, meta.class meta.field.declaration meta.function-call entity.name.function, variable.function.constructor, meta.block meta.var.expr meta.function-call entity.name.function, support.function.console, meta.function-call support.function, meta.property.class variable.other.class, punctuation.definition.entity.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fbd0\\\"}},{\\\"scope\\\":\\\"entity.name.function, meta.class entity.name.class, meta.class entity.name.type.class, meta.class meta.function-call variable.function, keyword.other.important\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"source.cpp meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\",\\\"keyword.other.unit\\\",\\\"keyword.other\\\",\\\"string\\\",\\\"constant.language\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"text.html.derivative\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"meta.type.declaration\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"entity.name.type.alias\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6accd\\\"}},{\\\"scope\\\":[\\\"keyword.control.as\\\",\\\"entity.name.type\\\",\\\"support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6accdC0\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.orther.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"markup.changed.git_gutter\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"support.class\\\",\\\"support.constant\\\",\\\"variable.other.constant.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"text.html.basic entity.other.attribute-name.html\\\",\\\"text.html.basic entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#5fb3a1\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5fb3a1\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#42675A\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#506477\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5fb3a1\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5fb3a1\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#42675A\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#5fb3a1\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7390AA\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7390AA\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"markup.heading | markup.heading entity.name\\\",\\\"markup.heading.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#7390AA\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7390AA\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7390AA\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#7390AA\\\"}},{\\\"scope\\\":[\\\"markup.strike\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50647750\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#50647750\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#91B4D5\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7390AA\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fffac2\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d0679d\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":[\\\"entity.name.section.markdown\\\",\\\"markup.heading.setext.1.markdown\\\",\\\"markup.heading.setext.2.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#e4f0fb\\\"}},{\\\"scope\\\":\\\"meta.paragraph.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e4f0fbd0\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.from-file.diff\\\",\\\"meta.diff.header.from-file\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#506477\\\"}},{\\\"scope\\\":\\\"markup.inline.raw.string.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7390AA\\\"}},{\\\"scope\\\":\\\"meta.separator.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#767c9d\\\"}},{\\\"scope\\\":\\\"markup.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"beginning.punctuation.definition.list.markdown\\\",\\\"punctuation.definition.list.begin.markdown\\\",\\\"markup.list.unnumbered.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown punctuation.definition.string.markdown\\\",\\\"meta.link.inline.markdown string.other.link.description.title.markdown\\\",\\\"string.other.link.description.title.markdown punctuation.definition.string.begin.markdown\\\",\\\"string.other.link.description.title.markdown punctuation.definition.string.end.markdown\\\",\\\"meta.image.inline.markdown string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"meta.link.inline.markdown string.other.link.title.markdown\\\",\\\"meta.link.reference.markdown string.other.link.title.markdown\\\",\\\"meta.link.reference.def.markdown markup.underline.link.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.markdown\\\",\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DE4c7\\\"}},{\\\"scope\\\":[\\\"fenced_code.block.language\\\",\\\"markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.markdown\\\",\\\"punctuation.definition.raw.markdown\\\",\\\"punctuation.definition.heading.markdown\\\",\\\"punctuation.definition.bold.markdown\\\",\\\"punctuation.definition.italic.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADD7FF\\\"}},{\\\"scope\\\":[\\\"source.ignore\\\",\\\"log.error\\\",\\\"log.exception\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d0679d\\\"}},{\\\"scope\\\":[\\\"log.verbose\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a6accd\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: red */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#580000\\\",\\\"badge.background\\\":\\\"#cc3333\\\",\\\"button.background\\\":\\\"#833\\\",\\\"debugToolBar.background\\\":\\\"#660000\\\",\\\"dropdown.background\\\":\\\"#580000\\\",\\\"editor.background\\\":\\\"#390000\\\",\\\"editor.foreground\\\":\\\"#F8F8F8\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#ff000044\\\",\\\"editor.lineHighlightBackground\\\":\\\"#ff000033\\\",\\\"editor.selectionBackground\\\":\\\"#750000\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#f5500039\\\",\\\"editorCursor.foreground\\\":\\\"#970000\\\",\\\"editorGroup.border\\\":\\\"#ff666633\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#330000\\\",\\\"editorHoverWidget.background\\\":\\\"#300000\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#ffbbbb88\\\",\\\"editorLineNumber.foreground\\\":\\\"#ff777788\\\",\\\"editorLink.activeForeground\\\":\\\"#FFD0AA\\\",\\\"editorSuggestWidget.background\\\":\\\"#300000\\\",\\\"editorSuggestWidget.border\\\":\\\"#220000\\\",\\\"editorWhitespace.foreground\\\":\\\"#c10000\\\",\\\"editorWidget.background\\\":\\\"#300000\\\",\\\"errorForeground\\\":\\\"#ffeaea\\\",\\\"extensionButton.prominentBackground\\\":\\\"#cc3333\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#cc333388\\\",\\\"focusBorder\\\":\\\"#ff6666aa\\\",\\\"input.background\\\":\\\"#580000\\\",\\\"inputOption.activeBorder\\\":\\\"#cc0000\\\",\\\"inputValidation.infoBackground\\\":\\\"#550000\\\",\\\"inputValidation.infoBorder\\\":\\\"#DB7E58\\\",\\\"list.activeSelectionBackground\\\":\\\"#880000\\\",\\\"list.dropBackground\\\":\\\"#662222\\\",\\\"list.highlightForeground\\\":\\\"#ff4444\\\",\\\"list.hoverBackground\\\":\\\"#800000\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#770000\\\",\\\"minimap.selectionHighlight\\\":\\\"#750000\\\",\\\"peekView.border\\\":\\\"#ff000044\\\",\\\"peekViewEditor.background\\\":\\\"#300000\\\",\\\"peekViewResult.background\\\":\\\"#400000\\\",\\\"peekViewTitle.background\\\":\\\"#550000\\\",\\\"pickerGroup.border\\\":\\\"#ff000033\\\",\\\"pickerGroup.foreground\\\":\\\"#cc9999\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#DB7E58\\\",\\\"progressBar.background\\\":\\\"#cc3333\\\",\\\"quickInputList.focusBackground\\\":\\\"#660000\\\",\\\"selection.background\\\":\\\"#ff777788\\\",\\\"sideBar.background\\\":\\\"#330000\\\",\\\"statusBar.background\\\":\\\"#700000\\\",\\\"statusBar.noFolderBackground\\\":\\\"#700000\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#c33\\\",\\\"tab.activeBackground\\\":\\\"#490000\\\",\\\"tab.inactiveBackground\\\":\\\"#300a0a\\\",\\\"tab.lastPinnedBorder\\\":\\\"#ff000044\\\",\\\"titleBar.activeBackground\\\":\\\"#770000\\\",\\\"titleBar.inactiveBackground\\\":\\\"#772222\\\"},\\\"displayName\\\":\\\"Red\\\",\\\"name\\\":\\\"red\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F8\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F8F8F8\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#e7c0c0ff\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#994646ff\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#f12727ff\\\"}},{\\\"scope\\\":\\\"entity\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#fec758ff\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ff6262ff\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cd8d8dff\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#9df39fff\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fb9a4bff\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffffff\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#aa5507ff\\\"}},{\\\"scope\\\":\\\"constant.character\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ec0d1e\\\"}},{\\\"scope\\\":[\\\"string constant\\\",\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ffe862ff\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffb454ff\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#edef7dff\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ffb454ff\\\"}},{\\\"scope\\\":[\\\"support.constant\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#eb939aff\\\"}},{\\\"scope\\\":[\\\"declaration.sgml.html declaration.doctype\\\",\\\"declaration.sgml.html declaration.doctype entity\\\",\\\"declaration.sgml.html declaration.doctype string\\\",\\\"declaration.xml-processing\\\",\\\"declaration.xml-processing entity\\\",\\\"declaration.xml-processing string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#73817dff\\\"}},{\\\"scope\\\":[\\\"declaration.tag\\\",\\\"declaration.tag entity\\\",\\\"meta.tag\\\",\\\"meta.tag entity\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ec0d1eff\\\"}},{\\\"scope\\\":\\\"meta.selector.css entity.name.tag\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#aa5507ff\\\"}},{\\\"scope\\\":\\\"meta.selector.css entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fec758ff\\\"}},{\\\"scope\\\":\\\"meta.selector.css entity.other.attribute-name.class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#41a83eff\\\"}},{\\\"scope\\\":\\\"support.type.property-name.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#96dd3bff\\\"}},{\\\"scope\\\":[\\\"meta.property-group support.constant.property-value.css\\\",\\\"meta.property-value support.constant.property-value.css\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ffe862ff\\\"}},{\\\"scope\\\":[\\\"meta.property-value support.constant.named-color.css\\\",\\\"meta.property-value constant\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ffe862ff\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.at-rule keyword.control.at-rule\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fd6209ff\\\"}},{\\\"scope\\\":\\\"meta.constructor.argument.css\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#ec9799ff\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#f8f8f8ff\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ec9799ff\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f8f8f8ff\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#41a83eff\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f12727ff\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff6262ff\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.italic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fb9a4bff\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#cd8d8dff\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading.setext\\\",\\\"punctuation.definition.heading\\\",\\\"entity.name.section\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fec758ff\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\",\\\".format.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ec0d1e\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: rose-pine */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#e0def4\\\",\\\"activityBar.background\\\":\\\"#191724\\\",\\\"activityBar.dropBorder\\\":\\\"#26233a\\\",\\\"activityBar.foreground\\\":\\\"#e0def4\\\",\\\"activityBar.inactiveForeground\\\":\\\"#908caa\\\",\\\"activityBarBadge.background\\\":\\\"#ebbcba\\\",\\\"activityBarBadge.foreground\\\":\\\"#191724\\\",\\\"badge.background\\\":\\\"#ebbcba\\\",\\\"badge.foreground\\\":\\\"#191724\\\",\\\"banner.background\\\":\\\"#1f1d2e\\\",\\\"banner.foreground\\\":\\\"#e0def4\\\",\\\"banner.iconForeground\\\":\\\"#908caa\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#ebbcba\\\",\\\"breadcrumb.background\\\":\\\"#191724\\\",\\\"breadcrumb.focusForeground\\\":\\\"#908caa\\\",\\\"breadcrumb.foreground\\\":\\\"#6e6a86\\\",\\\"breadcrumbPicker.background\\\":\\\"#1f1d2e\\\",\\\"button.background\\\":\\\"#ebbcba\\\",\\\"button.foreground\\\":\\\"#191724\\\",\\\"button.hoverBackground\\\":\\\"#ebbcbae6\\\",\\\"button.secondaryBackground\\\":\\\"#1f1d2e\\\",\\\"button.secondaryForeground\\\":\\\"#e0def4\\\",\\\"button.secondaryHoverBackground\\\":\\\"#26233a\\\",\\\"charts.blue\\\":\\\"#9ccfd8\\\",\\\"charts.foreground\\\":\\\"#e0def4\\\",\\\"charts.green\\\":\\\"#31748f\\\",\\\"charts.lines\\\":\\\"#908caa\\\",\\\"charts.orange\\\":\\\"#ebbcba\\\",\\\"charts.purple\\\":\\\"#c4a7e7\\\",\\\"charts.red\\\":\\\"#eb6f92\\\",\\\"charts.yellow\\\":\\\"#f6c177\\\",\\\"checkbox.background\\\":\\\"#1f1d2e\\\",\\\"checkbox.border\\\":\\\"#6e6a8633\\\",\\\"checkbox.foreground\\\":\\\"#e0def4\\\",\\\"debugExceptionWidget.background\\\":\\\"#1f1d2e\\\",\\\"debugExceptionWidget.border\\\":\\\"#6e6a8633\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#908caa\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#908caa\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#908caa\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#908caa\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#908caa\\\",\\\"debugIcon.continueForeground\\\":\\\"#908caa\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#908caa\\\",\\\"debugIcon.pauseForeground\\\":\\\"#908caa\\\",\\\"debugIcon.restartForeground\\\":\\\"#908caa\\\",\\\"debugIcon.startForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stopForeground\\\":\\\"#eb6f92\\\",\\\"debugToolBar.background\\\":\\\"#1f1d2e\\\",\\\"debugToolBar.border\\\":\\\"#26233a\\\",\\\"descriptionForeground\\\":\\\"#908caa\\\",\\\"diffEditor.border\\\":\\\"#26233a\\\",\\\"diffEditor.diagonalFill\\\":\\\"#6e6a8666\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#9ccfd826\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#9ccfd826\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#eb6f9226\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#eb6f9226\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#9ccfd880\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#eb6f9280\\\",\\\"dropdown.background\\\":\\\"#1f1d2e\\\",\\\"dropdown.border\\\":\\\"#6e6a8633\\\",\\\"dropdown.foreground\\\":\\\"#e0def4\\\",\\\"dropdown.listBackground\\\":\\\"#1f1d2e\\\",\\\"editor.background\\\":\\\"#191724\\\",\\\"editor.findMatchBackground\\\":\\\"#f6c17733\\\",\\\"editor.findMatchBorder\\\":\\\"#f6c17780\\\",\\\"editor.findMatchForeground\\\":\\\"#e0def4\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#6e6a8666\\\",\\\"editor.findMatchHighlightForeground\\\":\\\"#e0def4cc\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#6e6a8666\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#0000\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#6e6a8633\\\",\\\"editor.foldBackground\\\":\\\"#6e6a8633\\\",\\\"editor.foreground\\\":\\\"#e0def4\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#0000\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#6e6a861a\\\",\\\"editor.inlineValuesBackground\\\":\\\"#0000\\\",\\\"editor.inlineValuesForeground\\\":\\\"#908caa\\\",\\\"editor.lineHighlightBackground\\\":\\\"#6e6a861a\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.linkedEditingBackground\\\":\\\"#6e6a8633\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#6e6a861a\\\",\\\"editor.selectionBackground\\\":\\\"#6e6a8633\\\",\\\"editor.selectionForeground\\\":\\\"#e0def4\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#6e6a8633\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#191724\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#6e6a8633\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#1f1d2e\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#6e6a8633\\\",\\\"editor.snippetTabstopHighlightBorder\\\":\\\"#1f1d2e\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#6e6a8633\\\",\\\"editor.symbolHighlightBackground\\\":\\\"#6e6a8633\\\",\\\"editor.symbolHighlightBorder\\\":\\\"#0000\\\",\\\"editor.wordHighlightBackground\\\":\\\"#6e6a8633\\\",\\\"editor.wordHighlightBorder\\\":\\\"#0000\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#6e6a8633\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#6e6a8633\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#eb6f9280\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#31748f80\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#f6c17780\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#9ccfd880\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#ebbcba80\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#c4a7e780\\\",\\\"editorBracketMatch.background\\\":\\\"#0000\\\",\\\"editorBracketMatch.border\\\":\\\"#908caa\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#31748f\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#ebbcba\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#c4a7e7\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#9ccfd8\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#f6c177\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#eb6f92\\\",\\\"editorBracketPairGuide.background1\\\":\\\"#31748f80\\\",\\\"editorBracketPairGuide.background2\\\":\\\"#ebbcba80\\\",\\\"editorBracketPairGuide.background3\\\":\\\"#c4a7e780\\\",\\\"editorBracketPairGuide.background4\\\":\\\"#9ccfd880\\\",\\\"editorBracketPairGuide.background5\\\":\\\"#f6c17780\\\",\\\"editorBracketPairGuide.background6\\\":\\\"#eb6f9280\\\",\\\"editorCodeLens.foreground\\\":\\\"#ebbcba\\\",\\\"editorCursor.background\\\":\\\"#e0def4\\\",\\\"editorCursor.foreground\\\":\\\"#6e6a86\\\",\\\"editorError.border\\\":\\\"#0000\\\",\\\"editorError.foreground\\\":\\\"#eb6f92\\\",\\\"editorGhostText.foreground\\\":\\\"#908caa\\\",\\\"editorGroup.border\\\":\\\"#0000\\\",\\\"editorGroup.dropBackground\\\":\\\"#1f1d2e\\\",\\\"editorGroup.emptyBackground\\\":\\\"#0000\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#0000\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#0000\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0000\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#0000\\\",\\\"editorGutter.addedBackground\\\":\\\"#9ccfd8\\\",\\\"editorGutter.background\\\":\\\"#191724\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#26233a\\\",\\\"editorGutter.deletedBackground\\\":\\\"#eb6f92\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#c4a7e7\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#ebbcba\\\",\\\"editorHint.border\\\":\\\"#0000\\\",\\\"editorHint.foreground\\\":\\\"#908caa\\\",\\\"editorHoverWidget.background\\\":\\\"#1f1d2e\\\",\\\"editorHoverWidget.border\\\":\\\"#6e6a8680\\\",\\\"editorHoverWidget.foreground\\\":\\\"#908caa\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#e0def4\\\",\\\"editorHoverWidget.statusBarBackground\\\":\\\"#0000\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#6e6a86\\\",\\\"editorIndentGuide.background1\\\":\\\"#6e6a8666\\\",\\\"editorInfo.border\\\":\\\"#26233a\\\",\\\"editorInfo.foreground\\\":\\\"#9ccfd8\\\",\\\"editorInlayHint.background\\\":\\\"#26233a80\\\",\\\"editorInlayHint.foreground\\\":\\\"#908caa80\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#26233a80\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#c4a7e780\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#26233a80\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#9ccfd880\\\",\\\"editorLightBulb.foreground\\\":\\\"#31748f\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#ebbcba\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#e0def4\\\",\\\"editorLineNumber.foreground\\\":\\\"#908caa\\\",\\\"editorLink.activeForeground\\\":\\\"#ebbcba\\\",\\\"editorMarkerNavigation.background\\\":\\\"#1f1d2e\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#1f1d2e\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#1f1d2e\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#1f1d2e\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#9ccfd880\\\",\\\"editorOverviewRuler.background\\\":\\\"#191724\\\",\\\"editorOverviewRuler.border\\\":\\\"#6e6a8666\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#908caa\\\",\\\"editorOverviewRuler.commentForeground\\\":\\\"#908caa80\\\",\\\"editorOverviewRuler.commentUnresolvedForeground\\\":\\\"#f6c17780\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#6e6a861a\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#6e6a8633\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#eb6f9280\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#eb6f9280\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#6e6a8666\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#c4a7e780\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#9ccfd880\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#ebbcba80\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#6e6a8666\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#6e6a8666\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#f6c17780\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#6e6a8633\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#6e6a8666\\\",\\\"editorPane.background\\\":\\\"#0000\\\",\\\"editorRuler.foreground\\\":\\\"#6e6a8666\\\",\\\"editorSuggestWidget.background\\\":\\\"#1f1d2e\\\",\\\"editorSuggestWidget.border\\\":\\\"#0000\\\",\\\"editorSuggestWidget.focusHighlightForeground\\\":\\\"#ebbcba\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#908caa\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#ebbcba\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#6e6a8633\\\",\\\"editorSuggestWidget.selectedForeground\\\":\\\"#e0def4\\\",\\\"editorSuggestWidget.selectedIconForeground\\\":\\\"#e0def4\\\",\\\"editorUnnecessaryCode.border\\\":\\\"#0000\\\",\\\"editorUnnecessaryCode.opacity\\\":\\\"#e0def480\\\",\\\"editorWarning.border\\\":\\\"#0000\\\",\\\"editorWarning.foreground\\\":\\\"#f6c177\\\",\\\"editorWhitespace.foreground\\\":\\\"#6e6a8680\\\",\\\"editorWidget.background\\\":\\\"#1f1d2e\\\",\\\"editorWidget.border\\\":\\\"#26233a\\\",\\\"editorWidget.foreground\\\":\\\"#908caa\\\",\\\"editorWidget.resizeBorder\\\":\\\"#6e6a86\\\",\\\"errorForeground\\\":\\\"#eb6f92\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#c4a7e7\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#191724\\\",\\\"extensionButton.prominentBackground\\\":\\\"#ebbcba\\\",\\\"extensionButton.prominentForeground\\\":\\\"#191724\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#ebbcbae6\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#31748f\\\",\\\"extensionIcon.starForeground\\\":\\\"#ebbcba\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#c4a7e7\\\",\\\"focusBorder\\\":\\\"#6e6a8633\\\",\\\"foreground\\\":\\\"#e0def4\\\",\\\"git.blame.editorDecorationForeground\\\":\\\"#6e6a86\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#9ccfd8\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#eb6f92\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#908caa\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e6a86\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ebbcba\\\",\\\"gitDecoration.renamedResourceForeground\\\":\\\"#31748f\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#eb6f92\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#c4a7e7\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#f6c177\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#f6c177\\\",\\\"icon.foreground\\\":\\\"#908caa\\\",\\\"input.background\\\":\\\"#26233a80\\\",\\\"input.border\\\":\\\"#6e6a8633\\\",\\\"input.foreground\\\":\\\"#e0def4\\\",\\\"input.placeholderForeground\\\":\\\"#908caa\\\",\\\"inputOption.activeBackground\\\":\\\"#ebbcba26\\\",\\\"inputOption.activeBorder\\\":\\\"#0000\\\",\\\"inputOption.activeForeground\\\":\\\"#ebbcba\\\",\\\"inputValidation.errorBackground\\\":\\\"#1f1d2e\\\",\\\"inputValidation.errorBorder\\\":\\\"#6e6a8666\\\",\\\"inputValidation.errorForeground\\\":\\\"#eb6f92\\\",\\\"inputValidation.infoBackground\\\":\\\"#1f1d2e\\\",\\\"inputValidation.infoBorder\\\":\\\"#6e6a8666\\\",\\\"inputValidation.infoForeground\\\":\\\"#9ccfd8\\\",\\\"inputValidation.warningBackground\\\":\\\"#1f1d2e\\\",\\\"inputValidation.warningBorder\\\":\\\"#6e6a8666\\\",\\\"inputValidation.warningForeground\\\":\\\"#9ccfd880\\\",\\\"keybindingLabel.background\\\":\\\"#26233a\\\",\\\"keybindingLabel.border\\\":\\\"#6e6a8666\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#6e6a8666\\\",\\\"keybindingLabel.foreground\\\":\\\"#c4a7e7\\\",\\\"keybindingTable.headerBackground\\\":\\\"#26233a\\\",\\\"keybindingTable.rowsBackground\\\":\\\"#1f1d2e\\\",\\\"list.activeSelectionBackground\\\":\\\"#6e6a8633\\\",\\\"list.activeSelectionForeground\\\":\\\"#e0def4\\\",\\\"list.deemphasizedForeground\\\":\\\"#908caa\\\",\\\"list.dropBackground\\\":\\\"#1f1d2e\\\",\\\"list.errorForeground\\\":\\\"#eb6f92\\\",\\\"list.filterMatchBackground\\\":\\\"#1f1d2e\\\",\\\"list.filterMatchBorder\\\":\\\"#ebbcba\\\",\\\"list.focusBackground\\\":\\\"#6e6a8666\\\",\\\"list.focusForeground\\\":\\\"#e0def4\\\",\\\"list.focusOutline\\\":\\\"#6e6a8633\\\",\\\"list.highlightForeground\\\":\\\"#ebbcba\\\",\\\"list.hoverBackground\\\":\\\"#6e6a861a\\\",\\\"list.hoverForeground\\\":\\\"#e0def4\\\",\\\"list.inactiveFocusBackground\\\":\\\"#6e6a861a\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#1f1d2e\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#e0def4\\\",\\\"list.invalidItemForeground\\\":\\\"#eb6f92\\\",\\\"list.warningForeground\\\":\\\"#f6c177\\\",\\\"listFilterWidget.background\\\":\\\"#1f1d2e\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#eb6f92\\\",\\\"listFilterWidget.outline\\\":\\\"#26233a\\\",\\\"menu.background\\\":\\\"#1f1d2e\\\",\\\"menu.border\\\":\\\"#6e6a861a\\\",\\\"menu.foreground\\\":\\\"#e0def4\\\",\\\"menu.selectionBackground\\\":\\\"#6e6a8633\\\",\\\"menu.selectionBorder\\\":\\\"#26233a\\\",\\\"menu.selectionForeground\\\":\\\"#e0def4\\\",\\\"menu.separatorBackground\\\":\\\"#6e6a8666\\\",\\\"menubar.selectionBackground\\\":\\\"#6e6a8633\\\",\\\"menubar.selectionBorder\\\":\\\"#6e6a861a\\\",\\\"menubar.selectionForeground\\\":\\\"#e0def4\\\",\\\"merge.border\\\":\\\"#26233a\\\",\\\"merge.commonContentBackground\\\":\\\"#6e6a8633\\\",\\\"merge.commonHeaderBackground\\\":\\\"#6e6a8633\\\",\\\"merge.currentContentBackground\\\":\\\"#f6c17780\\\",\\\"merge.currentHeaderBackground\\\":\\\"#f6c17780\\\",\\\"merge.incomingContentBackground\\\":\\\"#9ccfd880\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#9ccfd880\\\",\\\"minimap.background\\\":\\\"#1f1d2e\\\",\\\"minimap.errorHighlight\\\":\\\"#eb6f9280\\\",\\\"minimap.findMatchHighlight\\\":\\\"#6e6a8633\\\",\\\"minimap.selectionHighlight\\\":\\\"#6e6a8633\\\",\\\"minimap.warningHighlight\\\":\\\"#f6c17780\\\",\\\"minimapGutter.addedBackground\\\":\\\"#9ccfd8\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#eb6f92\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#ebbcba\\\",\\\"minimapSlider.activeBackground\\\":\\\"#6e6a8666\\\",\\\"minimapSlider.background\\\":\\\"#6e6a8633\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#6e6a8633\\\",\\\"notebook.cellBorderColor\\\":\\\"#9ccfd880\\\",\\\"notebook.cellEditorBackground\\\":\\\"#1f1d2e\\\",\\\"notebook.cellHoverBackground\\\":\\\"#26233a80\\\",\\\"notebook.focusedCellBackground\\\":\\\"#6e6a861a\\\",\\\"notebook.focusedCellBorder\\\":\\\"#9ccfd8\\\",\\\"notebook.outputContainerBackgroundColor\\\":\\\"#6e6a861a\\\",\\\"notificationCenter.border\\\":\\\"#6e6a8633\\\",\\\"notificationCenterHeader.background\\\":\\\"#1f1d2e\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#908caa\\\",\\\"notificationLink.foreground\\\":\\\"#c4a7e7\\\",\\\"notificationToast.border\\\":\\\"#6e6a8633\\\",\\\"notifications.background\\\":\\\"#1f1d2e\\\",\\\"notifications.border\\\":\\\"#6e6a8633\\\",\\\"notifications.foreground\\\":\\\"#e0def4\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#eb6f92\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#9ccfd8\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#f6c177\\\",\\\"panel.background\\\":\\\"#1f1d2e\\\",\\\"panel.border\\\":\\\"#0000\\\",\\\"panel.dropBorder\\\":\\\"#26233a\\\",\\\"panelInput.border\\\":\\\"#1f1d2e\\\",\\\"panelSection.dropBackground\\\":\\\"#6e6a8633\\\",\\\"panelSectionHeader.background\\\":\\\"#1f1d2e\\\",\\\"panelSectionHeader.foreground\\\":\\\"#e0def4\\\",\\\"panelTitle.activeBorder\\\":\\\"#6e6a8666\\\",\\\"panelTitle.activeForeground\\\":\\\"#e0def4\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#908caa\\\",\\\"peekView.border\\\":\\\"#26233a\\\",\\\"peekViewEditor.background\\\":\\\"#1f1d2e\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#6e6a8666\\\",\\\"peekViewResult.background\\\":\\\"#1f1d2e\\\",\\\"peekViewResult.fileForeground\\\":\\\"#908caa\\\",\\\"peekViewResult.lineForeground\\\":\\\"#908caa\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#6e6a8666\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#6e6a8633\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#e0def4\\\",\\\"peekViewTitle.background\\\":\\\"#26233a\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#908caa\\\",\\\"pickerGroup.border\\\":\\\"#6e6a8666\\\",\\\"pickerGroup.foreground\\\":\\\"#c4a7e7\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#ebbcba\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#eb6f92\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#9ccfd8\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#f6c177\\\",\\\"progressBar.background\\\":\\\"#ebbcba\\\",\\\"quickInput.background\\\":\\\"#1f1d2e\\\",\\\"quickInput.foreground\\\":\\\"#908caa\\\",\\\"quickInputList.focusBackground\\\":\\\"#6e6a8633\\\",\\\"quickInputList.focusForeground\\\":\\\"#e0def4\\\",\\\"quickInputList.focusIconForeground\\\":\\\"#e0def4\\\",\\\"scrollbar.shadow\\\":\\\"#1f1d2e4d\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#31748f80\\\",\\\"scrollbarSlider.background\\\":\\\"#6e6a8633\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6e6a8666\\\",\\\"searchEditor.findMatchBackground\\\":\\\"#6e6a8633\\\",\\\"selection.background\\\":\\\"#6e6a8666\\\",\\\"settings.focusedRowBackground\\\":\\\"#1f1d2e\\\",\\\"settings.focusedRowBorder\\\":\\\"#6e6a8633\\\",\\\"settings.headerForeground\\\":\\\"#e0def4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#ebbcba\\\",\\\"settings.rowHoverBackground\\\":\\\"#1f1d2e\\\",\\\"sideBar.background\\\":\\\"#191724\\\",\\\"sideBar.dropBackground\\\":\\\"#1f1d2e\\\",\\\"sideBar.foreground\\\":\\\"#908caa\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.border\\\":\\\"#6e6a8633\\\",\\\"statusBar.background\\\":\\\"#191724\\\",\\\"statusBar.debuggingBackground\\\":\\\"#c4a7e7\\\",\\\"statusBar.debuggingForeground\\\":\\\"#191724\\\",\\\"statusBar.foreground\\\":\\\"#908caa\\\",\\\"statusBar.noFolderBackground\\\":\\\"#191724\\\",\\\"statusBar.noFolderForeground\\\":\\\"#908caa\\\",\\\"statusBarItem.activeBackground\\\":\\\"#6e6a8666\\\",\\\"statusBarItem.errorBackground\\\":\\\"#191724\\\",\\\"statusBarItem.errorForeground\\\":\\\"#eb6f92\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#6e6a8633\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#26233a\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#e0def4\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#6e6a8633\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#191724\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#f6c177\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.classForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.colorForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.constantForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.eventForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.fileForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.folderForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.functionForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.keyForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.methodForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.nullForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.numberForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.objectForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.packageForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.stringForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.structForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.textForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.unitForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.variableForeground\\\":\\\"#908caa\\\",\\\"tab.activeBackground\\\":\\\"#6e6a861a\\\",\\\"tab.activeForeground\\\":\\\"#e0def4\\\",\\\"tab.activeModifiedBorder\\\":\\\"#9ccfd8\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.hoverBackground\\\":\\\"#6e6a8633\\\",\\\"tab.inactiveBackground\\\":\\\"#0000\\\",\\\"tab.inactiveForeground\\\":\\\"#908caa\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#9ccfd880\\\",\\\"tab.lastPinnedBorder\\\":\\\"#6e6a86\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#9ccfd880\\\",\\\"terminal.ansiBlack\\\":\\\"#26233a\\\",\\\"terminal.ansiBlue\\\":\\\"#9ccfd8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#908caa\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#9ccfd8\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#ebbcba\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#31748f\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#c4a7e7\\\",\\\"terminal.ansiBrightRed\\\":\\\"#eb6f92\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#e0def4\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#f6c177\\\",\\\"terminal.ansiCyan\\\":\\\"#ebbcba\\\",\\\"terminal.ansiGreen\\\":\\\"#31748f\\\",\\\"terminal.ansiMagenta\\\":\\\"#c4a7e7\\\",\\\"terminal.ansiRed\\\":\\\"#eb6f92\\\",\\\"terminal.ansiWhite\\\":\\\"#e0def4\\\",\\\"terminal.ansiYellow\\\":\\\"#f6c177\\\",\\\"terminal.dropBackground\\\":\\\"#6e6a8633\\\",\\\"terminal.foreground\\\":\\\"#e0def4\\\",\\\"terminal.selectionBackground\\\":\\\"#6e6a8633\\\",\\\"terminal.tab.activeBorder\\\":\\\"#e0def4\\\",\\\"terminalCursor.background\\\":\\\"#e0def4\\\",\\\"terminalCursor.foreground\\\":\\\"#6e6a86\\\",\\\"textBlockQuote.background\\\":\\\"#1f1d2e\\\",\\\"textBlockQuote.border\\\":\\\"#6e6a8633\\\",\\\"textCodeBlock.background\\\":\\\"#1f1d2e\\\",\\\"textLink.activeForeground\\\":\\\"#c4a7e7e6\\\",\\\"textLink.foreground\\\":\\\"#c4a7e7\\\",\\\"textPreformat.foreground\\\":\\\"#f6c177\\\",\\\"textSeparator.foreground\\\":\\\"#908caa\\\",\\\"titleBar.activeBackground\\\":\\\"#191724\\\",\\\"titleBar.activeForeground\\\":\\\"#908caa\\\",\\\"titleBar.inactiveBackground\\\":\\\"#1f1d2e\\\",\\\"titleBar.inactiveForeground\\\":\\\"#908caa\\\",\\\"toolbar.activeBackground\\\":\\\"#6e6a8666\\\",\\\"toolbar.hoverBackground\\\":\\\"#6e6a8633\\\",\\\"tree.indentGuidesStroke\\\":\\\"#908caa\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#191724\\\",\\\"welcomePage.background\\\":\\\"#191724\\\",\\\"widget.shadow\\\":\\\"#1f1d2e4d\\\",\\\"window.activeBorder\\\":\\\"#1f1d2e\\\",\\\"window.inactiveBorder\\\":\\\"#1f1d2e\\\"},\\\"displayName\\\":\\\"Rosé Pine\\\",\\\"name\\\":\\\"rose-pine\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#6e6a86\\\"}},{\\\"scope\\\":[\\\"constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#31748f\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebbcba\\\"}},{\\\"scope\\\":[\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ebbcba\\\"}},{\\\"scope\\\":[\\\"entity.name.section\\\",\\\"entity.name.tag\\\",\\\"entity.name.namespace\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ccfd8\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c4a7e7\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eb6f92\\\"}},{\\\"scope\\\":[\\\"invalid.deprecated\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#908caa\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"variable.language.this\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#31748f\\\"}},{\\\"scope\\\":[\\\"markup.inserted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ccfd8\\\"}},{\\\"scope\\\":[\\\"markup.deleted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eb6f92\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"meta.diff.range\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c4a7e7\\\"}},{\\\"scope\\\":[\\\"meta.tag\\\",\\\"meta.brace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0def4\\\"}},{\\\"scope\\\":[\\\"meta.import\\\",\\\"meta.export\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#31748f\\\"}},{\\\"scope\\\":\\\"meta.directive.vue\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c4a7e7\\\"}},{\\\"scope\\\":\\\"meta.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9ccfd8\\\"}},{\\\"scope\\\":\\\"meta.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f6c177\\\"}},{\\\"scope\\\":\\\"meta.tag.other.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#908caa\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#908caa\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#31748f\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6c177\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6e6a86\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#31748f\\\"}},{\\\"scope\\\":[\\\"string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6c177\\\"}},{\\\"scope\\\":[\\\"support\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ccfd8\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6c177\\\"}},{\\\"scope\\\":[\\\"support.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eb6f92\\\"}},{\\\"scope\\\":[\\\"variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ebbcba\\\"}},{\\\"scope\\\":[\\\"variable.other\\\",\\\"variable.language\\\",\\\"variable.function\\\",\\\"variable.argument\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0def4\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c4a7e7\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: rose-pine-dawn */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#575279\\\",\\\"activityBar.background\\\":\\\"#faf4ed\\\",\\\"activityBar.dropBorder\\\":\\\"#f2e9e1\\\",\\\"activityBar.foreground\\\":\\\"#575279\\\",\\\"activityBar.inactiveForeground\\\":\\\"#797593\\\",\\\"activityBarBadge.background\\\":\\\"#d7827e\\\",\\\"activityBarBadge.foreground\\\":\\\"#faf4ed\\\",\\\"badge.background\\\":\\\"#d7827e\\\",\\\"badge.foreground\\\":\\\"#faf4ed\\\",\\\"banner.background\\\":\\\"#fffaf3\\\",\\\"banner.foreground\\\":\\\"#575279\\\",\\\"banner.iconForeground\\\":\\\"#797593\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#d7827e\\\",\\\"breadcrumb.background\\\":\\\"#faf4ed\\\",\\\"breadcrumb.focusForeground\\\":\\\"#797593\\\",\\\"breadcrumb.foreground\\\":\\\"#9893a5\\\",\\\"breadcrumbPicker.background\\\":\\\"#fffaf3\\\",\\\"button.background\\\":\\\"#d7827e\\\",\\\"button.foreground\\\":\\\"#faf4ed\\\",\\\"button.hoverBackground\\\":\\\"#d7827ee6\\\",\\\"button.secondaryBackground\\\":\\\"#fffaf3\\\",\\\"button.secondaryForeground\\\":\\\"#575279\\\",\\\"button.secondaryHoverBackground\\\":\\\"#f2e9e1\\\",\\\"charts.blue\\\":\\\"#56949f\\\",\\\"charts.foreground\\\":\\\"#575279\\\",\\\"charts.green\\\":\\\"#286983\\\",\\\"charts.lines\\\":\\\"#797593\\\",\\\"charts.orange\\\":\\\"#d7827e\\\",\\\"charts.purple\\\":\\\"#907aa9\\\",\\\"charts.red\\\":\\\"#b4637a\\\",\\\"charts.yellow\\\":\\\"#ea9d34\\\",\\\"checkbox.background\\\":\\\"#fffaf3\\\",\\\"checkbox.border\\\":\\\"#6e6a8614\\\",\\\"checkbox.foreground\\\":\\\"#575279\\\",\\\"debugExceptionWidget.background\\\":\\\"#fffaf3\\\",\\\"debugExceptionWidget.border\\\":\\\"#6e6a8614\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#797593\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#797593\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#797593\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#797593\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#797593\\\",\\\"debugIcon.continueForeground\\\":\\\"#797593\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#797593\\\",\\\"debugIcon.pauseForeground\\\":\\\"#797593\\\",\\\"debugIcon.restartForeground\\\":\\\"#797593\\\",\\\"debugIcon.startForeground\\\":\\\"#797593\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#797593\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#797593\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#797593\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#797593\\\",\\\"debugIcon.stopForeground\\\":\\\"#b4637a\\\",\\\"debugToolBar.background\\\":\\\"#fffaf3\\\",\\\"debugToolBar.border\\\":\\\"#f2e9e1\\\",\\\"descriptionForeground\\\":\\\"#797593\\\",\\\"diffEditor.border\\\":\\\"#f2e9e1\\\",\\\"diffEditor.diagonalFill\\\":\\\"#6e6a8626\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#56949f26\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#56949f26\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#b4637a26\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#b4637a26\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#56949f80\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#b4637a80\\\",\\\"dropdown.background\\\":\\\"#fffaf3\\\",\\\"dropdown.border\\\":\\\"#6e6a8614\\\",\\\"dropdown.foreground\\\":\\\"#575279\\\",\\\"dropdown.listBackground\\\":\\\"#fffaf3\\\",\\\"editor.background\\\":\\\"#faf4ed\\\",\\\"editor.findMatchBackground\\\":\\\"#ea9d3433\\\",\\\"editor.findMatchBorder\\\":\\\"#ea9d3480\\\",\\\"editor.findMatchForeground\\\":\\\"#575279\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#6e6a8626\\\",\\\"editor.findMatchHighlightForeground\\\":\\\"#575279cc\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#6e6a8626\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#0000\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.foldBackground\\\":\\\"#6e6a8614\\\",\\\"editor.foreground\\\":\\\"#575279\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#0000\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#6e6a860d\\\",\\\"editor.inlineValuesBackground\\\":\\\"#0000\\\",\\\"editor.inlineValuesForeground\\\":\\\"#797593\\\",\\\"editor.lineHighlightBackground\\\":\\\"#6e6a860d\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.linkedEditingBackground\\\":\\\"#6e6a8614\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#6e6a860d\\\",\\\"editor.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"editor.selectionForeground\\\":\\\"#575279\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#faf4ed\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#fffaf3\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.snippetTabstopHighlightBorder\\\":\\\"#fffaf3\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.symbolHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.symbolHighlightBorder\\\":\\\"#0000\\\",\\\"editor.wordHighlightBackground\\\":\\\"#6e6a8614\\\",\\\"editor.wordHighlightBorder\\\":\\\"#0000\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#6e6a8614\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#6e6a8614\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#b4637a80\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#28698380\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#ea9d3480\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#56949f80\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#d7827e80\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#907aa980\\\",\\\"editorBracketMatch.background\\\":\\\"#0000\\\",\\\"editorBracketMatch.border\\\":\\\"#797593\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#286983\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#d7827e\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#907aa9\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#56949f\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#ea9d34\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#b4637a\\\",\\\"editorBracketPairGuide.background1\\\":\\\"#28698380\\\",\\\"editorBracketPairGuide.background2\\\":\\\"#d7827e80\\\",\\\"editorBracketPairGuide.background3\\\":\\\"#907aa980\\\",\\\"editorBracketPairGuide.background4\\\":\\\"#56949f80\\\",\\\"editorBracketPairGuide.background5\\\":\\\"#ea9d3480\\\",\\\"editorBracketPairGuide.background6\\\":\\\"#b4637a80\\\",\\\"editorCodeLens.foreground\\\":\\\"#d7827e\\\",\\\"editorCursor.background\\\":\\\"#575279\\\",\\\"editorCursor.foreground\\\":\\\"#9893a5\\\",\\\"editorError.border\\\":\\\"#0000\\\",\\\"editorError.foreground\\\":\\\"#b4637a\\\",\\\"editorGhostText.foreground\\\":\\\"#797593\\\",\\\"editorGroup.border\\\":\\\"#0000\\\",\\\"editorGroup.dropBackground\\\":\\\"#fffaf3\\\",\\\"editorGroup.emptyBackground\\\":\\\"#0000\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#0000\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#0000\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0000\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#0000\\\",\\\"editorGutter.addedBackground\\\":\\\"#56949f\\\",\\\"editorGutter.background\\\":\\\"#faf4ed\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#f2e9e1\\\",\\\"editorGutter.deletedBackground\\\":\\\"#b4637a\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#907aa9\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#d7827e\\\",\\\"editorHint.border\\\":\\\"#0000\\\",\\\"editorHint.foreground\\\":\\\"#797593\\\",\\\"editorHoverWidget.background\\\":\\\"#fffaf3\\\",\\\"editorHoverWidget.border\\\":\\\"#9893a580\\\",\\\"editorHoverWidget.foreground\\\":\\\"#797593\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#575279\\\",\\\"editorHoverWidget.statusBarBackground\\\":\\\"#0000\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#9893a5\\\",\\\"editorIndentGuide.background1\\\":\\\"#6e6a8626\\\",\\\"editorInfo.border\\\":\\\"#f2e9e1\\\",\\\"editorInfo.foreground\\\":\\\"#56949f\\\",\\\"editorInlayHint.background\\\":\\\"#f2e9e180\\\",\\\"editorInlayHint.foreground\\\":\\\"#79759380\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#f2e9e180\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#907aa980\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#f2e9e180\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#56949f80\\\",\\\"editorLightBulb.foreground\\\":\\\"#286983\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#d7827e\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#575279\\\",\\\"editorLineNumber.foreground\\\":\\\"#797593\\\",\\\"editorLink.activeForeground\\\":\\\"#d7827e\\\",\\\"editorMarkerNavigation.background\\\":\\\"#fffaf3\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#fffaf3\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#fffaf3\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#fffaf3\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#56949f80\\\",\\\"editorOverviewRuler.background\\\":\\\"#faf4ed\\\",\\\"editorOverviewRuler.border\\\":\\\"#6e6a8626\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#797593\\\",\\\"editorOverviewRuler.commentForeground\\\":\\\"#79759380\\\",\\\"editorOverviewRuler.commentUnresolvedForeground\\\":\\\"#ea9d3480\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#6e6a860d\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#6e6a8614\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#b4637a80\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#b4637a80\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#6e6a8626\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#907aa980\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#56949f80\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#d7827e80\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#6e6a8626\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#6e6a8626\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#ea9d3480\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#6e6a8614\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#6e6a8626\\\",\\\"editorPane.background\\\":\\\"#0000\\\",\\\"editorRuler.foreground\\\":\\\"#6e6a8626\\\",\\\"editorSuggestWidget.background\\\":\\\"#fffaf3\\\",\\\"editorSuggestWidget.border\\\":\\\"#0000\\\",\\\"editorSuggestWidget.focusHighlightForeground\\\":\\\"#d7827e\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#797593\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#d7827e\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#6e6a8614\\\",\\\"editorSuggestWidget.selectedForeground\\\":\\\"#575279\\\",\\\"editorSuggestWidget.selectedIconForeground\\\":\\\"#575279\\\",\\\"editorUnnecessaryCode.border\\\":\\\"#0000\\\",\\\"editorUnnecessaryCode.opacity\\\":\\\"#57527980\\\",\\\"editorWarning.border\\\":\\\"#0000\\\",\\\"editorWarning.foreground\\\":\\\"#ea9d34\\\",\\\"editorWhitespace.foreground\\\":\\\"#9893a580\\\",\\\"editorWidget.background\\\":\\\"#fffaf3\\\",\\\"editorWidget.border\\\":\\\"#f2e9e1\\\",\\\"editorWidget.foreground\\\":\\\"#797593\\\",\\\"editorWidget.resizeBorder\\\":\\\"#9893a5\\\",\\\"errorForeground\\\":\\\"#b4637a\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#907aa9\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#faf4ed\\\",\\\"extensionButton.prominentBackground\\\":\\\"#d7827e\\\",\\\"extensionButton.prominentForeground\\\":\\\"#faf4ed\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#d7827ee6\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#286983\\\",\\\"extensionIcon.starForeground\\\":\\\"#d7827e\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#907aa9\\\",\\\"focusBorder\\\":\\\"#6e6a8614\\\",\\\"foreground\\\":\\\"#575279\\\",\\\"git.blame.editorDecorationForeground\\\":\\\"#9893a5\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#56949f\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#b4637a\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#797593\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#9893a5\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#d7827e\\\",\\\"gitDecoration.renamedResourceForeground\\\":\\\"#286983\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#b4637a\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#907aa9\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#ea9d34\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#ea9d34\\\",\\\"icon.foreground\\\":\\\"#797593\\\",\\\"input.background\\\":\\\"#f2e9e180\\\",\\\"input.border\\\":\\\"#6e6a8614\\\",\\\"input.foreground\\\":\\\"#575279\\\",\\\"input.placeholderForeground\\\":\\\"#797593\\\",\\\"inputOption.activeBackground\\\":\\\"#d7827e26\\\",\\\"inputOption.activeBorder\\\":\\\"#0000\\\",\\\"inputOption.activeForeground\\\":\\\"#d7827e\\\",\\\"inputValidation.errorBackground\\\":\\\"#fffaf3\\\",\\\"inputValidation.errorBorder\\\":\\\"#6e6a8626\\\",\\\"inputValidation.errorForeground\\\":\\\"#b4637a\\\",\\\"inputValidation.infoBackground\\\":\\\"#fffaf3\\\",\\\"inputValidation.infoBorder\\\":\\\"#6e6a8626\\\",\\\"inputValidation.infoForeground\\\":\\\"#56949f\\\",\\\"inputValidation.warningBackground\\\":\\\"#fffaf3\\\",\\\"inputValidation.warningBorder\\\":\\\"#6e6a8626\\\",\\\"inputValidation.warningForeground\\\":\\\"#56949f80\\\",\\\"keybindingLabel.background\\\":\\\"#f2e9e1\\\",\\\"keybindingLabel.border\\\":\\\"#6e6a8626\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#6e6a8626\\\",\\\"keybindingLabel.foreground\\\":\\\"#907aa9\\\",\\\"keybindingTable.headerBackground\\\":\\\"#f2e9e1\\\",\\\"keybindingTable.rowsBackground\\\":\\\"#fffaf3\\\",\\\"list.activeSelectionBackground\\\":\\\"#6e6a8614\\\",\\\"list.activeSelectionForeground\\\":\\\"#575279\\\",\\\"list.deemphasizedForeground\\\":\\\"#797593\\\",\\\"list.dropBackground\\\":\\\"#fffaf3\\\",\\\"list.errorForeground\\\":\\\"#b4637a\\\",\\\"list.filterMatchBackground\\\":\\\"#fffaf3\\\",\\\"list.filterMatchBorder\\\":\\\"#d7827e\\\",\\\"list.focusBackground\\\":\\\"#6e6a8626\\\",\\\"list.focusForeground\\\":\\\"#575279\\\",\\\"list.focusOutline\\\":\\\"#6e6a8614\\\",\\\"list.highlightForeground\\\":\\\"#d7827e\\\",\\\"list.hoverBackground\\\":\\\"#6e6a860d\\\",\\\"list.hoverForeground\\\":\\\"#575279\\\",\\\"list.inactiveFocusBackground\\\":\\\"#6e6a860d\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#fffaf3\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#575279\\\",\\\"list.invalidItemForeground\\\":\\\"#b4637a\\\",\\\"list.warningForeground\\\":\\\"#ea9d34\\\",\\\"listFilterWidget.background\\\":\\\"#fffaf3\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#b4637a\\\",\\\"listFilterWidget.outline\\\":\\\"#f2e9e1\\\",\\\"menu.background\\\":\\\"#fffaf3\\\",\\\"menu.border\\\":\\\"#6e6a860d\\\",\\\"menu.foreground\\\":\\\"#575279\\\",\\\"menu.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"menu.selectionBorder\\\":\\\"#f2e9e1\\\",\\\"menu.selectionForeground\\\":\\\"#575279\\\",\\\"menu.separatorBackground\\\":\\\"#6e6a8626\\\",\\\"menubar.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"menubar.selectionBorder\\\":\\\"#6e6a860d\\\",\\\"menubar.selectionForeground\\\":\\\"#575279\\\",\\\"merge.border\\\":\\\"#f2e9e1\\\",\\\"merge.commonContentBackground\\\":\\\"#6e6a8614\\\",\\\"merge.commonHeaderBackground\\\":\\\"#6e6a8614\\\",\\\"merge.currentContentBackground\\\":\\\"#ea9d3480\\\",\\\"merge.currentHeaderBackground\\\":\\\"#ea9d3480\\\",\\\"merge.incomingContentBackground\\\":\\\"#56949f80\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#56949f80\\\",\\\"minimap.background\\\":\\\"#fffaf3\\\",\\\"minimap.errorHighlight\\\":\\\"#b4637a80\\\",\\\"minimap.findMatchHighlight\\\":\\\"#6e6a8614\\\",\\\"minimap.selectionHighlight\\\":\\\"#6e6a8614\\\",\\\"minimap.warningHighlight\\\":\\\"#ea9d3480\\\",\\\"minimapGutter.addedBackground\\\":\\\"#56949f\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#b4637a\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#d7827e\\\",\\\"minimapSlider.activeBackground\\\":\\\"#6e6a8626\\\",\\\"minimapSlider.background\\\":\\\"#6e6a8614\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#6e6a8614\\\",\\\"notebook.cellBorderColor\\\":\\\"#56949f80\\\",\\\"notebook.cellEditorBackground\\\":\\\"#fffaf3\\\",\\\"notebook.cellHoverBackground\\\":\\\"#f2e9e180\\\",\\\"notebook.focusedCellBackground\\\":\\\"#6e6a860d\\\",\\\"notebook.focusedCellBorder\\\":\\\"#56949f\\\",\\\"notebook.outputContainerBackgroundColor\\\":\\\"#6e6a860d\\\",\\\"notificationCenter.border\\\":\\\"#6e6a8614\\\",\\\"notificationCenterHeader.background\\\":\\\"#fffaf3\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#797593\\\",\\\"notificationLink.foreground\\\":\\\"#907aa9\\\",\\\"notificationToast.border\\\":\\\"#6e6a8614\\\",\\\"notifications.background\\\":\\\"#fffaf3\\\",\\\"notifications.border\\\":\\\"#6e6a8614\\\",\\\"notifications.foreground\\\":\\\"#575279\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#b4637a\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#56949f\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#ea9d34\\\",\\\"panel.background\\\":\\\"#fffaf3\\\",\\\"panel.border\\\":\\\"#0000\\\",\\\"panel.dropBorder\\\":\\\"#f2e9e1\\\",\\\"panelInput.border\\\":\\\"#fffaf3\\\",\\\"panelSection.dropBackground\\\":\\\"#6e6a8614\\\",\\\"panelSectionHeader.background\\\":\\\"#fffaf3\\\",\\\"panelSectionHeader.foreground\\\":\\\"#575279\\\",\\\"panelTitle.activeBorder\\\":\\\"#6e6a8626\\\",\\\"panelTitle.activeForeground\\\":\\\"#575279\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#797593\\\",\\\"peekView.border\\\":\\\"#f2e9e1\\\",\\\"peekViewEditor.background\\\":\\\"#fffaf3\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#6e6a8626\\\",\\\"peekViewResult.background\\\":\\\"#fffaf3\\\",\\\"peekViewResult.fileForeground\\\":\\\"#797593\\\",\\\"peekViewResult.lineForeground\\\":\\\"#797593\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#6e6a8626\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#575279\\\",\\\"peekViewTitle.background\\\":\\\"#f2e9e1\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#797593\\\",\\\"pickerGroup.border\\\":\\\"#6e6a8626\\\",\\\"pickerGroup.foreground\\\":\\\"#907aa9\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#d7827e\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#b4637a\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#56949f\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#ea9d34\\\",\\\"progressBar.background\\\":\\\"#d7827e\\\",\\\"quickInput.background\\\":\\\"#fffaf3\\\",\\\"quickInput.foreground\\\":\\\"#797593\\\",\\\"quickInputList.focusBackground\\\":\\\"#6e6a8614\\\",\\\"quickInputList.focusForeground\\\":\\\"#575279\\\",\\\"quickInputList.focusIconForeground\\\":\\\"#575279\\\",\\\"scrollbar.shadow\\\":\\\"#fffaf34d\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#28698380\\\",\\\"scrollbarSlider.background\\\":\\\"#6e6a8614\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#6e6a8626\\\",\\\"searchEditor.findMatchBackground\\\":\\\"#6e6a8614\\\",\\\"selection.background\\\":\\\"#6e6a8626\\\",\\\"settings.focusedRowBackground\\\":\\\"#fffaf3\\\",\\\"settings.focusedRowBorder\\\":\\\"#6e6a8614\\\",\\\"settings.headerForeground\\\":\\\"#575279\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#d7827e\\\",\\\"settings.rowHoverBackground\\\":\\\"#fffaf3\\\",\\\"sideBar.background\\\":\\\"#faf4ed\\\",\\\"sideBar.dropBackground\\\":\\\"#fffaf3\\\",\\\"sideBar.foreground\\\":\\\"#797593\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.border\\\":\\\"#6e6a8614\\\",\\\"statusBar.background\\\":\\\"#faf4ed\\\",\\\"statusBar.debuggingBackground\\\":\\\"#907aa9\\\",\\\"statusBar.debuggingForeground\\\":\\\"#faf4ed\\\",\\\"statusBar.foreground\\\":\\\"#797593\\\",\\\"statusBar.noFolderBackground\\\":\\\"#faf4ed\\\",\\\"statusBar.noFolderForeground\\\":\\\"#797593\\\",\\\"statusBarItem.activeBackground\\\":\\\"#6e6a8626\\\",\\\"statusBarItem.errorBackground\\\":\\\"#faf4ed\\\",\\\"statusBarItem.errorForeground\\\":\\\"#b4637a\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#6e6a8614\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#f2e9e1\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#575279\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#6e6a8614\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#faf4ed\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#ea9d34\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#797593\\\",\\\"symbolIcon.classForeground\\\":\\\"#797593\\\",\\\"symbolIcon.colorForeground\\\":\\\"#797593\\\",\\\"symbolIcon.constantForeground\\\":\\\"#797593\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#797593\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#797593\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#797593\\\",\\\"symbolIcon.eventForeground\\\":\\\"#797593\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#797593\\\",\\\"symbolIcon.fileForeground\\\":\\\"#797593\\\",\\\"symbolIcon.folderForeground\\\":\\\"#797593\\\",\\\"symbolIcon.functionForeground\\\":\\\"#797593\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#797593\\\",\\\"symbolIcon.keyForeground\\\":\\\"#797593\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#797593\\\",\\\"symbolIcon.methodForeground\\\":\\\"#797593\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#797593\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#797593\\\",\\\"symbolIcon.nullForeground\\\":\\\"#797593\\\",\\\"symbolIcon.numberForeground\\\":\\\"#797593\\\",\\\"symbolIcon.objectForeground\\\":\\\"#797593\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#797593\\\",\\\"symbolIcon.packageForeground\\\":\\\"#797593\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#797593\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#797593\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#797593\\\",\\\"symbolIcon.stringForeground\\\":\\\"#797593\\\",\\\"symbolIcon.structForeground\\\":\\\"#797593\\\",\\\"symbolIcon.textForeground\\\":\\\"#797593\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#797593\\\",\\\"symbolIcon.unitForeground\\\":\\\"#797593\\\",\\\"symbolIcon.variableForeground\\\":\\\"#797593\\\",\\\"tab.activeBackground\\\":\\\"#6e6a860d\\\",\\\"tab.activeForeground\\\":\\\"#575279\\\",\\\"tab.activeModifiedBorder\\\":\\\"#56949f\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.hoverBackground\\\":\\\"#6e6a8614\\\",\\\"tab.inactiveBackground\\\":\\\"#0000\\\",\\\"tab.inactiveForeground\\\":\\\"#797593\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#56949f80\\\",\\\"tab.lastPinnedBorder\\\":\\\"#9893a5\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#56949f80\\\",\\\"terminal.ansiBlack\\\":\\\"#f2e9e1\\\",\\\"terminal.ansiBlue\\\":\\\"#56949f\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#797593\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#56949f\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#d7827e\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#286983\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#907aa9\\\",\\\"terminal.ansiBrightRed\\\":\\\"#b4637a\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#575279\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ea9d34\\\",\\\"terminal.ansiCyan\\\":\\\"#d7827e\\\",\\\"terminal.ansiGreen\\\":\\\"#286983\\\",\\\"terminal.ansiMagenta\\\":\\\"#907aa9\\\",\\\"terminal.ansiRed\\\":\\\"#b4637a\\\",\\\"terminal.ansiWhite\\\":\\\"#575279\\\",\\\"terminal.ansiYellow\\\":\\\"#ea9d34\\\",\\\"terminal.dropBackground\\\":\\\"#6e6a8614\\\",\\\"terminal.foreground\\\":\\\"#575279\\\",\\\"terminal.selectionBackground\\\":\\\"#6e6a8614\\\",\\\"terminal.tab.activeBorder\\\":\\\"#575279\\\",\\\"terminalCursor.background\\\":\\\"#575279\\\",\\\"terminalCursor.foreground\\\":\\\"#9893a5\\\",\\\"textBlockQuote.background\\\":\\\"#fffaf3\\\",\\\"textBlockQuote.border\\\":\\\"#6e6a8614\\\",\\\"textCodeBlock.background\\\":\\\"#fffaf3\\\",\\\"textLink.activeForeground\\\":\\\"#907aa9e6\\\",\\\"textLink.foreground\\\":\\\"#907aa9\\\",\\\"textPreformat.foreground\\\":\\\"#ea9d34\\\",\\\"textSeparator.foreground\\\":\\\"#797593\\\",\\\"titleBar.activeBackground\\\":\\\"#faf4ed\\\",\\\"titleBar.activeForeground\\\":\\\"#797593\\\",\\\"titleBar.inactiveBackground\\\":\\\"#fffaf3\\\",\\\"titleBar.inactiveForeground\\\":\\\"#797593\\\",\\\"toolbar.activeBackground\\\":\\\"#6e6a8626\\\",\\\"toolbar.hoverBackground\\\":\\\"#6e6a8614\\\",\\\"tree.indentGuidesStroke\\\":\\\"#797593\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#faf4ed\\\",\\\"welcomePage.background\\\":\\\"#faf4ed\\\",\\\"widget.shadow\\\":\\\"#fffaf34d\\\",\\\"window.activeBorder\\\":\\\"#fffaf3\\\",\\\"window.inactiveBorder\\\":\\\"#fffaf3\\\"},\\\"displayName\\\":\\\"Rosé Pine Dawn\\\",\\\"name\\\":\\\"rose-pine-dawn\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#9893a5\\\"}},{\\\"scope\\\":[\\\"constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7827e\\\"}},{\\\"scope\\\":[\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7827e\\\"}},{\\\"scope\\\":[\\\"entity.name.section\\\",\\\"entity.name.tag\\\",\\\"entity.name.namespace\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56949f\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#907aa9\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4637a\\\"}},{\\\"scope\\\":[\\\"invalid.deprecated\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#797593\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"variable.language.this\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":[\\\"markup.inserted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56949f\\\"}},{\\\"scope\\\":[\\\"markup.deleted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b4637a\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"meta.diff.range\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#907aa9\\\"}},{\\\"scope\\\":[\\\"meta.tag\\\",\\\"meta.brace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#575279\\\"}},{\\\"scope\\\":[\\\"meta.import\\\",\\\"meta.export\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":\\\"meta.directive.vue\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#907aa9\\\"}},{\\\"scope\\\":\\\"meta.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#56949f\\\"}},{\\\"scope\\\":\\\"meta.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9d34\\\"}},{\\\"scope\\\":\\\"meta.tag.other.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#797593\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#797593\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9d34\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9893a5\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#286983\\\"}},{\\\"scope\\\":[\\\"string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9d34\\\"}},{\\\"scope\\\":[\\\"support\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#56949f\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9d34\\\"}},{\\\"scope\\\":[\\\"support.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b4637a\\\"}},{\\\"scope\\\":[\\\"variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#d7827e\\\"}},{\\\"scope\\\":[\\\"variable.other\\\",\\\"variable.language\\\",\\\"variable.function\\\",\\\"variable.argument\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#575279\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#907aa9\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: rose-pine-moon */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#e0def4\\\",\\\"activityBar.background\\\":\\\"#232136\\\",\\\"activityBar.dropBorder\\\":\\\"#393552\\\",\\\"activityBar.foreground\\\":\\\"#e0def4\\\",\\\"activityBar.inactiveForeground\\\":\\\"#908caa\\\",\\\"activityBarBadge.background\\\":\\\"#ea9a97\\\",\\\"activityBarBadge.foreground\\\":\\\"#232136\\\",\\\"badge.background\\\":\\\"#ea9a97\\\",\\\"badge.foreground\\\":\\\"#232136\\\",\\\"banner.background\\\":\\\"#2a273f\\\",\\\"banner.foreground\\\":\\\"#e0def4\\\",\\\"banner.iconForeground\\\":\\\"#908caa\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#ea9a97\\\",\\\"breadcrumb.background\\\":\\\"#232136\\\",\\\"breadcrumb.focusForeground\\\":\\\"#908caa\\\",\\\"breadcrumb.foreground\\\":\\\"#6e6a86\\\",\\\"breadcrumbPicker.background\\\":\\\"#2a273f\\\",\\\"button.background\\\":\\\"#ea9a97\\\",\\\"button.foreground\\\":\\\"#232136\\\",\\\"button.hoverBackground\\\":\\\"#ea9a97e6\\\",\\\"button.secondaryBackground\\\":\\\"#2a273f\\\",\\\"button.secondaryForeground\\\":\\\"#e0def4\\\",\\\"button.secondaryHoverBackground\\\":\\\"#393552\\\",\\\"charts.blue\\\":\\\"#9ccfd8\\\",\\\"charts.foreground\\\":\\\"#e0def4\\\",\\\"charts.green\\\":\\\"#3e8fb0\\\",\\\"charts.lines\\\":\\\"#908caa\\\",\\\"charts.orange\\\":\\\"#ea9a97\\\",\\\"charts.purple\\\":\\\"#c4a7e7\\\",\\\"charts.red\\\":\\\"#eb6f92\\\",\\\"charts.yellow\\\":\\\"#f6c177\\\",\\\"checkbox.background\\\":\\\"#2a273f\\\",\\\"checkbox.border\\\":\\\"#817c9c26\\\",\\\"checkbox.foreground\\\":\\\"#e0def4\\\",\\\"debugExceptionWidget.background\\\":\\\"#2a273f\\\",\\\"debugExceptionWidget.border\\\":\\\"#817c9c26\\\",\\\"debugIcon.breakpointCurrentStackframeForeground\\\":\\\"#908caa\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#908caa\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#908caa\\\",\\\"debugIcon.breakpointStackframeForeground\\\":\\\"#908caa\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#908caa\\\",\\\"debugIcon.continueForeground\\\":\\\"#908caa\\\",\\\"debugIcon.disconnectForeground\\\":\\\"#908caa\\\",\\\"debugIcon.pauseForeground\\\":\\\"#908caa\\\",\\\"debugIcon.restartForeground\\\":\\\"#908caa\\\",\\\"debugIcon.startForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stepBackForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stepIntoForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stepOutForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stepOverForeground\\\":\\\"#908caa\\\",\\\"debugIcon.stopForeground\\\":\\\"#eb6f92\\\",\\\"debugToolBar.background\\\":\\\"#2a273f\\\",\\\"debugToolBar.border\\\":\\\"#393552\\\",\\\"descriptionForeground\\\":\\\"#908caa\\\",\\\"diffEditor.border\\\":\\\"#393552\\\",\\\"diffEditor.diagonalFill\\\":\\\"#817c9c4d\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#9ccfd826\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#9ccfd826\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#eb6f9226\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#eb6f9226\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#9ccfd880\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#eb6f9280\\\",\\\"dropdown.background\\\":\\\"#2a273f\\\",\\\"dropdown.border\\\":\\\"#817c9c26\\\",\\\"dropdown.foreground\\\":\\\"#e0def4\\\",\\\"dropdown.listBackground\\\":\\\"#2a273f\\\",\\\"editor.background\\\":\\\"#232136\\\",\\\"editor.findMatchBackground\\\":\\\"#f6c17733\\\",\\\"editor.findMatchBorder\\\":\\\"#f6c17780\\\",\\\"editor.findMatchForeground\\\":\\\"#e0def4\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#817c9c4d\\\",\\\"editor.findMatchHighlightForeground\\\":\\\"#e0def4cc\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#817c9c4d\\\",\\\"editor.findRangeHighlightBorder\\\":\\\"#0000\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#817c9c26\\\",\\\"editor.foldBackground\\\":\\\"#817c9c26\\\",\\\"editor.foreground\\\":\\\"#e0def4\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#0000\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#817c9c14\\\",\\\"editor.inlineValuesBackground\\\":\\\"#0000\\\",\\\"editor.inlineValuesForeground\\\":\\\"#908caa\\\",\\\"editor.lineHighlightBackground\\\":\\\"#817c9c14\\\",\\\"editor.lineHighlightBorder\\\":\\\"#0000\\\",\\\"editor.linkedEditingBackground\\\":\\\"#817c9c26\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#817c9c14\\\",\\\"editor.selectionBackground\\\":\\\"#817c9c26\\\",\\\"editor.selectionForeground\\\":\\\"#e0def4\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#817c9c26\\\",\\\"editor.selectionHighlightBorder\\\":\\\"#232136\\\",\\\"editor.snippetFinalTabstopHighlightBackground\\\":\\\"#817c9c26\\\",\\\"editor.snippetFinalTabstopHighlightBorder\\\":\\\"#2a273f\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#817c9c26\\\",\\\"editor.snippetTabstopHighlightBorder\\\":\\\"#2a273f\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#817c9c26\\\",\\\"editor.symbolHighlightBackground\\\":\\\"#817c9c26\\\",\\\"editor.symbolHighlightBorder\\\":\\\"#0000\\\",\\\"editor.wordHighlightBackground\\\":\\\"#817c9c26\\\",\\\"editor.wordHighlightBorder\\\":\\\"#0000\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#817c9c26\\\",\\\"editor.wordHighlightStrongBorder\\\":\\\"#817c9c26\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#eb6f9280\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#3e8fb080\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#f6c17780\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#9ccfd880\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#ea9a9780\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#c4a7e780\\\",\\\"editorBracketMatch.background\\\":\\\"#0000\\\",\\\"editorBracketMatch.border\\\":\\\"#908caa\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#3e8fb0\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#ea9a97\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#c4a7e7\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#9ccfd8\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#f6c177\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#eb6f92\\\",\\\"editorBracketPairGuide.background1\\\":\\\"#3e8fb080\\\",\\\"editorBracketPairGuide.background2\\\":\\\"#ea9a9780\\\",\\\"editorBracketPairGuide.background3\\\":\\\"#c4a7e780\\\",\\\"editorBracketPairGuide.background4\\\":\\\"#9ccfd880\\\",\\\"editorBracketPairGuide.background5\\\":\\\"#f6c17780\\\",\\\"editorBracketPairGuide.background6\\\":\\\"#eb6f9280\\\",\\\"editorCodeLens.foreground\\\":\\\"#ea9a97\\\",\\\"editorCursor.background\\\":\\\"#e0def4\\\",\\\"editorCursor.foreground\\\":\\\"#6e6a86\\\",\\\"editorError.border\\\":\\\"#0000\\\",\\\"editorError.foreground\\\":\\\"#eb6f92\\\",\\\"editorGhostText.foreground\\\":\\\"#908caa\\\",\\\"editorGroup.border\\\":\\\"#0000\\\",\\\"editorGroup.dropBackground\\\":\\\"#2a273f\\\",\\\"editorGroup.emptyBackground\\\":\\\"#0000\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#0000\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#0000\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#0000\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#0000\\\",\\\"editorGutter.addedBackground\\\":\\\"#9ccfd8\\\",\\\"editorGutter.background\\\":\\\"#232136\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#393552\\\",\\\"editorGutter.deletedBackground\\\":\\\"#eb6f92\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#c4a7e7\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#ea9a97\\\",\\\"editorHint.border\\\":\\\"#0000\\\",\\\"editorHint.foreground\\\":\\\"#908caa\\\",\\\"editorHoverWidget.background\\\":\\\"#2a273f\\\",\\\"editorHoverWidget.border\\\":\\\"#6e6a8680\\\",\\\"editorHoverWidget.foreground\\\":\\\"#908caa\\\",\\\"editorHoverWidget.highlightForeground\\\":\\\"#e0def4\\\",\\\"editorHoverWidget.statusBarBackground\\\":\\\"#0000\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#6e6a86\\\",\\\"editorIndentGuide.background1\\\":\\\"#817c9c4d\\\",\\\"editorInfo.border\\\":\\\"#393552\\\",\\\"editorInfo.foreground\\\":\\\"#9ccfd8\\\",\\\"editorInlayHint.background\\\":\\\"#39355280\\\",\\\"editorInlayHint.foreground\\\":\\\"#908caa80\\\",\\\"editorInlayHint.parameterBackground\\\":\\\"#39355280\\\",\\\"editorInlayHint.parameterForeground\\\":\\\"#c4a7e780\\\",\\\"editorInlayHint.typeBackground\\\":\\\"#39355280\\\",\\\"editorInlayHint.typeForeground\\\":\\\"#9ccfd880\\\",\\\"editorLightBulb.foreground\\\":\\\"#3e8fb0\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#ea9a97\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#e0def4\\\",\\\"editorLineNumber.foreground\\\":\\\"#908caa\\\",\\\"editorLink.activeForeground\\\":\\\"#ea9a97\\\",\\\"editorMarkerNavigation.background\\\":\\\"#2a273f\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#2a273f\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#2a273f\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#2a273f\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#9ccfd880\\\",\\\"editorOverviewRuler.background\\\":\\\"#232136\\\",\\\"editorOverviewRuler.border\\\":\\\"#817c9c4d\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#908caa\\\",\\\"editorOverviewRuler.commentForeground\\\":\\\"#908caa80\\\",\\\"editorOverviewRuler.commentUnresolvedForeground\\\":\\\"#f6c17780\\\",\\\"editorOverviewRuler.commonContentForeground\\\":\\\"#817c9c14\\\",\\\"editorOverviewRuler.currentContentForeground\\\":\\\"#817c9c26\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#eb6f9280\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#eb6f9280\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#817c9c4d\\\",\\\"editorOverviewRuler.incomingContentForeground\\\":\\\"#c4a7e780\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#9ccfd880\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#ea9a9780\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#817c9c4d\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#817c9c4d\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#f6c17780\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#817c9c26\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#817c9c4d\\\",\\\"editorPane.background\\\":\\\"#0000\\\",\\\"editorRuler.foreground\\\":\\\"#817c9c4d\\\",\\\"editorSuggestWidget.background\\\":\\\"#2a273f\\\",\\\"editorSuggestWidget.border\\\":\\\"#0000\\\",\\\"editorSuggestWidget.focusHighlightForeground\\\":\\\"#ea9a97\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#908caa\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#ea9a97\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#817c9c26\\\",\\\"editorSuggestWidget.selectedForeground\\\":\\\"#e0def4\\\",\\\"editorSuggestWidget.selectedIconForeground\\\":\\\"#e0def4\\\",\\\"editorUnnecessaryCode.border\\\":\\\"#0000\\\",\\\"editorUnnecessaryCode.opacity\\\":\\\"#e0def480\\\",\\\"editorWarning.border\\\":\\\"#0000\\\",\\\"editorWarning.foreground\\\":\\\"#f6c177\\\",\\\"editorWhitespace.foreground\\\":\\\"#6e6a8680\\\",\\\"editorWidget.background\\\":\\\"#2a273f\\\",\\\"editorWidget.border\\\":\\\"#393552\\\",\\\"editorWidget.foreground\\\":\\\"#908caa\\\",\\\"editorWidget.resizeBorder\\\":\\\"#6e6a86\\\",\\\"errorForeground\\\":\\\"#eb6f92\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#c4a7e7\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#232136\\\",\\\"extensionButton.prominentBackground\\\":\\\"#ea9a97\\\",\\\"extensionButton.prominentForeground\\\":\\\"#232136\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#ea9a97e6\\\",\\\"extensionIcon.preReleaseForeground\\\":\\\"#3e8fb0\\\",\\\"extensionIcon.starForeground\\\":\\\"#ea9a97\\\",\\\"extensionIcon.verifiedForeground\\\":\\\"#c4a7e7\\\",\\\"focusBorder\\\":\\\"#817c9c26\\\",\\\"foreground\\\":\\\"#e0def4\\\",\\\"git.blame.editorDecorationForeground\\\":\\\"#6e6a86\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#9ccfd8\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#eb6f92\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#908caa\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#6e6a86\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ea9a97\\\",\\\"gitDecoration.renamedResourceForeground\\\":\\\"#3e8fb0\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#eb6f92\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#c4a7e7\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#f6c177\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#f6c177\\\",\\\"icon.foreground\\\":\\\"#908caa\\\",\\\"input.background\\\":\\\"#39355280\\\",\\\"input.border\\\":\\\"#817c9c26\\\",\\\"input.foreground\\\":\\\"#e0def4\\\",\\\"input.placeholderForeground\\\":\\\"#908caa\\\",\\\"inputOption.activeBackground\\\":\\\"#ea9a9726\\\",\\\"inputOption.activeBorder\\\":\\\"#0000\\\",\\\"inputOption.activeForeground\\\":\\\"#ea9a97\\\",\\\"inputValidation.errorBackground\\\":\\\"#2a273f\\\",\\\"inputValidation.errorBorder\\\":\\\"#817c9c4d\\\",\\\"inputValidation.errorForeground\\\":\\\"#eb6f92\\\",\\\"inputValidation.infoBackground\\\":\\\"#2a273f\\\",\\\"inputValidation.infoBorder\\\":\\\"#817c9c4d\\\",\\\"inputValidation.infoForeground\\\":\\\"#9ccfd8\\\",\\\"inputValidation.warningBackground\\\":\\\"#2a273f\\\",\\\"inputValidation.warningBorder\\\":\\\"#817c9c4d\\\",\\\"inputValidation.warningForeground\\\":\\\"#9ccfd880\\\",\\\"keybindingLabel.background\\\":\\\"#393552\\\",\\\"keybindingLabel.border\\\":\\\"#817c9c4d\\\",\\\"keybindingLabel.bottomBorder\\\":\\\"#817c9c4d\\\",\\\"keybindingLabel.foreground\\\":\\\"#c4a7e7\\\",\\\"keybindingTable.headerBackground\\\":\\\"#393552\\\",\\\"keybindingTable.rowsBackground\\\":\\\"#2a273f\\\",\\\"list.activeSelectionBackground\\\":\\\"#817c9c26\\\",\\\"list.activeSelectionForeground\\\":\\\"#e0def4\\\",\\\"list.deemphasizedForeground\\\":\\\"#908caa\\\",\\\"list.dropBackground\\\":\\\"#2a273f\\\",\\\"list.errorForeground\\\":\\\"#eb6f92\\\",\\\"list.filterMatchBackground\\\":\\\"#2a273f\\\",\\\"list.filterMatchBorder\\\":\\\"#ea9a97\\\",\\\"list.focusBackground\\\":\\\"#817c9c4d\\\",\\\"list.focusForeground\\\":\\\"#e0def4\\\",\\\"list.focusOutline\\\":\\\"#817c9c26\\\",\\\"list.highlightForeground\\\":\\\"#ea9a97\\\",\\\"list.hoverBackground\\\":\\\"#817c9c14\\\",\\\"list.hoverForeground\\\":\\\"#e0def4\\\",\\\"list.inactiveFocusBackground\\\":\\\"#817c9c14\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#2a273f\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#e0def4\\\",\\\"list.invalidItemForeground\\\":\\\"#eb6f92\\\",\\\"list.warningForeground\\\":\\\"#f6c177\\\",\\\"listFilterWidget.background\\\":\\\"#2a273f\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#eb6f92\\\",\\\"listFilterWidget.outline\\\":\\\"#393552\\\",\\\"menu.background\\\":\\\"#2a273f\\\",\\\"menu.border\\\":\\\"#817c9c14\\\",\\\"menu.foreground\\\":\\\"#e0def4\\\",\\\"menu.selectionBackground\\\":\\\"#817c9c26\\\",\\\"menu.selectionBorder\\\":\\\"#393552\\\",\\\"menu.selectionForeground\\\":\\\"#e0def4\\\",\\\"menu.separatorBackground\\\":\\\"#817c9c4d\\\",\\\"menubar.selectionBackground\\\":\\\"#817c9c26\\\",\\\"menubar.selectionBorder\\\":\\\"#817c9c14\\\",\\\"menubar.selectionForeground\\\":\\\"#e0def4\\\",\\\"merge.border\\\":\\\"#393552\\\",\\\"merge.commonContentBackground\\\":\\\"#817c9c26\\\",\\\"merge.commonHeaderBackground\\\":\\\"#817c9c26\\\",\\\"merge.currentContentBackground\\\":\\\"#f6c17780\\\",\\\"merge.currentHeaderBackground\\\":\\\"#f6c17780\\\",\\\"merge.incomingContentBackground\\\":\\\"#9ccfd880\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#9ccfd880\\\",\\\"minimap.background\\\":\\\"#2a273f\\\",\\\"minimap.errorHighlight\\\":\\\"#eb6f9280\\\",\\\"minimap.findMatchHighlight\\\":\\\"#817c9c26\\\",\\\"minimap.selectionHighlight\\\":\\\"#817c9c26\\\",\\\"minimap.warningHighlight\\\":\\\"#f6c17780\\\",\\\"minimapGutter.addedBackground\\\":\\\"#9ccfd8\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#eb6f92\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#ea9a97\\\",\\\"minimapSlider.activeBackground\\\":\\\"#817c9c4d\\\",\\\"minimapSlider.background\\\":\\\"#817c9c26\\\",\\\"minimapSlider.hoverBackground\\\":\\\"#817c9c26\\\",\\\"notebook.cellBorderColor\\\":\\\"#9ccfd880\\\",\\\"notebook.cellEditorBackground\\\":\\\"#2a273f\\\",\\\"notebook.cellHoverBackground\\\":\\\"#39355280\\\",\\\"notebook.focusedCellBackground\\\":\\\"#817c9c14\\\",\\\"notebook.focusedCellBorder\\\":\\\"#9ccfd8\\\",\\\"notebook.outputContainerBackgroundColor\\\":\\\"#817c9c14\\\",\\\"notificationCenter.border\\\":\\\"#817c9c26\\\",\\\"notificationCenterHeader.background\\\":\\\"#2a273f\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#908caa\\\",\\\"notificationLink.foreground\\\":\\\"#c4a7e7\\\",\\\"notificationToast.border\\\":\\\"#817c9c26\\\",\\\"notifications.background\\\":\\\"#2a273f\\\",\\\"notifications.border\\\":\\\"#817c9c26\\\",\\\"notifications.foreground\\\":\\\"#e0def4\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#eb6f92\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#9ccfd8\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#f6c177\\\",\\\"panel.background\\\":\\\"#2a273f\\\",\\\"panel.border\\\":\\\"#0000\\\",\\\"panel.dropBorder\\\":\\\"#393552\\\",\\\"panelInput.border\\\":\\\"#2a273f\\\",\\\"panelSection.dropBackground\\\":\\\"#817c9c26\\\",\\\"panelSectionHeader.background\\\":\\\"#2a273f\\\",\\\"panelSectionHeader.foreground\\\":\\\"#e0def4\\\",\\\"panelTitle.activeBorder\\\":\\\"#817c9c4d\\\",\\\"panelTitle.activeForeground\\\":\\\"#e0def4\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#908caa\\\",\\\"peekView.border\\\":\\\"#393552\\\",\\\"peekViewEditor.background\\\":\\\"#2a273f\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#817c9c4d\\\",\\\"peekViewResult.background\\\":\\\"#2a273f\\\",\\\"peekViewResult.fileForeground\\\":\\\"#908caa\\\",\\\"peekViewResult.lineForeground\\\":\\\"#908caa\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#817c9c4d\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#817c9c26\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#e0def4\\\",\\\"peekViewTitle.background\\\":\\\"#393552\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#908caa\\\",\\\"pickerGroup.border\\\":\\\"#817c9c4d\\\",\\\"pickerGroup.foreground\\\":\\\"#c4a7e7\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#ea9a97\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#eb6f92\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#9ccfd8\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#f6c177\\\",\\\"progressBar.background\\\":\\\"#ea9a97\\\",\\\"quickInput.background\\\":\\\"#2a273f\\\",\\\"quickInput.foreground\\\":\\\"#908caa\\\",\\\"quickInputList.focusBackground\\\":\\\"#817c9c26\\\",\\\"quickInputList.focusForeground\\\":\\\"#e0def4\\\",\\\"quickInputList.focusIconForeground\\\":\\\"#e0def4\\\",\\\"scrollbar.shadow\\\":\\\"#2a273f4d\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#3e8fb080\\\",\\\"scrollbarSlider.background\\\":\\\"#817c9c26\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#817c9c4d\\\",\\\"searchEditor.findMatchBackground\\\":\\\"#817c9c26\\\",\\\"selection.background\\\":\\\"#817c9c4d\\\",\\\"settings.focusedRowBackground\\\":\\\"#2a273f\\\",\\\"settings.focusedRowBorder\\\":\\\"#817c9c26\\\",\\\"settings.headerForeground\\\":\\\"#e0def4\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#ea9a97\\\",\\\"settings.rowHoverBackground\\\":\\\"#2a273f\\\",\\\"sideBar.background\\\":\\\"#232136\\\",\\\"sideBar.dropBackground\\\":\\\"#2a273f\\\",\\\"sideBar.foreground\\\":\\\"#908caa\\\",\\\"sideBarSectionHeader.background\\\":\\\"#0000\\\",\\\"sideBarSectionHeader.border\\\":\\\"#817c9c26\\\",\\\"statusBar.background\\\":\\\"#232136\\\",\\\"statusBar.debuggingBackground\\\":\\\"#c4a7e7\\\",\\\"statusBar.debuggingForeground\\\":\\\"#232136\\\",\\\"statusBar.foreground\\\":\\\"#908caa\\\",\\\"statusBar.noFolderBackground\\\":\\\"#232136\\\",\\\"statusBar.noFolderForeground\\\":\\\"#908caa\\\",\\\"statusBarItem.activeBackground\\\":\\\"#817c9c4d\\\",\\\"statusBarItem.errorBackground\\\":\\\"#232136\\\",\\\"statusBarItem.errorForeground\\\":\\\"#eb6f92\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#817c9c26\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#393552\\\",\\\"statusBarItem.prominentForeground\\\":\\\"#e0def4\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#817c9c26\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#232136\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#f6c177\\\",\\\"symbolIcon.arrayForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.classForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.colorForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.constantForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.constructorForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.enumeratorForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.enumeratorMemberForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.eventForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.fieldForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.fileForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.folderForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.functionForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.interfaceForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.keyForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.keywordForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.methodForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.moduleForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.namespaceForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.nullForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.numberForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.objectForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.operatorForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.packageForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.propertyForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.referenceForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.snippetForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.stringForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.structForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.textForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.typeParameterForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.unitForeground\\\":\\\"#908caa\\\",\\\"symbolIcon.variableForeground\\\":\\\"#908caa\\\",\\\"tab.activeBackground\\\":\\\"#817c9c14\\\",\\\"tab.activeForeground\\\":\\\"#e0def4\\\",\\\"tab.activeModifiedBorder\\\":\\\"#9ccfd8\\\",\\\"tab.border\\\":\\\"#0000\\\",\\\"tab.hoverBackground\\\":\\\"#817c9c26\\\",\\\"tab.inactiveBackground\\\":\\\"#0000\\\",\\\"tab.inactiveForeground\\\":\\\"#908caa\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#9ccfd880\\\",\\\"tab.lastPinnedBorder\\\":\\\"#6e6a86\\\",\\\"tab.unfocusedActiveBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedInactiveBackground\\\":\\\"#0000\\\",\\\"tab.unfocusedInactiveModifiedBorder\\\":\\\"#9ccfd880\\\",\\\"terminal.ansiBlack\\\":\\\"#393552\\\",\\\"terminal.ansiBlue\\\":\\\"#9ccfd8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#908caa\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#9ccfd8\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#ea9a97\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#3e8fb0\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#c4a7e7\\\",\\\"terminal.ansiBrightRed\\\":\\\"#eb6f92\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#e0def4\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#f6c177\\\",\\\"terminal.ansiCyan\\\":\\\"#ea9a97\\\",\\\"terminal.ansiGreen\\\":\\\"#3e8fb0\\\",\\\"terminal.ansiMagenta\\\":\\\"#c4a7e7\\\",\\\"terminal.ansiRed\\\":\\\"#eb6f92\\\",\\\"terminal.ansiWhite\\\":\\\"#e0def4\\\",\\\"terminal.ansiYellow\\\":\\\"#f6c177\\\",\\\"terminal.dropBackground\\\":\\\"#817c9c26\\\",\\\"terminal.foreground\\\":\\\"#e0def4\\\",\\\"terminal.selectionBackground\\\":\\\"#817c9c26\\\",\\\"terminal.tab.activeBorder\\\":\\\"#e0def4\\\",\\\"terminalCursor.background\\\":\\\"#e0def4\\\",\\\"terminalCursor.foreground\\\":\\\"#6e6a86\\\",\\\"textBlockQuote.background\\\":\\\"#2a273f\\\",\\\"textBlockQuote.border\\\":\\\"#817c9c26\\\",\\\"textCodeBlock.background\\\":\\\"#2a273f\\\",\\\"textLink.activeForeground\\\":\\\"#c4a7e7e6\\\",\\\"textLink.foreground\\\":\\\"#c4a7e7\\\",\\\"textPreformat.foreground\\\":\\\"#f6c177\\\",\\\"textSeparator.foreground\\\":\\\"#908caa\\\",\\\"titleBar.activeBackground\\\":\\\"#232136\\\",\\\"titleBar.activeForeground\\\":\\\"#908caa\\\",\\\"titleBar.inactiveBackground\\\":\\\"#2a273f\\\",\\\"titleBar.inactiveForeground\\\":\\\"#908caa\\\",\\\"toolbar.activeBackground\\\":\\\"#817c9c4d\\\",\\\"toolbar.hoverBackground\\\":\\\"#817c9c26\\\",\\\"tree.indentGuidesStroke\\\":\\\"#908caa\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#232136\\\",\\\"welcomePage.background\\\":\\\"#232136\\\",\\\"widget.shadow\\\":\\\"#2a273f4d\\\",\\\"window.activeBorder\\\":\\\"#2a273f\\\",\\\"window.inactiveBorder\\\":\\\"#2a273f\\\"},\\\"displayName\\\":\\\"Rosé Pine Moon\\\",\\\"name\\\":\\\"rose-pine-moon\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#6e6a86\\\"}},{\\\"scope\\\":[\\\"constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3e8fb0\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9a97\\\"}},{\\\"scope\\\":[\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ea9a97\\\"}},{\\\"scope\\\":[\\\"entity.name.section\\\",\\\"entity.name.tag\\\",\\\"entity.name.namespace\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ccfd8\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c4a7e7\\\"}},{\\\"scope\\\":[\\\"invalid\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eb6f92\\\"}},{\\\"scope\\\":[\\\"invalid.deprecated\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#908caa\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"variable.language.this\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3e8fb0\\\"}},{\\\"scope\\\":[\\\"markup.inserted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ccfd8\\\"}},{\\\"scope\\\":[\\\"markup.deleted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#eb6f92\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.bold.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic.markdown\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"meta.diff.range\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c4a7e7\\\"}},{\\\"scope\\\":[\\\"meta.tag\\\",\\\"meta.brace\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0def4\\\"}},{\\\"scope\\\":[\\\"meta.import\\\",\\\"meta.export\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3e8fb0\\\"}},{\\\"scope\\\":\\\"meta.directive.vue\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c4a7e7\\\"}},{\\\"scope\\\":\\\"meta.property-name.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9ccfd8\\\"}},{\\\"scope\\\":\\\"meta.property-value.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f6c177\\\"}},{\\\"scope\\\":\\\"meta.tag.other.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#908caa\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#908caa\\\"}},{\\\"scope\\\":[\\\"punctuation.accessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3e8fb0\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6c177\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6e6a86\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#3e8fb0\\\"}},{\\\"scope\\\":[\\\"string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6c177\\\"}},{\\\"scope\\\":[\\\"support\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ccfd8\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f6c177\\\"}},{\\\"scope\\\":[\\\"support.function\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#eb6f92\\\"}},{\\\"scope\\\":[\\\"variable\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ea9a97\\\"}},{\\\"scope\\\":[\\\"variable.other\\\",\\\"variable.language\\\",\\\"variable.function\\\",\\\"variable.argument\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0def4\\\"}},{\\\"scope\\\":[\\\"variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c4a7e7\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: slack-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#222222\\\",\\\"activityBarBadge.background\\\":\\\"#1D978D\\\",\\\"button.background\\\":\\\"#0077B5\\\",\\\"button.foreground\\\":\\\"#FFF\\\",\\\"button.hoverBackground\\\":\\\"#005076\\\",\\\"debugExceptionWidget.background\\\":\\\"#141414\\\",\\\"debugExceptionWidget.border\\\":\\\"#FFF\\\",\\\"debugToolBar.background\\\":\\\"#141414\\\",\\\"editor.background\\\":\\\"#222222\\\",\\\"editor.foreground\\\":\\\"#E6E6E6\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#3a3d41\\\",\\\"editor.lineHighlightBackground\\\":\\\"#141414\\\",\\\"editor.lineHighlightBorder\\\":\\\"#141414\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#add6ff26\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#707070\\\",\\\"editorIndentGuide.background\\\":\\\"#404040\\\",\\\"editorLink.activeForeground\\\":\\\"#0077B5\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#0077B5\\\",\\\"extensionButton.prominentBackground\\\":\\\"#0077B5\\\",\\\"extensionButton.prominentForeground\\\":\\\"#FFF\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#005076\\\",\\\"focusBorder\\\":\\\"#0077B5\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#ECB22E\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFF\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#FFF\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#877583\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ECB22E\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#ECB22E\\\",\\\"input.placeholderForeground\\\":\\\"#7A7A7A\\\",\\\"list.activeSelectionBackground\\\":\\\"#222222\\\",\\\"list.dropBackground\\\":\\\"#383b3d\\\",\\\"list.focusBackground\\\":\\\"#0077B5\\\",\\\"list.hoverBackground\\\":\\\"#222222\\\",\\\"menu.background\\\":\\\"#252526\\\",\\\"menu.foreground\\\":\\\"#E6E6E6\\\",\\\"notificationLink.foreground\\\":\\\"#0077B5\\\",\\\"settings.numberInputBackground\\\":\\\"#292929\\\",\\\"settings.textInputBackground\\\":\\\"#292929\\\",\\\"sideBarSectionHeader.background\\\":\\\"#222222\\\",\\\"sideBarTitle.foreground\\\":\\\"#E6E6E6\\\",\\\"statusBar.background\\\":\\\"#222222\\\",\\\"statusBar.debuggingBackground\\\":\\\"#1D978D\\\",\\\"statusBar.noFolderBackground\\\":\\\"#141414\\\",\\\"textLink.activeForeground\\\":\\\"#0077B5\\\",\\\"textLink.foreground\\\":\\\"#0077B5\\\",\\\"titleBar.activeBackground\\\":\\\"#222222\\\",\\\"titleBar.activeForeground\\\":\\\"#E6E6E6\\\",\\\"titleBar.inactiveBackground\\\":\\\"#222222\\\",\\\"titleBar.inactiveForeground\\\":\\\"#7A7A7A\\\"},\\\"displayName\\\":\\\"Slack Dark\\\",\\\"name\\\":\\\"slack-dark\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D4D4D4\\\"}},{\\\"scope\\\":\\\"emphasis\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"strong\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#000080\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6A9955\\\"}},{\\\"scope\\\":\\\"constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"constant.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#646695\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"entity.name.tag.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class.css\\\",\\\"entity.other.attribute-name.class.mixin.css\\\",\\\"entity.other.attribute-name.id.css\\\",\\\"entity.other.attribute-name.parent-selector.css\\\",\\\"entity.other.attribute-name.pseudo-class.css\\\",\\\"entity.other.attribute-name.pseudo-element.css\\\",\\\"source.css.less entity.other.attribute-name.id\\\",\\\"entity.other.attribute-name.attribute.scss\\\",\\\"entity.other.attribute-name.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"punctuation.definition.quote.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6A9955\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6796e6\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#808080\\\"}},{\\\"scope\\\":\\\"meta.preprocessor\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"meta.preprocessor.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":\\\"meta.structure.dictionary.key.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"storage.modifier\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ce9178\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d16969\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\",\\\"punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"meta.template.expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":[\\\"support.type.vendored.property-name\\\",\\\"support.type.property-name\\\",\\\"variable.css\\\",\\\"variable.scss\\\",\\\"variable.other.less\\\",\\\"source.coffee.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":[\\\"keyword.operator.new\\\",\\\"keyword.operator.expression\\\",\\\"keyword.operator.cast\\\",\\\"keyword.operator.sizeof\\\",\\\"keyword.operator.instanceof\\\",\\\"keyword.operator.logical.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.end.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"support.function.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9cdcfe\\\"}},{\\\"scope\\\":\\\"constant.sha.git-rebase\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b5cea8\\\"}},{\\\"scope\\\":[\\\"storage.modifier.import.java\\\",\\\"variable.language.wildcard.java\\\",\\\"storage.modifier.package.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d4d4d4\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"support.function\\\",\\\"support.constant.handlebars\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCDCAA\\\"}},{\\\"scope\\\":[\\\"meta.return-type\\\",\\\"support.class\\\",\\\"support.type\\\",\\\"entity.name.type\\\",\\\"entity.name.class\\\",\\\"storage.type.numeric.go\\\",\\\"storage.type.byte.go\\\",\\\"storage.type.boolean.go\\\",\\\"storage.type.string.go\\\",\\\"storage.type.uintptr.go\\\",\\\"storage.type.error.go\\\",\\\"storage.type.rune.go\\\",\\\"storage.type.cs\\\",\\\"storage.type.generic.cs\\\",\\\"storage.type.modifier.cs\\\",\\\"storage.type.variable.cs\\\",\\\"storage.type.annotation.java\\\",\\\"storage.type.generic.java\\\",\\\"storage.type.java\\\",\\\"storage.type.object.array.java\\\",\\\"storage.type.primitive.array.java\\\",\\\"storage.type.primitive.java\\\",\\\"storage.type.token.java\\\",\\\"storage.type.groovy\\\",\\\"storage.type.annotation.groovy\\\",\\\"storage.type.parameters.groovy\\\",\\\"storage.type.generic.groovy\\\",\\\"storage.type.object.array.groovy\\\",\\\"storage.type.primitive.array.groovy\\\",\\\"storage.type.primitive.groovy\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4EC9B0\\\"}},{\\\"scope\\\":[\\\"meta.type.cast.expr\\\",\\\"meta.type.new.expr\\\",\\\"support.constant.math\\\",\\\"support.constant.dom\\\",\\\"support.constant.json\\\",\\\"entity.other.inherited-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4EC9B0\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C586C0\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"meta.definition.variable.name\\\",\\\"support.variable\\\",\\\"entity.name.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9CDCFE\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9CDCFE\\\"}},{\\\"scope\\\":[\\\"support.constant.property-value\\\",\\\"support.constant.font-name\\\",\\\"support.constant.media-type\\\",\\\"support.constant.media\\\",\\\"constant.other.color.rgb-value\\\",\\\"constant.other.rgb-value\\\",\\\"support.constant.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CE9178\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.group.regexp\\\",\\\"punctuation.definition.group.assertion.regexp\\\",\\\"punctuation.definition.character-class.regexp\\\",\\\"punctuation.character.set.begin.regexp\\\",\\\"punctuation.character.set.end.regexp\\\",\\\"keyword.operator.negation.regexp\\\",\\\"support.other.parenthesis.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CE9178\\\"}},{\\\"scope\\\":[\\\"constant.character.character-class.regexp\\\",\\\"constant.other.character-class.set.regexp\\\",\\\"constant.other.character-class.regexp\\\",\\\"constant.character.set.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d16969\\\"}},{\\\"scope\\\":[\\\"keyword.operator.or.regexp\\\",\\\"keyword.control.anchor.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DCDCAA\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"constant.character\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#569cd6\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d7ba7d\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6796e6\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#cd9731\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f44747\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b267e6\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: slack-ochin */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#161F26\\\",\\\"activityBar.dropBackground\\\":\\\"#FFF\\\",\\\"activityBar.foreground\\\":\\\"#FFF\\\",\\\"activityBarBadge.background\\\":\\\"#8AE773\\\",\\\"activityBarBadge.foreground\\\":\\\"#FFF\\\",\\\"badge.background\\\":\\\"#8AE773\\\",\\\"breadcrumb.focusForeground\\\":\\\"#475663\\\",\\\"breadcrumb.foreground\\\":\\\"#161F26\\\",\\\"button.background\\\":\\\"#475663\\\",\\\"button.foreground\\\":\\\"#FFF\\\",\\\"button.hoverBackground\\\":\\\"#161F26\\\",\\\"debugExceptionWidget.background\\\":\\\"#AED4FB\\\",\\\"debugExceptionWidget.border\\\":\\\"#161F26\\\",\\\"debugToolBar.background\\\":\\\"#161F26\\\",\\\"dropdown.background\\\":\\\"#FFF\\\",\\\"dropdown.border\\\":\\\"#DCDEDF\\\",\\\"dropdown.foreground\\\":\\\"#DCDEDF\\\",\\\"dropdown.listBackground\\\":\\\"#FFF\\\",\\\"editor.background\\\":\\\"#FFF\\\",\\\"editor.findMatchBackground\\\":\\\"#AED4FB\\\",\\\"editor.foreground\\\":\\\"#000\\\",\\\"editor.lineHighlightBackground\\\":\\\"#EEEEEE\\\",\\\"editor.selectionBackground\\\":\\\"#AED4FB\\\",\\\"editor.wordHighlightBackground\\\":\\\"#AED4FB\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#EEEEEE\\\",\\\"editorActiveLineNumber.foreground\\\":\\\"#475663\\\",\\\"editorGroup.emptyBackground\\\":\\\"#2D3E4C\\\",\\\"editorGroup.focusedEmptyBorder\\\":\\\"#2D3E4C\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#2D3E4C\\\",\\\"editorHint.border\\\":\\\"#F9F9F9\\\",\\\"editorHint.foreground\\\":\\\"#F9F9F9\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#dbdbdb\\\",\\\"editorIndentGuide.background\\\":\\\"#F3F3F3\\\",\\\"editorLineNumber.foreground\\\":\\\"#b9b9b9\\\",\\\"editorMarkerNavigation.background\\\":\\\"#F9F9F9\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#F44C5E\\\",\\\"editorMarkerNavigationInfo.background\\\":\\\"#6182b8\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#F6B555\\\",\\\"editorPane.background\\\":\\\"#2D3E4C\\\",\\\"editorSuggestWidget.foreground\\\":\\\"#2D3E4C\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#2D3E4C\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#b9b9b9\\\",\\\"editorWidget.background\\\":\\\"#F9F9F9\\\",\\\"editorWidget.border\\\":\\\"#dbdbdb\\\",\\\"extensionButton.prominentBackground\\\":\\\"#475663\\\",\\\"extensionButton.prominentForeground\\\":\\\"#F6F6F6\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#161F26\\\",\\\"focusBorder\\\":\\\"#161F26\\\",\\\"foreground\\\":\\\"#616161\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#ECB22E\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#FFF\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#FFF\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#877583\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#ECB22E\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#ECB22E\\\",\\\"input.background\\\":\\\"#FFF\\\",\\\"input.border\\\":\\\"#161F26\\\",\\\"input.foreground\\\":\\\"#000\\\",\\\"input.placeholderForeground\\\":\\\"#a0a0a0\\\",\\\"inputOption.activeBorder\\\":\\\"#3E313C\\\",\\\"inputValidation.errorBackground\\\":\\\"#F44C5E\\\",\\\"inputValidation.errorForeground\\\":\\\"#FFF\\\",\\\"inputValidation.infoBackground\\\":\\\"#6182b8\\\",\\\"inputValidation.infoForeground\\\":\\\"#FFF\\\",\\\"inputValidation.warningBackground\\\":\\\"#F6B555\\\",\\\"inputValidation.warningForeground\\\":\\\"#000\\\",\\\"list.activeSelectionBackground\\\":\\\"#5899C5\\\",\\\"list.activeSelectionForeground\\\":\\\"#fff\\\",\\\"list.focusBackground\\\":\\\"#d5e1ea\\\",\\\"list.focusForeground\\\":\\\"#fff\\\",\\\"list.highlightForeground\\\":\\\"#2D3E4C\\\",\\\"list.hoverBackground\\\":\\\"#d5e1ea\\\",\\\"list.hoverForeground\\\":\\\"#fff\\\",\\\"list.inactiveFocusBackground\\\":\\\"#161F26\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#5899C5\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#fff\\\",\\\"list.invalidItemForeground\\\":\\\"#fff\\\",\\\"menu.background\\\":\\\"#161F26\\\",\\\"menu.foreground\\\":\\\"#F9FAFA\\\",\\\"menu.separatorBackground\\\":\\\"#F9FAFA\\\",\\\"notificationCenter.border\\\":\\\"#161F26\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#FFF\\\",\\\"notificationLink.foreground\\\":\\\"#FFF\\\",\\\"notificationToast.border\\\":\\\"#161F26\\\",\\\"notifications.background\\\":\\\"#161F26\\\",\\\"notifications.border\\\":\\\"#161F26\\\",\\\"notifications.foreground\\\":\\\"#FFF\\\",\\\"panel.border\\\":\\\"#2D3E4C\\\",\\\"panelTitle.activeForeground\\\":\\\"#161F26\\\",\\\"progressBar.background\\\":\\\"#8AE773\\\",\\\"scrollbar.shadow\\\":\\\"#ffffff00\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#161F267e\\\",\\\"scrollbarSlider.background\\\":\\\"#161F267e\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#161F267e\\\",\\\"settings.dropdownBorder\\\":\\\"#161F26\\\",\\\"settings.dropdownForeground\\\":\\\"#161F26\\\",\\\"settings.headerForeground\\\":\\\"#161F26\\\",\\\"sideBar.background\\\":\\\"#2D3E4C\\\",\\\"sideBar.foreground\\\":\\\"#DCDEDF\\\",\\\"sideBarSectionHeader.background\\\":\\\"#161F26\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#FFF\\\",\\\"sideBarTitle.foreground\\\":\\\"#FFF\\\",\\\"statusBar.background\\\":\\\"#5899C5\\\",\\\"statusBar.debuggingBackground\\\":\\\"#8AE773\\\",\\\"statusBar.foreground\\\":\\\"#FFF\\\",\\\"statusBar.noFolderBackground\\\":\\\"#161F26\\\",\\\"tab.activeBackground\\\":\\\"#FFF\\\",\\\"tab.activeForeground\\\":\\\"#000\\\",\\\"tab.border\\\":\\\"#F3F3F3\\\",\\\"tab.inactiveBackground\\\":\\\"#F3F3F3\\\",\\\"tab.inactiveForeground\\\":\\\"#686868\\\",\\\"terminal.ansiBlack\\\":\\\"#000000\\\",\\\"terminal.ansiBlue\\\":\\\"#6182b8\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#90a4ae\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6182b8\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#39adb5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#91b859\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#7c4dff\\\",\\\"terminal.ansiBrightRed\\\":\\\"#e53935\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#ffb62c\\\",\\\"terminal.ansiCyan\\\":\\\"#39adb5\\\",\\\"terminal.ansiGreen\\\":\\\"#91b859\\\",\\\"terminal.ansiMagenta\\\":\\\"#7c4dff\\\",\\\"terminal.ansiRed\\\":\\\"#e53935\\\",\\\"terminal.ansiWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiYellow\\\":\\\"#ffb62c\\\",\\\"terminal.border\\\":\\\"#2D3E4C\\\",\\\"terminal.foreground\\\":\\\"#161F26\\\",\\\"terminal.selectionBackground\\\":\\\"#0006\\\",\\\"textPreformat.foreground\\\":\\\"#161F26\\\",\\\"titleBar.activeBackground\\\":\\\"#2D3E4C\\\",\\\"titleBar.activeForeground\\\":\\\"#FFF\\\",\\\"titleBar.border\\\":\\\"#2D3E4C\\\",\\\"titleBar.inactiveBackground\\\":\\\"#161F26\\\",\\\"titleBar.inactiveForeground\\\":\\\"#685C66\\\",\\\"welcomePage.buttonBackground\\\":\\\"#F3F3F3\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#ECECEC\\\",\\\"widget.shadow\\\":\\\"#161F2694\\\"},\\\"displayName\\\":\\\"Slack Ochin\\\",\\\"name\\\":\\\"slack-ochin\\\",\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#002339\\\"}},{\\\"scope\\\":[\\\"meta.paragraph.markdown\\\",\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#110000\\\"}},{\\\"scope\\\":[\\\"entity.name.section.markdown\\\",\\\"punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#034c7c\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\",\\\"markup.quote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00AC8F\\\"}},{\\\"scope\\\":[\\\"markup.quote.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#003494\\\"}},{\\\"scope\\\":[\\\"markup.bold.markdown\\\",\\\"punctuation.definition.bold.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#4e76b5\\\"}},{\\\"scope\\\":[\\\"markup.italic.markdown\\\",\\\"punctuation.definition.italic.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#C792EA\\\"}},{\\\"scope\\\":[\\\"markup.inline.raw.string.markdown\\\",\\\"markup.fenced_code.block.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#0460b1\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.metadata.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00AC8F\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.image.markdown\\\",\\\"markup.underline.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#924205\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#357b42\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a44185\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":\\\"language.method\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":\\\"variable\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#2f86d2\\\"}},{\\\"scope\\\":\\\"variable.language.this\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#000000\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7b30d0\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#da5221\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#0991b6\\\"}},{\\\"scope\\\":\\\"entity.name.class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1172c7\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#b02767\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#7eb233\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#b1108e\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#0444ac\\\"}},{\\\"scope\\\":\\\"text.html.basic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#0071ce\\\"}},{\\\"scope\\\":\\\"entity.name.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0444ac\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#df8618\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#1ab394\\\"}},{\\\"scope\\\":\\\"support.constant\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dc3eb7\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#224555\\\"}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\" italic bold underline\\\",\\\"foreground\\\":\\\"#207bb8\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\" bold italic underline\\\",\\\"foreground\\\":\\\"#207bb8\\\"}},{\\\"scope\\\":\\\"source.json support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6dbdfa\\\"}},{\\\"scope\\\":[\\\"source.json string\\\",\\\"source.json punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00820f\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#207bb8\\\"}},{\\\"scope\\\":[\\\"markup.heading punctuation.definition.heading\\\",\\\"entity.name.section\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#4FB4D8\\\"}},{\\\"scope\\\":[\\\"text.html.markdown meta.paragraph meta.link.inline\\\",\\\"text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.begin.markdown\\\",\\\"text.html.markdown meta.paragraph meta.link.inline punctuation.definition.string.end.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#87429A\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#87429A\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#08134A\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\",\\\"punctuation.definition.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#174781\\\"}},{\\\"scope\\\":\\\"meta.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#87429A\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: snazzy-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#E7E8E6\\\",\\\"activityBar.foreground\\\":\\\"#2DAE58\\\",\\\"activityBar.inactiveForeground\\\":\\\"#68696888\\\",\\\"activityBarBadge.background\\\":\\\"#09A1ED\\\",\\\"badge.background\\\":\\\"#09A1ED\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"button.background\\\":\\\"#2DAE58\\\",\\\"debugExceptionWidget.background\\\":\\\"#FFAEAC33\\\",\\\"debugExceptionWidget.border\\\":\\\"#FF5C57\\\",\\\"debugToolBar.border\\\":\\\"#E9EAEB\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#2DAE5824\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#FFAEAC44\\\",\\\"dropdown.border\\\":\\\"#E9EAEB\\\",\\\"editor.background\\\":\\\"#FAFBFC\\\",\\\"editor.findMatchBackground\\\":\\\"#00E6E06A\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#00E6E02A\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#F5B90011\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#2DAE5822\\\",\\\"editor.foreground\\\":\\\"#565869\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#00E6E018\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#F5B90033\\\",\\\"editor.selectionBackground\\\":\\\"#2DAE5822\\\",\\\"editor.snippetTabstopHighlightBackground\\\":\\\"#ADB1C23A\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#F5B90033\\\",\\\"editor.wordHighlightBackground\\\":\\\"#ADB1C23A\\\",\\\"editorError.foreground\\\":\\\"#FF5C56\\\",\\\"editorGroup.emptyBackground\\\":\\\"#F3F4F5\\\",\\\"editorGutter.addedBackground\\\":\\\"#2DAE58\\\",\\\"editorGutter.deletedBackground\\\":\\\"#FF5C57\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#00A39FAA\\\",\\\"editorInlayHint.background\\\":\\\"#E9EAEB\\\",\\\"editorInlayHint.foreground\\\":\\\"#565869\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#35CF68\\\",\\\"editorLineNumber.foreground\\\":\\\"#9194A2aa\\\",\\\"editorLink.activeForeground\\\":\\\"#35CF68\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#2DAE58\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#FF5C57\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#FF5C56\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#13BBB7AA\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#00A39FAA\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#CF9C00\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#ADB1C288\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#35CF68\\\",\\\"editorWarning.foreground\\\":\\\"#CF9C00\\\",\\\"editorWhitespace.foreground\\\":\\\"#ADB1C255\\\",\\\"extensionButton.prominentBackground\\\":\\\"#2DAE58\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#238744\\\",\\\"focusBorder\\\":\\\"#09A1ED\\\",\\\"foreground\\\":\\\"#686968\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#00A39F\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#2DAE58\\\",\\\"input.border\\\":\\\"#E9EAEB\\\",\\\"list.activeSelectionBackground\\\":\\\"#09A1ED\\\",\\\"list.activeSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.errorForeground\\\":\\\"#FF5C56\\\",\\\"list.focusBackground\\\":\\\"#BCE7FC99\\\",\\\"list.focusForeground\\\":\\\"#11658F\\\",\\\"list.hoverBackground\\\":\\\"#E9EAEB\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#89B5CB33\\\",\\\"list.warningForeground\\\":\\\"#B38700\\\",\\\"menu.background\\\":\\\"#FAFBFC\\\",\\\"menu.selectionBackground\\\":\\\"#E9EAEB\\\",\\\"menu.selectionForeground\\\":\\\"#686968\\\",\\\"menubar.selectionBackground\\\":\\\"#E9EAEB\\\",\\\"menubar.selectionForeground\\\":\\\"#686968\\\",\\\"merge.currentContentBackground\\\":\\\"#35CF6833\\\",\\\"merge.currentHeaderBackground\\\":\\\"#35CF6866\\\",\\\"merge.incomingContentBackground\\\":\\\"#14B1FF33\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#14B1FF77\\\",\\\"peekView.border\\\":\\\"#09A1ED\\\",\\\"peekViewEditor.background\\\":\\\"#14B1FF08\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#F5B90088\\\",\\\"peekViewEditor.matchHighlightBorder\\\":\\\"#F5B900\\\",\\\"peekViewEditorStickyScroll.background\\\":\\\"#EDF4FB\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#F5B90088\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#09A1ED\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#FFFFFF\\\",\\\"peekViewTitle.background\\\":\\\"#09A1ED11\\\",\\\"selection.background\\\":\\\"#2DAE5844\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#13BBB7\\\",\\\"sideBar.background\\\":\\\"#F3F4F5\\\",\\\"sideBar.border\\\":\\\"#DEDFE0\\\",\\\"sideBarSectionHeader.background\\\":\\\"#E9EAEB\\\",\\\"sideBarSectionHeader.border\\\":\\\"#DEDFE0\\\",\\\"statusBar.background\\\":\\\"#2DAE58\\\",\\\"statusBar.debuggingBackground\\\":\\\"#13BBB7\\\",\\\"statusBar.debuggingBorder\\\":\\\"#00A39F\\\",\\\"statusBar.noFolderBackground\\\":\\\"#565869\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#238744\\\",\\\"tab.activeBorderTop\\\":\\\"#2DAE58\\\",\\\"terminal.ansiBlack\\\":\\\"#565869\\\",\\\"terminal.ansiBlue\\\":\\\"#09A1ED\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#75798F\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#14B1FF\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#13BBB7\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#35CF68\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#FF94D2\\\",\\\"terminal.ansiBrightRed\\\":\\\"#FFAEAC\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#FFFFFF\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#F5B900\\\",\\\"terminal.ansiCyan\\\":\\\"#13BBB7\\\",\\\"terminal.ansiGreen\\\":\\\"#2DAE58\\\",\\\"terminal.ansiMagenta\\\":\\\"#F767BB\\\",\\\"terminal.ansiRed\\\":\\\"#FF5C57\\\",\\\"terminal.ansiWhite\\\":\\\"#FAFBF9\\\",\\\"terminal.ansiYellow\\\":\\\"#CF9C00\\\",\\\"titleBar.activeBackground\\\":\\\"#F3F4F5\\\"},\\\"displayName\\\":\\\"Snazzy Light\\\",\\\"name\\\":\\\"snazzy-light\\\",\\\"tokenColors\\\":[{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5C56\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key\\\",\\\"meta.object-literal.key constant.character.escape\\\",\\\"meta.object-literal string\\\",\\\"meta.object-literal string constant.character.escape\\\",\\\"support.type.property-name\\\",\\\"support.type.property-name constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage\\\",\\\"meta.class storage.type\\\",\\\"keyword.operator.expression.import\\\",\\\"keyword.operator.new\\\",\\\"keyword.operator.expression.delete\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"support.type\\\",\\\"meta.type.annotation entity.name.type\\\",\\\"new.expr meta.type.parameters entity.name.type\\\",\\\"storage.type.primitive\\\",\\\"storage.type.built-in.primitive\\\",\\\"meta.function.parameter storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"storage.type.annotation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C25193\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5C57CC\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"support.constant\\\",\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"support.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#565869\\\"}},{\\\"scope\\\":\\\"variable.language.this\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#09A1ED\\\"}},{\\\"scope\\\":[\\\"entity.name.function.decorator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"meta.class entity.name.type\\\",\\\"new.expr entity.name.type\\\",\\\"entity.other.inherited-class\\\",\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"keyword.preprocessor.pragma\\\",\\\"keyword.control.directive.include\\\",\\\"keyword.other.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":\\\"entity.name.exception\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5C56\\\"}},{\\\"scope\\\":\\\"entity.name.section\\\",\\\"settings\\\":{}},{\\\"scope\\\":[\\\"constant.numeric\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5C57\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"constant.character\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CF9C00\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CF9C00\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#F5B900\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\",\\\"string.regexp constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"keyword.operator.quantifier.regexp\\\",\\\"keyword.operator.negation.regexp\\\",\\\"keyword.operator.or.regexp\\\",\\\"string.regexp punctuation\\\",\\\"string.regexp keyword\\\",\\\"string.regexp keyword.control\\\",\\\"string.regexp constant\\\",\\\"variable.other.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00A39F\\\"}},{\\\"scope\\\":[\\\"string.regexp keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00A39F88\\\"}},{\\\"scope\\\":\\\"constant.other.symbol\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CF9C00\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":\\\"comment.block.preprocessor\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#9194A2\\\"}},{\\\"scope\\\":\\\"comment.block.documentation entity.name.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"comment.block.documentation storage\\\",\\\"comment.block.documentation keyword.other\\\",\\\"meta.class comment.block.documentation storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9194A2\\\"}},{\\\"scope\\\":[\\\"comment.block.documentation variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C25193\\\"}},{\\\"scope\\\":[\\\"punctuation\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"keyword.other.arrow\\\",\\\"keyword.control.@\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"meta.tag.metadata.doctype.html entity.name.tag\\\",\\\"meta.tag.metadata.doctype.html entity.other.attribute-name.html\\\",\\\"meta.tag.sgml.doctype\\\",\\\"meta.tag.sgml.doctype string\\\",\\\"meta.tag.sgml.doctype entity.name.tag\\\",\\\"meta.tag.sgml punctuation.definition.tag.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9194A2\\\"}},{\\\"scope\\\":[\\\"meta.tag\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"meta.tag entity.other.attribute-name\\\",\\\"entity.other.attribute-name.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF8380\\\"}},{\\\"scope\\\":[\\\"constant.character.entity\\\",\\\"punctuation.definition.entity\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CF9C00\\\"}},{\\\"scope\\\":[\\\"source.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"meta.selector\\\",\\\"meta.selector entity\\\",\\\"meta.selector entity punctuation\\\",\\\"source.css entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"keyword.control.at-rule\\\",\\\"keyword.control.at-rule punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C25193\\\"}},{\\\"scope\\\":\\\"source.css variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"source.css meta.property-name\\\",\\\"source.css support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#565869\\\"}},{\\\"scope\\\":[\\\"source.css support.type.vendored.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#565869AA\\\"}},{\\\"scope\\\":[\\\"meta.property-value\\\",\\\"support.constant.property-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"source.css support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.entity.css\\\",\\\"keyword.operator.combinator.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF82CBBB\\\"}},{\\\"scope\\\":[\\\"source.css support.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#09A1ED\\\"}},{\\\"scope\\\":\\\"keyword.other.important\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#238744\\\"}},{\\\"scope\\\":[\\\"source.css.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"source.css.scss entity.other.attribute-name.class.css\\\",\\\"source.css.scss entity.other.attribute-name.id.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"entity.name.tag.reference.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C25193\\\"}},{\\\"scope\\\":[\\\"source.css.scss meta.at-rule keyword\\\",\\\"source.css.scss meta.at-rule keyword punctuation\\\",\\\"source.css.scss meta.at-rule operator.logical\\\",\\\"keyword.control.content.scss\\\",\\\"keyword.control.return.scss\\\",\\\"keyword.control.return.scss punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C25193\\\"}},{\\\"scope\\\":[\\\"meta.at-rule.mixin.scss\\\",\\\"meta.at-rule.include.scss\\\",\\\"source.css.scss meta.at-rule.if\\\",\\\"source.css.scss meta.at-rule.else\\\",\\\"source.css.scss meta.at-rule.each\\\",\\\"source.css.scss meta.at-rule variable.parameter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"source.css.less entity.other.attribute-name.class.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":\\\"source.stylus meta.brace.curly.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"source.stylus entity.other.attribute-name.class\\\",\\\"source.stylus entity.other.attribute-name.id\\\",\\\"source.stylus entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"source.stylus support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#565869\\\"}},{\\\"scope\\\":[\\\"source.stylus variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#888888\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#888888\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5C56\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#888888\\\"}},{\\\"scope\\\":\\\"meta.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CF9C00\\\"}},{\\\"scope\\\":\\\"string.other.link.title.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#09A1ED\\\"}},{\\\"scope\\\":[\\\"markup.output\\\",\\\"markup.raw\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#999999\\\"}},{\\\"scope\\\":\\\"markup.prompt\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#999999\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.traceback\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5C56\\\"}},{\\\"scope\\\":\\\"markup.underline\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#777985\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.italic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"meta.brace.round\\\",\\\"meta.brace.square\\\",\\\"storage.type.function.arrow\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"constant.language.import-export-all\\\",\\\"meta.import keyword.control.default\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#C25193\\\"}},{\\\"scope\\\":[\\\"support.function.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":\\\"string.regexp.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"variable.language.super\\\",\\\"support.type.object.module.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":\\\"meta.jsx.children\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#686968\\\"}},{\\\"scope\\\":\\\"entity.name.tag.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":\\\"variable.other.alias.yaml\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin.php\\\",\\\"punctuation.section.embedded.end.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#75798F\\\"}},{\\\"scope\\\":[\\\"meta.use.php entity.other.alias.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"source.php support.function.construct\\\",\\\"source.php support.function.var\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"storage.modifier.extends.php\\\",\\\"source.php keyword.other\\\",\\\"storage.modifier.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"meta.class.body.php storage.type.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"storage.type.php\\\",\\\"meta.class.body.php meta.function-call.php storage.type.php\\\",\\\"meta.class.body.php meta.function.php storage.type.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"source.php keyword.other.DML\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D94E4A\\\"}},{\\\"scope\\\":[\\\"source.sql.embedded.php keyword.operator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"source.ini keyword\\\",\\\"source.toml keyword\\\",\\\"source.env variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"source.ini entity.name.section\\\",\\\"source.toml entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"keyword.import.go\\\",\\\"keyword.package.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5C56\\\"}},{\\\"scope\\\":[\\\"source.reason variable.language string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#565869\\\"}},{\\\"scope\\\":[\\\"source.reason support.type\\\",\\\"source.reason constant.language\\\",\\\"source.reason constant.language constant.numeric\\\",\\\"source.reason support.type string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"source.reason keyword.operator keyword.control\\\",\\\"source.reason keyword.control.less\\\",\\\"source.reason keyword.control.flow\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"source.reason string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CF9C00\\\"}},{\\\"scope\\\":[\\\"source.reason support.property-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"source.rust support.function.core.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"source.rust storage.type.core.rust\\\",\\\"source.rust storage.class.std\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"source.rust entity.name.type.rust\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"storage.type.function.coffee\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"keyword.type.cs\\\",\\\"storage.type.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"entity.name.type.namespace.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"markup.inserted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"markup.deleted.diff\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF5C56\\\"}},{\\\"scope\\\":[\\\"meta.diff.range\\\",\\\"meta.diff.index\\\",\\\"meta.separator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#09A1ED\\\"}},{\\\"scope\\\":\\\"source.makefile variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"keyword.control.protocol-specification.objc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"meta.parens storage.type.objc\\\",\\\"meta.return-type.objc support.class\\\",\\\"meta.return-type.objc storage.type.objc\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"source.sql keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"keyword.other.special-method.dockerfile\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#09A1ED\\\"}},{\\\"scope\\\":\\\"constant.other.symbol.elixir\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"storage.type.elm\\\",\\\"support.module.elm\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"source.elm keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"source.erlang entity.name.type.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"variable.other.field.erlang\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"source.erlang constant.other.symbol\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"storage.type.haskell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"meta.declaration.class.haskell storage.type.haskell\\\",\\\"meta.declaration.instance.haskell storage.type.haskell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor.haskell\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#75798F\\\"}},{\\\"scope\\\":[\\\"source.haskell keyword.control\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"tag.end.latte\\\",\\\"tag.begin.latte\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":\\\"source.po keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":\\\"source.po storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9194A2\\\"}},{\\\"scope\\\":\\\"constant.language.po\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":\\\"meta.header.po string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#FF8380\\\"}},{\\\"scope\\\":\\\"source.po meta.header.po\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"source.ocaml markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"source.ocaml punctuation.definition.tag emphasis\\\",\\\"source.ocaml entity.name.class constant.numeric\\\",\\\"source.ocaml support.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"source.ocaml constant.numeric entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"source.ocaml comment meta.separator\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"source.ocaml support.type strong\\\",\\\"source.ocaml keyword.control strong\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"source.ocaml support.constant.property-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"source.scala entity.name.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"storage.type.scala\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":[\\\"variable.parameter.scala\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"meta.bracket.scala\\\",\\\"meta.colon.scala\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"meta.metadata.simple.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"meta.metadata.simple.clojure meta.symbol\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"source.r keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"source.svelte meta.block.ts entity.name.label\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":[\\\"keyword.operator.word.applescript\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#F767BB\\\"}},{\\\"scope\\\":[\\\"meta.function-call.livescript\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#09A1ED\\\"}},{\\\"scope\\\":[\\\"variable.language.self.lua\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"entity.name.type.class.swift\\\",\\\"meta.inheritance-clause.swift\\\",\\\"meta.import.swift entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"source.swift punctuation.section.embedded\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B38700\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.swift entity.name.function.swift\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#565869\\\"}},{\\\"scope\\\":\\\"meta.function-call.twig\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#565869\\\"}},{\\\"scope\\\":\\\"string.unquoted.tag-string.django\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#565869\\\"}},{\\\"scope\\\":[\\\"entity.tag.tagbraces.django\\\",\\\"entity.tag.filter-pipe.django\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":[\\\"meta.section.attributes.haml constant.language\\\",\\\"meta.section.attributes.plain.haml constant.other.symbol\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF8380\\\"}},{\\\"scope\\\":[\\\"meta.prolog.haml\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9194A2\\\"}},{\\\"scope\\\":[\\\"support.constant.handlebars\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":\\\"text.log log.constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#C25193\\\"}},{\\\"scope\\\":[\\\"source.c string constant.other.placeholder\\\",\\\"source.cpp string constant.other.placeholder\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B38700\\\"}},{\\\"scope\\\":\\\"constant.other.key.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#11658F\\\"}},{\\\"scope\\\":\\\"storage.type.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":\\\"meta.definition.variable.groovy storage.type.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}},{\\\"scope\\\":\\\"storage.modifier.import.groovy\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CF9C00\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class.pug\\\",\\\"entity.other.attribute-name.id.pug\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":[\\\"constant.name.attribute.tag.pug\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ADB1C2\\\"}},{\\\"scope\\\":\\\"entity.name.tag.style.html\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#13BBB7\\\"}},{\\\"scope\\\":\\\"entity.name.type.wasm\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2DAE58\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: solarized-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#003847\\\",\\\"badge.background\\\":\\\"#047aa6\\\",\\\"button.background\\\":\\\"#2AA19899\\\",\\\"debugExceptionWidget.background\\\":\\\"#00212B\\\",\\\"debugExceptionWidget.border\\\":\\\"#AB395B\\\",\\\"debugToolBar.background\\\":\\\"#00212B\\\",\\\"dropdown.background\\\":\\\"#00212B\\\",\\\"dropdown.border\\\":\\\"#2AA19899\\\",\\\"editor.background\\\":\\\"#002B36\\\",\\\"editor.foreground\\\":\\\"#839496\\\",\\\"editor.lineHighlightBackground\\\":\\\"#073642\\\",\\\"editor.selectionBackground\\\":\\\"#274642\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#005A6FAA\\\",\\\"editor.wordHighlightBackground\\\":\\\"#004454AA\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#005A6FAA\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#cdcdcdff\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#b58900ff\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#d33682ff\\\",\\\"editorCursor.foreground\\\":\\\"#D30102\\\",\\\"editorGroup.border\\\":\\\"#00212B\\\",\\\"editorGroup.dropBackground\\\":\\\"#2AA19844\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#004052\\\",\\\"editorHoverWidget.background\\\":\\\"#004052\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#C3E1E180\\\",\\\"editorIndentGuide.background\\\":\\\"#93A1A180\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#949494\\\",\\\"editorMarkerNavigationError.background\\\":\\\"#AB395B\\\",\\\"editorMarkerNavigationWarning.background\\\":\\\"#5B7E7A\\\",\\\"editorWhitespace.foreground\\\":\\\"#93A1A180\\\",\\\"editorWidget.background\\\":\\\"#00212B\\\",\\\"errorForeground\\\":\\\"#ffeaea\\\",\\\"focusBorder\\\":\\\"#2AA19899\\\",\\\"input.background\\\":\\\"#003847\\\",\\\"input.foreground\\\":\\\"#93A1A1\\\",\\\"input.placeholderForeground\\\":\\\"#93A1A1AA\\\",\\\"inputOption.activeBorder\\\":\\\"#2AA19899\\\",\\\"inputValidation.errorBackground\\\":\\\"#571b26\\\",\\\"inputValidation.errorBorder\\\":\\\"#a92049\\\",\\\"inputValidation.infoBackground\\\":\\\"#052730\\\",\\\"inputValidation.infoBorder\\\":\\\"#363b5f\\\",\\\"inputValidation.warningBackground\\\":\\\"#5d5938\\\",\\\"inputValidation.warningBorder\\\":\\\"#9d8a5e\\\",\\\"list.activeSelectionBackground\\\":\\\"#005A6F\\\",\\\"list.dropBackground\\\":\\\"#00445488\\\",\\\"list.highlightForeground\\\":\\\"#1ebcc5\\\",\\\"list.hoverBackground\\\":\\\"#004454AA\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#00445488\\\",\\\"minimap.selectionHighlight\\\":\\\"#274642\\\",\\\"panel.border\\\":\\\"#2b2b4a\\\",\\\"peekView.border\\\":\\\"#2b2b4a\\\",\\\"peekViewEditor.background\\\":\\\"#10192c\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#7744AA40\\\",\\\"peekViewResult.background\\\":\\\"#00212B\\\",\\\"peekViewTitle.background\\\":\\\"#00212B\\\",\\\"pickerGroup.border\\\":\\\"#2AA19899\\\",\\\"pickerGroup.foreground\\\":\\\"#2AA19899\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#369432\\\",\\\"progressBar.background\\\":\\\"#047aa6\\\",\\\"quickInputList.focusBackground\\\":\\\"#005A6F\\\",\\\"selection.background\\\":\\\"#2AA19899\\\",\\\"sideBar.background\\\":\\\"#00212B\\\",\\\"sideBarTitle.foreground\\\":\\\"#93A1A1\\\",\\\"statusBar.background\\\":\\\"#00212B\\\",\\\"statusBar.debuggingBackground\\\":\\\"#00212B\\\",\\\"statusBar.foreground\\\":\\\"#93A1A1\\\",\\\"statusBar.noFolderBackground\\\":\\\"#00212B\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#003847\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#003847\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#2AA19899\\\",\\\"tab.activeBackground\\\":\\\"#002B37\\\",\\\"tab.activeForeground\\\":\\\"#d6dbdb\\\",\\\"tab.border\\\":\\\"#003847\\\",\\\"tab.inactiveBackground\\\":\\\"#004052\\\",\\\"tab.inactiveForeground\\\":\\\"#93A1A1\\\",\\\"tab.lastPinnedBorder\\\":\\\"#2AA19844\\\",\\\"terminal.ansiBlack\\\":\\\"#073642\\\",\\\"terminal.ansiBlue\\\":\\\"#268bd2\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#002b36\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#839496\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#93a1a1\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#586e75\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#6c71c4\\\",\\\"terminal.ansiBrightRed\\\":\\\"#cb4b16\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#fdf6e3\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#657b83\\\",\\\"terminal.ansiCyan\\\":\\\"#2aa198\\\",\\\"terminal.ansiGreen\\\":\\\"#859900\\\",\\\"terminal.ansiMagenta\\\":\\\"#d33682\\\",\\\"terminal.ansiRed\\\":\\\"#dc322f\\\",\\\"terminal.ansiWhite\\\":\\\"#eee8d5\\\",\\\"terminal.ansiYellow\\\":\\\"#b58900\\\",\\\"titleBar.activeBackground\\\":\\\"#002C39\\\"},\\\"displayName\\\":\\\"Solarized Dark\\\",\\\"name\\\":\\\"solarized-dark\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#839496\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#839496\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#586E75\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2AA198\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D33682\\\"}},{\\\"scope\\\":[\\\"variable.language\\\",\\\"variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#93A1A1\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.name.type\\\",\\\"entity.name.namespace\\\",\\\"entity.name.scope-resolution\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin\\\",\\\"punctuation.section.embedded.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"meta.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B58900\\\"}},{\\\"scope\\\":[\\\"support.function.construct\\\",\\\"keyword.other.new\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6C71C4\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#586E75\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#93A1A1\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.separator.continuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"support.constant\\\",\\\"support.variable\\\"],\\\"settings\\\":{}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"support.type.exception\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B58900\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.italic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D33682\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#2AA198\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#268BD2\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: solarized-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#DDD6C1\\\",\\\"activityBar.foreground\\\":\\\"#584c27\\\",\\\"activityBarBadge.background\\\":\\\"#B58900\\\",\\\"badge.background\\\":\\\"#B58900AA\\\",\\\"button.background\\\":\\\"#AC9D57\\\",\\\"debugExceptionWidget.background\\\":\\\"#DDD6C1\\\",\\\"debugExceptionWidget.border\\\":\\\"#AB395B\\\",\\\"debugToolBar.background\\\":\\\"#DDD6C1\\\",\\\"dropdown.background\\\":\\\"#EEE8D5\\\",\\\"dropdown.border\\\":\\\"#D3AF86\\\",\\\"editor.background\\\":\\\"#FDF6E3\\\",\\\"editor.foreground\\\":\\\"#657B83\\\",\\\"editor.lineHighlightBackground\\\":\\\"#EEE8D5\\\",\\\"editor.selectionBackground\\\":\\\"#EEE8D5\\\",\\\"editorCursor.foreground\\\":\\\"#657B83\\\",\\\"editorGroup.border\\\":\\\"#DDD6C1\\\",\\\"editorGroup.dropBackground\\\":\\\"#DDD6C1AA\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#D9D2C2\\\",\\\"editorHoverWidget.background\\\":\\\"#CCC4B0\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#081E2580\\\",\\\"editorIndentGuide.background\\\":\\\"#586E7580\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#567983\\\",\\\"editorWhitespace.foreground\\\":\\\"#586E7580\\\",\\\"editorWidget.background\\\":\\\"#EEE8D5\\\",\\\"extensionButton.prominentBackground\\\":\\\"#b58900\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#584c27aa\\\",\\\"focusBorder\\\":\\\"#b49471\\\",\\\"input.background\\\":\\\"#DDD6C1\\\",\\\"input.foreground\\\":\\\"#586E75\\\",\\\"input.placeholderForeground\\\":\\\"#586E75AA\\\",\\\"inputOption.activeBorder\\\":\\\"#D3AF86\\\",\\\"list.activeSelectionBackground\\\":\\\"#DFCA88\\\",\\\"list.activeSelectionForeground\\\":\\\"#6C6C6C\\\",\\\"list.highlightForeground\\\":\\\"#B58900\\\",\\\"list.hoverBackground\\\":\\\"#DFCA8844\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#D1CBB8\\\",\\\"minimap.selectionHighlight\\\":\\\"#EEE8D5\\\",\\\"notebook.cellEditorBackground\\\":\\\"#F7F0E0\\\",\\\"panel.border\\\":\\\"#DDD6C1\\\",\\\"peekView.border\\\":\\\"#B58900\\\",\\\"peekViewEditor.background\\\":\\\"#FFFBF2\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#7744AA40\\\",\\\"peekViewResult.background\\\":\\\"#EEE8D5\\\",\\\"peekViewTitle.background\\\":\\\"#EEE8D5\\\",\\\"pickerGroup.border\\\":\\\"#2AA19899\\\",\\\"pickerGroup.foreground\\\":\\\"#2AA19899\\\",\\\"ports.iconRunningProcessForeground\\\":\\\"#2AA19899\\\",\\\"progressBar.background\\\":\\\"#B58900\\\",\\\"quickInputList.focusBackground\\\":\\\"#DFCA8866\\\",\\\"selection.background\\\":\\\"#878b9180\\\",\\\"sideBar.background\\\":\\\"#EEE8D5\\\",\\\"sideBarTitle.foreground\\\":\\\"#586E75\\\",\\\"statusBar.background\\\":\\\"#EEE8D5\\\",\\\"statusBar.debuggingBackground\\\":\\\"#EEE8D5\\\",\\\"statusBar.foreground\\\":\\\"#586E75\\\",\\\"statusBar.noFolderBackground\\\":\\\"#EEE8D5\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#DDD6C1\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#DDD6C199\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#AC9D57\\\",\\\"tab.activeBackground\\\":\\\"#FDF6E3\\\",\\\"tab.activeModifiedBorder\\\":\\\"#cb4b16\\\",\\\"tab.border\\\":\\\"#DDD6C1\\\",\\\"tab.inactiveBackground\\\":\\\"#D3CBB7\\\",\\\"tab.inactiveForeground\\\":\\\"#586E75\\\",\\\"tab.lastPinnedBorder\\\":\\\"#FDF6E3\\\",\\\"terminal.ansiBlack\\\":\\\"#073642\\\",\\\"terminal.ansiBlue\\\":\\\"#268bd2\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#002b36\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#839496\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#93a1a1\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#586e75\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#6c71c4\\\",\\\"terminal.ansiBrightRed\\\":\\\"#cb4b16\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#fdf6e3\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#657b83\\\",\\\"terminal.ansiCyan\\\":\\\"#2aa198\\\",\\\"terminal.ansiGreen\\\":\\\"#859900\\\",\\\"terminal.ansiMagenta\\\":\\\"#d33682\\\",\\\"terminal.ansiRed\\\":\\\"#dc322f\\\",\\\"terminal.ansiWhite\\\":\\\"#eee8d5\\\",\\\"terminal.ansiYellow\\\":\\\"#b58900\\\",\\\"terminal.background\\\":\\\"#FDF6E3\\\",\\\"titleBar.activeBackground\\\":\\\"#EEE8D5\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#00000014\\\"},\\\"displayName\\\":\\\"Solarized Light\\\",\\\"name\\\":\\\"solarized-light\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"settings\\\":{\\\"foreground\\\":\\\"#657B83\\\"}},{\\\"scope\\\":[\\\"meta.embedded\\\",\\\"source.groovy.embedded\\\",\\\"string meta.image.inline.markdown\\\",\\\"variable.legacy.builtin.python\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#657B83\\\"}},{\\\"scope\\\":\\\"comment\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#93A1A1\\\"}},{\\\"scope\\\":\\\"string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2AA198\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D33682\\\"}},{\\\"scope\\\":[\\\"variable.language\\\",\\\"variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"storage\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#586E75\\\"}},{\\\"scope\\\":[\\\"entity.name.class\\\",\\\"entity.name.type\\\",\\\"entity.name.namespace\\\",\\\"entity.name.scope-resolution\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":[\\\"punctuation.section.embedded.begin\\\",\\\"punctuation.section.embedded.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"constant.language\\\",\\\"meta.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#B58900\\\"}},{\\\"scope\\\":[\\\"support.function.construct\\\",\\\"keyword.other.new\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":[\\\"constant.character\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":[\\\"entity.other.inherited-class\\\",\\\"punctuation.separator.namespace.ruby\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6C71C4\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.definition.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#93A1A1\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#93A1A1\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"punctuation.separator.continuation\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"support.constant\\\",\\\"support.variable\\\"],\\\"settings\\\":{}},{\\\"scope\\\":[\\\"support.type\\\",\\\"support.class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"support.type.exception\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{}},{\\\"scope\\\":\\\"invalid\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":[\\\"meta.diff\\\",\\\"meta.diff.header\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#DC322F\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#CB4B16\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#859900\\\"}},{\\\"scope\\\":\\\"markup.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#B58900\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.italic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D33682\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":\\\"markup.strikethrough\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"strikethrough\\\"}},{\\\"scope\\\":\\\"markup.inline.raw\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#2AA198\\\"}},{\\\"scope\\\":\\\"markup.heading\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#268BD2\\\"}},{\\\"scope\\\":\\\"markup.heading.setext\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#268BD2\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","/* Theme: synthwave-84 */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#171520\\\",\\\"activityBar.dropBackground\\\":\\\"#34294f66\\\",\\\"activityBar.foreground\\\":\\\"#ffffffCC\\\",\\\"activityBarBadge.background\\\":\\\"#f97e72\\\",\\\"activityBarBadge.foreground\\\":\\\"#2a2139\\\",\\\"badge.background\\\":\\\"#2a2139\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumbPicker.background\\\":\\\"#232530\\\",\\\"button.background\\\":\\\"#614D85\\\",\\\"debugToolBar.background\\\":\\\"#463465\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#0beb9935\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#fe445035\\\",\\\"dropdown.background\\\":\\\"#232530\\\",\\\"dropdown.listBackground\\\":\\\"#2a2139\\\",\\\"editor.background\\\":\\\"#262335\\\",\\\"editor.findMatchBackground\\\":\\\"#D18616bb\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#D1861655\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#34294f1a\\\",\\\"editor.hoverHighlightBackground\\\":\\\"#463564\\\",\\\"editor.lineHighlightBorder\\\":\\\"#7059AB66\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#49549539\\\",\\\"editor.selectionBackground\\\":\\\"#ffffff20\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#ffffff20\\\",\\\"editor.wordHighlightBackground\\\":\\\"#34294f88\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#34294f88\\\",\\\"editorBracketMatch.background\\\":\\\"#34294f66\\\",\\\"editorBracketMatch.border\\\":\\\"#495495\\\",\\\"editorCodeLens.foreground\\\":\\\"#ffffff7c\\\",\\\"editorCursor.background\\\":\\\"#241b2f\\\",\\\"editorCursor.foreground\\\":\\\"#f97e72\\\",\\\"editorError.foreground\\\":\\\"#fe4450\\\",\\\"editorGroup.border\\\":\\\"#495495\\\",\\\"editorGroup.dropBackground\\\":\\\"#4954954a\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#241b2f\\\",\\\"editorGutter.addedBackground\\\":\\\"#206d4bd6\\\",\\\"editorGutter.deletedBackground\\\":\\\"#fa2e46a4\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#b893ce8f\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#A148AB80\\\",\\\"editorIndentGuide.background\\\":\\\"#444251\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#ffffffcc\\\",\\\"editorLineNumber.foreground\\\":\\\"#ffffff73\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#09f7a099\\\",\\\"editorOverviewRuler.border\\\":\\\"#34294fb3\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#fe445099\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#fe4450dd\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#D1861699\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#b893ce99\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#72f1b8cc\\\",\\\"editorRuler.foreground\\\":\\\"#A148AB80\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#f97e72\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#ffffff36\\\",\\\"editorWarning.foreground\\\":\\\"#72f1b8cc\\\",\\\"editorWidget.background\\\":\\\"#171520DC\\\",\\\"editorWidget.border\\\":\\\"#ffffff22\\\",\\\"editorWidget.resizeBorder\\\":\\\"#ffffff44\\\",\\\"errorForeground\\\":\\\"#fe4450\\\",\\\"extensionButton.prominentBackground\\\":\\\"#f97e72\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#ff7edb\\\",\\\"focusBorder\\\":\\\"#1f212b\\\",\\\"foreground\\\":\\\"#ffffff\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#72f1b8cc\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#fe4450\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#ffffff59\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#b893ceee\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#72f1b8\\\",\\\"input.background\\\":\\\"#2a2139\\\",\\\"inputOption.activeBorder\\\":\\\"#ff7edb99\\\",\\\"inputValidation.errorBackground\\\":\\\"#fe445080\\\",\\\"inputValidation.errorBorder\\\":\\\"#fe445000\\\",\\\"list.activeSelectionBackground\\\":\\\"#ffffff20\\\",\\\"list.activeSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.dropBackground\\\":\\\"#34294f66\\\",\\\"list.errorForeground\\\":\\\"#fe4450E6\\\",\\\"list.focusBackground\\\":\\\"#ffffff20\\\",\\\"list.focusForeground\\\":\\\"#ffffff\\\",\\\"list.highlightForeground\\\":\\\"#f97e72\\\",\\\"list.hoverBackground\\\":\\\"#37294d99\\\",\\\"list.hoverForeground\\\":\\\"#ffffff\\\",\\\"list.inactiveFocusBackground\\\":\\\"#2a213999\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#ffffff20\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#ffffff\\\",\\\"list.warningForeground\\\":\\\"#72f1b8bb\\\",\\\"menu.background\\\":\\\"#463465\\\",\\\"minimapGutter.addedBackground\\\":\\\"#09f7a099\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#fe4450\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#b893ce\\\",\\\"panelTitle.activeBorder\\\":\\\"#f97e72\\\",\\\"peekView.border\\\":\\\"#495495\\\",\\\"peekViewEditor.background\\\":\\\"#232530\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#D18616bb\\\",\\\"peekViewResult.background\\\":\\\"#232530\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#D1861655\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#2a213980\\\",\\\"peekViewTitle.background\\\":\\\"#232530\\\",\\\"pickerGroup.foreground\\\":\\\"#f97e72ea\\\",\\\"progressBar.background\\\":\\\"#f97e72\\\",\\\"scrollbar.shadow\\\":\\\"#2a2139\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#9d8bca20\\\",\\\"scrollbarSlider.background\\\":\\\"#9d8bca30\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#9d8bca50\\\",\\\"selection.background\\\":\\\"#ffffff20\\\",\\\"sideBar.background\\\":\\\"#241b2f\\\",\\\"sideBar.dropBackground\\\":\\\"#34294f4c\\\",\\\"sideBar.foreground\\\":\\\"#ffffff99\\\",\\\"sideBarSectionHeader.background\\\":\\\"#241b2f\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#ffffffca\\\",\\\"statusBar.background\\\":\\\"#241b2f\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f97e72\\\",\\\"statusBar.debuggingForeground\\\":\\\"#08080f\\\",\\\"statusBar.foreground\\\":\\\"#ffffff80\\\",\\\"statusBar.noFolderBackground\\\":\\\"#241b2f\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#2a2139\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#34294f\\\",\\\"tab.activeBorder\\\":\\\"#880088\\\",\\\"tab.border\\\":\\\"#241b2f00\\\",\\\"tab.inactiveBackground\\\":\\\"#262335\\\",\\\"terminal.ansiBlue\\\":\\\"#03edf9\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#03edf9\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#03edf9\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#72f1b8\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#ff7edb\\\",\\\"terminal.ansiBrightRed\\\":\\\"#fe4450\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#fede5d\\\",\\\"terminal.ansiCyan\\\":\\\"#03edf9\\\",\\\"terminal.ansiGreen\\\":\\\"#72f1b8\\\",\\\"terminal.ansiMagenta\\\":\\\"#ff7edb\\\",\\\"terminal.ansiRed\\\":\\\"#fe4450\\\",\\\"terminal.ansiYellow\\\":\\\"#f3e70f\\\",\\\"terminal.foreground\\\":\\\"#ffffff\\\",\\\"terminal.selectionBackground\\\":\\\"#ffffff20\\\",\\\"terminalCursor.background\\\":\\\"#ffffff\\\",\\\"terminalCursor.foreground\\\":\\\"#03edf9\\\",\\\"textLink.activeForeground\\\":\\\"#ff7edb\\\",\\\"textLink.foreground\\\":\\\"#f97e72\\\",\\\"titleBar.activeBackground\\\":\\\"#241b2f\\\",\\\"titleBar.inactiveBackground\\\":\\\"#241b2f\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#232530\\\",\\\"widget.shadow\\\":\\\"#2a2139\\\"},\\\"displayName\\\":\\\"Synthwave '84\\\",\\\"name\\\":\\\"synthwave-84\\\",\\\"semanticHighlighting\\\":true,\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"string.quoted.docstring.multi.python\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.begin.python\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.end.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#848bbd\\\"}},{\\\"scope\\\":[\\\"string.quoted\\\",\\\"string.template\\\",\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff8b39\\\"}},{\\\"scope\\\":\\\"string.template meta.embedded.line\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b6b1b1\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"entity.name.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":\\\"variable.parameter\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":\\\"constant\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":\\\"constant.numeric\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":\\\"constant.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":\\\"entity.name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.html\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":[\\\"entity.name.type\\\",\\\"meta.attribute.class.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D50\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"variable.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":[\\\"keyword.control.export.js\\\",\\\"keyword.control.import.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"constant.numeric.decimal.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2EE2FA\\\"}},{\\\"scope\\\":\\\"keyword\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":\\\"keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":\\\"keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":[\\\"keyword.operator.new\\\",\\\"keyword.operator.expression\\\",\\\"keyword.operator.logical\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":\\\"support.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key\\\",\\\"support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":\\\"punctuation.separator.key-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b6b1b1\\\"}},{\\\"scope\\\":\\\"punctuation.section.embedded\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression.begin\\\",\\\"punctuation.definition.template-expression.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"support.type.property-name.css\\\",\\\"support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":\\\"switch-block.expr.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":\\\"variable.other.constant.property.js, variable.other.property.js\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2ee2fa\\\"}},{\\\"scope\\\":\\\"constant.other.color\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":\\\"support.constant.font-name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-element\\\",\\\"entity.other.attribute-name.pseudo-class\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#D50\\\"}},{\\\"scope\\\":\\\"support.function.misc.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"entity.name.section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":[\\\"text.html\\\",\\\"keyword.operator.assignment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ffffffee\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b6b1b1cc\\\"}},{\\\"scope\\\":\\\"beginning.punctuation.definition.list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":\\\"markup.underline.link\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#D50\\\"}},{\\\"scope\\\":\\\"string.other.link.description\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":\\\"meta.function-call.generic.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":\\\"variable.parameter.function-call.python\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":\\\"storage.type.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":\\\"entity.name.variable.local.cs\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":[\\\"entity.name.variable.field.cs\\\",\\\"entity.name.variable.property.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":\\\"constant.other.placeholder.c\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive.include.c\\\",\\\"keyword.control.directive.define.c\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":\\\"storage.modifier.c\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":\\\"source.cpp keyword.operator\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":\\\"constant.other.placeholder.cpp\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"keyword.control.directive.include.cpp\\\",\\\"keyword.control.directive.define.cpp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":\\\"storage.modifier.specifier.const.cpp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":[\\\"source.elixir support.type.elixir\\\",\\\"source.elixir meta.module.elixir entity.name.class.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":\\\"source.elixir entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"source.elixir constant.other.symbol.elixir\\\",\\\"source.elixir constant.other.keywords.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":\\\"source.elixir punctuation.definition.string\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"source.elixir variable.other.readwrite.module.elixir\\\",\\\"source.elixir variable.other.readwrite.module.elixir punctuation.definition.variable.elixir\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":\\\"source.elixir .punctuation.binary.elixir\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":[\\\"entity.global.clojure\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":[\\\"storage.control.clojure\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":[\\\"meta.metadata.simple.clojure\\\",\\\"meta.metadata.map.clojure\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fe4450\\\"}},{\\\"scope\\\":[\\\"meta.quoted-expression.clojure\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"meta.symbol.clojure\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edbff\\\"}},{\\\"scope\\\":\\\"source.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edbff\\\"}},{\\\"scope\\\":\\\"source.go meta.function-call.go\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#36f9f6\\\"}},{\\\"scope\\\":[\\\"source.go keyword.package.go\\\",\\\"source.go keyword.import.go\\\",\\\"source.go keyword.function.go\\\",\\\"source.go keyword.type.go\\\",\\\"source.go keyword.const.go\\\",\\\"source.go keyword.var.go\\\",\\\"source.go keyword.map.go\\\",\\\"source.go keyword.channel.go\\\",\\\"source.go keyword.control.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":[\\\"source.go storage.type\\\",\\\"source.go keyword.struct.go\\\",\\\"source.go keyword.interface.go\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"source.go constant.language.go\\\",\\\"source.go constant.other.placeholder.go\\\",\\\"source.go variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2EE2FA\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.markdown\\\",\\\"markup.inline.raw.string.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#fede5d\\\"}},{\\\"scope\\\":[\\\"markup.heading.markdown\\\",\\\"entity.name.section.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#ff7edb\\\"}},{\\\"scope\\\":[\\\"markup.italic.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#2EE2FA\\\"}},{\\\"scope\\\":[\\\"markup.bold.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#2EE2FA\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.quote.begin.markdown\\\",\\\"markup.quote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"source.dart\\\",\\\"source.python\\\",\\\"source.scala\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff7edbff\\\"}},{\\\"scope\\\":[\\\"string.interpolated.single.dart\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f97e72\\\"}},{\\\"scope\\\":[\\\"variable.parameter.dart\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}},{\\\"scope\\\":[\\\"constant.numeric.dart\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2EE2FA\\\"}},{\\\"scope\\\":[\\\"variable.parameter.scala\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2EE2FA\\\"}},{\\\"scope\\\":[\\\"meta.template.expression.scala\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#72f1b8\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: tokyo-night */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#16161e\\\",\\\"activityBar.border\\\":\\\"#16161e\\\",\\\"activityBar.foreground\\\":\\\"#787c99\\\",\\\"activityBar.inactiveForeground\\\":\\\"#3b3e52\\\",\\\"activityBarBadge.background\\\":\\\"#3d59a1\\\",\\\"activityBarBadge.foreground\\\":\\\"#fff\\\",\\\"activityBarTop.foreground\\\":\\\"#787c99\\\",\\\"activityBarTop.inactiveForeground\\\":\\\"#3b3e52\\\",\\\"badge.background\\\":\\\"#7e83b230\\\",\\\"badge.foreground\\\":\\\"#acb0d0\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#a9b1d6\\\",\\\"breadcrumb.background\\\":\\\"#16161e\\\",\\\"breadcrumb.focusForeground\\\":\\\"#a9b1d6\\\",\\\"breadcrumb.foreground\\\":\\\"#515670\\\",\\\"breadcrumbPicker.background\\\":\\\"#16161e\\\",\\\"button.background\\\":\\\"#3d59a1dd\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#3d59a1AA\\\",\\\"button.secondaryBackground\\\":\\\"#3b3e52\\\",\\\"charts.blue\\\":\\\"#7aa2f7\\\",\\\"charts.foreground\\\":\\\"#9AA5CE\\\",\\\"charts.green\\\":\\\"#41a6b5\\\",\\\"charts.lines\\\":\\\"#16161e\\\",\\\"charts.orange\\\":\\\"#ff9e64\\\",\\\"charts.purple\\\":\\\"#9d7cd8\\\",\\\"charts.red\\\":\\\"#f7768e\\\",\\\"charts.yellow\\\":\\\"#e0af68\\\",\\\"chat.avatarBackground\\\":\\\"#3d59a1\\\",\\\"chat.avatarForeground\\\":\\\"#a9b1d6\\\",\\\"chat.requestBorder\\\":\\\"#0f0f14\\\",\\\"chat.slashCommandBackground\\\":\\\"#14141b\\\",\\\"chat.slashCommandForeground\\\":\\\"#7aa2f7\\\",\\\"debugConsole.errorForeground\\\":\\\"#bb616b\\\",\\\"debugConsole.infoForeground\\\":\\\"#787c99\\\",\\\"debugConsole.sourceForeground\\\":\\\"#787c99\\\",\\\"debugConsole.warningForeground\\\":\\\"#c49a5a\\\",\\\"debugConsoleInputIcon.foreground\\\":\\\"#73daca\\\",\\\"debugExceptionWidget.background\\\":\\\"#101014\\\",\\\"debugExceptionWidget.border\\\":\\\"#963c47\\\",\\\"debugIcon.breakpointDisabledForeground\\\":\\\"#414761\\\",\\\"debugIcon.breakpointForeground\\\":\\\"#db4b4b\\\",\\\"debugIcon.breakpointUnverifiedForeground\\\":\\\"#c24242\\\",\\\"debugTokenExpression.boolean\\\":\\\"#ff9e64\\\",\\\"debugTokenExpression.error\\\":\\\"#bb616b\\\",\\\"debugTokenExpression.name\\\":\\\"#7dcfff\\\",\\\"debugTokenExpression.number\\\":\\\"#ff9e64\\\",\\\"debugTokenExpression.string\\\":\\\"#9ece6a\\\",\\\"debugTokenExpression.value\\\":\\\"#9aa5ce\\\",\\\"debugToolBar.background\\\":\\\"#101014\\\",\\\"debugView.stateLabelBackground\\\":\\\"#14141b\\\",\\\"debugView.stateLabelForeground\\\":\\\"#787c99\\\",\\\"debugView.valueChangedHighlight\\\":\\\"#3d59a1aa\\\",\\\"descriptionForeground\\\":\\\"#515670\\\",\\\"diffEditor.diagonalFill\\\":\\\"#292e42\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#41a6b520\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#41a6b520\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#db4b4b22\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#db4b4b22\\\",\\\"diffEditor.unchangedCodeBackground\\\":\\\"#282a3b66\\\",\\\"diffEditorGutter.insertedLineBackground\\\":\\\"#41a6b525\\\",\\\"diffEditorGutter.removedLineBackground\\\":\\\"#db4b4b22\\\",\\\"diffEditorOverview.insertedForeground\\\":\\\"#41a6b525\\\",\\\"diffEditorOverview.removedForeground\\\":\\\"#db4b4b22\\\",\\\"disabledForeground\\\":\\\"#545c7e\\\",\\\"dropdown.background\\\":\\\"#14141b\\\",\\\"dropdown.foreground\\\":\\\"#787c99\\\",\\\"dropdown.listBackground\\\":\\\"#14141b\\\",\\\"editor.background\\\":\\\"#1a1b26\\\",\\\"editor.findMatchBackground\\\":\\\"#3d59a166\\\",\\\"editor.findMatchBorder\\\":\\\"#e0af68\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#3d59a166\\\",\\\"editor.findRangeHighlightBackground\\\":\\\"#515c7e33\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#73daca20\\\",\\\"editor.foldBackground\\\":\\\"#1111174a\\\",\\\"editor.foreground\\\":\\\"#a9b1d6\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#515c7e25\\\",\\\"editor.lineHighlightBackground\\\":\\\"#1e202e\\\",\\\"editor.rangeHighlightBackground\\\":\\\"#515c7e20\\\",\\\"editor.selectionBackground\\\":\\\"#515c7e4d\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#515c7e44\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#E2BD3A20\\\",\\\"editor.wordHighlightBackground\\\":\\\"#515c7e44\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#515c7e55\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#698cd6\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#68b3de\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#9a7ecc\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#25aac2\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#80a856\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#c49a5a\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#db4b4b\\\",\\\"editorBracketMatch.background\\\":\\\"#16161e\\\",\\\"editorBracketMatch.border\\\":\\\"#42465d\\\",\\\"editorBracketPairGuide.activeBackground1\\\":\\\"#698cd6\\\",\\\"editorBracketPairGuide.activeBackground2\\\":\\\"#68b3de\\\",\\\"editorBracketPairGuide.activeBackground3\\\":\\\"#9a7ecc\\\",\\\"editorBracketPairGuide.activeBackground4\\\":\\\"#25aac2\\\",\\\"editorBracketPairGuide.activeBackground5\\\":\\\"#80a856\\\",\\\"editorBracketPairGuide.activeBackground6\\\":\\\"#c49a5a\\\",\\\"editorCodeLens.foreground\\\":\\\"#51597d\\\",\\\"editorCursor.foreground\\\":\\\"#c0caf5\\\",\\\"editorError.foreground\\\":\\\"#db4b4b\\\",\\\"editorGhostText.foreground\\\":\\\"#646e9c\\\",\\\"editorGroup.border\\\":\\\"#101014\\\",\\\"editorGroup.dropBackground\\\":\\\"#1e202e\\\",\\\"editorGroupHeader.border\\\":\\\"#101014\\\",\\\"editorGroupHeader.noTabsBackground\\\":\\\"#16161e\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#16161e\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#101014\\\",\\\"editorGutter.addedBackground\\\":\\\"#164846\\\",\\\"editorGutter.deletedBackground\\\":\\\"#823c41\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#394b70\\\",\\\"editorHint.foreground\\\":\\\"#0da0ba\\\",\\\"editorHoverWidget.background\\\":\\\"#16161e\\\",\\\"editorHoverWidget.border\\\":\\\"#101014\\\",\\\"editorIndentGuide.activeBackground1\\\":\\\"#363b54\\\",\\\"editorIndentGuide.background1\\\":\\\"#232433\\\",\\\"editorInfo.foreground\\\":\\\"#0da0ba\\\",\\\"editorInlayHint.foreground\\\":\\\"#646e9c\\\",\\\"editorLightBulb.foreground\\\":\\\"#e0af68\\\",\\\"editorLightBulbAutoFix.foreground\\\":\\\"#e0af68\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#787c99\\\",\\\"editorLineNumber.foreground\\\":\\\"#363b54\\\",\\\"editorLink.activeForeground\\\":\\\"#acb0d0\\\",\\\"editorMarkerNavigation.background\\\":\\\"#16161e\\\",\\\"editorOverviewRuler.addedForeground\\\":\\\"#164846\\\",\\\"editorOverviewRuler.border\\\":\\\"#101014\\\",\\\"editorOverviewRuler.bracketMatchForeground\\\":\\\"#101014\\\",\\\"editorOverviewRuler.deletedForeground\\\":\\\"#703438\\\",\\\"editorOverviewRuler.errorForeground\\\":\\\"#db4b4b\\\",\\\"editorOverviewRuler.findMatchForeground\\\":\\\"#a9b1d644\\\",\\\"editorOverviewRuler.infoForeground\\\":\\\"#1abc9c\\\",\\\"editorOverviewRuler.modifiedForeground\\\":\\\"#394b70\\\",\\\"editorOverviewRuler.rangeHighlightForeground\\\":\\\"#a9b1d644\\\",\\\"editorOverviewRuler.selectionHighlightForeground\\\":\\\"#a9b1d622\\\",\\\"editorOverviewRuler.warningForeground\\\":\\\"#e0af68\\\",\\\"editorOverviewRuler.wordHighlightForeground\\\":\\\"#bb9af755\\\",\\\"editorOverviewRuler.wordHighlightStrongForeground\\\":\\\"#bb9af766\\\",\\\"editorPane.background\\\":\\\"#1a1b26\\\",\\\"editorRuler.foreground\\\":\\\"#101014\\\",\\\"editorSuggestWidget.background\\\":\\\"#16161e\\\",\\\"editorSuggestWidget.border\\\":\\\"#101014\\\",\\\"editorSuggestWidget.highlightForeground\\\":\\\"#6183bb\\\",\\\"editorSuggestWidget.selectedBackground\\\":\\\"#20222c\\\",\\\"editorWarning.foreground\\\":\\\"#e0af68\\\",\\\"editorWhitespace.foreground\\\":\\\"#363b54\\\",\\\"editorWidget.background\\\":\\\"#16161e\\\",\\\"editorWidget.border\\\":\\\"#101014\\\",\\\"editorWidget.foreground\\\":\\\"#787c99\\\",\\\"editorWidget.resizeBorder\\\":\\\"#545c7e33\\\",\\\"errorForeground\\\":\\\"#515670\\\",\\\"extensionBadge.remoteBackground\\\":\\\"#3d59a1\\\",\\\"extensionBadge.remoteForeground\\\":\\\"#ffffff\\\",\\\"extensionButton.prominentBackground\\\":\\\"#3d59a1DD\\\",\\\"extensionButton.prominentForeground\\\":\\\"#ffffff\\\",\\\"extensionButton.prominentHoverBackground\\\":\\\"#3d59a1AA\\\",\\\"focusBorder\\\":\\\"#545c7e33\\\",\\\"foreground\\\":\\\"#787c99\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#449dab\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#e0af68cc\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#914c54\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#515670\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#6183bb\\\",\\\"gitDecoration.renamedResourceForeground\\\":\\\"#449dab\\\",\\\"gitDecoration.stageDeletedResourceForeground\\\":\\\"#914c54\\\",\\\"gitDecoration.stageModifiedResourceForeground\\\":\\\"#6183bb\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#449dab\\\",\\\"gitlens.gutterBackgroundColor\\\":\\\"#16161e\\\",\\\"gitlens.gutterForegroundColor\\\":\\\"#787c99\\\",\\\"gitlens.gutterUncommittedForegroundColor\\\":\\\"#7aa2f7\\\",\\\"gitlens.trailingLineForegroundColor\\\":\\\"#646e9c\\\",\\\"icon.foreground\\\":\\\"#787c99\\\",\\\"inlineChat.foreground\\\":\\\"#a9b1d6\\\",\\\"inlineChatDiff.inserted\\\":\\\"#41a6b540\\\",\\\"inlineChatDiff.removed\\\":\\\"#db4b4b42\\\",\\\"inlineChatInput.background\\\":\\\"#14141b\\\",\\\"input.background\\\":\\\"#14141b\\\",\\\"input.border\\\":\\\"#0f0f14\\\",\\\"input.foreground\\\":\\\"#a9b1d6\\\",\\\"input.placeholderForeground\\\":\\\"#787c998A\\\",\\\"inputOption.activeBackground\\\":\\\"#3d59a144\\\",\\\"inputOption.activeForeground\\\":\\\"#c0caf5\\\",\\\"inputValidation.errorBackground\\\":\\\"#85353e\\\",\\\"inputValidation.errorBorder\\\":\\\"#963c47\\\",\\\"inputValidation.errorForeground\\\":\\\"#bbc2e0\\\",\\\"inputValidation.infoBackground\\\":\\\"#3d59a15c\\\",\\\"inputValidation.infoBorder\\\":\\\"#3d59a1\\\",\\\"inputValidation.infoForeground\\\":\\\"#bbc2e0\\\",\\\"inputValidation.warningBackground\\\":\\\"#c2985b\\\",\\\"inputValidation.warningBorder\\\":\\\"#e0af68\\\",\\\"inputValidation.warningForeground\\\":\\\"#000000\\\",\\\"list.activeSelectionBackground\\\":\\\"#202330\\\",\\\"list.activeSelectionForeground\\\":\\\"#a9b1d6\\\",\\\"list.deemphasizedForeground\\\":\\\"#787c99\\\",\\\"list.dropBackground\\\":\\\"#1e202e\\\",\\\"list.errorForeground\\\":\\\"#bb616b\\\",\\\"list.focusBackground\\\":\\\"#1c1d29\\\",\\\"list.focusForeground\\\":\\\"#a9b1d6\\\",\\\"list.highlightForeground\\\":\\\"#668ac4\\\",\\\"list.hoverBackground\\\":\\\"#13131a\\\",\\\"list.hoverForeground\\\":\\\"#a9b1d6\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#1c1d29\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#a9b1d6\\\",\\\"list.invalidItemForeground\\\":\\\"#c97018\\\",\\\"list.warningForeground\\\":\\\"#c49a5a\\\",\\\"listFilterWidget.background\\\":\\\"#101014\\\",\\\"listFilterWidget.noMatchesOutline\\\":\\\"#a6333f\\\",\\\"listFilterWidget.outline\\\":\\\"#3d59a1\\\",\\\"menu.background\\\":\\\"#16161e\\\",\\\"menu.border\\\":\\\"#101014\\\",\\\"menu.foreground\\\":\\\"#787c99\\\",\\\"menu.selectionBackground\\\":\\\"#1e202e\\\",\\\"menu.selectionForeground\\\":\\\"#a9b1d6\\\",\\\"menu.separatorBackground\\\":\\\"#101014\\\",\\\"menubar.selectionBackground\\\":\\\"#1e202e\\\",\\\"menubar.selectionBorder\\\":\\\"#1b1e2e\\\",\\\"menubar.selectionForeground\\\":\\\"#a9b1d6\\\",\\\"merge.currentContentBackground\\\":\\\"#007a7544\\\",\\\"merge.currentHeaderBackground\\\":\\\"#41a6b525\\\",\\\"merge.incomingContentBackground\\\":\\\"#3d59a144\\\",\\\"merge.incomingHeaderBackground\\\":\\\"#3d59a1aa\\\",\\\"mergeEditor.change.background\\\":\\\"#41a6b525\\\",\\\"mergeEditor.change.word.background\\\":\\\"#41a6b540\\\",\\\"mergeEditor.conflict.handled.minimapOverViewRuler\\\":\\\"#449dab\\\",\\\"mergeEditor.conflict.handledFocused.border\\\":\\\"#41a6b565\\\",\\\"mergeEditor.conflict.handledUnfocused.border\\\":\\\"#41a6b525\\\",\\\"mergeEditor.conflict.unhandled.minimapOverViewRuler\\\":\\\"#e0af68\\\",\\\"mergeEditor.conflict.unhandledFocused.border\\\":\\\"#e0af68b0\\\",\\\"mergeEditor.conflict.unhandledUnfocused.border\\\":\\\"#e0af6888\\\",\\\"minimapGutter.addedBackground\\\":\\\"#1C5957\\\",\\\"minimapGutter.deletedBackground\\\":\\\"#944449\\\",\\\"minimapGutter.modifiedBackground\\\":\\\"#425882\\\",\\\"multiDiffEditor.border\\\":\\\"#1a1b26\\\",\\\"multiDiffEditor.headerBackground\\\":\\\"#1a1b26\\\",\\\"notebook.cellBorderColor\\\":\\\"#101014\\\",\\\"notebook.cellEditorBackground\\\":\\\"#16161e\\\",\\\"notebook.cellStatusBarItemHoverBackground\\\":\\\"#1c1d29\\\",\\\"notebook.editorBackground\\\":\\\"#1a1b26\\\",\\\"notebook.focusedCellBorder\\\":\\\"#29355a\\\",\\\"notificationCenterHeader.background\\\":\\\"#101014\\\",\\\"notificationLink.foreground\\\":\\\"#6183bb\\\",\\\"notifications.background\\\":\\\"#101014\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#bb616b\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#0da0ba\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#bba461\\\",\\\"panel.background\\\":\\\"#16161e\\\",\\\"panel.border\\\":\\\"#101014\\\",\\\"panelInput.border\\\":\\\"#16161e\\\",\\\"panelTitle.activeBorder\\\":\\\"#16161e\\\",\\\"panelTitle.activeForeground\\\":\\\"#787c99\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#42465d\\\",\\\"peekView.border\\\":\\\"#101014\\\",\\\"peekViewEditor.background\\\":\\\"#16161e\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#3d59a166\\\",\\\"peekViewResult.background\\\":\\\"#101014\\\",\\\"peekViewResult.fileForeground\\\":\\\"#787c99\\\",\\\"peekViewResult.lineForeground\\\":\\\"#a9b1d6\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#3d59a166\\\",\\\"peekViewResult.selectionBackground\\\":\\\"#3d59a133\\\",\\\"peekViewResult.selectionForeground\\\":\\\"#a9b1d6\\\",\\\"peekViewTitle.background\\\":\\\"#101014\\\",\\\"peekViewTitleDescription.foreground\\\":\\\"#787c99\\\",\\\"peekViewTitleLabel.foreground\\\":\\\"#a9b1d6\\\",\\\"pickerGroup.border\\\":\\\"#101014\\\",\\\"pickerGroup.foreground\\\":\\\"#a9b1d6\\\",\\\"progressBar.background\\\":\\\"#3d59a1\\\",\\\"sash.hoverBorder\\\":\\\"#29355a\\\",\\\"scmGraph.foreground1\\\":\\\"#ff9e64\\\",\\\"scmGraph.foreground2\\\":\\\"#e0af68\\\",\\\"scmGraph.foreground3\\\":\\\"#41a6b5\\\",\\\"scmGraph.foreground4\\\":\\\"#7aa2f7\\\",\\\"scmGraph.foreground5\\\":\\\"#bb9af7\\\",\\\"scmGraph.historyItemBaseRefColor\\\":\\\"#9d7cd8\\\",\\\"scmGraph.historyItemHoverAdditionsForeground\\\":\\\"#41a6b5\\\",\\\"scmGraph.historyItemHoverDefaultLabelForeground\\\":\\\"#a9b1d6\\\",\\\"scmGraph.historyItemHoverDeletionsForeground\\\":\\\"#f7768e\\\",\\\"scmGraph.historyItemHoverLabelForeground\\\":\\\"#1b1e2e\\\",\\\"scmGraph.historyItemRefColor\\\":\\\"#506FCA\\\",\\\"scmGraph.historyItemRemoteRefColor\\\":\\\"#41a6b5\\\",\\\"scrollbar.shadow\\\":\\\"#00000033\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#868bc422\\\",\\\"scrollbarSlider.background\\\":\\\"#868bc415\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#868bc410\\\",\\\"selection.background\\\":\\\"#515c7e40\\\",\\\"settings.headerForeground\\\":\\\"#6183bb\\\",\\\"sideBar.background\\\":\\\"#16161e\\\",\\\"sideBar.border\\\":\\\"#101014\\\",\\\"sideBar.dropBackground\\\":\\\"#1e202e\\\",\\\"sideBar.foreground\\\":\\\"#787c99\\\",\\\"sideBarSectionHeader.background\\\":\\\"#16161e\\\",\\\"sideBarSectionHeader.border\\\":\\\"#101014\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#a9b1d6\\\",\\\"sideBarTitle.foreground\\\":\\\"#787c99\\\",\\\"statusBar.background\\\":\\\"#16161e\\\",\\\"statusBar.border\\\":\\\"#101014\\\",\\\"statusBar.debuggingBackground\\\":\\\"#16161e\\\",\\\"statusBar.debuggingForeground\\\":\\\"#787c99\\\",\\\"statusBar.foreground\\\":\\\"#787c99\\\",\\\"statusBar.noFolderBackground\\\":\\\"#16161e\\\",\\\"statusBarItem.activeBackground\\\":\\\"#101014\\\",\\\"statusBarItem.hoverBackground\\\":\\\"#20222c\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#101014\\\",\\\"statusBarItem.prominentHoverBackground\\\":\\\"#20222c\\\",\\\"tab.activeBackground\\\":\\\"#16161e\\\",\\\"tab.activeBorder\\\":\\\"#3d59a1\\\",\\\"tab.activeForeground\\\":\\\"#a9b1d6\\\",\\\"tab.activeModifiedBorder\\\":\\\"#1a1b26\\\",\\\"tab.border\\\":\\\"#101014\\\",\\\"tab.hoverForeground\\\":\\\"#a9b1d6\\\",\\\"tab.inactiveBackground\\\":\\\"#16161e\\\",\\\"tab.inactiveForeground\\\":\\\"#787c99\\\",\\\"tab.inactiveModifiedBorder\\\":\\\"#1f202e\\\",\\\"tab.lastPinnedBorder\\\":\\\"#222333\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#1f202e\\\",\\\"tab.unfocusedActiveForeground\\\":\\\"#a9b1d6\\\",\\\"tab.unfocusedHoverForeground\\\":\\\"#a9b1d6\\\",\\\"tab.unfocusedInactiveForeground\\\":\\\"#787c99\\\",\\\"terminal.ansiBlack\\\":\\\"#363b54\\\",\\\"terminal.ansiBlue\\\":\\\"#7aa2f7\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#363b54\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#7aa2f7\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#7dcfff\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#73daca\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#bb9af7\\\",\\\"terminal.ansiBrightRed\\\":\\\"#f7768e\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#acb0d0\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e0af68\\\",\\\"terminal.ansiCyan\\\":\\\"#7dcfff\\\",\\\"terminal.ansiGreen\\\":\\\"#73daca\\\",\\\"terminal.ansiMagenta\\\":\\\"#bb9af7\\\",\\\"terminal.ansiRed\\\":\\\"#f7768e\\\",\\\"terminal.ansiWhite\\\":\\\"#787c99\\\",\\\"terminal.ansiYellow\\\":\\\"#e0af68\\\",\\\"terminal.background\\\":\\\"#16161e\\\",\\\"terminal.foreground\\\":\\\"#787c99\\\",\\\"terminal.selectionBackground\\\":\\\"#515c7e4d\\\",\\\"textBlockQuote.background\\\":\\\"#16161e\\\",\\\"textCodeBlock.background\\\":\\\"#16161e\\\",\\\"textLink.activeForeground\\\":\\\"#7dcfff\\\",\\\"textLink.foreground\\\":\\\"#6183bb\\\",\\\"textPreformat.foreground\\\":\\\"#9699a8\\\",\\\"textSeparator.foreground\\\":\\\"#363b54\\\",\\\"titleBar.activeBackground\\\":\\\"#16161e\\\",\\\"titleBar.activeForeground\\\":\\\"#787c99\\\",\\\"titleBar.border\\\":\\\"#101014\\\",\\\"titleBar.inactiveBackground\\\":\\\"#16161e\\\",\\\"titleBar.inactiveForeground\\\":\\\"#787c99\\\",\\\"toolbar.activeBackground\\\":\\\"#202330\\\",\\\"toolbar.hoverBackground\\\":\\\"#202330\\\",\\\"tree.indentGuidesStroke\\\":\\\"#2b2b3b\\\",\\\"walkThrough.embeddedEditorBackground\\\":\\\"#16161e\\\",\\\"widget.shadow\\\":\\\"#ffffff00\\\",\\\"window.activeBorder\\\":\\\"#0d0f17\\\",\\\"window.inactiveBorder\\\":\\\"#0d0f17\\\"},\\\"displayName\\\":\\\"Tokyo Night\\\",\\\"name\\\":\\\"tokyo-night\\\",\\\"semanticTokenColors\\\":{\\\"*.defaultLibrary\\\":{\\\"foreground\\\":\\\"#2ac3de\\\"},\\\"parameter\\\":{\\\"foreground\\\":\\\"#d9d4cd\\\"},\\\"parameter.declaration\\\":{\\\"foreground\\\":\\\"#e0af68\\\"},\\\"property.declaration\\\":{\\\"foreground\\\":\\\"#73daca\\\"},\\\"property.defaultLibrary\\\":{\\\"foreground\\\":\\\"#2ac3de\\\"},\\\"variable\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"},\\\"variable.declaration\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"},\\\"variable.defaultLibrary\\\":{\\\"foreground\\\":\\\"#2ac3de\\\"}},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"meta.var.expr storage.type\\\",\\\"keyword.control.flow\\\",\\\"keyword.control.return\\\",\\\"meta.directive.vue punctuation.separator.key-value.html\\\",\\\"meta.directive.vue entity.other.attribute-name.html\\\",\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\",\\\"storage.modifier\\\",\\\"string.quoted.docstring.multi\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.begin\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.end\\\",\\\"string.quoted.docstring.multi.python constant.character.escape\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"keyword.control.flow.block-scalar.literal\\\",\\\"keyword.control.flow.python\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\"}},{\\\"scope\\\":[\\\"comment\\\",\\\"comment.block.documentation\\\",\\\"punctuation.definition.comment\\\",\\\"comment.block.documentation punctuation\\\",\\\"string.quoted.docstring.multi\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.begin\\\",\\\"string.quoted.docstring.multi.python punctuation.definition.string.end\\\",\\\"string.quoted.docstring.multi.python constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#51597d\\\"}},{\\\"scope\\\":[\\\"keyword.operator.assignment.jsdoc\\\",\\\"comment.block.documentation variable\\\",\\\"comment.block.documentation storage\\\",\\\"comment.block.documentation keyword\\\",\\\"comment.block.documentation support\\\",\\\"comment.block.documentation markup\\\",\\\"comment.block.documentation markup.inline.raw.string.markdown\\\",\\\"meta.other.type.phpdoc.php keyword.other.type.php\\\",\\\"meta.other.type.phpdoc.php support.other.namespace.php\\\",\\\"meta.other.type.phpdoc.php punctuation.separator.inheritance.php\\\",\\\"meta.other.type.phpdoc.php support.class\\\",\\\"keyword.other.phpdoc.php\\\",\\\"log.date\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5a638c\\\"}},{\\\"scope\\\":[\\\"meta.other.type.phpdoc.php support.class\\\",\\\"comment.block.documentation storage.type\\\",\\\"comment.block.documentation punctuation.definition.block.tag\\\",\\\"comment.block.documentation entity.name.type.instance\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#646e9c\\\"}},{\\\"scope\\\":[\\\"variable.other.constant\\\",\\\"punctuation.definition.constant\\\",\\\"constant.language\\\",\\\"constant.numeric\\\",\\\"support.constant\\\",\\\"constant.other.caps\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9e64\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"meta.attribute-selector\\\",\\\"string constant.character\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#9ece6a\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\",\\\"constant.other.color.rgb-value.hex punctuation.definition.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9aa5ce\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff5370\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"storage.type\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"meta.var.expr storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d7cd8\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.template-expression\\\",\\\"punctuation.section.embedded\\\",\\\"meta.embedded.line.tag.smarty\\\",\\\"support.constant.handlebars\\\",\\\"punctuation.section.tag.twig\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"keyword.control.smarty\\\",\\\"keyword.control.twig\\\",\\\"support.constant.handlebars keyword.control\\\",\\\"keyword.operator.comparison.twig\\\",\\\"keyword.blade\\\",\\\"entity.name.function.blade\\\",\\\"meta.tag.blade keyword.other.type.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"keyword.operator.spread\\\",\\\"keyword.operator.rest\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"keyword.control.as\\\",\\\"keyword.other\\\",\\\"keyword.operator.bitwise.shift\\\",\\\"punctuation\\\",\\\"expression.embbeded.vue punctuation.definition.tag\\\",\\\"text.html.twig meta.tag.inline.any.html\\\",\\\"meta.tag.template.value.twig meta.function.arguments.twig\\\",\\\"meta.directive.vue punctuation.separator.key-value.html\\\",\\\"punctuation.definition.constant.markdown\\\",\\\"punctuation.definition.string\\\",\\\"punctuation.support.type.property-name\\\",\\\"text.html.vue-html meta.tag\\\",\\\"meta.attribute.directive\\\",\\\"punctuation.definition.keyword\\\",\\\"punctuation.terminator.rule\\\",\\\"punctuation.definition.entity\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\",\\\"entity.name.operator\\\",\\\"meta.property-list punctuation.separator.key-value\\\",\\\"meta.at-rule.mixin punctuation.separator.key-value\\\",\\\"meta.at-rule.function variable.parameter.url\\\",\\\"meta.embedded.inline.phpx punctuation.definition.tag.begin.html\\\",\\\"meta.embedded.inline.phpx punctuation.definition.tag.end.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":[\\\"keyword.control.module.js\\\",\\\"keyword.control.import\\\",\\\"keyword.control.export\\\",\\\"keyword.control.from\\\",\\\"keyword.control.default\\\",\\\"meta.import keyword.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"keyword.control\\\",\\\"keyword.other.important\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"keyword.other.DML\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"keyword.operator.logical\\\",\\\"storage.type.function\\\",\\\"keyword.operator.bitwise\\\",\\\"keyword.operator.ternary\\\",\\\"keyword.operator.comparison\\\",\\\"keyword.operator.relational\\\",\\\"keyword.operator.or.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"entity.name.tag\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"entity.name.tag support.class.component\\\",\\\"meta.tag.custom entity.name.tag\\\",\\\"meta.tag.other.unrecognized.html.derivative entity.name.tag\\\",\\\"meta.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#de5971\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.tag\\\",\\\"text.html.php meta.embedded.block.html meta.tag.metadata.script.end.html punctuation.definition.tag.begin.html text.html.basic\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ba3c97\\\"}},{\\\"scope\\\":[\\\"constant.other.php\\\",\\\"variable.other.global.safer\\\",\\\"variable.other.global.safer punctuation.definition.variable\\\",\\\"variable.other.global\\\",\\\"variable.other.global punctuation.definition.variable\\\",\\\"constant.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"support.variable\\\",\\\"string constant.other.placeholder\\\",\\\"variable.parameter.handlebars\\\",\\\"variable.other.object\\\",\\\"meta.fstring\\\",\\\"meta.function-call meta.function-call.arguments\\\",\\\"meta.embedded.inline.phpx constant.other.php\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"meta.array.literal variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"meta.object-literal.key\\\",\\\"entity.name.type.hcl\\\",\\\"string.alias.graphql\\\",\\\"string.unquoted.graphql\\\",\\\"string.unquoted.alias.graphql\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\",\\\"meta.field.declaration.ts variable.object.property\\\",\\\"meta.block entity.name.label\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":[\\\"variable.other.property\\\",\\\"support.variable.property\\\",\\\"support.variable.property.dom\\\",\\\"meta.function-call variable.other.object.property\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":\\\"variable.other.object.property\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"meta.objectliteral meta.object.member meta.objectliteral meta.object.member meta.objectliteral meta.object.member meta.object-literal.key\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#41a6b5\\\"}},{\\\"scope\\\":\\\"source.cpp meta.block variable.other\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":\\\"support.other.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"entity.name.method.js\\\",\\\"variable.function.constructor\\\",\\\"keyword.other.special-method\\\",\\\"storage.type.cs\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"variable.other.enummember\\\",\\\"meta.function-call\\\",\\\"meta.function-call entity.name.function\\\",\\\"variable.function\\\",\\\"meta.definition.method entity.name.function\\\",\\\"meta.object-literal entity.name.function\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"variable.parameter.function.language.special\\\",\\\"variable.parameter\\\",\\\"meta.function.parameters punctuation.definition.variable\\\",\\\"meta.function.parameter variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":[\\\"keyword.other.type.php\\\",\\\"storage.type.php\\\",\\\"constant.character\\\",\\\"constant.escape\\\",\\\"keyword.other.unit\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"meta.definition.variable variable.other.constant\\\",\\\"meta.definition.variable variable.other.readwrite\\\",\\\"variable.declaration.hcl variable.other.readwrite.hcl\\\",\\\"meta.mapping.key.hcl variable.other.readwrite.hcl\\\",\\\"variable.other.declaration\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"entity.other.inherited-class\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"\\\",\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"support.class\\\",\\\"support.type\\\",\\\"variable.other.readwrite.alias\\\",\\\"support.orther.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"support.type.sys-types\\\",\\\"support.variable.dom\\\",\\\"support.constant.math\\\",\\\"support.type.object.module\\\",\\\"support.constant.json\\\",\\\"entity.name.namespace\\\",\\\"meta.import.qualifier\\\",\\\"variable.other.constant.object\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":\\\"entity.name\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"support.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\",\\\"support.type.property-name.css\\\",\\\"support.type.vendored.property-name\\\",\\\"support.type.map.key\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"support.constant.font-name\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ece6a\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\",\\\"meta.at-rule.mixin.scss entity.name.function.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ece6a\\\"}},{\\\"scope\\\":\\\"entity.other.attribute-name.id\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fc7b7b\\\"}},{\\\"scope\\\":\\\"entity.name.tag.css\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-class punctuation.definition.entity\\\",\\\"entity.other.attribute-name.pseudo-element punctuation.definition.entity\\\",\\\"entity.other.attribute-name.class punctuation.definition.entity\\\",\\\"entity.name.tag.reference\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":\\\"meta.property-list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9abdf5\\\"}},{\\\"scope\\\":[\\\"meta.property-list meta.at-rule.if\\\",\\\"meta.at-rule.return variable.parameter.url\\\",\\\"meta.property-list meta.at-rule.else\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9e64\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.parent-selector-suffix punctuation.definition.entity.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":\\\"meta.property-list meta.property-list\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9abdf5\\\"}},{\\\"scope\\\":[\\\"meta.at-rule.mixin keyword.control.at-rule.mixin\\\",\\\"meta.at-rule.include entity.name.function.scss\\\",\\\"meta.at-rule.include keyword.control.at-rule.include\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"keyword.control.at-rule.include punctuation.definition.keyword\\\",\\\"keyword.control.at-rule.mixin punctuation.definition.keyword\\\",\\\"meta.at-rule.include keyword.control.at-rule.include\\\",\\\"keyword.control.at-rule.extend punctuation.definition.keyword\\\",\\\"meta.at-rule.extend keyword.control.at-rule.extend\\\",\\\"entity.other.attribute-name.placeholder.css punctuation.definition.entity.css\\\",\\\"meta.at-rule.media keyword.control.at-rule.media\\\",\\\"meta.at-rule.mixin keyword.control.at-rule.mixin\\\",\\\"meta.at-rule.function keyword.control.at-rule.function\\\",\\\"keyword.control punctuation.definition.keyword\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9d7cd8\\\"}},{\\\"scope\\\":\\\"meta.property-list meta.at-rule.include\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"support.constant.property-value\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ff9e64\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"variable.language\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":\\\"variable.other punctuation.definition.variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\",\\\"variable.language.this punctuation.definition.variable\\\",\\\"keyword.other.this\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"text.html.basic entity.other.attribute-name.html\\\",\\\"text.html.basic entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"text.html constant.character.entity\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0DB9D7\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.id.html\\\",\\\"meta.directive.vue entity.other.attribute-name.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"source.sass keyword.control\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.pseudo-class\\\",\\\"entity.other.attribute-name.pseudo-element\\\",\\\"entity.other.attribute-name.placeholder\\\",\\\"meta.property-list meta.property-value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"markup.inserted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#449dab\\\"}},{\\\"scope\\\":\\\"markup.deleted\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#914c54\\\"}},{\\\"scope\\\":\\\"markup.changed\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#6183bb\\\"}},{\\\"scope\\\":\\\"string.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b4f9f8\\\"}},{\\\"scope\\\":\\\"punctuation.definition.group\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"constant.other.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"constant.other.character-class.set.regexp\\\",\\\"punctuation.definition.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":\\\"keyword.operator.quantifier.regexp\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":\\\"constant.character.escape.backslash\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":\\\"constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":\\\"keyword.other.unit\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#7dcfff\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#e0af68\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9ece6a\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list_item.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#9abdf5\\\"}},{\\\"scope\\\":[\\\"meta.block\\\",\\\"meta.brace\\\",\\\"punctuation.definition.block\\\",\\\"punctuation.definition.use\\\",\\\"punctuation.definition.class\\\",\\\"punctuation.definition.begin.bracket\\\",\\\"punctuation.definition.end.bracket\\\",\\\"punctuation.definition.switch-expression.begin.bracket\\\",\\\"punctuation.definition.switch-expression.end.bracket\\\",\\\"punctuation.definition.section.switch-block.begin.bracket\\\",\\\"punctuation.definition.section.switch-block.end.bracket\\\",\\\"punctuation.definition.group.shell\\\",\\\"punctuation.definition.parameters\\\",\\\"punctuation.definition.arguments\\\",\\\"punctuation.definition.dictionary\\\",\\\"punctuation.definition.array\\\",\\\"punctuation.section\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9abdf5\\\"}},{\\\"scope\\\":[\\\"meta.embedded.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"meta.tag JSXNested\\\",\\\"meta.jsx.children\\\",\\\"text.html\\\",\\\"text.log\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#9aa5ce\\\"}},{\\\"scope\\\":\\\"text.html.markdown markup.inline.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#bb9af7\\\"}},{\\\"scope\\\":\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4E5579\\\"}},{\\\"scope\\\":[\\\"heading.1.markdown entity.name\\\",\\\"heading.1.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":[\\\"heading.2.markdown entity.name\\\",\\\"heading.2.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#61bdf2\\\"}},{\\\"scope\\\":[\\\"heading.3.markdown entity.name\\\",\\\"heading.3.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#7aa2f7\\\"}},{\\\"scope\\\":[\\\"heading.4.markdown entity.name\\\",\\\"heading.4.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#6d91de\\\"}},{\\\"scope\\\":[\\\"heading.5.markdown entity.name\\\",\\\"heading.5.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#9aa5ce\\\"}},{\\\"scope\\\":[\\\"heading.6.markdown entity.name\\\",\\\"heading.6.markdown punctuation.definition.heading.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#747ca1\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\",\\\"markup.italic punctuation\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold punctuation\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.bold markup.italic punctuation\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold italic\\\",\\\"foreground\\\":\\\"#c0caf5\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\",\\\"markup.underline punctuation\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":\\\"markup.quote punctuation.definition.blockquote.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4e5579\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\"}},{\\\"scope\\\":[\\\"string.other.link\\\",\\\"markup.underline.link\\\",\\\"constant.other.reference.link.markdown\\\",\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":[\\\"markup.fenced_code.block.markdown\\\",\\\"markup.inline.raw.string.markdown\\\",\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#89ddff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#51597d\\\"}},{\\\"scope\\\":\\\"markup.table\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c0cefc\\\"}},{\\\"scope\\\":\\\"token.info-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#0db9d7\\\"}},{\\\"scope\\\":\\\"token.warn-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#ffdb69\\\"}},{\\\"scope\\\":\\\"token.error-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#db4b4b\\\"}},{\\\"scope\\\":\\\"token.debug-token\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b267e6\\\"}},{\\\"scope\\\":\\\"entity.tag.apacheconf\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#f7768e\\\"}},{\\\"scope\\\":[\\\"meta.preprocessor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#73daca\\\"}},{\\\"scope\\\":\\\"source.env\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#7aa2f7\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: vesper */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.background\\\":\\\"#101010\\\",\\\"activityBar.foreground\\\":\\\"#A0A0A0\\\",\\\"activityBarBadge.background\\\":\\\"#FFC799\\\",\\\"activityBarBadge.foreground\\\":\\\"#000\\\",\\\"badge.background\\\":\\\"#FFC799\\\",\\\"badge.foreground\\\":\\\"#000\\\",\\\"button.background\\\":\\\"#FFC799\\\",\\\"button.foreground\\\":\\\"#000\\\",\\\"button.hoverBackground\\\":\\\"#FFCFA8\\\",\\\"diffEditor.insertedLineBackground\\\":\\\"#99FFE415\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#99FFE415\\\",\\\"diffEditor.removedLineBackground\\\":\\\"#FF808015\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#FF808015\\\",\\\"editor.background\\\":\\\"#101010\\\",\\\"editor.foreground\\\":\\\"#FFF\\\",\\\"editor.selectionBackground\\\":\\\"#FFFFFF25\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#FFFFFF25\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#A0A0A0\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#A0A0A0\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#A0A0A0\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#A0A0A0\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#A0A0A0\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#A0A0A0\\\",\\\"editorBracketHighlight.unexpectedBracket.foreground\\\":\\\"#FF8080\\\",\\\"editorError.foreground\\\":\\\"#FF8080\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#101010\\\",\\\"editorGutter.addedBackground\\\":\\\"#99FFE4\\\",\\\"editorGutter.deletedBackground\\\":\\\"#FF8080\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#FFC799\\\",\\\"editorHoverWidget.background\\\":\\\"#161616\\\",\\\"editorHoverWidget.border\\\":\\\"#282828\\\",\\\"editorInlayHint.background\\\":\\\"#1C1C1C\\\",\\\"editorInlayHint.foreground\\\":\\\"#A0A0A0\\\",\\\"editorLineNumber.foreground\\\":\\\"#505050\\\",\\\"editorOverviewRuler.border\\\":\\\"#101010\\\",\\\"editorWarning.foreground\\\":\\\"#FFC799\\\",\\\"editorWidget.background\\\":\\\"#101010\\\",\\\"focusBorder\\\":\\\"#FFC799\\\",\\\"icon.foreground\\\":\\\"#A0A0A0\\\",\\\"input.background\\\":\\\"#1C1C1C\\\",\\\"list.activeSelectionBackground\\\":\\\"#232323\\\",\\\"list.activeSelectionForeground\\\":\\\"#FFC799\\\",\\\"list.errorForeground\\\":\\\"#FF8080\\\",\\\"list.highlightForeground\\\":\\\"#FFC799\\\",\\\"list.hoverBackground\\\":\\\"#282828\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#232323\\\",\\\"scrollbarSlider.background\\\":\\\"#34343480\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#343434\\\",\\\"selection.background\\\":\\\"#666\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#FFC799\\\",\\\"sideBar.background\\\":\\\"#101010\\\",\\\"sideBarSectionHeader.background\\\":\\\"#101010\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#A0A0A0\\\",\\\"sideBarTitle.foreground\\\":\\\"#A0A0A0\\\",\\\"statusBar.background\\\":\\\"#101010\\\",\\\"statusBar.debuggingBackground\\\":\\\"#FF7300\\\",\\\"statusBar.debuggingForeground\\\":\\\"#FFF\\\",\\\"statusBar.foreground\\\":\\\"#A0A0A0\\\",\\\"statusBarItem.remoteBackground\\\":\\\"#FFC799\\\",\\\"statusBarItem.remoteForeground\\\":\\\"#000\\\",\\\"tab.activeBackground\\\":\\\"#161616\\\",\\\"tab.activeBorder\\\":\\\"#FFC799\\\",\\\"tab.border\\\":\\\"#101010\\\",\\\"tab.inactiveBackground\\\":\\\"#101010\\\",\\\"textLink.activeForeground\\\":\\\"#FFCFA8\\\",\\\"textLink.foreground\\\":\\\"#FFC799\\\",\\\"titleBar.activeBackground\\\":\\\"#101010\\\",\\\"titleBar.activeForeground\\\":\\\"#7E7E7E\\\",\\\"titleBar.inactiveBackground\\\":\\\"#101010\\\",\\\"titleBar.inactiveForeground\\\":\\\"#707070\\\"},\\\"displayName\\\":\\\"Vesper\\\",\\\"name\\\":\\\"vesper\\\",\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#8b8b8b94\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"string constant.other.placeholder\\\",\\\"entity.name.tag\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"constant.other.color\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"invalid\\\",\\\"invalid.illegal\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF8080\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage.type\\\",\\\"storage.modifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"keyword.control\\\",\\\"constant.other.color\\\",\\\"punctuation.definition.tag\\\",\\\"punctuation.separator.inheritance.php\\\",\\\"punctuation.definition.tag.html\\\",\\\"punctuation.definition.tag.begin.html\\\",\\\"punctuation.definition.tag.end.html\\\",\\\"punctuation.section.embedded\\\",\\\"keyword.other.template\\\",\\\"keyword.other.substitution\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"meta.tag.sgml\\\",\\\"markup.deleted.git_gutter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"entity.name.function\\\",\\\"variable.function\\\",\\\"support.function\\\",\\\"keyword.other.special-method\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"meta.block variable.other\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"support.other.variable\\\",\\\"string.other.link\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"constant.numeric\\\",\\\"support.constant\\\",\\\"constant.character\\\",\\\"constant.escape\\\",\\\"keyword.other.unit\\\",\\\"keyword.other\\\",\\\"constant.language.boolean\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"constant.other.symbol\\\",\\\"constant.other.key\\\",\\\"meta.group.braces.curly constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#99FFE4\\\"}},{\\\"scope\\\":[\\\"entity.name\\\",\\\"support.type\\\",\\\"support.class\\\",\\\"support.other.namespace.use.php\\\",\\\"meta.use.php\\\",\\\"support.other.namespace.php\\\",\\\"markup.changed.git_gutter\\\",\\\"support.type.sys-types\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.css support.type.property-name\\\",\\\"source.sass support.type.property-name\\\",\\\"source.scss support.type.property-name\\\",\\\"source.less support.type.property-name\\\",\\\"source.stylus support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\",\\\"source.postcss support.type.property-name\\\",\\\"support.type.vendored.property-name.css\\\",\\\"source.css.scss entity.name.tag\\\",\\\"variable.parameter.keyframe-list.css\\\",\\\"meta.property-name.css\\\",\\\"variable.parameter.url.scss\\\",\\\"meta.property-value.scss\\\",\\\"meta.property-value.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"entity.name.module.js\\\",\\\"variable.import.parameter.js\\\",\\\"variable.other.class.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF8080\\\"}},{\\\"scope\\\":[\\\"variable.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"entity.name.method.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFFF\\\"}},{\\\"scope\\\":[\\\"meta.class-method.js entity.name.function.js\\\",\\\"variable.function.constructor\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFFF\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"meta.property-list.scss\\\",\\\"meta.attribute-selector.scss\\\",\\\"meta.property-value.css\\\",\\\"entity.other.keyframe-offset.css\\\",\\\"meta.selector.css\\\",\\\"entity.name.tag.reference.scss\\\",\\\"entity.name.tag.nesting.css\\\",\\\"punctuation.separator.key-value.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"text.html.basic entity.other.attribute-name.html\\\",\\\"text.html.basic entity.other.attribute-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.class\\\",\\\"entity.other.attribute-name.id\\\",\\\"meta.attribute-selector.scss\\\",\\\"variable.parameter.misc.css\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.sass keyword.control\\\",\\\"meta.attribute-selector.scss\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#99FFE4\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#99FFE4\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FF8080\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"constant.character.escape\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"*url*\\\",\\\"*link*\\\",\\\"*uri*\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\"}},{\\\"scope\\\":[\\\"tag.decorator.js entity.name.tag.js\\\",\\\"tag.decorator.js punctuation.definition.tag.js\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFFF\\\"}},{\\\"scope\\\":[\\\"source.js constant.other.object.key.js string.unquoted.label.js\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FF8080\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"source.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"text.html.markdown\\\",\\\"punctuation.definition.list_item.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"text.html.markdown markup.inline.raw.markdown punctuation.definition.raw.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"markdown.heading\\\",\\\"markup.heading | markup.heading entity.name\\\",\\\"markup.heading.markdown punctuation.definition.heading.markdown\\\",\\\"markup.heading\\\",\\\"markup.inserted.git_gutter\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"markup.italic\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"markup.bold\\\",\\\"markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"markup.bold markup.italic\\\",\\\"markup.italic markup.bold\\\",\\\"markup.quote markup.bold\\\",\\\"markup.bold markup.italic string\\\",\\\"markup.italic markup.bold string\\\",\\\"markup.quote markup.bold string\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"markup.underline\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"markup.quote punctuation.definition.blockquote.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"markup.quote\\\"]},{\\\"scope\\\":[\\\"string.other.link.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFFF\\\"}},{\\\"scope\\\":[\\\"string.other.link.description.title.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFC799\\\"}},{\\\"scope\\\":[\\\"markup.raw.block\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#A0A0A0\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00000050\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#00000050\\\"}},{\\\"scope\\\":[\\\"markup.raw.block.fenced.markdown\\\",\\\"variable.language.fenced.markdown\\\",\\\"punctuation.section.class.end\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"variable.language.fenced.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}},{\\\"scope\\\":[\\\"meta.separator\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#65737E\\\"}},{\\\"scope\\\":[\\\"markup.table\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#FFF\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: vitesse-black */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#4d9375\\\",\\\"activityBar.background\\\":\\\"#000\\\",\\\"activityBar.border\\\":\\\"#191919\\\",\\\"activityBar.foreground\\\":\\\"#dbd7cacc\\\",\\\"activityBar.inactiveForeground\\\":\\\"#dedcd550\\\",\\\"activityBarBadge.background\\\":\\\"#bfbaaa\\\",\\\"activityBarBadge.foreground\\\":\\\"#000\\\",\\\"badge.background\\\":\\\"#dedcd590\\\",\\\"badge.foreground\\\":\\\"#000\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#eeeeee18\\\",\\\"breadcrumb.background\\\":\\\"#121212\\\",\\\"breadcrumb.focusForeground\\\":\\\"#dbd7cacc\\\",\\\"breadcrumb.foreground\\\":\\\"#959da5\\\",\\\"breadcrumbPicker.background\\\":\\\"#000\\\",\\\"button.background\\\":\\\"#4d9375\\\",\\\"button.foreground\\\":\\\"#000\\\",\\\"button.hoverBackground\\\":\\\"#4d9375\\\",\\\"checkbox.background\\\":\\\"#121212\\\",\\\"checkbox.border\\\":\\\"#2f363d\\\",\\\"debugToolBar.background\\\":\\\"#000\\\",\\\"descriptionForeground\\\":\\\"#dedcd590\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#4d937550\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ab595950\\\",\\\"dropdown.background\\\":\\\"#000\\\",\\\"dropdown.border\\\":\\\"#191919\\\",\\\"dropdown.foreground\\\":\\\"#dbd7cacc\\\",\\\"dropdown.listBackground\\\":\\\"#121212\\\",\\\"editor.background\\\":\\\"#000\\\",\\\"editor.findMatchBackground\\\":\\\"#e6cc7722\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#e6cc7744\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#b808\\\",\\\"editor.foldBackground\\\":\\\"#eeeeee10\\\",\\\"editor.foreground\\\":\\\"#dbd7cacc\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#eeeeee10\\\",\\\"editor.lineHighlightBackground\\\":\\\"#121212\\\",\\\"editor.selectionBackground\\\":\\\"#eeeeee18\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#eeeeee10\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#a707\\\",\\\"editor.wordHighlightBackground\\\":\\\"#1c6b4805\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#1c6b4810\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#5eaab5\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#4d9375\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#d4976c\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#d9739f\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#e6cc77\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#6394bf\\\",\\\"editorBracketMatch.background\\\":\\\"#4d937520\\\",\\\"editorError.foreground\\\":\\\"#cb7676\\\",\\\"editorGroup.border\\\":\\\"#191919\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#000\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#191919\\\",\\\"editorGutter.addedBackground\\\":\\\"#4d9375\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#dedcd550\\\",\\\"editorGutter.deletedBackground\\\":\\\"#cb7676\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#dedcd590\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#6394bf\\\",\\\"editorHint.foreground\\\":\\\"#4d9375\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#ffffff30\\\",\\\"editorIndentGuide.background\\\":\\\"#ffffff15\\\",\\\"editorInfo.foreground\\\":\\\"#6394bf\\\",\\\"editorInlayHint.background\\\":\\\"#121212\\\",\\\"editorInlayHint.foreground\\\":\\\"#444444\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#bfbaaa\\\",\\\"editorLineNumber.foreground\\\":\\\"#dedcd550\\\",\\\"editorOverviewRuler.border\\\":\\\"#111\\\",\\\"editorStickyScroll.background\\\":\\\"#121212\\\",\\\"editorStickyScrollHover.background\\\":\\\"#121212\\\",\\\"editorWarning.foreground\\\":\\\"#d4976c\\\",\\\"editorWhitespace.foreground\\\":\\\"#ffffff15\\\",\\\"editorWidget.background\\\":\\\"#000\\\",\\\"errorForeground\\\":\\\"#cb7676\\\",\\\"focusBorder\\\":\\\"#00000000\\\",\\\"foreground\\\":\\\"#dbd7cacc\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#4d9375\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#d4976c\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cb7676\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#dedcd550\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#6394bf\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#dedcd590\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#5eaab5\\\",\\\"input.background\\\":\\\"#121212\\\",\\\"input.border\\\":\\\"#191919\\\",\\\"input.foreground\\\":\\\"#dbd7cacc\\\",\\\"input.placeholderForeground\\\":\\\"#dedcd590\\\",\\\"inputOption.activeBackground\\\":\\\"#dedcd550\\\",\\\"list.activeSelectionBackground\\\":\\\"#121212\\\",\\\"list.activeSelectionForeground\\\":\\\"#dbd7cacc\\\",\\\"list.focusBackground\\\":\\\"#121212\\\",\\\"list.highlightForeground\\\":\\\"#4d9375\\\",\\\"list.hoverBackground\\\":\\\"#121212\\\",\\\"list.hoverForeground\\\":\\\"#dbd7cacc\\\",\\\"list.inactiveFocusBackground\\\":\\\"#000\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#121212\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#dbd7cacc\\\",\\\"menu.separatorBackground\\\":\\\"#191919\\\",\\\"notificationCenterHeader.background\\\":\\\"#000\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#959da5\\\",\\\"notifications.background\\\":\\\"#000\\\",\\\"notifications.border\\\":\\\"#191919\\\",\\\"notifications.foreground\\\":\\\"#dbd7cacc\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#cb7676\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#6394bf\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#d4976c\\\",\\\"panel.background\\\":\\\"#000\\\",\\\"panel.border\\\":\\\"#191919\\\",\\\"panelInput.border\\\":\\\"#2f363d\\\",\\\"panelTitle.activeBorder\\\":\\\"#4d9375\\\",\\\"panelTitle.activeForeground\\\":\\\"#dbd7cacc\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#959da5\\\",\\\"peekViewEditor.background\\\":\\\"#000\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"peekViewResult.background\\\":\\\"#000\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"pickerGroup.border\\\":\\\"#191919\\\",\\\"pickerGroup.foreground\\\":\\\"#dbd7cacc\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#cb7676\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#6394bf\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#d4976c\\\",\\\"progressBar.background\\\":\\\"#4d9375\\\",\\\"quickInput.background\\\":\\\"#000\\\",\\\"quickInput.foreground\\\":\\\"#dbd7cacc\\\",\\\"quickInputList.focusBackground\\\":\\\"#121212\\\",\\\"scrollbar.shadow\\\":\\\"#0000\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#dedcd550\\\",\\\"scrollbarSlider.background\\\":\\\"#dedcd510\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#dedcd550\\\",\\\"settings.headerForeground\\\":\\\"#dbd7cacc\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#4d9375\\\",\\\"sideBar.background\\\":\\\"#000\\\",\\\"sideBar.border\\\":\\\"#191919\\\",\\\"sideBar.foreground\\\":\\\"#bfbaaa\\\",\\\"sideBarSectionHeader.background\\\":\\\"#000\\\",\\\"sideBarSectionHeader.border\\\":\\\"#191919\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#dbd7cacc\\\",\\\"sideBarTitle.foreground\\\":\\\"#dbd7cacc\\\",\\\"statusBar.background\\\":\\\"#000\\\",\\\"statusBar.border\\\":\\\"#191919\\\",\\\"statusBar.debuggingBackground\\\":\\\"#121212\\\",\\\"statusBar.debuggingForeground\\\":\\\"#bfbaaa\\\",\\\"statusBar.foreground\\\":\\\"#bfbaaa\\\",\\\"statusBar.noFolderBackground\\\":\\\"#000\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#121212\\\",\\\"tab.activeBackground\\\":\\\"#000\\\",\\\"tab.activeBorder\\\":\\\"#191919\\\",\\\"tab.activeBorderTop\\\":\\\"#dedcd590\\\",\\\"tab.activeForeground\\\":\\\"#dbd7cacc\\\",\\\"tab.border\\\":\\\"#191919\\\",\\\"tab.hoverBackground\\\":\\\"#121212\\\",\\\"tab.inactiveBackground\\\":\\\"#000\\\",\\\"tab.inactiveForeground\\\":\\\"#959da5\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#191919\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#191919\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#000\\\",\\\"terminal.ansiBlack\\\":\\\"#393a34\\\",\\\"terminal.ansiBlue\\\":\\\"#6394bf\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#777777\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6394bf\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#5eaab5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#4d9375\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d9739f\\\",\\\"terminal.ansiBrightRed\\\":\\\"#cb7676\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e6cc77\\\",\\\"terminal.ansiCyan\\\":\\\"#5eaab5\\\",\\\"terminal.ansiGreen\\\":\\\"#4d9375\\\",\\\"terminal.ansiMagenta\\\":\\\"#d9739f\\\",\\\"terminal.ansiRed\\\":\\\"#cb7676\\\",\\\"terminal.ansiWhite\\\":\\\"#dbd7ca\\\",\\\"terminal.ansiYellow\\\":\\\"#e6cc77\\\",\\\"terminal.foreground\\\":\\\"#dbd7cacc\\\",\\\"terminal.selectionBackground\\\":\\\"#eeeeee18\\\",\\\"textBlockQuote.background\\\":\\\"#000\\\",\\\"textBlockQuote.border\\\":\\\"#191919\\\",\\\"textCodeBlock.background\\\":\\\"#000\\\",\\\"textLink.activeForeground\\\":\\\"#4d9375\\\",\\\"textLink.foreground\\\":\\\"#4d9375\\\",\\\"textPreformat.foreground\\\":\\\"#d1d5da\\\",\\\"textSeparator.foreground\\\":\\\"#586069\\\",\\\"titleBar.activeBackground\\\":\\\"#000\\\",\\\"titleBar.activeForeground\\\":\\\"#bfbaaa\\\",\\\"titleBar.border\\\":\\\"#121212\\\",\\\"titleBar.inactiveBackground\\\":\\\"#000\\\",\\\"titleBar.inactiveForeground\\\":\\\"#959da5\\\",\\\"tree.indentGuidesStroke\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#444d56\\\"},\\\"displayName\\\":\\\"Vitesse Black\\\",\\\"name\\\":\\\"vitesse-black\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class\\\":\\\"#6872ab\\\",\\\"interface\\\":\\\"#5d99a9\\\",\\\"namespace\\\":\\\"#db889a\\\",\\\"property\\\":\\\"#b8a965\\\",\\\"type\\\":\\\"#5d99a9\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#758575dd\\\"}},{\\\"scope\\\":[\\\"delimiter.bracket\\\",\\\"delimiter\\\",\\\"invalid.illegal.character-not-allowed-here.html\\\",\\\"keyword.operator.rest\\\",\\\"keyword.operator.spread\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.relational\\\",\\\"keyword.operator.assignment\\\",\\\"keyword.operator.type\\\",\\\"meta.brace\\\",\\\"meta.tag.block.any.html\\\",\\\"meta.tag.inline.any.html\\\",\\\"meta.tag.structure.input.void.html\\\",\\\"meta.type.annotation\\\",\\\"meta.embedded.block.github-actions-expression\\\",\\\"storage.type.function.arrow\\\",\\\"meta.objectliteral.ts\\\",\\\"punctuation\\\",\\\"punctuation.definition.string.begin.html.vue\\\",\\\"punctuation.definition.string.end.html.vue\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#444444\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.language\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c99076\\\"}},{\\\"scope\\\":[\\\"entity\\\",\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbd7cacc\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"tag.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage.type.class.jsdoc\\\",\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\",\\\"support.type.builtin\\\",\\\"constant.language.undefined\\\",\\\"constant.language.null\\\",\\\"constant.language.import-export-all.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":[\\\"text.html.derivative\\\",\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dbd7cacc\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\",\\\"attribute.value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d77\\\"}},{\\\"scope\\\":[\\\"punctuation.support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a96577\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a965\\\"}},{\\\"scope\\\":[\\\"property\\\",\\\"meta.property-name\\\",\\\"meta.object-literal.key\\\",\\\"entity.name.tag.yaml\\\",\\\"attribute.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a965\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"invalid.deprecated.entity.other.attribute-name.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bd976a\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"identifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bd976a\\\"}},{\\\"scope\\\":[\\\"support.type.primitive\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DA994\\\"}},{\\\"scope\\\":\\\"namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#db889a\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"keyword.operator.assignment.compound\\\",\\\"meta.var.expr.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#f97583\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c4704f\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e6cc77\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c99076\\\"}},{\\\"scope\\\":[\\\"keyword.operator.quantifier.regexp\\\",\\\"constant.numeric\\\",\\\"number\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4C9A91\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\",\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d4976c\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5d99a9\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#dbd7cacc\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#dbd7cacc\\\"}},{\\\"scope\\\":\\\"markup.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#86181d\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#144620\\\",\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#c24e00\\\",\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#79b8ff\\\",\\\"foreground\\\":\\\"#2f363d\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d1d5da\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\",\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.markdown\\\",\\\"markup.underline.link.image.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#dedcd590\\\"}},{\\\"scope\\\":[\\\"type.identifier\\\",\\\"constant.other.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6872ab\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.html.vue\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":[\\\"invalid.illegal.unrecognized-tag.html\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: vitesse-dark */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#4d9375\\\",\\\"activityBar.background\\\":\\\"#121212\\\",\\\"activityBar.border\\\":\\\"#191919\\\",\\\"activityBar.foreground\\\":\\\"#dbd7caee\\\",\\\"activityBar.inactiveForeground\\\":\\\"#dedcd550\\\",\\\"activityBarBadge.background\\\":\\\"#bfbaaa\\\",\\\"activityBarBadge.foreground\\\":\\\"#121212\\\",\\\"badge.background\\\":\\\"#dedcd590\\\",\\\"badge.foreground\\\":\\\"#121212\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#eeeeee18\\\",\\\"breadcrumb.background\\\":\\\"#181818\\\",\\\"breadcrumb.focusForeground\\\":\\\"#dbd7caee\\\",\\\"breadcrumb.foreground\\\":\\\"#959da5\\\",\\\"breadcrumbPicker.background\\\":\\\"#121212\\\",\\\"button.background\\\":\\\"#4d9375\\\",\\\"button.foreground\\\":\\\"#121212\\\",\\\"button.hoverBackground\\\":\\\"#4d9375\\\",\\\"checkbox.background\\\":\\\"#181818\\\",\\\"checkbox.border\\\":\\\"#2f363d\\\",\\\"debugToolBar.background\\\":\\\"#121212\\\",\\\"descriptionForeground\\\":\\\"#dedcd590\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#4d937550\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ab595950\\\",\\\"dropdown.background\\\":\\\"#121212\\\",\\\"dropdown.border\\\":\\\"#191919\\\",\\\"dropdown.foreground\\\":\\\"#dbd7caee\\\",\\\"dropdown.listBackground\\\":\\\"#181818\\\",\\\"editor.background\\\":\\\"#121212\\\",\\\"editor.findMatchBackground\\\":\\\"#e6cc7722\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#e6cc7744\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#b808\\\",\\\"editor.foldBackground\\\":\\\"#eeeeee10\\\",\\\"editor.foreground\\\":\\\"#dbd7caee\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#eeeeee10\\\",\\\"editor.lineHighlightBackground\\\":\\\"#181818\\\",\\\"editor.selectionBackground\\\":\\\"#eeeeee18\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#eeeeee10\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#a707\\\",\\\"editor.wordHighlightBackground\\\":\\\"#1c6b4805\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#1c6b4810\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#5eaab5\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#4d9375\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#d4976c\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#d9739f\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#e6cc77\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#6394bf\\\",\\\"editorBracketMatch.background\\\":\\\"#4d937520\\\",\\\"editorError.foreground\\\":\\\"#cb7676\\\",\\\"editorGroup.border\\\":\\\"#191919\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#121212\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#191919\\\",\\\"editorGutter.addedBackground\\\":\\\"#4d9375\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#dedcd550\\\",\\\"editorGutter.deletedBackground\\\":\\\"#cb7676\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#dedcd590\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#6394bf\\\",\\\"editorHint.foreground\\\":\\\"#4d9375\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#ffffff30\\\",\\\"editorIndentGuide.background\\\":\\\"#ffffff15\\\",\\\"editorInfo.foreground\\\":\\\"#6394bf\\\",\\\"editorInlayHint.background\\\":\\\"#181818\\\",\\\"editorInlayHint.foreground\\\":\\\"#666666\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#bfbaaa\\\",\\\"editorLineNumber.foreground\\\":\\\"#dedcd550\\\",\\\"editorOverviewRuler.border\\\":\\\"#111\\\",\\\"editorStickyScroll.background\\\":\\\"#181818\\\",\\\"editorStickyScrollHover.background\\\":\\\"#181818\\\",\\\"editorWarning.foreground\\\":\\\"#d4976c\\\",\\\"editorWhitespace.foreground\\\":\\\"#ffffff15\\\",\\\"editorWidget.background\\\":\\\"#121212\\\",\\\"errorForeground\\\":\\\"#cb7676\\\",\\\"focusBorder\\\":\\\"#00000000\\\",\\\"foreground\\\":\\\"#dbd7caee\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#4d9375\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#d4976c\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#cb7676\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#dedcd550\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#6394bf\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#dedcd590\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#5eaab5\\\",\\\"input.background\\\":\\\"#181818\\\",\\\"input.border\\\":\\\"#191919\\\",\\\"input.foreground\\\":\\\"#dbd7caee\\\",\\\"input.placeholderForeground\\\":\\\"#dedcd590\\\",\\\"inputOption.activeBackground\\\":\\\"#dedcd550\\\",\\\"list.activeSelectionBackground\\\":\\\"#181818\\\",\\\"list.activeSelectionForeground\\\":\\\"#dbd7caee\\\",\\\"list.focusBackground\\\":\\\"#181818\\\",\\\"list.highlightForeground\\\":\\\"#4d9375\\\",\\\"list.hoverBackground\\\":\\\"#181818\\\",\\\"list.hoverForeground\\\":\\\"#dbd7caee\\\",\\\"list.inactiveFocusBackground\\\":\\\"#121212\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#181818\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#dbd7caee\\\",\\\"menu.separatorBackground\\\":\\\"#191919\\\",\\\"notificationCenterHeader.background\\\":\\\"#121212\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#959da5\\\",\\\"notifications.background\\\":\\\"#121212\\\",\\\"notifications.border\\\":\\\"#191919\\\",\\\"notifications.foreground\\\":\\\"#dbd7caee\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#cb7676\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#6394bf\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#d4976c\\\",\\\"panel.background\\\":\\\"#121212\\\",\\\"panel.border\\\":\\\"#191919\\\",\\\"panelInput.border\\\":\\\"#2f363d\\\",\\\"panelTitle.activeBorder\\\":\\\"#4d9375\\\",\\\"panelTitle.activeForeground\\\":\\\"#dbd7caee\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#959da5\\\",\\\"peekViewEditor.background\\\":\\\"#121212\\\",\\\"peekViewEditor.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"peekViewResult.background\\\":\\\"#121212\\\",\\\"peekViewResult.matchHighlightBackground\\\":\\\"#ffd33d33\\\",\\\"pickerGroup.border\\\":\\\"#191919\\\",\\\"pickerGroup.foreground\\\":\\\"#dbd7caee\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#cb7676\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#6394bf\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#d4976c\\\",\\\"progressBar.background\\\":\\\"#4d9375\\\",\\\"quickInput.background\\\":\\\"#121212\\\",\\\"quickInput.foreground\\\":\\\"#dbd7caee\\\",\\\"quickInputList.focusBackground\\\":\\\"#181818\\\",\\\"scrollbar.shadow\\\":\\\"#0000\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#dedcd550\\\",\\\"scrollbarSlider.background\\\":\\\"#dedcd510\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#dedcd550\\\",\\\"settings.headerForeground\\\":\\\"#dbd7caee\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#4d9375\\\",\\\"sideBar.background\\\":\\\"#121212\\\",\\\"sideBar.border\\\":\\\"#191919\\\",\\\"sideBar.foreground\\\":\\\"#bfbaaa\\\",\\\"sideBarSectionHeader.background\\\":\\\"#121212\\\",\\\"sideBarSectionHeader.border\\\":\\\"#191919\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#dbd7caee\\\",\\\"sideBarTitle.foreground\\\":\\\"#dbd7caee\\\",\\\"statusBar.background\\\":\\\"#121212\\\",\\\"statusBar.border\\\":\\\"#191919\\\",\\\"statusBar.debuggingBackground\\\":\\\"#181818\\\",\\\"statusBar.debuggingForeground\\\":\\\"#bfbaaa\\\",\\\"statusBar.foreground\\\":\\\"#bfbaaa\\\",\\\"statusBar.noFolderBackground\\\":\\\"#121212\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#181818\\\",\\\"tab.activeBackground\\\":\\\"#121212\\\",\\\"tab.activeBorder\\\":\\\"#191919\\\",\\\"tab.activeBorderTop\\\":\\\"#dedcd590\\\",\\\"tab.activeForeground\\\":\\\"#dbd7caee\\\",\\\"tab.border\\\":\\\"#191919\\\",\\\"tab.hoverBackground\\\":\\\"#181818\\\",\\\"tab.inactiveBackground\\\":\\\"#121212\\\",\\\"tab.inactiveForeground\\\":\\\"#959da5\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#191919\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#191919\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#121212\\\",\\\"terminal.ansiBlack\\\":\\\"#393a34\\\",\\\"terminal.ansiBlue\\\":\\\"#6394bf\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#777777\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#6394bf\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#5eaab5\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#4d9375\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#d9739f\\\",\\\"terminal.ansiBrightRed\\\":\\\"#cb7676\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#ffffff\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#e6cc77\\\",\\\"terminal.ansiCyan\\\":\\\"#5eaab5\\\",\\\"terminal.ansiGreen\\\":\\\"#4d9375\\\",\\\"terminal.ansiMagenta\\\":\\\"#d9739f\\\",\\\"terminal.ansiRed\\\":\\\"#cb7676\\\",\\\"terminal.ansiWhite\\\":\\\"#dbd7ca\\\",\\\"terminal.ansiYellow\\\":\\\"#e6cc77\\\",\\\"terminal.foreground\\\":\\\"#dbd7caee\\\",\\\"terminal.selectionBackground\\\":\\\"#eeeeee18\\\",\\\"textBlockQuote.background\\\":\\\"#121212\\\",\\\"textBlockQuote.border\\\":\\\"#191919\\\",\\\"textCodeBlock.background\\\":\\\"#121212\\\",\\\"textLink.activeForeground\\\":\\\"#4d9375\\\",\\\"textLink.foreground\\\":\\\"#4d9375\\\",\\\"textPreformat.foreground\\\":\\\"#d1d5da\\\",\\\"textSeparator.foreground\\\":\\\"#586069\\\",\\\"titleBar.activeBackground\\\":\\\"#121212\\\",\\\"titleBar.activeForeground\\\":\\\"#bfbaaa\\\",\\\"titleBar.border\\\":\\\"#181818\\\",\\\"titleBar.inactiveBackground\\\":\\\"#121212\\\",\\\"titleBar.inactiveForeground\\\":\\\"#959da5\\\",\\\"tree.indentGuidesStroke\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonBackground\\\":\\\"#2f363d\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#444d56\\\"},\\\"displayName\\\":\\\"Vitesse Dark\\\",\\\"name\\\":\\\"vitesse-dark\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class\\\":\\\"#6872ab\\\",\\\"interface\\\":\\\"#5d99a9\\\",\\\"namespace\\\":\\\"#db889a\\\",\\\"property\\\":\\\"#b8a965\\\",\\\"type\\\":\\\"#5d99a9\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#758575dd\\\"}},{\\\"scope\\\":[\\\"delimiter.bracket\\\",\\\"delimiter\\\",\\\"invalid.illegal.character-not-allowed-here.html\\\",\\\"keyword.operator.rest\\\",\\\"keyword.operator.spread\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.relational\\\",\\\"keyword.operator.assignment\\\",\\\"keyword.operator.type\\\",\\\"meta.brace\\\",\\\"meta.tag.block.any.html\\\",\\\"meta.tag.inline.any.html\\\",\\\"meta.tag.structure.input.void.html\\\",\\\"meta.type.annotation\\\",\\\"meta.embedded.block.github-actions-expression\\\",\\\"storage.type.function.arrow\\\",\\\"meta.objectliteral.ts\\\",\\\"punctuation\\\",\\\"punctuation.definition.string.begin.html.vue\\\",\\\"punctuation.definition.string.end.html.vue\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#666666\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.language\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c99076\\\"}},{\\\"scope\\\":[\\\"entity\\\",\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#dbd7caee\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"tag.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage.type.class.jsdoc\\\",\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\",\\\"support.type.builtin\\\",\\\"constant.language.undefined\\\",\\\"constant.language.null\\\",\\\"constant.language.import-export-all.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":[\\\"text.html.derivative\\\",\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#dbd7caee\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\",\\\"attribute.value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d77\\\"}},{\\\"scope\\\":[\\\"punctuation.support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a96577\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a965\\\"}},{\\\"scope\\\":[\\\"property\\\",\\\"meta.property-name\\\",\\\"meta.object-literal.key\\\",\\\"entity.name.tag.yaml\\\",\\\"attribute.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b8a965\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"invalid.deprecated.entity.other.attribute-name.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bd976a\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"identifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#bd976a\\\"}},{\\\"scope\\\":[\\\"support.type.primitive\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5DA994\\\"}},{\\\"scope\\\":\\\"namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#db889a\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"keyword.operator.assignment.compound\\\",\\\"meta.var.expr.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#f97583\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#24292e\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c4704f\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#e6cc77\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c99076\\\"}},{\\\"scope\\\":[\\\"keyword.operator.quantifier.regexp\\\",\\\"constant.numeric\\\",\\\"number\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4C9A91\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#cb7676\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\",\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#d4976c\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#5d99a9\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#dbd7caee\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#dbd7caee\\\"}},{\\\"scope\\\":\\\"markup.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#4d9375\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#86181d\\\",\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#144620\\\",\\\"foreground\\\":\\\"#85e89d\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#c24e00\\\",\\\"foreground\\\":\\\"#ffab70\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#79b8ff\\\",\\\"foreground\\\":\\\"#2f363d\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#b392f0\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#79b8ff\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#d1d5da\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#fdaeb7\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\",\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#c98a7d\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.markdown\\\",\\\"markup.underline.link.image.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#dedcd590\\\"}},{\\\"scope\\\":[\\\"type.identifier\\\",\\\"constant.other.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#6872ab\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.html.vue\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#80a665\\\"}},{\\\"scope\\\":[\\\"invalid.illegal.unrecognized-tag.html\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\"}}],\\\"type\\\":\\\"dark\\\"}\"))\n","/* Theme: vitesse-light */\nexport default Object.freeze(JSON.parse(\"{\\\"colors\\\":{\\\"activityBar.activeBorder\\\":\\\"#1c6b48\\\",\\\"activityBar.background\\\":\\\"#ffffff\\\",\\\"activityBar.border\\\":\\\"#f0f0f0\\\",\\\"activityBar.foreground\\\":\\\"#393a34\\\",\\\"activityBar.inactiveForeground\\\":\\\"#393a3450\\\",\\\"activityBarBadge.background\\\":\\\"#4e4f47\\\",\\\"activityBarBadge.foreground\\\":\\\"#ffffff\\\",\\\"badge.background\\\":\\\"#393a3490\\\",\\\"badge.foreground\\\":\\\"#ffffff\\\",\\\"breadcrumb.activeSelectionForeground\\\":\\\"#22222218\\\",\\\"breadcrumb.background\\\":\\\"#f7f7f7\\\",\\\"breadcrumb.focusForeground\\\":\\\"#393a34\\\",\\\"breadcrumb.foreground\\\":\\\"#6a737d\\\",\\\"breadcrumbPicker.background\\\":\\\"#ffffff\\\",\\\"button.background\\\":\\\"#1c6b48\\\",\\\"button.foreground\\\":\\\"#ffffff\\\",\\\"button.hoverBackground\\\":\\\"#1c6b48\\\",\\\"checkbox.background\\\":\\\"#f7f7f7\\\",\\\"checkbox.border\\\":\\\"#d1d5da\\\",\\\"debugToolBar.background\\\":\\\"#ffffff\\\",\\\"descriptionForeground\\\":\\\"#393a3490\\\",\\\"diffEditor.insertedTextBackground\\\":\\\"#1c6b4830\\\",\\\"diffEditor.removedTextBackground\\\":\\\"#ab595940\\\",\\\"dropdown.background\\\":\\\"#ffffff\\\",\\\"dropdown.border\\\":\\\"#f0f0f0\\\",\\\"dropdown.foreground\\\":\\\"#393a34\\\",\\\"dropdown.listBackground\\\":\\\"#f7f7f7\\\",\\\"editor.background\\\":\\\"#ffffff\\\",\\\"editor.findMatchBackground\\\":\\\"#e6cc7744\\\",\\\"editor.findMatchHighlightBackground\\\":\\\"#e6cc7766\\\",\\\"editor.focusedStackFrameHighlightBackground\\\":\\\"#fff5b1\\\",\\\"editor.foldBackground\\\":\\\"#22222210\\\",\\\"editor.foreground\\\":\\\"#393a34\\\",\\\"editor.inactiveSelectionBackground\\\":\\\"#22222210\\\",\\\"editor.lineHighlightBackground\\\":\\\"#f7f7f7\\\",\\\"editor.selectionBackground\\\":\\\"#22222218\\\",\\\"editor.selectionHighlightBackground\\\":\\\"#22222210\\\",\\\"editor.stackFrameHighlightBackground\\\":\\\"#fffbdd\\\",\\\"editor.wordHighlightBackground\\\":\\\"#1c6b4805\\\",\\\"editor.wordHighlightStrongBackground\\\":\\\"#1c6b4810\\\",\\\"editorBracketHighlight.foreground1\\\":\\\"#2993a3\\\",\\\"editorBracketHighlight.foreground2\\\":\\\"#1e754f\\\",\\\"editorBracketHighlight.foreground3\\\":\\\"#a65e2b\\\",\\\"editorBracketHighlight.foreground4\\\":\\\"#a13865\\\",\\\"editorBracketHighlight.foreground5\\\":\\\"#bda437\\\",\\\"editorBracketHighlight.foreground6\\\":\\\"#296aa3\\\",\\\"editorBracketMatch.background\\\":\\\"#1c6b4820\\\",\\\"editorError.foreground\\\":\\\"#ab5959\\\",\\\"editorGroup.border\\\":\\\"#f0f0f0\\\",\\\"editorGroupHeader.tabsBackground\\\":\\\"#ffffff\\\",\\\"editorGroupHeader.tabsBorder\\\":\\\"#f0f0f0\\\",\\\"editorGutter.addedBackground\\\":\\\"#1e754f\\\",\\\"editorGutter.commentRangeForeground\\\":\\\"#393a3450\\\",\\\"editorGutter.deletedBackground\\\":\\\"#ab5959\\\",\\\"editorGutter.foldingControlForeground\\\":\\\"#393a3490\\\",\\\"editorGutter.modifiedBackground\\\":\\\"#296aa3\\\",\\\"editorHint.foreground\\\":\\\"#1e754f\\\",\\\"editorIndentGuide.activeBackground\\\":\\\"#00000030\\\",\\\"editorIndentGuide.background\\\":\\\"#00000015\\\",\\\"editorInfo.foreground\\\":\\\"#296aa3\\\",\\\"editorInlayHint.background\\\":\\\"#f7f7f7\\\",\\\"editorInlayHint.foreground\\\":\\\"#999999\\\",\\\"editorLineNumber.activeForeground\\\":\\\"#4e4f47\\\",\\\"editorLineNumber.foreground\\\":\\\"#393a3450\\\",\\\"editorOverviewRuler.border\\\":\\\"#fff\\\",\\\"editorStickyScroll.background\\\":\\\"#f7f7f7\\\",\\\"editorStickyScrollHover.background\\\":\\\"#f7f7f7\\\",\\\"editorWarning.foreground\\\":\\\"#a65e2b\\\",\\\"editorWhitespace.foreground\\\":\\\"#00000015\\\",\\\"editorWidget.background\\\":\\\"#ffffff\\\",\\\"errorForeground\\\":\\\"#ab5959\\\",\\\"focusBorder\\\":\\\"#00000000\\\",\\\"foreground\\\":\\\"#393a34\\\",\\\"gitDecoration.addedResourceForeground\\\":\\\"#1e754f\\\",\\\"gitDecoration.conflictingResourceForeground\\\":\\\"#a65e2b\\\",\\\"gitDecoration.deletedResourceForeground\\\":\\\"#ab5959\\\",\\\"gitDecoration.ignoredResourceForeground\\\":\\\"#393a3450\\\",\\\"gitDecoration.modifiedResourceForeground\\\":\\\"#296aa3\\\",\\\"gitDecoration.submoduleResourceForeground\\\":\\\"#393a3490\\\",\\\"gitDecoration.untrackedResourceForeground\\\":\\\"#2993a3\\\",\\\"input.background\\\":\\\"#f7f7f7\\\",\\\"input.border\\\":\\\"#f0f0f0\\\",\\\"input.foreground\\\":\\\"#393a34\\\",\\\"input.placeholderForeground\\\":\\\"#393a3490\\\",\\\"inputOption.activeBackground\\\":\\\"#393a3450\\\",\\\"list.activeSelectionBackground\\\":\\\"#f7f7f7\\\",\\\"list.activeSelectionForeground\\\":\\\"#393a34\\\",\\\"list.focusBackground\\\":\\\"#f7f7f7\\\",\\\"list.highlightForeground\\\":\\\"#1c6b48\\\",\\\"list.hoverBackground\\\":\\\"#f7f7f7\\\",\\\"list.hoverForeground\\\":\\\"#393a34\\\",\\\"list.inactiveFocusBackground\\\":\\\"#ffffff\\\",\\\"list.inactiveSelectionBackground\\\":\\\"#f7f7f7\\\",\\\"list.inactiveSelectionForeground\\\":\\\"#393a34\\\",\\\"menu.separatorBackground\\\":\\\"#f0f0f0\\\",\\\"notificationCenterHeader.background\\\":\\\"#ffffff\\\",\\\"notificationCenterHeader.foreground\\\":\\\"#6a737d\\\",\\\"notifications.background\\\":\\\"#ffffff\\\",\\\"notifications.border\\\":\\\"#f0f0f0\\\",\\\"notifications.foreground\\\":\\\"#393a34\\\",\\\"notificationsErrorIcon.foreground\\\":\\\"#ab5959\\\",\\\"notificationsInfoIcon.foreground\\\":\\\"#296aa3\\\",\\\"notificationsWarningIcon.foreground\\\":\\\"#a65e2b\\\",\\\"panel.background\\\":\\\"#ffffff\\\",\\\"panel.border\\\":\\\"#f0f0f0\\\",\\\"panelInput.border\\\":\\\"#e1e4e8\\\",\\\"panelTitle.activeBorder\\\":\\\"#1c6b48\\\",\\\"panelTitle.activeForeground\\\":\\\"#393a34\\\",\\\"panelTitle.inactiveForeground\\\":\\\"#6a737d\\\",\\\"peekViewEditor.background\\\":\\\"#ffffff\\\",\\\"peekViewResult.background\\\":\\\"#ffffff\\\",\\\"pickerGroup.border\\\":\\\"#f0f0f0\\\",\\\"pickerGroup.foreground\\\":\\\"#393a34\\\",\\\"problemsErrorIcon.foreground\\\":\\\"#ab5959\\\",\\\"problemsInfoIcon.foreground\\\":\\\"#296aa3\\\",\\\"problemsWarningIcon.foreground\\\":\\\"#a65e2b\\\",\\\"progressBar.background\\\":\\\"#1c6b48\\\",\\\"quickInput.background\\\":\\\"#ffffff\\\",\\\"quickInput.foreground\\\":\\\"#393a34\\\",\\\"quickInputList.focusBackground\\\":\\\"#f7f7f7\\\",\\\"scrollbar.shadow\\\":\\\"#6a737d33\\\",\\\"scrollbarSlider.activeBackground\\\":\\\"#393a3450\\\",\\\"scrollbarSlider.background\\\":\\\"#393a3410\\\",\\\"scrollbarSlider.hoverBackground\\\":\\\"#393a3450\\\",\\\"settings.headerForeground\\\":\\\"#393a34\\\",\\\"settings.modifiedItemIndicator\\\":\\\"#1c6b48\\\",\\\"sideBar.background\\\":\\\"#ffffff\\\",\\\"sideBar.border\\\":\\\"#f0f0f0\\\",\\\"sideBar.foreground\\\":\\\"#4e4f47\\\",\\\"sideBarSectionHeader.background\\\":\\\"#ffffff\\\",\\\"sideBarSectionHeader.border\\\":\\\"#f0f0f0\\\",\\\"sideBarSectionHeader.foreground\\\":\\\"#393a34\\\",\\\"sideBarTitle.foreground\\\":\\\"#393a34\\\",\\\"statusBar.background\\\":\\\"#ffffff\\\",\\\"statusBar.border\\\":\\\"#f0f0f0\\\",\\\"statusBar.debuggingBackground\\\":\\\"#f7f7f7\\\",\\\"statusBar.debuggingForeground\\\":\\\"#4e4f47\\\",\\\"statusBar.foreground\\\":\\\"#4e4f47\\\",\\\"statusBar.noFolderBackground\\\":\\\"#ffffff\\\",\\\"statusBarItem.prominentBackground\\\":\\\"#f7f7f7\\\",\\\"tab.activeBackground\\\":\\\"#ffffff\\\",\\\"tab.activeBorder\\\":\\\"#f0f0f0\\\",\\\"tab.activeBorderTop\\\":\\\"#393a3490\\\",\\\"tab.activeForeground\\\":\\\"#393a34\\\",\\\"tab.border\\\":\\\"#f0f0f0\\\",\\\"tab.hoverBackground\\\":\\\"#f7f7f7\\\",\\\"tab.inactiveBackground\\\":\\\"#ffffff\\\",\\\"tab.inactiveForeground\\\":\\\"#6a737d\\\",\\\"tab.unfocusedActiveBorder\\\":\\\"#f0f0f0\\\",\\\"tab.unfocusedActiveBorderTop\\\":\\\"#f0f0f0\\\",\\\"tab.unfocusedHoverBackground\\\":\\\"#ffffff\\\",\\\"terminal.ansiBlack\\\":\\\"#121212\\\",\\\"terminal.ansiBlue\\\":\\\"#296aa3\\\",\\\"terminal.ansiBrightBlack\\\":\\\"#aaaaaa\\\",\\\"terminal.ansiBrightBlue\\\":\\\"#296aa3\\\",\\\"terminal.ansiBrightCyan\\\":\\\"#2993a3\\\",\\\"terminal.ansiBrightGreen\\\":\\\"#1e754f\\\",\\\"terminal.ansiBrightMagenta\\\":\\\"#a13865\\\",\\\"terminal.ansiBrightRed\\\":\\\"#ab5959\\\",\\\"terminal.ansiBrightWhite\\\":\\\"#dddddd\\\",\\\"terminal.ansiBrightYellow\\\":\\\"#bda437\\\",\\\"terminal.ansiCyan\\\":\\\"#2993a3\\\",\\\"terminal.ansiGreen\\\":\\\"#1e754f\\\",\\\"terminal.ansiMagenta\\\":\\\"#a13865\\\",\\\"terminal.ansiRed\\\":\\\"#ab5959\\\",\\\"terminal.ansiWhite\\\":\\\"#dbd7ca\\\",\\\"terminal.ansiYellow\\\":\\\"#bda437\\\",\\\"terminal.foreground\\\":\\\"#393a34\\\",\\\"terminal.selectionBackground\\\":\\\"#22222218\\\",\\\"textBlockQuote.background\\\":\\\"#ffffff\\\",\\\"textBlockQuote.border\\\":\\\"#f0f0f0\\\",\\\"textCodeBlock.background\\\":\\\"#ffffff\\\",\\\"textLink.activeForeground\\\":\\\"#1c6b48\\\",\\\"textLink.foreground\\\":\\\"#1c6b48\\\",\\\"textPreformat.foreground\\\":\\\"#586069\\\",\\\"textSeparator.foreground\\\":\\\"#d1d5da\\\",\\\"titleBar.activeBackground\\\":\\\"#ffffff\\\",\\\"titleBar.activeForeground\\\":\\\"#4e4f47\\\",\\\"titleBar.border\\\":\\\"#f7f7f7\\\",\\\"titleBar.inactiveBackground\\\":\\\"#ffffff\\\",\\\"titleBar.inactiveForeground\\\":\\\"#6a737d\\\",\\\"tree.indentGuidesStroke\\\":\\\"#e1e4e8\\\",\\\"welcomePage.buttonBackground\\\":\\\"#f6f8fa\\\",\\\"welcomePage.buttonHoverBackground\\\":\\\"#e1e4e8\\\"},\\\"displayName\\\":\\\"Vitesse Light\\\",\\\"name\\\":\\\"vitesse-light\\\",\\\"semanticHighlighting\\\":true,\\\"semanticTokenColors\\\":{\\\"class\\\":\\\"#5a6aa6\\\",\\\"interface\\\":\\\"#2e808f\\\",\\\"namespace\\\":\\\"#b05a78\\\",\\\"property\\\":\\\"#998418\\\",\\\"type\\\":\\\"#2e808f\\\"},\\\"tokenColors\\\":[{\\\"scope\\\":[\\\"comment\\\",\\\"punctuation.definition.comment\\\",\\\"string.comment\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a0ada0\\\"}},{\\\"scope\\\":[\\\"delimiter.bracket\\\",\\\"delimiter\\\",\\\"invalid.illegal.character-not-allowed-here.html\\\",\\\"keyword.operator.rest\\\",\\\"keyword.operator.spread\\\",\\\"keyword.operator.type.annotation\\\",\\\"keyword.operator.relational\\\",\\\"keyword.operator.assignment\\\",\\\"keyword.operator.type\\\",\\\"meta.brace\\\",\\\"meta.tag.block.any.html\\\",\\\"meta.tag.inline.any.html\\\",\\\"meta.tag.structure.input.void.html\\\",\\\"meta.type.annotation\\\",\\\"meta.embedded.block.github-actions-expression\\\",\\\"storage.type.function.arrow\\\",\\\"meta.objectliteral.ts\\\",\\\"punctuation\\\",\\\"punctuation.definition.string.begin.html.vue\\\",\\\"punctuation.definition.string.end.html.vue\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#999999\\\"}},{\\\"scope\\\":[\\\"constant\\\",\\\"entity.name.constant\\\",\\\"variable.language\\\",\\\"meta.definition.variable\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a65e2b\\\"}},{\\\"scope\\\":[\\\"entity\\\",\\\"entity.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59873a\\\"}},{\\\"scope\\\":\\\"variable.parameter.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#393a34\\\"}},{\\\"scope\\\":[\\\"entity.name.tag\\\",\\\"tag.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e754f\\\"}},{\\\"scope\\\":\\\"entity.name.function\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#59873a\\\"}},{\\\"scope\\\":[\\\"keyword\\\",\\\"storage.type.class.jsdoc\\\",\\\"punctuation.definition.template-expression\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e754f\\\"}},{\\\"scope\\\":[\\\"storage\\\",\\\"storage.type\\\",\\\"support.type.builtin\\\",\\\"constant.language.undefined\\\",\\\"constant.language.null\\\",\\\"constant.language.import-export-all.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ab5959\\\"}},{\\\"scope\\\":[\\\"text.html.derivative\\\",\\\"storage.modifier.package\\\",\\\"storage.modifier.import\\\",\\\"storage.type.java\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#393a34\\\"}},{\\\"scope\\\":[\\\"string\\\",\\\"string punctuation.section.embedded source\\\",\\\"attribute.value\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b56959\\\"}},{\\\"scope\\\":[\\\"punctuation.definition.string\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b5695977\\\"}},{\\\"scope\\\":[\\\"punctuation.support.type.property-name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#99841877\\\"}},{\\\"scope\\\":\\\"support\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#998418\\\"}},{\\\"scope\\\":[\\\"property\\\",\\\"meta.property-name\\\",\\\"meta.object-literal.key\\\",\\\"entity.name.tag.yaml\\\",\\\"attribute.name\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#998418\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name\\\",\\\"invalid.deprecated.entity.other.attribute-name.html\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b07d48\\\"}},{\\\"scope\\\":[\\\"variable\\\",\\\"identifier\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b07d48\\\"}},{\\\"scope\\\":[\\\"support.type.primitive\\\",\\\"entity.name.type\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2e8f82\\\"}},{\\\"scope\\\":\\\"namespace\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b05a78\\\"}},{\\\"scope\\\":[\\\"keyword.operator\\\",\\\"keyword.operator.assignment.compound\\\",\\\"meta.var.expr.ts\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ab5959\\\"}},{\\\"scope\\\":\\\"invalid.broken\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.deprecated\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.illegal\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"invalid.unimplemented\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"carriage-return\\\",\\\"settings\\\":{\\\"background\\\":\\\"#d73a49\\\",\\\"content\\\":\\\"^M\\\",\\\"fontStyle\\\":\\\"italic underline\\\",\\\"foreground\\\":\\\"#fafbfc\\\"}},{\\\"scope\\\":\\\"message.error\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":\\\"string variable\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b56959\\\"}},{\\\"scope\\\":[\\\"source.regexp\\\",\\\"string.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ab5e3f\\\"}},{\\\"scope\\\":[\\\"string.regexp.character-class\\\",\\\"string.regexp constant.character.escape\\\",\\\"string.regexp source.ruby.embedded\\\",\\\"string.regexp string.regexp.arbitrary-repitition\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b56959\\\"}},{\\\"scope\\\":\\\"string.regexp constant.character.escape\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#bda437\\\"}},{\\\"scope\\\":[\\\"support.constant\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#a65e2b\\\"}},{\\\"scope\\\":[\\\"keyword.operator.quantifier.regexp\\\",\\\"constant.numeric\\\",\\\"number\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#2f798a\\\"}},{\\\"scope\\\":[\\\"keyword.other.unit\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#ab5959\\\"}},{\\\"scope\\\":[\\\"constant.language.boolean\\\",\\\"constant.language\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#1e754f\\\"}},{\\\"scope\\\":\\\"meta.module-reference\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1c6b48\\\"}},{\\\"scope\\\":\\\"punctuation.definition.list.begin.markdown\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#a65e2b\\\"}},{\\\"scope\\\":[\\\"markup.heading\\\",\\\"markup.heading entity.name\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#1c6b48\\\"}},{\\\"scope\\\":\\\"markup.quote\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#2e808f\\\"}},{\\\"scope\\\":\\\"markup.italic\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"italic\\\",\\\"foreground\\\":\\\"#393a34\\\"}},{\\\"scope\\\":\\\"markup.bold\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#393a34\\\"}},{\\\"scope\\\":\\\"markup.raw\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#1c6b48\\\"}},{\\\"scope\\\":[\\\"markup.deleted\\\",\\\"meta.diff.header.from-file\\\",\\\"punctuation.definition.deleted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffeef0\\\",\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":[\\\"markup.inserted\\\",\\\"meta.diff.header.to-file\\\",\\\"punctuation.definition.inserted\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#f0fff4\\\",\\\"foreground\\\":\\\"#22863a\\\"}},{\\\"scope\\\":[\\\"markup.changed\\\",\\\"punctuation.definition.changed\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#ffebda\\\",\\\"foreground\\\":\\\"#e36209\\\"}},{\\\"scope\\\":[\\\"markup.ignored\\\",\\\"markup.untracked\\\"],\\\"settings\\\":{\\\"background\\\":\\\"#005cc5\\\",\\\"foreground\\\":\\\"#f6f8fa\\\"}},{\\\"scope\\\":\\\"meta.diff.range\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#6f42c1\\\"}},{\\\"scope\\\":\\\"meta.diff.header\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.separator\\\",\\\"settings\\\":{\\\"fontStyle\\\":\\\"bold\\\",\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":\\\"meta.output\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#005cc5\\\"}},{\\\"scope\\\":[\\\"brackethighlighter.tag\\\",\\\"brackethighlighter.curly\\\",\\\"brackethighlighter.round\\\",\\\"brackethighlighter.square\\\",\\\"brackethighlighter.angle\\\",\\\"brackethighlighter.quote\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#586069\\\"}},{\\\"scope\\\":\\\"brackethighlighter.unmatched\\\",\\\"settings\\\":{\\\"foreground\\\":\\\"#b31d28\\\"}},{\\\"scope\\\":[\\\"constant.other.reference.link\\\",\\\"string.other.link\\\",\\\"punctuation.definition.string.begin.markdown\\\",\\\"punctuation.definition.string.end.markdown\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#b56959\\\"}},{\\\"scope\\\":[\\\"markup.underline.link.markdown\\\",\\\"markup.underline.link.image.markdown\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"underline\\\",\\\"foreground\\\":\\\"#393a3490\\\"}},{\\\"scope\\\":[\\\"type.identifier\\\",\\\"constant.other.character-class.regexp\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#5a6aa6\\\"}},{\\\"scope\\\":[\\\"entity.other.attribute-name.html.vue\\\"],\\\"settings\\\":{\\\"foreground\\\":\\\"#59873a\\\"}},{\\\"scope\\\":[\\\"invalid.illegal.unrecognized-tag.html\\\"],\\\"settings\\\":{\\\"fontStyle\\\":\\\"normal\\\"}}],\\\"type\\\":\\\"light\\\"}\"))\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JavaScript\\\",\\\"name\\\":\\\"javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[!(+,:=>?\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.objectliteral.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"name\\\":\\\"meta.array.literal.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async)\\\\\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.js\\\"},{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async))?((?<![]!)}])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.js\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.js\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.js\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.js\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;}\\\\\\\\s]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(extends|implements)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"name\\\":\\\"comment.block.documentation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.js\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.js\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.js\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.block.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.readwrite.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.js\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js\\\"}},\\\"name\\\":\\\"meta.tag.js\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.js\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.js\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.js\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.enum.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.js\\\"}},\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+])))\\\",\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:\\\\\\\\s*(=)|\\\\\\\\s+(default)(?=\\\\\\\\s+))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.default.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[*{])|((?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\\\\\s]))(?!\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[,:]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.js\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.js\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[]),:;}]))\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js\\\"}},\\\"end\\\":\\\"(?=^|[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.js\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.js\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.js\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.js\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.js\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.js\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.js\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.js\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?=[,;}]|$|^((?!\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=]|$))))|(?<=})\\\",\\\"name\\\":\\\"meta.field.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.js entity.name.function.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.js variable.object.property.js\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*))await)?\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.js\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.js punctuation.accessor.optional.js\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.js keyword.operator.definiteassignment.js\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.js\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|(?<=})\\\",\\\"name\\\":\\\"meta.function.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=;)|(?<=})\\\",\\\"name\\\":\\\"meta.function.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.js entity.name.function.js\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.js\\\"}},\\\"name\\\":\\\"meta.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.js\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.js\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"}},\\\"end\\\":\\\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.js\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"meta.import-equals.external.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.js\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.js\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.js\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.block.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.js\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:\\\\\\\\b(default)|(\\\\\\\\*)|\\\\\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.js\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.js\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.js\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"end\\\":\\\"(])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([-+])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.js\\\"}},\\\"end\\\":\\\"(])([-+])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^]]+(])(?=\\\\\\\\{@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^*|}\\\\\\\\s]|\\\\\\\\*/)+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^*@{|}\\\\\\\\s]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.js\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.interface.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.js\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes-in-expression\\\"},{\\\"include\\\":\\\"#jsx-tag-in-expression\\\"}]},\\\"jsx-children\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"},{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.js\\\"}]},\\\"jsx-evaluated-code\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.js\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"jsx-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"}},\\\"name\\\":\\\"string.quoted.double.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"}},\\\"name\\\":\\\"string.quoted.single.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-tag\\\":{\\\"begin\\\":\\\"(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"end\\\":\\\"(/>)|(</)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"name\\\":\\\"meta.tag.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"}},\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]}]},\\\"jsx-tag-attribute-assignment\\\":{\\\"match\\\":\\\"=(?=\\\\\\\\s*(?:[\\\\\\\"'{]|/\\\\\\\\*|//|\\\\\\\\n))\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"jsx-tag-attribute-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.js\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(:))?([$_[:alpha:]][-$_[:alnum:]]*)(?=[=\\\\\\\\s]|/?>|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.js\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[(*,:=>?\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js\\\",\\\"end\\\":\\\"(</)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[(*,:=>?\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.js entity.name.function.js\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[\\\\\\\"$'_`[:alpha:]])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js\\\"}},\\\"end\\\":\\\"(?<=})|(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.namespace.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.js\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"name\\\":\\\"new.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.js\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.js\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.js\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.objectliteral.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(,<}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js meta.object-literal.key.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[]\\\\\\\"'`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js\\\"}},\\\"match\\\":\\\"(?![$_[:alpha:]])(\\\\\\\\d+)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.js\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js\\\"}},\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js punctuation.separator.key-value.js\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?=[),])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.js meta.return.type.arrow.js keyword.operator.type.annotation.js\\\"}},\\\"contentName\\\":\\\"meta.arrow.js meta.return.type.arrow.js\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.js\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.js\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.js\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js\\\"}},\\\"name\\\":\\\"string.quoted.double.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js\\\"}},\\\"name\\\":\\\"string.quoted.single.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[!(+,:=?\\\\\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![]$)_[:alnum:]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\\\\\s*)/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js\\\"}},\\\"name\\\":\\\"string.regexp.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[1-9]\\\\\\\\d*|k<([$A-Z_a-z][$\\\\\\\\w]*)>)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|\\\\\\\\?<([$A-Z_a-z][$\\\\\\\\w]*)>)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?=$|^|[,;{}]|//)\\\",\\\"name\\\":\\\"meta.return.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[,;{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\&:|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.js\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.js\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.js\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[\\\\\\\"'`])\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.js\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"switch-statement.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"switch-expression.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"switch-block.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.js punctuation.definition.section.case-statement.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.js punctuation.definition.block.js\\\"}},\\\"contentName\\\":\\\"meta.block.js\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.js punctuation.definition.block.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.js punctuation.definition.section.case-statement.js\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.begin.js\\\"}},\\\"contentName\\\":\\\"string.template.js\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"name\\\":\\\"meta.template.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.begin.js\\\"}},\\\"contentName\\\":\\\"string.template.js\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js punctuation.definition.string.template.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js\\\"}},\\\"name\\\":\\\"meta.template.expression.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.js\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.js\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type.declaration.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.js\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?!\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js\\\"}},\\\"name\\\":\\\"meta.type.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.js\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.js storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.js keyword.control.new.js\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.js\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])(?=[]),:;=>?{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])((?=[]),:;=>?{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.js\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.begin.js\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.begin.js\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js punctuation.definition.typeparameters.end.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.js\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js\\\"}},\\\"name\\\":\\\"meta.object.type.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.js\\\"},{\\\"match\\\":\\\"([:?])\\\",\\\"name\\\":\\\"keyword.operator.ternary.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js\\\"}},\\\"name\\\":\\\"meta.type.parameters.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js variable.language.this.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.js\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.js\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.js\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js\\\"}},\\\"name\\\":\\\"meta.type.tuple.js\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.js\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.js\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.js\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=>?{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.js\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\\\\\s+|[^$._[:alnum:]]await\\\\\\\\s+)using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=//))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js entity.name.function.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js entity.name.function.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.constant.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js variable.other.readwrite.js\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js\\\"}},\\\"end\\\":\\\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![-\\\\\\\\&*+/|])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.js\\\",\\\"aliases\\\":[\\\"js\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"CSS\\\",\\\"name\\\":\\\"css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#combinators\\\"},{\\\"include\\\":\\\"#selector\\\"},{\\\"include\\\":\\\"#at-rules\\\"},{\\\"include\\\":\\\"#rule-list\\\"}],\\\"repository\\\":{\\\"at-rules\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\A\\\\\\\\uFEFF?(?i:(?=\\\\\\\\s*@charset\\\\\\\\b))\\\",\\\"end\\\":\\\";|(?=$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.charset.css\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.not-lowercase.charset.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.leading-whitespace.charset.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-whitespace.charset.css\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.whitespace.charset.css\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.not-double-quoted.charset.css\\\"},\\\"6\\\":{\\\"name\\\":\\\"invalid.illegal.unclosed-string.charset.css\\\"},\\\"7\\\":{\\\"name\\\":\\\"invalid.illegal.unexpected-characters.charset.css\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?!@charset)@\\\\\\\\w+)|\\\\\\\\G(\\\\\\\\s+)|(@charset\\\\\\\\S[^;]*)|(?<=@charset)( {2,}|\\\\\\\\t+)|(?<=@charset )([^\\\\\\\";]+)|(\\\\\\\"[^\\\\\\\"]+)$|(?<=\\\\\\\")([^;]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"match\\\":\\\"((@)charset)(?=\\\\\\\\s)\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\"|$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.double.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:\\\\\\\\G|^)(?=[^\\\\\\\"]+$)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"invalid.illegal.unclosed.string.css\\\"}]}]},{\\\"begin\\\":\\\"(?i)((@)import)(?:\\\\\\\\s+|$|(?=[\\\\\\\"']|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.import.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(?=/\\\\\\\\*)\\\",\\\"end\\\":\\\"(?<=\\\\\\\\*/)\\\\\\\\s*\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"}]},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#url\\\"},{\\\"include\\\":\\\"#media-query-list\\\"}]},{\\\"begin\\\":\\\"(?i)((@)font-face)(?=\\\\\\\\s*|\\\\\\\\{|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.font-face.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.at-rule.font-face.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]},{\\\"begin\\\":\\\"(?i)(@)page(?=[:{\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.page.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*($|[:;{]))\\\",\\\"name\\\":\\\"meta.at-rule.page.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list\\\"}]},{\\\"begin\\\":\\\"(?i)(?=@media([(\\\\\\\\s]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)media\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[;{])\\\",\\\"name\\\":\\\"meta.at-rule.media.header.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query-list\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.media.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.media.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.media.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?=@counter-style([\\\\\\\"';{\\\\\\\\s]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)counter-style\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.counter-style.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.counter-style.header.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*\\\",\\\"name\\\":\\\"variable.parameter.style-name.css\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.counter-style.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#rule-list-innards\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?=@document([\\\\\\\"';{\\\\\\\\s]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)document\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.document.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[;{])\\\",\\\"name\\\":\\\"meta.at-rule.document.header.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(url-prefix|domain|regexp)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.document-rule.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.document-rule.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"[^\\\\\\\"')\\\\\\\\s]+\\\",\\\"name\\\":\\\"variable.parameter.document-rule.css\\\"}]},{\\\"include\\\":\\\"#url\\\"},{\\\"include\\\":\\\"#commas\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.document.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.document.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.document.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?=@(?:-(?:webkit|moz|o|ms)-)?keyframes([\\\\\\\"';{\\\\\\\\s]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)(?:-(?:webkit|moz|o|ms)-)?keyframes\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframes.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.header.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*\\\",\\\"name\\\":\\\"variable.parameter.keyframe-list.css\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.keyframes.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.keyframe-offset.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.keyframe-offset.percentage.css\\\"}},\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(from|to)(?![-\\\\\\\\w])|([-+]?(?:\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)?|\\\\\\\\.\\\\\\\\d+)%)\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]}]},{\\\"begin\\\":\\\"(?i)(?=@supports([(\\\\\\\\s]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)|(?=;)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)supports\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.supports.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[;{])\\\",\\\"name\\\":\\\"meta.at-rule.supports.header.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#feature-query-operators\\\"},{\\\"include\\\":\\\"#feature-query\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.supports.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.supports.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.supports.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)((@)(-(ms|o)-)?viewport)(?=[\\\\\\\"';{\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.viewport.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[;@{])\\\",\\\"name\\\":\\\"meta.at-rule.viewport.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"(?i)((@)font-feature-values)(?=[\\\\\\\"';{\\\\\\\\s]|/\\\\\\\\*|$)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.font-feature-values.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"contentName\\\":\\\"variable.parameter.font-name.css\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[;@{])\\\",\\\"name\\\":\\\"meta.at-rule.font-features.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"include\\\":\\\"#font-features\\\"},{\\\"begin\\\":\\\"(?i)((@)namespace)(?=[\\\\\\\"';\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.namespace.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\";|(?=[@{])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.namespace.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#url\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.namespace-prefix.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?i)(?:\\\\\\\\G|^|(?<=\\\\\\\\s))(?=(?<=\\\\\\\\s|^)[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\s*/\\\\\\\\*(?:[^*]|\\\\\\\\*[^/])*\\\\\\\\*/)(.*?)([-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*)\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?i)(?=@[-\\\\\\\\w]+[^;]+;s*$)\\\",\\\"end\\\":\\\"(?<=;)(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)[-\\\\\\\\w]+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.header.css\\\"}]},{\\\"begin\\\":\\\"(?i)(?=@[-\\\\\\\\w]+([({\\\\\\\\s]|/\\\\\\\\*|$))\\\",\\\"end\\\":\\\"(?<=})(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\G(@)[-\\\\\\\\w]+\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[;{])\\\",\\\"name\\\":\\\"meta.at-rule.header.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.at-rule.body.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"color-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.color.w3c-standard-color-name.css\\\"},{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.color.w3c-extended-color-name.css\\\"},{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])currentColor(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.color.current.css\\\"},{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"invalid.deprecated.color.system.css\\\"}]},\\\"combinators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"/deep/|>>>\\\",\\\"name\\\":\\\"invalid.deprecated.combinator.css\\\"},{\\\"match\\\":\\\">>|[+>~]\\\",\\\"name\\\":\\\"keyword.operator.combinator.css\\\"}]},\\\"commas\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.list.comma.css\\\"},\\\"comment-block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.css\\\"}},\\\"name\\\":\\\"comment.block.css\\\"},\\\"escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\h{1,6}\\\",\\\"name\\\":\\\"constant.character.escape.codepoint.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\$\\\\\\\\s*\\\",\\\"end\\\":\\\"^(?<!\\\\\\\\G)\\\",\\\"name\\\":\\\"constant.character.escape.newline.css\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.css\\\"}]},\\\"feature-query\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.condition.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.condition.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.feature-query.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#feature-query-operators\\\"},{\\\"include\\\":\\\"#feature-query\\\"}]},\\\"feature-query-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=[()\\\\\\\\s]|^|\\\\\\\\*/)(and|not|or)(?=[()\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.feature.$1.css\\\"},{\\\"include\\\":\\\"#rule-list-innards\\\"}]},\\\"font-features\\\":{\\\"begin\\\":\\\"(?i)((@)(annotation|character-variant|ornaments|styleset|stylistic|swash))(?=[\\\\\\\"';@{\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.${3:/downcase}.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.css\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.at-rule.${3:/downcase}.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.property-list.font-feature.css\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*\\\",\\\"name\\\":\\\"variable.font-feature.css\\\"},{\\\"include\\\":\\\"#rule-list-innards\\\"}]}]},\\\"functional-pseudo-classes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)((:)dir)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(ltr|rtl)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.text-direction.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)((:)lang)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[(,\\\\\\\\s])[A-Za-z]+(-[0-9A-Za-z]*|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*(?=[),\\\\\\\\s])\\\",\\\"name\\\":\\\"support.constant.language-range.css\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.double.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\"\\\\\\\\s])[*A-Za-z]+(-[*0-9A-Za-z]*)*(?=[\\\\\\\"\\\\\\\\s])\\\",\\\"name\\\":\\\"support.constant.language-range.css\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.single.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"(?<=['\\\\\\\\s])[*A-Za-z]+(-[*0-9A-Za-z]*)*(?=['\\\\\\\\s])\\\",\\\"name\\\":\\\"support.constant.language-range.css\\\"}]},{\\\"include\\\":\\\"#commas\\\"}]},{\\\"begin\\\":\\\"(?i)((:)(?:not|has|matches|where|is))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#selector-innards\\\"}]},{\\\"begin\\\":\\\"(?i)((:)nth-(?:last-)?(?:child|of-type))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)[-+]?(\\\\\\\\d+n?|n)(\\\\\\\\s*[-+]\\\\\\\\s*\\\\\\\\d+)?\\\",\\\"name\\\":\\\"constant.numeric.css\\\"},{\\\"match\\\":\\\"(?i)even|odd\\\",\\\"name\\\":\\\"support.constant.parity.css\\\"}]}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(calc)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.calc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.calc.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[*/]|(?<=\\\\\\\\s|^)[-+](?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(rgba?|hsla?|hwb|lab|oklab|lch|oklch|color)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.color.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])((?:-(?:webkit-|moz-|o-))?(?:repeating-)?(?:linear|radial|conic)-gradient)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.gradient.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.gradient.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(from|to|at|in|hue)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"keyword.operator.gradient.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(-webkit-gradient)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.deprecated.gradient.function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.gradient.invalid.deprecated.gradient.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(from|to|color-stop)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.deprecated.function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(annotation|attr|blur|brightness|character-variant|clamp|contrast|counters?|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|color-mix|image-set|invert|local|max|min|minmax|opacity|ornaments|repeat|saturate|sepia|styleset|stylistic|swash|symbols|cos|sin|tan|acos|asin|atan2??|hypot|sqrt|pow|log|exp|abs|sign)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.misc.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=[\\\\\\\",\\\\\\\\s]|\\\\\\\\*/|^)\\\\\\\\d+x(?=[\\\\\\\"'),\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"constant.numeric.other.density.css\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"match\\\":\\\"[^\\\\\\\"'),\\\\\\\\s]+\\\",\\\"name\\\":\\\"variable.parameter.misc.css\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(circle|ellipse|inset|polygon|rect)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.shape.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.shape.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|\\\\\\\\*/)(at|round)(?=\\\\\\\\s|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.shape.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(cubic-bezier|steps)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing-function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.timing-function.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(start|end)(?=\\\\\\\\s*\\\\\\\\)|$)\\\",\\\"name\\\":\\\"support.constant.step-direction.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])((?:translate|scale|rotate)(?:[XYZ]|3D)?|matrix(?:3D)?|skew[XY]?|perspective)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.transform.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"include\\\":\\\"#url\\\"},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(var)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.variable.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*\\\",\\\"name\\\":\\\"variable.argument.css\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},\\\"media-feature-keywords\\\":{\\\"match\\\":\\\"(?i)(?<=^|[:\\\\\\\\s]|\\\\\\\\*/)(?:portrait|landscape|progressive|interlace|fullscreen|standalone|minimal-ui|browser|hover)(?=[)\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.constant.property-value.css\\\"},\\\"media-features\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.media.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.property-name.media.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.vendored.property-name.media.css\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(\\\\\\\\s]|\\\\\\\\*/)(?:((?:m(?:in-|ax-))?(?:height|width|aspect-ratio|color|color-index|monochrome|resolution)|grid|scan|orientation|display-mode|hover)|((?:m(?:in-|ax-))?device-(?:height|width|aspect-ratio))|((?:[-_](?:webkit|apple|khtml|epub|moz|ms|o|xv|ah|rim|atsc|hp|tc|wap|ro)|(?:mso|prince))-[-\\\\\\\\w]+(?=\\\\\\\\s*(?:/\\\\\\\\*(?:[^*]|\\\\\\\\*[^/])*\\\\\\\\*/)?\\\\\\\\s*[):])))(?=\\\\\\\\s|$|[):<=>]|/\\\\\\\\*)\\\"},\\\"media-query\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#media-types\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|,|\\\\\\\\*/)(only|not)(?=[{\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.$1.media.css\\\"},{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|\\\\\\\\*/|\\\\\\\\))and(?=\\\\\\\\s|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.and.media.css\\\"},{\\\"match\\\":\\\",(?:(?:\\\\\\\\s*,)+|(?=\\\\\\\\s*[);{]))\\\",\\\"name\\\":\\\"invalid.illegal.comma.css\\\"},{\\\"include\\\":\\\"#commas\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#media-features\\\"},{\\\"include\\\":\\\"#media-feature-keywords\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"},{\\\"match\\\":\\\">=|<=|[<=>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.css\\\"}},\\\"match\\\":\\\"(\\\\\\\\d+)\\\\\\\\s*(/)\\\\\\\\s*(\\\\\\\\d+)\\\",\\\"name\\\":\\\"meta.ratio.css\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#comment-block\\\"}]}]},\\\"media-query-list\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*[^;{])\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query\\\"}]},\\\"media-types\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.media.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.constant.media.css\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[,\\\\\\\\s]|\\\\\\\\*/)(?:(all|print|screen|speech)|(aural|braille|embossed|handheld|projection|tty|tv))(?=$|[,;{\\\\\\\\s]|/\\\\\\\\*)\\\"},\\\"numeric-values\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.css\\\"}},\\\"match\\\":\\\"(#)(?:\\\\\\\\h{3,4}|\\\\\\\\h{6}|\\\\\\\\h{8})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.color.rgb-value.hex.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.percentage.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.${2:/downcase}.css\\\"}},\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])[-+]?(?:[0-9]+(?:\\\\\\\\.[0-9]+)?|\\\\\\\\.[0-9]+)(?:(?<=[0-9])E[-+]?[0-9]+)?(?:(%)|(deg|grad|rad|turn|Hz|kHz|ch|cm|em|ex|fr|in|mm|mozmm|pc|pt|px|q|rem|rch|rex|rlh|ic|ric|rcap|vh|vw|vb|vi|svh|svw|svb|svi|dvh|dvw|dvb|dvi|lvh|lvw|lvb|lvi|vmax|vmin|cqw|cqi|cqh|cqb|cqmin|cqmax|dpi|dpcm|dppx|s|ms)\\\\\\\\b)?\\\",\\\"name\\\":\\\"constant.numeric.css\\\"}]},\\\"property-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(above|absolute|active|add|additive|after-edge|alias|all|all-petite-caps|all-scroll|all-small-caps|alpha|alphabetic|alternate|alternate-reverse|always|antialiased|auto|auto-fill|auto-fit|auto-pos|available|avoid|avoid-column|avoid-page|avoid-region|backwards|balance|baseline|before-edge|below|bevel|bidi-override|blink|block|block-axis|block-start|block-end|bold|bolder|border|border-box|both|bottom|bottom-outside|break-all|break-word|bullets|butt|capitalize|caption|cell|center|central|char|circle|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color|color-burn|color-dodge|column|column-reverse|common-ligatures|compact|condensed|contain|content|content-box|contents|context-menu|contextual|copy|cover|crisp-edges|crispEdges|crosshair|cyclic|dark|darken|dashed|decimal|default|dense|diagonal-fractions|difference|digits|disabled|disc|discretionary-ligatures|distribute|distribute-all-lines|distribute-letter|distribute-space|dot|dotted|double|double-circle|downleft|downright|e-resize|each-line|ease|ease-in|ease-in-out|ease-out|economy|ellipse|ellipsis|embed|end|evenodd|ew-resize|exact|exclude|exclusion|expanded|extends|extra-condensed|extra-expanded|fallback|farthest-corner|farthest-side|fill|fill-available|fill-box|filled|fit-content|fixed|flat|flex|flex-end|flex-start|flip|flow-root|forwards|freeze|from-image|full-width|geometricPrecision|georgian|grab|grabbing|grayscale|grid|groove|hand|hanging|hard-light|help|hidden|hide|historical-forms|historical-ligatures|horizontal|horizontal-tb|hue|icon|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|ideographic|inactive|infinite|inherit|initial|inline|inline-axis|inline-block|inline-end|inline-flex|inline-grid|inline-list-item|inline-start|inline-table|inset|inside|inter-character|inter-ideograph|inter-word|intersect|invert|isolate|isolate-override|italic|jis04|jis78|jis83|jis90|justify|justify-all|kannada|keep-all|landscape|larger??|left|light|lighten|lighter|line|line-edge|line-through|linear|linearRGB|lining-nums|list-item|local|loose|lowercase|lr|lr-tb|ltr|luminance|luminosity|main-size|mandatory|manipulation|manual|margin-box|match-parent|match-source|mathematical|max-content|medium|menu|message-box|middle|min-content|miter|mixed|move|multiply|n-resize|narrower|ne-resize|nearest-neighbor|nesw-resize|newspaper|no-change|no-clip|no-close-quote|no-common-ligatures|no-contextual|no-discretionary-ligatures|no-drop|no-historical-ligatures|no-open-quote|no-repeat|none|nonzero|normal|not-allowed|nowrap|ns-resize|numbers|numeric|nw-resize|nwse-resize|oblique|oldstyle-nums|open|open-quote|optimizeLegibility|optimizeQuality|optimizeSpeed|optional|ordinal|outset|outside|over|overlay|overline|padding|padding-box|page|painted|pan-down|pan-left|pan-right|pan-up|pan-x|pan-y|paused|petite-caps|pixelated|plaintext|pointer|portrait|pre|pre-line|pre-wrap|preserve-3d|progress|progressive|proportional-nums|proportional-width|proximity|radial|recto|region|relative|remove|repeat|repeat-[xy]|reset-size|reverse|revert|ridge|right|rl|rl-tb|round|row|row-resize|row-reverse|row-severse|rtl|ruby|ruby-base|ruby-base-container|ruby-text|ruby-text-container|run-in|running|s-resize|saturation|scale-down|screen|scroll|scroll-position|se-resize|semi-condensed|semi-expanded|separate|sesame|show|sideways|sideways-left|sideways-lr|sideways-right|sideways-rl|simplified|slashed-zero|slice|small|small-caps|small-caption|smaller|smooth|soft-light|solid|space|space-around|space-between|space-evenly|spell-out|square|sRGB|stacked-fractions|start|static|status-bar|swap|step-end|step-start|sticky|stretch|strict|stroke|stroke-box|style|sub|subgrid|subpixel-antialiased|subtract|super|sw-resize|symbolic|table|table-caption|table-cell|table-column|table-column-group|table-footer-group|table-header-group|table-row|table-row-group|tabular-nums|tb|tb-rl|text|text-after-edge|text-before-edge|text-bottom|text-top|thick|thin|titling-caps|top|top-outside|touch|traditional|transparent|triangle|ultra-condensed|ultra-expanded|under|underline|unicase|unset|upleft|uppercase|upright|use-glyph-orientation|use-script|verso|vertical|vertical-ideographic|vertical-lr|vertical-rl|vertical-text|view-box|visible|visibleFill|visiblePainted|visibleStroke|w-resize|wait|wavy|weight|whitespace|wider|words|wrap|wrap-reverse|x|x-large|x-small|xx-large|xx-small|y|zero|zoom-in|zoom-out)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.property-value.css\\\"},{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|cjk-ideographic|decimal|decimal-leading-zero|devanagari|disc|disclosure-closed|disclosure-open|ethiopic-halehame-am|ethiopic-halehame-ti-e[rt]|ethiopic-numeric|georgian|gujarati|gurmukhi|hangul|hangul-consonant|hebrew|hiragana|hiragana-iroha|japanese-formal|japanese-informal|kannada|katakana|katakana-iroha|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman|urdu)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.property-value.list-style-type.css\\\"},{\\\"match\\\":\\\"(?<![-\\\\\\\\w])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[-A-Za-z]+\\\",\\\"name\\\":\\\"support.constant.vendored.property-value.css\\\"},{\\\"match\\\":\\\"(?<![-\\\\\\\\w])(?i:arial|century|comic|courier|garamond|georgia|helvetica|impact|lucida|symbol|system-ui|system|tahoma|times|trebuchet|ui-monospace|ui-rounded|ui-sans-serif|ui-serif|utopia|verdana|webdings|sans-serif|serif|monospace)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.font-name.css\\\"}]},\\\"property-names\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(?:accent-color|additive-symbols|align-content|align-items|align-self|all|animation|animation-delay|animation-direction|animation-duration|animation-fill-mode|animation-iteration-count|animation-name|animation-play-state|animation-timing-function|aspect-ratio|backdrop-filter|backface-visibility|background|background-attachment|background-blend-mode|background-clip|background-color|background-image|background-origin|background-position|background-position-[xy]|background-repeat|background-size|bleed|block-size|border|border-block-end|border-block-end-color|border-block-end-style|border-block-end-width|border-block-start|border-block-start-color|border-block-start-style|border-block-start-width|border-bottom|border-bottom-color|border-bottom-left-radius|border-bottom-right-radius|border-bottom-style|border-bottom-width|border-collapse|border-color|border-end-end-radius|border-end-start-radius|border-image|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-inline-end|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-start|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-left|border-left-color|border-left-style|border-left-width|border-radius|border-right|border-right-color|border-right-style|border-right-width|border-spacing|border-start-end-radius|border-start-start-radius|border-style|border-top|border-top-color|border-top-left-radius|border-top-right-radius|border-top-style|border-top-width|border-width|bottom|box-decoration-break|box-shadow|box-sizing|break-after|break-before|break-inside|caption-side|caret-color|clear|clip|clip-path|clip-rule|color|color-adjust|color-interpolation-filters|color-scheme|column-count|column-fill|column-gap|column-rule|column-rule-color|column-rule-style|column-rule-width|column-span|column-width|columns|contain|container|container-name|container-type|content|counter-increment|counter-reset|cursor|direction|display|empty-cells|enable-background|fallback|fill|fill-opacity|fill-rule|filter|flex|flex-basis|flex-direction|flex-flow|flex-grow|flex-shrink|flex-wrap|float|flood-color|flood-opacity|font|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-optical-sizing|font-size|font-size-adjust|font-stretch|font-style|font-synthesis|font-variant|font-variant-alternates|font-variant-caps|font-variant-east-asian|font-variant-ligatures|font-variant-numeric|font-variant-position|font-variation-settings|font-weight|gap|glyph-orientation-horizontal|glyph-orientation-vertical|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-gap|grid-column-start|grid-gap|grid-row|grid-row-end|grid-row-gap|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|hanging-punctuation|height|hyphens|image-orientation|image-rendering|image-resolution|ime-mode|initial-letter|initial-letter-align|inline-size|inset|inset-block|inset-block-end|inset-block-start|inset-inline|inset-inline-end|inset-inline-start|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-break|line-clamp|line-height|list-style|list-style-image|list-style-position|list-style-type|margin|margin-block|margin-block-end|margin-block-start|margin-bottom|margin-inline|margin-inline-end|margin-inline-start|margin-left|margin-right|margin-top|marker-end|marker-mid|marker-start|marks|mask|mask-border|mask-border-mode|mask-border-outset|mask-border-repeat|mask-border-slice|mask-border-source|mask-border-width|mask-clip|mask-composite|mask-image|mask-mode|mask-origin|mask-position|mask-repeat|mask-size|mask-type|max-block-size|max-height|max-inline-size|max-lines|max-width|max-zoom|min-block-size|min-height|min-inline-size|min-width|min-zoom|mix-blend-mode|negative|object-fit|object-position|offset|offset-anchor|offset-distance|offset-path|offset-position|offset-rotation|opacity|order|orientation|orphans|outline|outline-color|outline-offset|outline-style|outline-width|overflow|overflow-anchor|overflow-block|overflow-inline|overflow-wrap|overflow-[xy]|overscroll-behavior|overscroll-behavior-block|overscroll-behavior-inline|overscroll-behavior-[xy]|pad|padding|padding-block|padding-block-end|padding-block-start|padding-bottom|padding-inline|padding-inline-end|padding-inline-start|padding-left|padding-right|padding-top|page-break-after|page-break-before|page-break-inside|paint-order|perspective|perspective-origin|place-content|place-items|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|row-gap|ruby-align|ruby-merge|ruby-position|scale|scroll-behavior|scroll-margin|scroll-margin-block|scroll-margin-block-end|scroll-margin-block-start|scroll-margin-bottom|scroll-margin-inline|scroll-margin-inline-end|scroll-margin-inline-start|scroll-margin-left|scroll-margin-right|scroll-margin-top|scroll-padding|scroll-padding-block|scroll-padding-block-end|scroll-padding-block-start|scroll-padding-bottom|scroll-padding-inline|scroll-padding-inline-end|scroll-padding-inline-start|scroll-padding-left|scroll-padding-right|scroll-padding-top|scroll-snap-align|scroll-snap-coordinate|scroll-snap-destination|scroll-snap-stop|scroll-snap-type|scrollbar-color|scrollbar-gutter|scrollbar-width|shape-image-threshold|shape-margin|shape-outside|shape-rendering|size|speak-as|src|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|suffix|symbols|system|tab-size|table-layout|text-align|text-align-last|text-anchor|text-combine-upright|text-decoration|text-decoration-color|text-decoration-line|text-decoration-skip|text-decoration-skip-ink|text-decoration-style|text-decoration-thickness|text-emphasis|text-emphasis-color|text-emphasis-position|text-emphasis-style|text-indent|text-justify|text-orientation|text-overflow|text-rendering|text-shadow|text-size-adjust|text-transform|text-underline-offset|text-underline-position|top|touch-action|transform|transform-box|transform-origin|transform-style|transition|transition-delay|transition-duration|transition-property|transition-timing-function|translate|unicode-bidi|unicode-range|user-select|user-zoom|vertical-align|visibility|white-space|widows|width|will-change|word-break|word-spacing|word-wrap|writing-mode|z-index|zoom|alignment-baseline|baseline-shift|clip-rule|color-interpolation|color-interpolation-filters|color-profile|color-rendering|cx|cy|dominant-baseline|enable-background|fill|fill-opacity|fill-rule|flood-color|flood-opacity|glyph-orientation-horizontal|glyph-orientation-vertical|height|kerning|lighting-color|marker-end|marker-mid|marker-start|rx??|ry|shape-rendering|stop-color|stop-opacity|stroke|stroke-dasharray|stroke-dashoffset|stroke-linecap|stroke-linejoin|stroke-miterlimit|stroke-opacity|stroke-width|text-anchor|width|[xy]|adjust|after|align|align-last|alignment|alignment-adjust|appearance|attachment|azimuth|background-break|balance|baseline|before|bidi|binding|bookmark|bookmark-label|bookmark-level|bookmark-target|border-length|bottom-color|bottom-left-radius|bottom-right-radius|bottom-style|bottom-width|box|box-align|box-direction|box-flex|box-flex-group|box-lines|box-ordinal-group|box-orient|box-pack|break|character|collapse|column|column-break-after|column-break-before|count|counter|crop|cue|cue-after|cue-before|decoration|decoration-break|delay|display-model|display-role|down|drop|drop-initial-after-adjust|drop-initial-after-align|drop-initial-before-adjust|drop-initial-before-align|drop-initial-size|drop-initial-value|duration|elevation|emphasis|family|fit|fit-position|flex-group|float-offset|gap|grid-columns|grid-rows|hanging-punctuation|header|hyphenate|hyphenate-after|hyphenate-before|hyphenate-character|hyphenate-lines|hyphenate-resource|icon|image|increment|indent|index|initial-after-adjust|initial-after-align|initial-before-adjust|initial-before-align|initial-size|initial-value|inline-box-align|iteration-count|justify|label|left-color|left-style|left-width|length|level|line|line-stacking|line-stacking-ruby|line-stacking-shift|line-stacking-strategy|lines|list|mark|mark-after|mark-before|marks|marquee|marquee-direction|marquee-play-count|marquee-speed|marquee-style|max|min|model|move-to|name|nav|nav-down|nav-index|nav-left|nav-right|nav-up|new|numeral|offset|ordinal-group|orient|origin|overflow-style|overhang|pack|page|page-policy|pause|pause-after|pause-before|phonemes|pitch|pitch-range|play-count|play-during|play-state|point|presentation|presentation-level|profile|property|punctuation|punctuation-trim|radius|rate|rendering-intent|repeat|replace|reset|resolution|resource|respond-to|rest|rest-after|rest-before|richness|right-color|right-style|right-width|role|rotation|rotation-point|rows|ruby|ruby-overhang|ruby-span|rule|rule-color|rule-style|rule-width|shadow|size|size-adjust|sizing|space|space-collapse|spacing|span|speak|speak-header|speak-numeral|speak-punctuation|speech|speech-rate|speed|stacking|stacking-ruby|stacking-shift|stacking-strategy|stress|stretch|string-set|style|style-image|style-position|style-type|target|target-name|target-new|target-position|text|text-height|text-justify|text-outline|text-replace|text-wrap|timing-function|top-color|top-left-radius|top-right-radius|top-style|top-width|trim|unicode|up|user-select|variant|voice|voice-balance|voice-duration|voice-family|voice-pitch|voice-pitch-range|voice-rate|voice-stress|voice-volume|volume|weight|white|white-space-collapse|word|wrap)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.type.property-name.css\\\"},{\\\"match\\\":\\\"(?<![-\\\\\\\\w])(?i:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[-A-Za-z]+\\\",\\\"name\\\":\\\"support.type.vendored.property-name.css\\\"}]},\\\"property-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commas\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#property-keywords\\\"},{\\\"include\\\":\\\"#unicode-range\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#color-keywords\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"!\\\\\\\\s*important(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"keyword.other.important.css\\\"}]},\\\"pseudo-classes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.colon.css\\\"}},\\\"match\\\":\\\"(?i)(:)(:*)(?:active|any-link|checked|default|disabled|empty|enabled|first|(?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover|in-range|indeterminate|invalid|left|link|optional|out-of-range|read-only|read-write|required|right|root|scope|target|unresolved|valid|visited)(?![-\\\\\\\\w]|\\\\\\\\s*[;}])\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"pseudo-elements\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(?i)(?:(::?)(?:after|before|first-letter|first-line|(?:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[-a-z]+)|(::)(?:backdrop|content|grammar-error|marker|placeholder|selection|shadow|spelling-error))(?![-\\\\\\\\w]|\\\\\\\\s*[;}])\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.css\\\"},\\\"rule-list\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.css\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.css\\\"}},\\\"name\\\":\\\"meta.property-list.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-innards\\\"}]},\\\"rule-list-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#font-features\\\"},{\\\"match\\\":\\\"(?<![-\\\\\\\\w])--[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*\\\",\\\"name\\\":\\\"variable.css\\\"},{\\\"begin\\\":\\\"(?<![-A-Za-z])(?=[-A-Za-z])\\\",\\\"end\\\":\\\"$|(?![-A-Za-z])\\\",\\\"name\\\":\\\"meta.property-name.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-names\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"}},\\\"contentName\\\":\\\"meta.property-value.css\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)|\\\\\\\\s*(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}]},\\\"selector\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\|?(?:[-#*.:A-\\\\\\\\[_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*[)/@{])\\\",\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selector-innards\\\"}]},\\\"selector-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#commas\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"include\\\":\\\"#combinators\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.namespace-prefix.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.css\\\"}},\\\"match\\\":\\\"(?:^|(?<=[(,;}\\\\\\\\s]))(?![-*\\\\\\\\w]+\\\\\\\\|(?![-#*.:A-\\\\\\\\[_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]))([-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*|\\\\\\\\*)?(\\\\\\\\|)\\\"},{\\\"include\\\":\\\"#tag-names\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.tag.wildcard.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?<![-@\\\\\\\\w])([#.])((?:-?[0-9]|-(?=$|[#)+,.:>\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*)|(?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*(?:[]!\\\\\\\"%-(*;<?@^`|}]|/(?!\\\\\\\\*))+)(?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*)\\\",\\\"name\\\":\\\"invalid.illegal.bad-identifier.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\.)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+)(?=$|[#)+,.:>\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(#)(-?(?![0-9])(?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+)(?=$|[#)+,.:>\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.entity.begin.bracket.square.css\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.entity.end.bracket.square.css\\\"}},\\\"name\\\":\\\"meta.attribute-selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ignore-case.css\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\"'\\\\\\\\s]|^|\\\\\\\\*/)\\\\\\\\s*([Ii])\\\\\\\\s*(?=[]\\\\\\\\s]|/\\\\\\\\*|$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.attribute-value.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(?<==)\\\\\\\\s*((?!/\\\\\\\\*)(?:[^]\\\\\\\"'\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)\\\"},{\\\"include\\\":\\\"#escapes\\\"},{\\\"match\\\":\\\"[$*^|~]?=\\\",\\\"name\\\":\\\"keyword.operator.pattern.css\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.namespace-prefix.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(-?(?!\\\\\\\\d)(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+|\\\\\\\\*)(?=\\\\\\\\|(?![=\\\\\\\\s]|$|])(?:-?(?!\\\\\\\\d)|[-\\\\\\\\\\\\\\\\\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"match\\\":\\\"(-?(?!\\\\\\\\d)(?>[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+)\\\\\\\\s*(?=[]$*=^|~]|/\\\\\\\\*)\\\"}]},{\\\"include\\\":\\\"#pseudo-classes\\\"},{\\\"include\\\":\\\"#pseudo-elements\\\"},{\\\"include\\\":\\\"#functional-pseudo-classes\\\"},{\\\"match\\\":\\\"(?<![-@\\\\\\\\w])(?=[a-z]\\\\\\\\w*-)(?:(?![A-Z])[-\\\\\\\\w])+(?![-(\\\\\\\\w])\\\",\\\"name\\\":\\\"entity.name.tag.custom.css\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\"|(?<!\\\\\\\\\\\\\\\\)(?=$|\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.double.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:\\\\\\\\G|^)(?=(?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+$)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"invalid.illegal.unclosed.string.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"'|(?<!\\\\\\\\\\\\\\\\)(?=$|\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.single.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:\\\\\\\\G|^)(?=(?:[^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+$)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"invalid.illegal.unclosed.string.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escapes\\\"}]},{\\\"include\\\":\\\"#escapes\\\"}]}]},\\\"tag-names\\\":{\\\"match\\\":\\\"(?i)(?<![-:\\\\\\\\w])(?:a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|bgsound|big|blink|blockquote|body|br|button|canvas|caption|center|cite|code|col|colgroup|command|content|data|datalist|dd|del|details|dfn|dialog|dir|div|dl|dt|element|em|embed|fieldset|figcaption|figure|font|footer|form|frame|frameset|h[1-6]|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|link|listing|main|map|mark|marquee|math|menu|menuitem|meta|meter|multicol|nav|nextid|nobr|noembed|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|plaintext|pre|progress|q|rb|rp|rtc??|ruby|s|samp|script|section|select|shadow|slot|small|source|spacer|span|strike|strong|style|sub|summary|sup|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|ul??|var|video|wbr|xmp|altGlyph|altGlyphDef|altGlyphItem|animate|animateColor|animateMotion|animateTransform|circle|clipPath|color-profile|cursor|defs|desc|discard|ellipse|feBlend|feColorMatrix|feComponentTransfer|feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feImage|feMerge|feMergeNode|feMorphology|feOffset|fePointLight|feSpecularLighting|feSpotLight|feTile|feTurbulence|filter|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|foreignObject|g|glyph|glyphRef|hatch|hatchpath|hkern|line|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|metadata|missing-glyph|mpath|path|pattern|polygon|polyline|radialGradient|rect|set|solidcolor|stop|svg|switch|symbol|text|textPath|tref|tspan|use|view|vkern|annotation|annotation-xml|maction|maligngroup|malignmark|math|menclose|merror|mfenced|mfrac|mglyph|mi|mlabeledtr|mlongdiv|mmultiscripts|mn|mo|mover|mpadded|mphantom|mroot|mrow|ms|mscarries|mscarry|msgroup|msline|mspace|msqrt|msrow|mstack|mstyle|msub|msubsup|msup|mtable|mtd|mtext|mtr|munder|munderover|semantics)(?=[#)+,.:>\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"entity.name.tag.css\\\"},\\\"unicode-range\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.other.unicode-range.css\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dash.unicode-range.css\\\"}},\\\"match\\\":\\\"(?<![-\\\\\\\\w])[Uu]\\\\\\\\+[?\\\\\\\\h]{1,6}(?:(-)\\\\\\\\h{1,6})?(?![-\\\\\\\\w])\\\"},\\\"url\\\":{\\\"begin\\\":\\\"(?i)(?<![-@\\\\\\\\w])(url)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.url.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.url.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[^\\\\\\\"')\\\\\\\\s]+\\\",\\\"name\\\":\\\"variable.parameter.url.css\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#escapes\\\"}]}},\\\"scopeName\\\":\\\"source.css\\\"}\"))\n\nexport default [\nlang\n]\n","import javascript from './javascript.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"HTML\\\",\\\"injections\\\":{\\\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-processing\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#tags-valid\\\"},{\\\"include\\\":\\\"#tags-invalid\\\"},{\\\"include\\\":\\\"#entities\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hape|cope|t(ep|art)|ize(s)?|p(ellcheck|an)|elected|lot|andbox|rc(set|doc|lang)?)|h(ttp-equiv|i(dden|gh)|e(ight|aders)|ref(lang)?)|n(o(nce|validate|module)|ame)|c(h(ecked|arset)|ite|o(nt(ent(editable)?|rols)|ords|l(s(pan)?|or))|lass|rossorigin)|t(ype(mustmatch)?|itle|a(rget|bindex)|ranslate)|i(s(map)?|n(tegrity|putmode)|tem(scope|type|id|prop|ref)|d)|op(timum|en)|d(i(sabled|r(name)?)|ownload|e(coding|f(er|ault))|at(etime|a)|raggable)|usemap|p(ing|oster|la(ysinline|ceholder)|attern|reload)|enctype|value|kind|for(m(novalidate|target|enctype|action|method)?)?|w(idth|rap)|l(ist|o(op|w)|a(ng|bel))|a(s(ync)?|c(ce(sskey|pt(-charset)?)|tion)|uto(c(omplete|apitalize)|play|focus)|l(t|low(usermedia|paymentrequest|fullscreen))|bbr)|r(ows(pan)?|e(versed|quired|ferrerpolicy|l|adonly))|m(in(length)?|u(ted|ltiple)|e(thod|dia)|a(nifest|x(length)?)))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"style(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.style.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.css\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.css\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},{\\\"begin\\\":\\\"on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.event-handler.$1.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.js\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"(([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+)\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.js\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n\\\\\\\"/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.js\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n'/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},{\\\"begin\\\":\\\"(data-[-a-z]+)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.data-x.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"(align|bgcolor|border)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"invalid.deprecated.entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"attribute-interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},\\\"cdata\\\":{\\\"begin\\\":\\\"<!\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"contentName\\\":\\\"string.other.inline-data.html\\\",\\\"end\\\":\\\"]]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.cdata.html\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G-?>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"},{\\\"match\\\":\\\"<!-(?:-(?!>)|(?=-->))\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"},{\\\"match\\\":\\\"--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.html\\\"}]},\\\"core-minus-invalid\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#xml-processing\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#tags-valid\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"doctype\\\":{\\\"begin\\\":\\\"<!(?=(?i:DOCTYPE\\\\\\\\s))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(?i:DOCTYPE)\\\",\\\"name\\\":\\\"entity.name.tag.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.html\\\"},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[0-9]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[Xx]\\\\\\\\h+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.html\\\"},{\\\"match\\\":\\\"&(?=[0-9A-Za-z]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.html\\\"}]},\\\"math\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(math)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hift|ymmetric|cript(sizemultiplier|level|minsize)|t(ackalign|retchy)|ide|u([bp]scriptshift)|e(parator(s)?|lection)|rc)|h(eight|ref)|n(otation|umalign)|c(haralign|olumn(spa(n|cing)|width|lines|align)|lose|rossout)|i(n(dent(shift(first|last)?|target|align(first|last)?)|fixlinebreakstyle)|d)|o(pen|verflow)|d(i(splay(style)?|r)|e(nomalign|cimalpoint|pth))|position|e(dge|qual(columns|rows))|voffset|f(orm|ence|rame(spacing)?)|width|l(space|ine(thickness|leading|break(style|multchar)?)|o(ngdivstyle|cation)|ength|quote|argeop)|a(c(cent(under)?|tiontype)|l(t(text|img(-(height|valign|width))?)|ign(mentscope)?))|r(space|ow(spa(n|cing)|lines|align)|quote)|groupalign|x(link:href|mlns)|m(in(size|labelspacing)|ovablelimits|a(th(size|color|variant|background)|xsize))|bevelled)(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.structure.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(annotation|annotation-xml|semantics|menclose|merror|mfenced|mfrac|mpadded|mphantom|mroot|mrow|msqrt|mstyle|mmultiscripts|mover|mprescripts|msub|msubsup|msup|munder|munderover|none|mlabeledtr|mtable|mtd|mtr|mlongdiv|mscarries|mscarry|msgroup|msline|msrow|mstack|maction)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.inline.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(m(?:[inos]|space|text|aligngroup|alignmark))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.inline.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(mglyph)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.object.math.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(mglyph)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.math.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.object.math.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(([:\\\\\\\\w]+))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.invalid.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((\\\\\\\\w[^>\\\\\\\\s]*))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.invalid.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#tags-invalid\\\"}]}}},\\\"svg\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(svg)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(s(hape-rendering|ystemLanguage|cale|t(yle|itchTiles|op-(color|opacity)|dDeviation|em([hv])|artOffset|r(i(ng|kethrough-(thickness|position))|oke(-(opacity|dash(offset|array)|width|line(cap|join)|miterlimit))?))|urfaceScale|p(e(cular(Constant|Exponent)|ed)|acing|readMethod)|eed|lope)|h(oriz-(origin-x|adv-x)|eight|anging|ref(lang)?)|y([12]|ChannelSelector)?|n(umOctaves|ame)|c(y|o(ntentS((?:cript|tyle)Type)|lor(-(interpolation(-filters)?|profile|rendering))?)|ursor|l(ip(-(path|rule)|PathUnits)?|ass)|a(p-height|lcMode)|x)|t(ype|o|ext(-(decoration|anchor|rendering)|Length)|a(rget([XY])?|b(index|leValues))|ransform)|i(n(tercept|2)?|d(eographic)?|mage-rendering)|z(oomAndPan)?|o(p(erator|acity)|ver(flow|line-(thickness|position))|ffset|r(i(ent(ation)?|gin)|der))|d(y|i(splay|visor|ffuseConstant|rection)|ominant-baseline|ur|e(scent|celerate)|x)?|u(1|n(i(code(-(range|bidi))?|ts-per-em)|derline-(thickness|position))|2)|p(ing|oint(s(At([XYZ]))?|er-events)|a(nose-1|t(h(Length)?|tern(ContentUnits|Transform|Units))|int-order)|r(imitiveUnits|eserveA(spectRatio|lpha)))|e(n(d|able-background)|dgeMode|levation|x(ternalResourcesRequired|ponent))|v(i(sibility|ew(Box|Target))|-(hanging|ideographic|alphabetic|mathematical)|e(ctor-effect|r(sion|t-(origin-([xy])|adv-y)))|alues)|k([123]|e(y(Splines|Times|Points)|rn(ing|el(Matrix|UnitLength)))|4)?|f(y|il(ter(Res|Units)?|l(-(opacity|rule))?)|o(nt-(s(t(yle|retch)|ize(-adjust)?)|variant|family|weight)|rmat)|lood-(color|opacity)|r(om)?|x)|w(idth(s)?|ord-spacing|riting-mode)|l(i(ghting-color|mitingConeAngle)|ocal|e(ngthAdjust|tter-spacing)|ang)|a(scent|cc(umulate|ent-height)|ttribute(Name|Type)|zimuth|dditive|utoReverse|l(ignment-baseline|phabetic|lowReorder)|rabic-form|mplitude)|r(y|otate|e(s(tart|ult)|ndering-intent|peat(Count|Dur)|quired(Extensions|Features)|f([XY]|errerPolicy)|l)|adius|x)?|g([12]|lyph(Ref|-(name|orientation-(horizontal|vertical)))|radient(Transform|Units))|x([12]|ChannelSelector|-height|link:(show|href|t(ype|itle)|a(ctuate|rcrole)|role)|ml:(space|lang|base))?|m(in|ode|e(thod|dia)|a(sk((?:Content|)Units)?|thematical|rker(Height|-(start|end|mid)|Units|Width)|x))|b(y|ias|egin|ase(Profile|line-shift|Frequency)|box))(?![-:\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"begin\\\":\\\"([^\\\\\\\\x00- \\\\\\\"'/<=>\\\\\\\\x7F-\\\\\\\\x{9F}﷐-﷯￾￿🿾🿿𯿾𯿿𿿾𿿿\\\\\\\\x{4FFFE}\\\\\\\\x{4FFFF}\\\\\\\\x{5FFFE}\\\\\\\\x{5FFFF}\\\\\\\\x{6FFFE}\\\\\\\\x{6FFFF}\\\\\\\\x{7FFFE}\\\\\\\\x{7FFFF}\\\\\\\\x{8FFFE}\\\\\\\\x{8FFFF}\\\\\\\\x{9FFFE}\\\\\\\\x{9FFFF}\\\\\\\\x{AFFFE}\\\\\\\\x{AFFFF}\\\\\\\\x{BFFFE}\\\\\\\\x{BFFFF}\\\\\\\\x{CFFFE}\\\\\\\\x{CFFFF}\\\\\\\\x{DFFFE}\\\\\\\\x{DFFFF}\\\\\\\\x{EFFFE}\\\\\\\\x{EFFFF}\\\\\\\\x{FFFFE}\\\\\\\\x{FFFFF}\\\\\\\\x{10FFFE}\\\\\\\\x{10FFFF}]+)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.html\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.metadata.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(color-profile|desc|metadata|script|style|title)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.metadata.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.structure.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(animateMotion|clipPath|defs|feComponentTransfer|feDiffuseLighting|feMerge|feSpecularLighting|filter|g|hatch|linearGradient|marker|mask|mesh|meshgradient|meshpatch|meshrow|pattern|radialGradient|switch|text|textPath)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.structure.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.structure.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.inline.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(a|animate|discard|feBlend|feColorMatrix|feComposite|feConvolveMatrix|feDisplacementMap|feDistantLight|feDropShadow|feFlood|feFuncA|feFuncB|feFuncG|feFuncR|feGaussianBlur|feMergeNode|feMorphology|feOffset|fePointLight|feSpotLight|feTile|feTurbulence|hatchPath|mpath|set|solidcolor|stop|tspan)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.inline.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.inline.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.object.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)(a|circle|ellipse|feImage|foreignObject|image|line|path|polygon|polyline|rect|symbol|use|view)(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)(\\\\\\\\2)\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.object.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.object.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.svg.$2.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((altGlyph|altGlyphDef|altGlyphItem|animateColor|animateTransform|cursor|font|font-face|font-face-format|font-face-name|font-face-src|font-face-uri|glyph|glyphRef|hkern|missing-glyph|tref|vkern))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.svg.$2.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.svg.$2.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.void.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"match\\\":\\\"(?i)(<)(([:\\\\\\\\w]+))(?=\\\\\\\\s|/?>)(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(/>)\\\",\\\"name\\\":\\\"meta.element.other.invalid.html\\\"},{\\\"begin\\\":\\\"(?i)(<)((\\\\\\\\w[^>\\\\\\\\s]*))(?=\\\\\\\\s|/?>)(?:(([^\\\\\\\"'>]|\\\\\\\"[^\\\\\\\"]*\\\\\\\"|'[^']*')*)(>))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(?i)(</)((\\\\\\\\2))\\\\\\\\s*(>)|(/>)|(?=</\\\\\\\\w+)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.other.invalid.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.element.other.invalid.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!>)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.invalid.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#tags\\\"}]},{\\\"include\\\":\\\"#tags-invalid\\\"}]}}},\\\"tags-invalid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(</?)((\\\\\\\\w[^>\\\\\\\\s]*))(?<!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.unrecognized-tag.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"tags-valid\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=<(?i:style)\\\\\\\\b(?!-))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)([\\\\\\\\t ]*$\\\\\\\\n?)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(<)(style)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.style.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(?i)((<)/)(style)\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.style.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.css-ignored-vscode\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.metadata.style.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:style))\\\",\\\"name\\\":\\\"source.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=<(?i:script)\\\\\\\\b(?!-))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)([\\\\\\\\t ]*$\\\\\\\\n?)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)((?i:script))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(/)((?i:script))(>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"end\\\":\\\"((<))(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.js-ignored-vscode\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"source.js\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=</script)|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/|(?=</script)\\\",\\\"name\\\":\\\"comment.block.js\\\"},{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?i:(?=>|type(?=[=\\\\\\\\s])(?!\\\\\\\\s*=\\\\\\\\s*(''|\\\\\\\"\\\\\\\"|([\\\\\\\"']?)(text/(javascript(1\\\\\\\\.[0-5])?|x-javascript|jscript|livescript|(x-)?ecmascript|babel)|application/((?:(x-)?jav|(x-)?ecm)ascript)|module)[\\\\\\\"'>\\\\\\\\s]))))\\\",\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i:(?=type\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)text/(x-handlebars|(x-(handlebars-)?|ng-)?template|html)[\\\\\\\"'>\\\\\\\\s]))\\\",\\\"end\\\":\\\"((<))(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"text.html.basic\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"text.html.basic\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]}]},{\\\"begin\\\":\\\"(?=(?i:type))\\\",\\\"end\\\":\\\"(<)(?=/(?i:script))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.tag.metadata.script.end.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.script.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?!\\\\\\\\G)\\\",\\\"end\\\":\\\"(?=</(?i:script))\\\",\\\"name\\\":\\\"source.unknown\\\"}]}]}]}]},{\\\"begin\\\":\\\"(?i)(<)(base|link|meta)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(noscript|title)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(noscript|title)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(col|hr|input)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(address|article|aside|blockquote|body|button|caption|colgroup|datalist|dd|details|dialog|div|dl|dt|fieldset|figcaption|figure|footer|form|head|header|hgroup|html|h[1-6]|label|legend|li|main|map|menu|meter|nav|ol|optgroup|option|output|p|pre|progress|section|select|slot|summary|table|tbody|td|template|textarea|tfoot|th|thead|tr|ul)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(area|br|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(a|abbr|b|bdi|bdo|cite|code|data|del|dfn|em|i|ins|kbd|mark|q|rp|rt|ruby|s|samp|small|span|strong|sub|sup|time|u|var)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(embed|img|param|source|track)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)(audio|canvas|iframe|object|picture|video)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)(audio|canvas|iframe|object|picture|video)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((basefont|isindex))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.metadata.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((center|frameset|noembed|noframes))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((center|frameset|noembed|noframes))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((acronym|big|blink|font|strike|tt|xmp))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((acronym|big|blink|font|strike|tt|xmp))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((frame))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.void.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((applet))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((applet))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.deprecated.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.object.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(<)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-longer-supported.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(?i)(</)((dir|keygen|listing|menuitem|plaintext|spacer))(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.no-longer-supported.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.$2.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#svg\\\"},{\\\"begin\\\":\\\"(<)([A-Za-z][.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*-[-.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.custom.start.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},{\\\"begin\\\":\\\"(</)([A-Za-z][.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*-[-.0-9A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]*)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.custom.end.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}]},\\\"xml-processing\\\":{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.metadata.processing.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]}},\\\"scopeName\\\":\\\"text.html.basic\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"css\\\"]}\"))\n\nexport default [\n...javascript,\n...css,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"injectionSelector\\\":\\\"L:text.html -comment\\\",\\\"name\\\":\\\"angular-expression\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"}],\\\"repository\\\":{\\\"arrayLiteral\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.array.literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},\\\"booleanLiteral\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$.])\\\\\\\\btrue\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.boolean.true.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bfalse\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.boolean.false.ts\\\"}]},\\\"expressionOperator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.pipe.ng\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\|)\\\\\\\\|(?!\\\\\\\\|))\\\\\\\\s?([-$0-9A-Z_a-z]*)\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\b(let)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"storage.type.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\b(await)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.control.flow.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bdelete\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bin\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bof\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.of.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bif\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.control.if.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\belse\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.control.else.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bthen\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.control.then.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\binstanceof\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bnew\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.new.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bvoid\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.void.ts\\\"},{\\\"begin\\\":\\\"(?<![$.])\\\\\\\\bas\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.as.ts\\\"}},\\\"end\\\":\\\"(?=$|[]\\\\\\\"'),:;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ts\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ts\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.ts\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.ts\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\?\\\\\\\\?|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ts\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])\\\\\\\\s*(/)(?![*/])\\\"},{\\\"include\\\":\\\"#typeofOperator\\\"}]},\\\"functionCall\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<([^<>]|<[^<>]+>)+>\\\\\\\\s*)?\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<([^<>]|<[^<>]+>)+>\\\\\\\\s*)?\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"punctuation.accessor.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.ts\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.ts\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},{\\\"include\\\":\\\"#parenExpression\\\"}]},\\\"functionParameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ts\\\"}},\\\"name\\\":\\\"meta.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#parameterName\\\"},{\\\"include\\\":\\\"#variableInitializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.object.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.object.property.ts\\\"}},\\\"match\\\":\\\"([!?]?\\\\\\\\.)\\\\\\\\s*(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"(?:([!?]?\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*((async\\\\\\\\s+)|(function\\\\\\\\s*[(<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\\\\\s*)?\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*(.)*)?\\\\\\\\s*=>)))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.property.ts\\\"}},\\\"match\\\":\\\"([!?]?\\\\\\\\.)\\\\\\\\s*(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.ts\\\"}},\\\"match\\\":\\\"([!?]?\\\\\\\\.)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.object.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"constant.character.other\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]},\\\"literal\\\":{\\\"name\\\":\\\"literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#numericLiteral\\\"},{\\\"include\\\":\\\"#booleanLiteral\\\"},{\\\"include\\\":\\\"#nullLiteral\\\"},{\\\"include\\\":\\\"#undefinedLiteral\\\"},{\\\"include\\\":\\\"#numericConstantLiteral\\\"},{\\\"include\\\":\\\"#arrayLiteral\\\"},{\\\"include\\\":\\\"#thisLiteral\\\"}]},\\\"ngExpression\\\":{\\\"name\\\":\\\"meta.expression.ng\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#ternaryExpression\\\"},{\\\"include\\\":\\\"#expressionOperator\\\"},{\\\"include\\\":\\\"#functionCall\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#parenExpression\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"},{\\\"include\\\":\\\"#punctuationSemicolon\\\"},{\\\"include\\\":\\\"#punctuationAccessor\\\"}]},\\\"nullLiteral\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bnull\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.null.ts\\\"},\\\"numericConstantLiteral\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bNaN\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.nan.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bInfinity\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.infinity.ts\\\"}]},\\\"numericLiteral\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Xx])\\\\\\\\h+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Bb])[01]+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\b(?<!\\\\\\\\$)0([Oo])?[0-7]+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9]+(\\\\\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+(\\\\\\\\.)[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+(\\\\\\\\.)\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"parameterName\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\s*\\\\\\\\b(readonly)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\\\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*((async\\\\\\\\s+)|(function\\\\\\\\s*[(<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)|((<([^<>]|<[^<>]+>)+>\\\\\\\\s*)?\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*(.)*)?\\\\\\\\s*=>)))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\s*\\\\\\\\b(readonly)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\\\\\\s*(?<![:=])([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parenExpression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},\\\"punctuationAccessor\\\":{\\\"match\\\":\\\"(?:\\\\\\\\?|!?)\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"punctuationComma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"},\\\"punctuationSemicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.ts\\\"},\\\"qstringDouble\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.double.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringCharacterEscape\\\"}]},\\\"qstringSingle\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.single.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringCharacterEscape\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstringSingle\\\"},{\\\"include\\\":\\\"#qstringDouble\\\"},{\\\"include\\\":\\\"#templateLiteral\\\"}]},\\\"stringCharacterEscape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.ts\\\"},\\\"templateLiteral\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#templateLiteralCall\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#templateLiteralSubstitutionElement\\\"},{\\\"include\\\":\\\"#stringCharacterEscape\\\"}]}]},\\\"templateLiteralCall\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}]},{\\\"include\\\":\\\"#typeArguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typeArguments\\\"}]}]},\\\"templateLiteralSubstitutionElement\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"}]},\\\"ternaryExpression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"}]},\\\"thisLiteral\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bthis\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.ts\\\"},\\\"type\\\":{\\\"name\\\":\\\"meta.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numericLiteral\\\"},{\\\"include\\\":\\\"#typeBuiltinLiterals\\\"},{\\\"include\\\":\\\"#typeTuple\\\"},{\\\"include\\\":\\\"#typeObject\\\"},{\\\"include\\\":\\\"#typeOperators\\\"},{\\\"include\\\":\\\"#typeFnTypeParameters\\\"},{\\\"include\\\":\\\"#typeParenOrFunctionParameters\\\"},{\\\"include\\\":\\\"#typeName\\\"}]},\\\"typeAnnotation\\\":{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?=$|[]),;}]|//|\\\\\\\")|(?==[^>])|(?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"typeArguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typeArgumentsBody\\\"}]},\\\"typeArgumentsBody\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},\\\"typeBuiltinLiterals\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\b(this|true|false|undefined|null)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.type.builtin.ts\\\"},\\\"typeFnTypeParameters\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.new.ts\\\"}},\\\"match\\\":\\\"(?<![$.])\\\\\\\\b(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"name\\\":\\\"meta.type.constructor.ts\\\"},{\\\"begin\\\":\\\"(?<![$.])\\\\\\\\b(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functionParameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"include\\\":\\\"#typeofOperator\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functionParameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#functionParameters\\\"}]}]},\\\"typeName\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*([!?]?\\\\\\\\.)\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.ts\\\"}]},\\\"typeObject\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.object.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typeObjectMembers\\\"}]},\\\"typeObjectMembers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeAnnotation\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"},{\\\"include\\\":\\\"#punctuationSemicolon\\\"}]},\\\"typeOperators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeofOperator\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"keyword.operator.type.ts\\\"},{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bkeyof\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.ts\\\"}]},\\\"typeParenOrFunctionParameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#functionParameters\\\"}]},\\\"typeTuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.type.tuple.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuationComma\\\"}]},\\\"typeofOperator\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\btypeof\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"keyword.operator.expression.typeof.ts\\\"},\\\"undefinedLiteral\\\":{\\\"match\\\":\\\"(?<![$.])\\\\\\\\bundefined\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.language.undefined.ts\\\"},\\\"variableInitializer\\\":{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=$|[]),;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ngExpression\\\"}]}},\\\"scopeName\\\":\\\"expression.ng\\\"}\"))\n\nexport default [\nlang\n]\n","import angular_expression from './angular-expression.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"injectTo\\\":[\\\"text.html.derivative\\\",\\\"text.html.derivative.ng\\\",\\\"source.ts.ng\\\"],\\\"injectionSelector\\\":\\\"L:text.html -comment -expression.ng -meta.tag -source.css -source.js\\\",\\\"name\\\":\\\"angular-let-declaration\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#letDeclaration\\\"}],\\\"repository\\\":{\\\"letDeclaration\\\":{\\\"begin\\\":\\\"(@let)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.ng\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.constant.ng\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ng\\\"}},\\\"end\\\":\\\"(?<=;)\\\",\\\"name\\\":\\\"meta.definition.variable.ng\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#letInitializer\\\"}]},\\\"letInitializer\\\":{\\\"begin\\\":\\\"\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ng\\\"}},\\\"contentName\\\":\\\"meta.definition.variable.initializer.ng\\\",\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.ng\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]}},\\\"scopeName\\\":\\\"template.let.ng\\\",\\\"embeddedLangs\\\":[\\\"angular-expression\\\"]}\"))\n\nexport default [\n...angular_expression,\nlang\n]\n","import angular_expression from './angular-expression.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"injectTo\\\":[\\\"text.html.derivative\\\",\\\"text.html.derivative.ng\\\",\\\"source.ts.ng\\\"],\\\"injectionSelector\\\":\\\"L:text.html -comment\\\",\\\"name\\\":\\\"angular-template\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}],\\\"repository\\\":{\\\"interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"contentName\\\":\\\"expression.ng\\\",\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]}},\\\"scopeName\\\":\\\"template.ng\\\",\\\"embeddedLangs\\\":[\\\"angular-expression\\\"]}\"))\n\nexport default [\n...angular_expression,\nlang\n]\n","import angular_expression from './angular-expression.mjs'\nimport angular_template from './angular-template.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"injectTo\\\":[\\\"text.html.derivative\\\",\\\"text.html.derivative.ng\\\",\\\"source.ts.ng\\\"],\\\"injectionSelector\\\":\\\"L:text.html -comment -expression.ng -meta.tag -source.css -source.js\\\",\\\"name\\\":\\\"angular-template-blocks\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}],\\\"repository\\\":{\\\"block\\\":{\\\"begin\\\":\\\"(@)(if|else if|else|defer|placeholder|loading|error|switch|case|default|for|empty)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#transition\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.block.kind.ng\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"control.block.ng\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#blockExpression\\\"},{\\\"include\\\":\\\"#blockBody\\\"}]},\\\"blockBody\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"contentName\\\":\\\"control.block.body.ng\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative.ng\\\"},{\\\"include\\\":\\\"template.ng\\\"}]},\\\"blockExpression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"contentName\\\":\\\"control.block.expression.ng\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#blockExpressionOfClause\\\"},{\\\"include\\\":\\\"#blockExpressionLetBinding\\\"},{\\\"include\\\":\\\"#blockExpressionTrackClause\\\"},{\\\"include\\\":\\\"expression.ng\\\"}]},\\\"blockExpressionLetBinding\\\":{\\\"begin\\\":\\\"\\\\\\\\blet\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.ng\\\"}},\\\"end\\\":\\\"(?=[$)])|(?<=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]},\\\"blockExpressionOfClause\\\":{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(of)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.ng\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.expression.of.ng\\\"}},\\\"end\\\":\\\"(?=[$)])|(?<=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]},\\\"blockExpressionTrackClause\\\":{\\\"begin\\\":\\\"\\\\\\\\btrack\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.track.ng\\\"}},\\\"end\\\":\\\"(?=[$)])|(?<=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"expression.ng\\\"}]},\\\"transition\\\":{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.control.block.transition.ng\\\"}},\\\"scopeName\\\":\\\"template.blocks.ng\\\",\\\"embeddedLangs\\\":[\\\"angular-expression\\\",\\\"angular-template\\\"]}\"))\n\nexport default [\n...angular_expression,\n...angular_template,\nlang\n]\n","import html from './html.mjs'\nimport angular_expression from './angular-expression.mjs'\nimport angular_let_declaration from './angular-let-declaration.mjs'\nimport angular_template from './angular-template.mjs'\nimport angular_template_blocks from './angular-template-blocks.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Angular HTML\\\",\\\"injections\\\":{\\\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"angular-html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#core-minus-invalid\\\"},{\\\"begin\\\":\\\"(</?)(\\\\\\\\w[^>\\\\\\\\s]*)(?<!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.unrecognized.html.derivative\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#attribute\\\"}]}],\\\"scopeName\\\":\\\"text.html.derivative.ng\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"angular-expression\\\",\\\"angular-let-declaration\\\",\\\"angular-template\\\",\\\"angular-template-blocks\\\"]}\"))\n\nexport default [\n...html,\n...angular_expression,\n...angular_let_declaration,\n...angular_template,\n...angular_template_blocks,\nlang\n]\n","import css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"SCSS\\\",\\\"name\\\":\\\"scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable_setting\\\"},{\\\"include\\\":\\\"#at_rule_forward\\\"},{\\\"include\\\":\\\"#at_rule_use\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"},{\\\"include\\\":\\\"#at_rule_import\\\"},{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#rules\\\"},{\\\"include\\\":\\\"#property_list\\\"},{\\\"include\\\":\\\"#at_rule_mixin\\\"},{\\\"include\\\":\\\"#at_rule_media\\\"},{\\\"include\\\":\\\"#at_rule_function\\\"},{\\\"include\\\":\\\"#at_rule_charset\\\"},{\\\"include\\\":\\\"#at_rule_option\\\"},{\\\"include\\\":\\\"#at_rule_namespace\\\"},{\\\"include\\\":\\\"#at_rule_fontface\\\"},{\\\"include\\\":\\\"#at_rule_page\\\"},{\\\"include\\\":\\\"#at_rule_keyframes\\\"},{\\\"include\\\":\\\"#at_rule_at_root\\\"},{\\\"include\\\":\\\"#at_rule_supports\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}],\\\"repository\\\":{\\\"at_rule_at_root\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(at-root))(\\\\\\\\s+|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.at-root.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.at-root.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#selectors\\\"}]},\\\"at_rule_charset\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)charset)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$))\\\",\\\"name\\\":\\\"meta.at-rule.charset.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},\\\"at_rule_content\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)content)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.content.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;))\\\",\\\"name\\\":\\\"meta.content.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_each\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)each)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.each.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=}))\\\",\\\"name\\\":\\\"meta.at-rule.each.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(in|,)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"at_rule_else\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)else(\\\\\\\\s*(if)?))\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.else.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.else.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_extend\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)extend)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.extend.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.extend.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_fontface\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)font-face)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.fontface.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.fontface.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]}]},\\\"at_rule_for\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)for)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.for.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(==|!=|<=|>=|[<>]|from|to|through)\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"at_rule_forward\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)forward)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.forward.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.forward.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(as|hide|show)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.module.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.wildcard.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([-\\\\\\\\w]+)(\\\\\\\\*)\\\"},{\\\"match\\\":\\\"\\\\\\\\b[-\\\\\\\\w]+\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.scss\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#comment_block\\\"}]},\\\"at_rule_function\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)function)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.function.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((@)function)\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.at-rule.function.scss\\\"}]},\\\"at_rule_if\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)if)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.if.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.if.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_import\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)import)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;)|(?=}))\\\",\\\"name\\\":\\\"meta.at-rule.import.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#comment_line\\\"}]},\\\"at_rule_include\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@include)\\\\\\\\s+(?:([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\.))?([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.at-rule.include.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.at-rule.include.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@include)\\\\\\\\s+(?:([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\.))?([-\\\\\\\\w]+)\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.at-rule.include.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.include.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)include)\\\\\\\\b\\\"}]},\\\"at_rule_keyframes\\\":{\\\"begin\\\":\\\"(?<=^|\\\\\\\\s)(@)(?:-(?:webkit|moz)-)?keyframes\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframes.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.scss\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@keyframes)\\\\\\\\s+((?:[A-Z_a-z][-\\\\\\\\w]|-[A-Z_a-z])[-\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"(?<=@keyframes)\\\\\\\\s+(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"contentName\\\":\\\"entity.name.function.scss\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.double.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(?<=@keyframes)\\\\\\\\s+(')\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"contentName\\\":\\\"entity.name.function.scss\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.single.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.begin.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.keyframes.end.scss\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:(?:100|[1-9]\\\\\\\\d|\\\\\\\\d)%|from|to)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"entity.other.attribute-name.scss\\\"},{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#property_list\\\"},{\\\"include\\\":\\\"#rules\\\"}]}]},\\\"at_rule_media\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)media)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.media.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"match\\\":\\\"\\\\\\\\b(only)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator.css.scss\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.media-query.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.media-query.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.property-list.media-query.scss\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![-a-z])(?=[-a-z])\\\",\\\"end\\\":\\\"$|(?![-a-z])\\\",\\\"name\\\":\\\"meta.property-name.media-query.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#media-features\\\"},{\\\"include\\\":\\\"source.css#property-names\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(?!(\\\\\\\\s*\\\\\\\\{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"contentName\\\":\\\"meta.property-value.media-query.scss\\\",\\\"end\\\":\\\"\\\\\\\\s*(;|(?=[)}]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"source.css#media-types\\\"}]}]},\\\"at_rule_mixin\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@mixin)\\\\\\\\s+([-\\\\\\\\w]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"match\\\":\\\"(?<=@mixin)\\\\\\\\s+([-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.mixin.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)mixin)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.mixin.scss\\\"}]},\\\"at_rule_namespace\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=@namespace)\\\\\\\\s+(?=url)\\\",\\\"end\\\":\\\"(?=;|$)\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},{\\\"begin\\\":\\\"(?<=@namespace)\\\\\\\\s+([-\\\\\\\\w]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.namespace-prefix.scss\\\"}},\\\"end\\\":\\\"(?=;|$)\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.namespace.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"((@)namespace)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.namespace.scss\\\"}]},\\\"at_rule_option\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)option)\\\\\\\\b\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.at-rule.option.scss\\\"},\\\"at_rule_page\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((@)page)(?=[:\\\\\\\\s])\\\\\\\\s*([-:\\\\\\\\w]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.page.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.page.scss\\\"}]},\\\"at_rule_return\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(return))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.return.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;))\\\",\\\"name\\\":\\\"meta.at-rule.return.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"at_rule_supports\\\":{\\\"begin\\\":\\\"(?<=^|\\\\\\\\s)(@)supports\\\\\\\\b\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.supports.scss\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|$\\\",\\\"name\\\":\\\"meta.at-rule.supports.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_operators\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.definition.condition.begin.bracket.round.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.definition.condition.end.bracket.round.scss\\\"}]},\\\"at_rule_use\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)use)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.use.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.use.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(as|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.operator\\\"},{\\\"match\\\":\\\"\\\\\\\\b[-\\\\\\\\w]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.expanded-namespace.scss\\\"},{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]}]},\\\"at_rule_warn\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)(warn|debug|error))\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.warn.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.warn.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#string_single\\\"}]},\\\"at_rule_while\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)while)\\\\\\\\b\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.while.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=})\\\",\\\"name\\\":\\\"meta.at-rule.while.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#conditional_operators\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"comment_block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"name\\\":\\\"comment.block.scss\\\"},\\\"comment_docblock\\\":{\\\"begin\\\":\\\"///\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.block.documentation.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sassdoc\\\"}]},\\\"comment_line\\\":{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.scss\\\"},\\\"comparison_operators\\\":{\\\"match\\\":\\\"==|!=|<=|>=|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.scss\\\"},\\\"conditional_operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comparison_operators\\\"},{\\\"include\\\":\\\"#logical_operators\\\"}]},\\\"constant_default\\\":{\\\"match\\\":\\\"!default\\\",\\\"name\\\":\\\"keyword.other.default.scss\\\"},\\\"constant_functions\\\":{\\\"begin\\\":\\\"(?:([-\\\\\\\\w]+)(\\\\\\\\.))?([-\\\\\\\\w]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},\\\"constant_important\\\":{\\\"match\\\":\\\"!important\\\",\\\"name\\\":\\\"keyword.other.important.scss\\\"},\\\"constant_mathematical_symbols\\\":{\\\"match\\\":\\\"\\\\\\\\b([-*+/])\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.mathematical-symbols.scss\\\"},\\\"constant_optional\\\":{\\\"match\\\":\\\"!optional\\\",\\\"name\\\":\\\"keyword.other.optional.scss\\\"},\\\"constant_sass_functions\\\":{\\\"begin\\\":\\\"(headings|stylesheet-url|rgba?|hsla?|ie-hex-str|red|green|blue|alpha|opacity|hue|saturation|lightness|prefixed|prefix|-moz|-svg|-css2|-pie|-webkit|-ms|font-(?:files|url)|grid-image|image-(?:width|height|url|color)|sprites?|sprite-(?:map|map-name|file|url|position)|inline-(?:font-files|image)|opposite-position|grad-point|grad-end-position|color-stops|color-stops-in-percentages|grad-color-stops|(?:radial|linear)-(?:|svg-)gradient|opacify|fade-?in|transparentize|fade-?out|lighten|darken|saturate|desaturate|grayscale|adjust-(?:hue|lightness|saturation|color)|scale-(?:lightness|saturation|color)|change-color|spin|complement|invert|mix|-compass-(?:list|space-list|slice|nth|list-size)|blank|compact|nth|first-value-of|join|length|append|nest|append-selector|headers|enumerate|range|percentage|unitless|unit|if|type-of|comparable|elements-of-type|quote|unquote|escape|e|sin|cos|tan|abs|round|ceil|floor|pi|translate[XY])(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},\\\"flow_control\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#at_rule_if\\\"},{\\\"include\\\":\\\"#at_rule_else\\\"},{\\\"include\\\":\\\"#at_rule_warn\\\"},{\\\"include\\\":\\\"#at_rule_for\\\"},{\\\"include\\\":\\\"#at_rule_while\\\"},{\\\"include\\\":\\\"#at_rule_each\\\"},{\\\"include\\\":\\\"#at_rule_return\\\"}]},\\\"function_attributes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"},{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"match\\\":\\\"[;=?@{}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([-\\\\\\\\w]+)(\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"}]},{\\\"match\\\":\\\"([-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"support.function.misc.scss\\\"}]},\\\"general\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"}]},\\\"interpolation\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.begin.bracket.curly.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.end.bracket.curly.scss\\\"}},\\\"name\\\":\\\"variable.interpolation.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"logical_operators\\\":{\\\"match\\\":\\\"\\\\\\\\b(not|or|and)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.scss\\\"},\\\"map\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.map.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.map.end.bracket.round.scss\\\"}},\\\"name\\\":\\\"meta.definition.variable.map.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.map.key.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([-\\\\\\\\w]+)\\\\\\\\s*(:)\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"},{\\\"include\\\":\\\"#map\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},\\\"operators\\\":{\\\"match\\\":\\\"[-*+/](?!\\\\\\\\s*[-*+/])\\\",\\\"name\\\":\\\"keyword.operator.css\\\"},\\\"parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_attributes\\\"}]},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"match\\\":\\\"[^\\\\\\\\t \\\\\\\"'),]+\\\",\\\"name\\\":\\\"variable.parameter.url.scss\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"}]},\\\"parent_selector_suffix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(?<=&)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|[$}])+)(?=$|[#)+,.:>\\\\\\\\[{|~\\\\\\\\s]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.parent-selector-suffix.css\\\"},\\\"properties\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![-a-z])(?=[-a-z])\\\",\\\"end\\\":\\\"$|(?![-a-z])\\\",\\\"name\\\":\\\"meta.property-name.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#property-names\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(?!(\\\\\\\\s*\\\\\\\\{))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"contentName\\\":\\\"meta.property-value.scss\\\",\\\"end\\\":\\\"\\\\\\\\s*(;|(?=[)}]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},\\\"property_list\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.bracket.curly.scss\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.bracket.curly.scss\\\"}},\\\"name\\\":\\\"meta.property-list.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#rules\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"property_values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string_single\\\"},{\\\"include\\\":\\\"#string_double\\\"},{\\\"include\\\":\\\"#constant_functions\\\"},{\\\"include\\\":\\\"#constant_sass_functions\\\"},{\\\"include\\\":\\\"#constant_important\\\"},{\\\"include\\\":\\\"#constant_default\\\"},{\\\"include\\\":\\\"#constant_optional\\\"},{\\\"include\\\":\\\"source.css#numeric-values\\\"},{\\\"include\\\":\\\"source.css#property-keywords\\\"},{\\\"include\\\":\\\"source.css#color-keywords\\\"},{\\\"include\\\":\\\"source.css#property-names\\\"},{\\\"include\\\":\\\"#constant_mathematical_symbols\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.scss\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.scss\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#property_values\\\"}]}]},\\\"rules\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#general\\\"},{\\\"include\\\":\\\"#at_rule_extend\\\"},{\\\"include\\\":\\\"#at_rule_content\\\"},{\\\"include\\\":\\\"#at_rule_include\\\"},{\\\"include\\\":\\\"#at_rule_media\\\"},{\\\"include\\\":\\\"#selectors\\\"}]},\\\"selector_attribute\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.attribute-selector.begin.bracket.square.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.attribute.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.scss\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.unquoted.attribute-value.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.double.attribute-value.scss\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"},\\\"9\\\":{\\\"name\\\":\\\"string.quoted.single.attribute-value.scss\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.attribute-selector.end.bracket.square.scss\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\[)\\\\\\\\s*((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+?)(?:\\\\\\\\s*([$*^|~]?=)\\\\\\\\s*(?:((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)|((\\\\\\\")(.*?)(\\\\\\\"))|((')(.*?)('))))?\\\\\\\\s*(])\\\",\\\"name\\\":\\\"meta.attribute-selector.scss\\\"},\\\"selector_class\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\.)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)(?=$|[#)+,:>\\\\\\\\[{|~\\\\\\\\s]|\\\\\\\\.[^$]|/\\\\\\\\*|;)\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css\\\"},\\\"selector_custom\\\":{\\\"match\\\":\\\"\\\\\\\\b([0-9A-Za-z]+(-[0-9A-Za-z]+)+)(?=\\\\\\\\.|\\\\\\\\s++[^:]|\\\\\\\\s*[,\\\\\\\\[{]|:(link|visited|hover|active|focus|target|lang|disabled|enabled|checked|indeterminate|root|nth-((?:|last-)(?:child|of-type))|first-child|last-child|first-of-type|last-of-type|only-child|only-of-type|empty|not|valid|invalid)(\\\\\\\\([0-9A-Za-z]*\\\\\\\\))?)\\\",\\\"name\\\":\\\"entity.name.tag.custom.scss\\\"},\\\"selector_id\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(#)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.?\\\\\\\\$|})+)(?=$|[#)+,:>\\\\\\\\[{|~\\\\\\\\s]|\\\\\\\\.[^$]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css\\\"},\\\"selector_placeholder\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"match\\\":\\\"[$}]\\\",\\\"name\\\":\\\"invalid.illegal.identifier.scss\\\"}]}},\\\"match\\\":\\\"(%)((?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.)|#\\\\\\\\{|\\\\\\\\.\\\\\\\\$|[$}])+)(?=;|$|[#)+,:>\\\\\\\\[{|~\\\\\\\\s]|\\\\\\\\.[^$]|/\\\\\\\\*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.placeholder.css\\\"},\\\"selector_pseudo_class\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((:)\\\\\\\\bnth-(?:|last-)(?:child|of-type))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.pseudo-class.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.pseudo-class.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.css\\\"},{\\\"match\\\":\\\"(?:(?<=\\\\\\\\d)n|\\\\\\\\b(n|even|odd))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.scss\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"invalid.illegal.scss\\\"}]},{\\\"include\\\":\\\"source.css#pseudo-classes\\\"},{\\\"include\\\":\\\"source.css#pseudo-elements\\\"},{\\\"include\\\":\\\"source.css#functional-pseudo-classes\\\"}]},\\\"selectors\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#tag-names\\\"},{\\\"include\\\":\\\"#selector_custom\\\"},{\\\"include\\\":\\\"#selector_class\\\"},{\\\"include\\\":\\\"#selector_id\\\"},{\\\"include\\\":\\\"#selector_pseudo_class\\\"},{\\\"include\\\":\\\"#tag_wildcard\\\"},{\\\"include\\\":\\\"#tag_parent_reference\\\"},{\\\"include\\\":\\\"source.css#pseudo-elements\\\"},{\\\"include\\\":\\\"#selector_attribute\\\"},{\\\"include\\\":\\\"#selector_placeholder\\\"},{\\\"include\\\":\\\"#parent_selector_suffix\\\"}]},\\\"string_double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.double.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string_single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.scss\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.scss\\\"}},\\\"name\\\":\\\"string.quoted.single.scss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.scss\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"tag_parent_reference\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.tag.reference.scss\\\"},\\\"tag_wildcard\\\":{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.tag.wildcard.scss\\\"},\\\"variable\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"variable_setting\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\$[-\\\\\\\\w]+\\\\\\\\s*:)\\\",\\\"contentName\\\":\\\"meta.definition.variable.scss\\\",\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.scss\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$[-\\\\\\\\w]+(?=\\\\\\\\s*:)\\\",\\\"name\\\":\\\"variable.scss\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.scss\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_docblock\\\"},{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"},{\\\"include\\\":\\\"#map\\\"},{\\\"include\\\":\\\"#property_values\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.scss\\\"}]}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.scss\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.access.module.scss\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.scss\\\"}},\\\"match\\\":\\\"\\\\\\\\b([-\\\\\\\\w]+)(\\\\\\\\.)(\\\\\\\\$[-\\\\\\\\w]+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(\\\\\\\\$|--)[-0-9A-Z_a-z]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.scss\\\"}]}},\\\"scopeName\\\":\\\"source.css.scss\\\",\\\"embeddedLangs\\\":[\\\"css\\\"]}\"))\n\nexport default [\n...css,\nlang\n]\n","import scss from './scss.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"injectTo\\\":[\\\"source.ts.ng\\\"],\\\"injectionSelector\\\":\\\"L:source.ts#meta.decorator.ts -comment\\\",\\\"name\\\":\\\"angular-inline-style\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlineStyles\\\"}],\\\"repository\\\":{\\\"inlineStyles\\\":{\\\"begin\\\":\\\"(styles)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts punctuation.separator.key-value.ts\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tsParenExpression\\\"},{\\\"include\\\":\\\"#tsBracketExpression\\\"},{\\\"include\\\":\\\"#style\\\"}]},\\\"style\\\":{\\\"begin\\\":\\\"\\\\\\\\s*([\\\\\\\"'`|])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"contentName\\\":\\\"source.css.scss\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]},\\\"tsBracketExpression\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.array.literal.ts meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.array.literal.ts meta.brace.square.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#style\\\"}]},\\\"tsParenExpression\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#tsBracketExpression\\\"},{\\\"include\\\":\\\"#style\\\"}]}},\\\"scopeName\\\":\\\"inline-styles.ng\\\",\\\"embeddedLangs\\\":[\\\"scss\\\"]}\"))\n\nexport default [\n...scss,\nlang\n]\n","import angular_html from './angular-html.mjs'\nimport angular_template from './angular-template.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"injectTo\\\":[\\\"source.ts.ng\\\"],\\\"injectionSelector\\\":\\\"L:meta.decorator.ts -comment -text.html\\\",\\\"name\\\":\\\"angular-inline-template\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inlineTemplate\\\"}],\\\"repository\\\":{\\\"inlineTemplate\\\":{\\\"begin\\\":\\\"(template)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts punctuation.separator.key-value.ts\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tsParenExpression\\\"},{\\\"include\\\":\\\"#ngTemplate\\\"}]},\\\"ngTemplate\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*([\\\\\\\"'`|])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string\\\"}},\\\"contentName\\\":\\\"text.html.derivative.ng\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative.ng\\\"},{\\\"include\\\":\\\"template.ng\\\"}]},\\\"tsParenExpression\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tsParenExpression\\\"},{\\\"include\\\":\\\"#ngTemplate\\\"}]}},\\\"scopeName\\\":\\\"inline-template.ng\\\",\\\"embeddedLangs\\\":[\\\"angular-html\\\",\\\"angular-template\\\"]}\"))\n\nexport default [\n...angular_html,\n...angular_template,\nlang\n]\n","import angular_expression from './angular-expression.mjs'\nimport angular_inline_style from './angular-inline-style.mjs'\nimport angular_inline_template from './angular-inline-template.mjs'\nimport angular_let_declaration from './angular-let-declaration.mjs'\nimport angular_template from './angular-template.mjs'\nimport angular_template_blocks from './angular-template-blocks.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Angular TypeScript\\\",\\\"name\\\":\\\"angular-ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[!(+,:=>?\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.array.literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async)\\\\\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.ts\\\"},{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async))?((?<![]!)}])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.ts\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(<)\\\\\\\\s*(const)\\\\\\\\s*(>)\\\",\\\"name\\\":\\\"cast.expr.ts\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=^return|[^$._[:alnum:]]return|^throw|[^$._[:alnum:]]throw|^yield|[^$._[:alnum:]]yield|^await|[^$._[:alnum:]]await|^default|[^$._[:alnum:]]default|[\\\\\\\\&(*,:=>?^|]|[^$_[:alnum:]](?:\\\\\\\\+\\\\\\\\+|--)|[^+]\\\\\\\\+|[^-]-)\\\\\\\\s*(<)(?!<?=)(?!\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=^)\\\\\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.ts\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;}\\\\\\\\s]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(extends|implements)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"name\\\":\\\"comment.block.documentation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"name\\\":\\\"comment.block.ts\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.ts\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.ts\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.ts\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.ts\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.block.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.ts\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"}},\\\"name\\\":\\\"meta.tag.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.enum.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.ts\\\"}},\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+])))\\\",\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:\\\\\\\\s*(=)|\\\\\\\\s+(default)(?=\\\\\\\\s+))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.default.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[*{])|((?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\\\\\s]))(?!\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[,:]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.ts\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.ts\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[]),:;}]))\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.ts\\\"}},\\\"end\\\":\\\"(?=^|[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.ts\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ts\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ts\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.ts\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ts\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$|^((?!\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=]|$))))|(?<=})\\\",\\\"name\\\":\\\"meta.field.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.ts variable.object.property.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*))await)?\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.ts punctuation.accessor.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.ts keyword.operator.definiteassignment.ts\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.ts\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|(?<=})\\\",\\\"name\\\":\\\"meta.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=;)|(?<=})\\\",\\\"name\\\":\\\"meta.function.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ts\\\"}},\\\"name\\\":\\\"meta.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.ts\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"}},\\\"end\\\":\\\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.ts\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.import-equals.external.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.ts\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.block.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:\\\\\\\\b(default)|(\\\\\\\\*)|\\\\\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.ts\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"end\\\":\\\"(])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([-+])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"}},\\\"end\\\":\\\"(])([-+])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^]]+(])(?=\\\\\\\\{@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^*|}\\\\\\\\s]|\\\\\\\\*/)+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^*@{|}\\\\\\\\s]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.interface.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.ts\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.ts entity.name.function.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[\\\\\\\"$'_`[:alpha:]])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.ts\\\"}},\\\"end\\\":\\\"(?<=})|(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.namespace.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.ts\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"name\\\":\\\"new.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.ts\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.ts\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.ts\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(,<}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[]\\\\\\\"'`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"}},\\\"match\\\":\\\"(?![$_[:alpha:]])(\\\\\\\\d+)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.ts\\\"}},\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts punctuation.separator.key-value.ts\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?=[),])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts\\\"}},\\\"contentName\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.ts\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.double.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.single.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[!(+,:=?\\\\\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![]$)_[:alnum:]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\\\\\s*)/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[1-9]\\\\\\\\d*|k<([$A-Z_a-z][$\\\\\\\\w]*)>)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|\\\\\\\\?<([$A-Z_a-z][$\\\\\\\\w]*)>)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?=$|^|[,;{}]|//)\\\",\\\"name\\\":\\\"meta.return.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[,;{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\&:|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.ts\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.ts\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.ts\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.ts\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[\\\\\\\"'`])\\\",\\\"name\\\":\\\"keyword.operator.expression.import.ts\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"switch-statement.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"switch-expression.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"switch-block.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.ts\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.ts\\\"}},\\\"contentName\\\":\\\"meta.block.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.ts\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?!\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.ts\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.ts storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.ts keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])(?=[]),:;=>?{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])((?=[]),:;=>?{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.ts\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.ts\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.object.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.ts\\\"},{\\\"match\\\":\\\"([:?])\\\",\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.ts\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.ts\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.ts\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.type.tuple.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.ts\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=>?{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.ts\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\\\\\s+|[^$._[:alnum:]]await\\\\\\\\s+)using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=//))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![-\\\\\\\\&*+/|])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.ts.ng\\\",\\\"embeddedLangs\\\":[\\\"angular-expression\\\",\\\"angular-inline-style\\\",\\\"angular-inline-template\\\",\\\"angular-let-declaration\\\",\\\"angular-template\\\",\\\"angular-template-blocks\\\"]}\"))\n\nexport default [\n...angular_expression,\n...angular_inline_style,\n...angular_inline_template,\n...angular_let_declaration,\n...angular_template,\n...angular_template_blocks,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSON\\\",\\\"name\\\":\\\"json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.json\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.json\\\"}},\\\"name\\\":\\\"meta.structure.array.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.array.json\\\"},{\\\"match\\\":\\\"[^]\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-array-separator.json\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.json\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.json\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"}]},\\\"constant\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.json\\\"},\\\"number\\\":{\\\"match\\\":\\\"-?(?:0|[1-9]\\\\\\\\d*)(?:(?:\\\\\\\\.\\\\\\\\d+)?(?:[Ee][-+]?\\\\\\\\d+)?)?\\\",\\\"name\\\":\\\"constant.numeric.json\\\"},\\\"object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.begin.json\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.end.json\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#objectkey\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.key-value.json\\\"}},\\\"end\\\":\\\"(,)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.pair.json\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.value.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\"[^,\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json\\\"}]},{\\\"match\\\":\\\"[^}\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json\\\"}]},\\\"objectkey\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.begin.json\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.end.json\\\"}},\\\"name\\\":\\\"string.json support.type.property-name.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"string\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.json\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.json\\\"}},\\\"name\\\":\\\"string.quoted.double.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"stringcontent\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"/\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.json\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.json\\\"}]},\\\"value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"include\\\":\\\"#comments\\\"}]}},\\\"scopeName\\\":\\\"source.json\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TypeScript\\\",\\\"name\\\":\\\"typescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[!(+,:=>?\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.array.literal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async)\\\\\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.ts\\\"},{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async))?((?<![]!)}])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.ts\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(<)\\\\\\\\s*(const)\\\\\\\\s*(>)\\\",\\\"name\\\":\\\"cast.expr.ts\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=^return|[^$._[:alnum:]]return|^throw|[^$._[:alnum:]]throw|^yield|[^$._[:alnum:]]yield|^await|[^$._[:alnum:]]await|^default|[^$._[:alnum:]]default|[\\\\\\\\&(*,:=>?^|]|[^$_[:alnum:]](?:\\\\\\\\+\\\\\\\\+|--)|[^+]\\\\\\\\+|[^-]-)\\\\\\\\s*(<)(?!<?=)(?!\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=^)\\\\\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.ts\\\"}},\\\"name\\\":\\\"cast.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.ts\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;}\\\\\\\\s]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(extends|implements)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"name\\\":\\\"comment.block.documentation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"name\\\":\\\"comment.block.ts\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.ts\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.ts\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.ts\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.ts\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.block.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.ts\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.ts\\\"}},\\\"name\\\":\\\"meta.tag.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.enum.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.ts\\\"}},\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+])))\\\",\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:\\\\\\\\s*(=)|\\\\\\\\s+(default)(?=\\\\\\\\s+))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.default.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[*{])|((?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\\\\\s]))(?!\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[,:]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.ts\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.ts\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[]),:;}]))\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.ts\\\"}},\\\"end\\\":\\\"(?=^|[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.ts\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.ts\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.ts\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.ts\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.ts\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.ts\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.ts\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.ts\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$|^((?!\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=]|$))))|(?<=})\\\",\\\"name\\\":\\\"meta.field.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.ts variable.object.property.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*))await)?\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.ts punctuation.accessor.optional.ts\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.ts keyword.operator.definiteassignment.ts\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.ts\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|(?<=})\\\",\\\"name\\\":\\\"meta.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=;)|(?<=})\\\",\\\"name\\\":\\\"meta.function.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.ts\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.ts\\\"}},\\\"name\\\":\\\"meta.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.ts\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"}},\\\"end\\\":\\\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.ts\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.import-equals.external.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.ts\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.block.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.ts\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:\\\\\\\\b(default)|(\\\\\\\\*)|\\\\\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.ts\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.ts\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"end\\\":\\\"(])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([-+])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.ts\\\"}},\\\"end\\\":\\\"(])([-+])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^]]+(])(?=\\\\\\\\{@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^*|}\\\\\\\\s]|\\\\\\\\*/)+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^*@{|}\\\\\\\\s]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.interface.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.ts\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.ts entity.name.function.ts\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[\\\\\\\"$'_`[:alpha:]])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.ts\\\"}},\\\"end\\\":\\\"(?<=})|(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.namespace.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.ts\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"name\\\":\\\"new.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.ts\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.ts\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.ts\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.ts\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.ts\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.objectliteral.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.ts\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(,<}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[]\\\\\\\"'`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.ts\\\"}},\\\"match\\\":\\\"(?![$_[:alpha:]])(\\\\\\\\d+)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.ts\\\"}},\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts punctuation.separator.key-value.ts\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?=[),])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.ts\\\"}},\\\"contentName\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.ts\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.ts\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.double.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.ts\\\"}},\\\"name\\\":\\\"string.quoted.single.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[!(+,:=?\\\\\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![]$)_[:alnum:]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\\\\\s*)/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.ts\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.ts\\\"}},\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[1-9]\\\\\\\\d*|k<([$A-Z_a-z][$\\\\\\\\w]*)>)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|\\\\\\\\?<([$A-Z_a-z][$\\\\\\\\w]*)>)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?=$|^|[,;{}]|//)\\\",\\\"name\\\":\\\"meta.return.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[,;{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\&:|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.ts\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.ts\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.ts\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.ts\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.ts\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[\\\\\\\"'`])\\\",\\\"name\\\":\\\"keyword.operator.expression.import.ts\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.ts\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"switch-statement.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"switch-expression.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"switch-block.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.ts\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.ts\\\"}},\\\"contentName\\\":\\\"meta.block.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.ts\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.ts\\\"}},\\\"contentName\\\":\\\"string.template.ts\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"name\\\":\\\"meta.template.expression.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.ts\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type.declaration.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?!\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.ts\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.ts storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.ts keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.ts\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])(?=[]),:;=>?{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.ts\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])((?=[]),:;=>?{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.ts\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.ts\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.ts\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.ts\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.ts\\\"}},\\\"name\\\":\\\"meta.object.type.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.ts\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.ts\\\"},{\\\"match\\\":\\\"([:?])\\\",\\\"name\\\":\\\"keyword.operator.ternary.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.ts\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.ts\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.ts\\\"}},\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.ts\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.ts\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.ts\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.ts\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.ts\\\"}},\\\"name\\\":\\\"meta.type.tuple.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.ts\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.ts\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.ts\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=>?{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.ts\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\\\\\s+|[^$._[:alnum:]]await\\\\\\\\s+)using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.ts\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.ts\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.ts\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=//))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.ts\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts entity.name.function.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.ts\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}},\\\"end\\\":\\\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![-\\\\\\\\&*+/|])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.ts\\\",\\\"aliases\\\":[\\\"ts\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"PostCSS\\\",\\\"fileTypes\\\":[\\\"pcss\\\",\\\"postcss\\\"],\\\"foldingStartMarker\\\":\\\"/\\\\\\\\*|^#|^\\\\\\\\*|^\\\\\\\\b|^\\\\\\\\.\\\",\\\"foldingStopMarker\\\":\\\"\\\\\\\\*/|^\\\\\\\\s*$\\\",\\\"name\\\":\\\"postcss\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-tag\\\"}]},{\\\"include\\\":\\\"#double-slash\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#placeholder-selector\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#variable-root-css\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#flag\\\"},{\\\"include\\\":\\\"#dotdotdot\\\"},{\\\"begin\\\":\\\"@include\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css.postcss\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n(;{])\\\",\\\"name\\\":\\\"support.function.name.postcss.library\\\"},{\\\"begin\\\":\\\"@(?:mixin|function)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css.postcss\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?|(?=[({])\\\",\\\"name\\\":\\\"support.function.name.postcss.no-completions\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"entity.name.function\\\"}]},{\\\"match\\\":\\\"(?<=@import)\\\\\\\\s[-*./\\\\\\\\w]+\\\",\\\"name\\\":\\\"string.quoted.double.css.postcss\\\"},{\\\"begin\\\":\\\"@\\\",\\\"end\\\":\\\"$\\\\\\\\n?|\\\\\\\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)([,\\\\\\\\s]))|(?=;)\\\",\\\"name\\\":\\\"keyword.control.at-rule.css.postcss\\\"},{\\\"begin\\\":\\\"#\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=[(),.;>\\\\\\\\[{\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\.|(?<=&)([-_])\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=[(),;>\\\\\\\\[{\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"entity.other.attribute-selector.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"match\\\":\\\"[$*^~]\\\",\\\"name\\\":\\\"keyword.other.regex.postcss\\\"}]},{\\\"match\\\":\\\"(?<=[])]|not\\\\\\\\(|[*>]|>\\\\\\\\s):[-:a-z]+|(:[-:])[-:a-z]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css.postcss\\\"},{\\\"begin\\\":\\\":\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=;|\\\\\\\\s\\\\\\\\(|and\\\\\\\\(|[{}]|\\\\\\\\),)\\\",\\\"name\\\":\\\"meta.property-list.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-slash\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#flag\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"include\\\":\\\"#function-content-var\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#parent-selector\\\"},{\\\"include\\\":\\\"#property-value\\\"}]},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"begin\\\":\\\"(?<![-(])\\\\\\\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video|main|svg|rect|ruby|center|circle|ellipse|line|polyline|polygon|path|text|[ux])\\\\\\\\b(?![-)]|:\\\\\\\\s)|&\\\",\\\"end\\\":\\\"(?=[-(),.;>\\\\\\\\[_{\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.name.tag.css.postcss.symbol\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"include\\\":\\\"#operator\\\"},{\\\"match\\\":\\\"[-a-z]+((?=:|#\\\\\\\\{))\\\",\\\"name\\\":\\\"support.type.property-name.css.postcss\\\"},{\\\"include\\\":\\\"#reserved-words\\\"},{\\\"include\\\":\\\"#property-value\\\"}],\\\"repository\\\":{\\\"comment-tag\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\",\\\"end\\\":\\\"}}\\\",\\\"name\\\":\\\"comment.tags.postcss\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"comment.tag.postcss\\\"}]},\\\"dotdotdot\\\":{\\\"match\\\":\\\"\\\\\\\\.{3}\\\",\\\"name\\\":\\\"variable.other\\\"},\\\"double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted-interpolation\\\"}]},\\\"double-slash\\\":{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-tag\\\"}]},\\\"flag\\\":{\\\"match\\\":\\\"!(important|default|optional|global)\\\",\\\"name\\\":\\\"keyword.other.important.css.postcss\\\"},\\\"function\\\":{\\\"match\\\":\\\"(?<=[(,:|\\\\\\\\s])(?!url|format|attr)[-\\\\\\\\w][-\\\\\\\\w]*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.name.postcss\\\"},\\\"function-content\\\":{\\\"match\\\":\\\"(?<=url\\\\\\\\(|format\\\\\\\\(|attr\\\\\\\\().+?(?=\\\\\\\\))\\\",\\\"name\\\":\\\"string.quoted.double.css.postcss\\\"},\\\"function-content-var\\\":{\\\"match\\\":\\\"(?<=var\\\\\\\\()[-\\\\\\\\w]+(?=\\\\\\\\))\\\",\\\"name\\\":\\\"variable.parameter.postcss\\\"},\\\"interpolation\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"support.function.interpolation.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"}]},\\\"numeric\\\":{\\\"match\\\":\\\"([-.])?[0-9]+(\\\\\\\\.[0-9]+)?\\\",\\\"name\\\":\\\"constant.numeric.css.postcss\\\"},\\\"operator\\\":{\\\"match\\\":\\\"\\\\\\\\+|\\\\\\\\s-\\\\\\\\s|\\\\\\\\s-(?=\\\\\\\\$)|(?<=\\\\\\\\()-(?=\\\\\\\\$)|\\\\\\\\s-(?=\\\\\\\\()|[!%*/<=>~]\\\",\\\"name\\\":\\\"keyword.operator.postcss\\\"},\\\"parent-selector\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.tag.css.postcss\\\"},\\\"placeholder-selector\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\d)%(?!\\\\\\\\d)\\\",\\\"end\\\":\\\"$\\\\\\\\n?|\\\\\\\\s|(?=[;{])\\\",\\\"name\\\":\\\"entity.other.attribute-name.placeholder-selector.postcss\\\"},\\\"property-value\\\":{\\\"match\\\":\\\"[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"meta.property-value.css.postcss, support.constant.property-value.css.postcss\\\"},\\\"pseudo-class\\\":{\\\"match\\\":\\\":[-:a-z]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css.postcss\\\"},\\\"quoted-interpolation\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"support.function.interpolation.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#unit\\\"}]},\\\"reserved-words\\\":{\\\"match\\\":\\\"\\\\\\\\b(false|from|in|not|null|through|to|true)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.property-name.css.postcss\\\"},\\\"rgb-value\\\":{\\\"match\\\":\\\"(#)(\\\\\\\\h{3}|\\\\\\\\h{6})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.color.rgb-value.css.postcss\\\"},\\\"single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.css.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted-interpolation\\\"}]},\\\"unit\\\":{\\\"match\\\":\\\"(?<=[}\\\\\\\\d])(ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw|%)\\\",\\\"name\\\":\\\"keyword.other.unit.css.postcss\\\"},\\\"variable\\\":{\\\"match\\\":\\\"\\\\\\\\$[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"variable.parameter.postcss\\\"},\\\"variable-root-css\\\":{\\\"match\\\":\\\"(?<!&)--[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"variable.parameter.postcss\\\"}},\\\"scopeName\\\":\\\"source.css.postcss\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TSX\\\",\\\"name\\\":\\\"tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[!(+,:=>?\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"name\\\":\\\"meta.array.literal.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async)\\\\\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\"},{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async))?((?<![]!)}])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.tsx\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.tsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.tsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.tsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;}\\\\\\\\s]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(extends|implements)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"name\\\":\\\"comment.block.documentation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"name\\\":\\\"comment.block.tsx\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.tsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.tsx\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.tsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.tsx\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.tsx\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.tsx\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.block.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.tsx\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.readwrite.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.tsx\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.tsx\\\"}},\\\"name\\\":\\\"meta.tag.tsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.tsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.tsx\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.tsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.enum.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.tsx\\\"}},\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+])))\\\",\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:\\\\\\\\s*(=)|\\\\\\\\s+(default)(?=\\\\\\\\s+))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.tsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.default.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[*{])|((?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\\\\\s]))(?!\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[,:]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.tsx\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.tsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.tsx\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[]),:;}]))\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.tsx\\\"}},\\\"end\\\":\\\"(?=^|[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.tsx\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.tsx\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.tsx\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.tsx\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.tsx\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.tsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.tsx\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.tsx\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$|^((?!\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=]|$))))|(?<=})\\\",\\\"name\\\":\\\"meta.field.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.tsx entity.name.function.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.tsx variable.object.property.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*))await)?\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.tsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.tsx punctuation.accessor.optional.tsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.tsx keyword.operator.definiteassignment.tsx\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tsx\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.tsx entity.name.function.tsx\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|(?<=})\\\",\\\"name\\\":\\\"meta.function.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.tsx entity.name.function.tsx\\\"}},\\\"end\\\":\\\"(?=;)|(?<=})\\\",\\\"name\\\":\\\"meta.function.expression.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.tsx entity.name.function.tsx\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.tsx\\\"}},\\\"name\\\":\\\"meta.parameters.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.tsx\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.tsx\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsx\\\"}},\\\"name\\\":\\\"string.regexp.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"}},\\\"end\\\":\\\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.tsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"name\\\":\\\"meta.import-equals.external.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.tsx\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.block.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.tsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.tsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.tsx\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:\\\\\\\\b(default)|(\\\\\\\\*)|\\\\\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.tsx\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.tsx\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"end\\\":\\\"(])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([-+])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.tsx\\\"}},\\\"end\\\":\\\"(])([-+])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.tsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^]]+(])(?=\\\\\\\\{@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^*|}\\\\\\\\s]|\\\\\\\\*/)+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^*@{|}\\\\\\\\s]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.tsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.interface.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.tsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes-in-expression\\\"},{\\\"include\\\":\\\"#jsx-tag-in-expression\\\"}]},\\\"jsx-children\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"},{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.tsx\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.tsx\\\"}]},\\\"jsx-evaluated-code\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"jsx-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"}},\\\"name\\\":\\\"string.quoted.double.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"}},\\\"name\\\":\\\"string.quoted.single.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-tag\\\":{\\\"begin\\\":\\\"(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"end\\\":\\\"(/>)|(</)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"name\\\":\\\"meta.tag.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"}},\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.tsx\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]}]},\\\"jsx-tag-attribute-assignment\\\":{\\\"match\\\":\\\"=(?=\\\\\\\\s*(?:[\\\\\\\"'{]|/\\\\\\\\*|//|\\\\\\\\n))\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},\\\"jsx-tag-attribute-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(:))?([$_[:alpha:]][-$_[:alnum:]]*)(?=[=\\\\\\\\s]|/?>|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.tsx\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[(*,:=>?\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.tsx\\\",\\\"end\\\":\\\"(</)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.tsx\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[(*,:=>?\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.tsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.tsx entity.name.function.tsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[\\\\\\\"$'_`[:alpha:]])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.tsx\\\"}},\\\"end\\\":\\\"(?<=})|(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.namespace.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"name\\\":\\\"new.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.tsx\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.tsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.tsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.tsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.tsx\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.tsx\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.tsx\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.tsx\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.tsx meta.object-literal.key.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.tsx meta.object-literal.key.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(,<}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.tsx meta.object-literal.key.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[]\\\\\\\"'`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.tsx\\\"}},\\\"match\\\":\\\"(?![$_[:alpha:]])(\\\\\\\\d+)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.tsx\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.tsx\\\"}},\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.tsx punctuation.separator.key-value.tsx\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?=[),])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.tsx meta.return.type.arrow.tsx keyword.operator.type.annotation.tsx\\\"}},\\\"contentName\\\":\\\"meta.arrow.tsx meta.return.type.arrow.tsx\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.tsx\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.tsx\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.tsx\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.tsx\\\"}},\\\"name\\\":\\\"string.quoted.double.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.tsx\\\"}},\\\"name\\\":\\\"string.quoted.single.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[!(+,:=?\\\\\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsx\\\"}},\\\"name\\\":\\\"string.regexp.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![]$)_[:alnum:]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\\\\\s*)/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.tsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tsx\\\"}},\\\"name\\\":\\\"string.regexp.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[1-9]\\\\\\\\d*|k<([$A-Z_a-z][$\\\\\\\\w]*)>)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|\\\\\\\\?<([$A-Z_a-z][$\\\\\\\\w]*)>)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?=$|^|[,;{}]|//)\\\",\\\"name\\\":\\\"meta.return.type.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[,;{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\&:|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.tsx\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.tsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.tsx\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.tsx\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.tsx\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[\\\\\\\"'`])\\\",\\\"name\\\":\\\"keyword.operator.expression.import.tsx\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.tsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"switch-statement.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"name\\\":\\\"switch-expression.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"switch-block.expr.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.tsx\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.tsx punctuation.definition.block.tsx\\\"}},\\\"contentName\\\":\\\"meta.block.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.tsx punctuation.definition.block.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.tsx punctuation.definition.section.case-statement.tsx\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.begin.tsx\\\"}},\\\"contentName\\\":\\\"string.template.tsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.tsx\\\"}},\\\"name\\\":\\\"meta.template.expression.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.begin.tsx\\\"}},\\\"contentName\\\":\\\"string.template.tsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.tsx punctuation.definition.string.template.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.tsx\\\"}},\\\"name\\\":\\\"meta.template.expression.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.tsx\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.tsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type.declaration.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.tsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?!\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.tsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.tsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.tsx\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.tsx storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.tsx keyword.control.new.tsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.tsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])(?=[]),:;=>?{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.tsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])((?=[]),:;=>?{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.tsx\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.tsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.tsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.tsx punctuation.definition.typeparameters.end.tsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.tsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.tsx\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.tsx\\\"}},\\\"name\\\":\\\"meta.object.type.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.tsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.tsx\\\"},{\\\"match\\\":\\\"([:?])\\\",\\\"name\\\":\\\"keyword.operator.ternary.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.tsx\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.tsx\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.tsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.tsx\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.tsx\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.tsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.tsx\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.tsx variable.language.this.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.tsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.tsx\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.tsx\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.tsx\\\"}},\\\"name\\\":\\\"meta.type.tuple.tsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.tsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.tsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.tsx\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=>?{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.tsx\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.tsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.tsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\\\\\s+|[^$._[:alnum:]]await\\\\\\\\s+)using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.tsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.tsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.tsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=//))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.tsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx entity.name.function.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx entity.name.function.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.constant.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.tsx variable.other.readwrite.tsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.tsx\\\"}},\\\"end\\\":\\\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![-\\\\\\\\&*+/|])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.tsx\\\"}\"))\n\nexport default [\nlang\n]\n","import json from './json.mjs'\nimport javascript from './javascript.mjs'\nimport typescript from './typescript.mjs'\nimport css from './css.mjs'\nimport postcss from './postcss.mjs'\nimport tsx from './tsx.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Astro\\\",\\\"fileTypes\\\":[\\\"astro\\\"],\\\"injections\\\":{\\\"L:(meta.script.astro) (meta.lang.js | meta.lang.javascript | meta.lang.partytown | meta.lang.node) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"L:(meta.script.astro) (meta.lang.json) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}]}]},\\\"L:(meta.script.astro) (meta.lang.ts | meta.lang.typescript) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},\\\"L:meta.script.astro - meta.lang - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"L:meta.style.astro - meta.lang - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},\\\"L:meta.style.astro meta.lang.css - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},\\\"L:meta.style.astro meta.lang.less - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.less\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}]}]},\\\"L:meta.style.astro meta.lang.postcss - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.postcss\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.postcss\\\"}]}]},\\\"L:meta.style.astro meta.lang.sass - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.sass\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sass\\\"}]}]},\\\"L:meta.style.astro meta.lang.scss - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.scss\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]}]},\\\"L:meta.style.astro meta.lang.stylus - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.stylus\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.stylus\\\"}]}]}},\\\"name\\\":\\\"astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#scope\\\"},{\\\"include\\\":\\\"#frontmatter\\\"},{\\\"include\\\":\\\"#text\\\"}],\\\"repository\\\":{\\\"attribute-literal\\\":{\\\"begin\\\":\\\"(`)\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"name\\\":\\\"string.template.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#template-substitution-element\\\"},{\\\"include\\\":\\\"source.tsx#string-character-escape\\\"}]},\\\"attributes\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-events\\\"},{\\\"include\\\":\\\"#attributes-keyvalue\\\"},{\\\"include\\\":\\\"#attributes-interpolated\\\"}]},\\\"attributes-events\\\":{\\\"begin\\\":\\\"(on(s(croll|t(orage|alled)|u(spend|bmit)|e(curitypolicyviolation|ek(ing|ed)|lect))|hashchange|c(hange|o(ntextmenu|py)|u(t|echange)|l(ick|ose)|an(cel|play(through)?))|t(imeupdate|oggle)|in(put|valid)|o((?:n|ff)line)|d(urationchange|r(op|ag(start|over|e(n(ter|d)|xit)|leave)?)|blclick)|un(handledrejection|load)|p(opstate|lay(ing)?|a(ste|use|ge(show|hide))|rogress)|e(nded|rror|mptied)|volumechange|key(down|up|press)|focus|w(heel|aiting)|l(oad(start|e(nd|d((?:|meta)data)))?|anguagechange)|a(uxclick|fterprint|bort)|r(e(s(ize|et)|jectionhandled)|atechange)|m(ouse(o(ut|ver)|down|up|enter|leave|move)|essage(error)?)|b(efore(unload|print)|lur)))(?![-:\\\\\\\\\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".*\\\",\\\"name\\\":\\\"entity.other.attribute-name.astro\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.astro\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.astro\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#attribute-literal\\\"},{\\\"begin\\\":\\\"(?=[^/<=>`\\\\\\\\s]|/(?!>))\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.embedded.line.js\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.js\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"(([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+)\\\",\\\"name\\\":\\\"string.unquoted.astro\\\"},{\\\"begin\\\":\\\"(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n\\\\\\\"/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=\\\\\\\")|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]},{\\\"begin\\\":\\\"(')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}},\\\"match\\\":\\\"([^\\\\\\\\n'/]|/(?![*/]))+\\\"},{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.js\\\"}},\\\"end\\\":\\\"(?=')|\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.js\\\"}},\\\"name\\\":\\\"comment.block.js\\\"}]}]}]}]},\\\"attributes-interpolated\\\":{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(\\\\\\\\{)\\\",\\\"contentName\\\":\\\"meta.embedded.expression.astro source.tsx\\\",\\\"end\\\":\\\"(})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}]},\\\"attributes-keyvalue\\\":{\\\"begin\\\":\\\"([$@_[:alpha:]][-$.:_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".*\\\",\\\"name\\\":\\\"entity.other.attribute-name.astro\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.astro\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.astro\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-value\\\"}]}]},\\\"attributes-value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.astro\\\"},{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.astro\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.astro\\\"}},\\\"name\\\":\\\"string.quoted.astro\\\"},{\\\"include\\\":\\\"#attribute-literal\\\"}]},\\\"comments\\\":{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.astro\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.astro\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G-?>|<!--(?!>)|<!-(?=-->)|--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.astro\\\"}]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.astro\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)#[0-9]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.astro\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.astro\\\"}},\\\"match\\\":\\\"(&)#[Xx]\\\\\\\\h+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.astro\\\"},{\\\"match\\\":\\\"&(?=[0-9A-Za-z]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.astro\\\"}]},\\\"frontmatter\\\":{\\\"begin\\\":\\\"\\\\\\\\A(-{3})\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(^|\\\\\\\\G)(-{3})|\\\\\\\\.{3}\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"comment\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.astro\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.astro source.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.astro\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#object-literal\\\"}]},{\\\"include\\\":\\\"source.tsx\\\"}]}]},\\\"scope\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#tags\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-raw\\\"},{\\\"include\\\":\\\"#tags-lang\\\"},{\\\"include\\\":\\\"#tags-void\\\"},{\\\"include\\\":\\\"#tags-general-end\\\"},{\\\"include\\\":\\\"#tags-general-start\\\"}]},\\\"tags-end-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.end.astro\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.tag.start.astro punctuation.definition.tag.end.astro\\\"}},\\\"match\\\":\\\"(</)(.*?)\\\\\\\\s*(>)|(/>)\\\"},\\\"tags-general-end\\\":{\\\"begin\\\":\\\"(</)([^/>\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.astro punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.astro\\\"},\\\"tags-general-start\\\":{\\\"begin\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.start.astro punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-attributes\\\"}]},\\\"tags-lang\\\":{\\\"begin\\\":\\\"<(s(?:cript|tyle))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"</\\\\\\\\1\\\\\\\\s*>|/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-end-node\\\"}]}},\\\"name\\\":\\\"meta.scope.tag.$1.astro meta.$1.astro\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(?:text/)?(application/ld\\\\\\\\+json)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=</|/>)\\\",\\\"name\\\":\\\"meta.lang.json.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(module)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=</|/>)\\\",\\\"name\\\":\\\"meta.lang.javascript.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(?:text/|application/)?([+/\\\\\\\\w]+)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=</|/>)\\\",\\\"name\\\":\\\"meta.lang.$3.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},\\\"tags-lang-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.astro\\\"}},\\\"name\\\":\\\"meta.tag.start.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"support.class.component.astro\\\"},{\\\"match\\\":\\\"[a-z][0-:\\\\\\\\w]*-[-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"meta.tag.custom.astro entity.name.tag.astro\\\"},{\\\"match\\\":\\\"[a-z][-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.tag.astro\\\"}]},\\\"tags-raw\\\":{\\\"begin\\\":\\\"<([^!/<>?\\\\\\\\s]+)(?=[^>]+is:raw).*?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"contentName\\\":\\\"source.unknown\\\",\\\"end\\\":\\\"</\\\\\\\\1\\\\\\\\s*>|/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-end-node\\\"}]}},\\\"name\\\":\\\"meta.scope.tag.$1.astro meta.raw.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},\\\"tags-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.start.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-start-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"match\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"name\\\":\\\"meta.tag.start.astro\\\"},\\\"tags-void\\\":{\\\"begin\\\":\\\"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.astro\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.astro\\\"}},\\\"name\\\":\\\"meta.tag.void.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"text\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=^|---|[>}])\\\",\\\"end\\\":\\\"(?=[<{]|$)\\\",\\\"name\\\":\\\"text.astro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]}]}},\\\"scopeName\\\":\\\"source.astro\\\",\\\"embeddedLangs\\\":[\\\"json\\\",\\\"javascript\\\",\\\"typescript\\\",\\\"css\\\",\\\"postcss\\\",\\\"tsx\\\"],\\\"embeddedLangsLazy\\\":[\\\"sass\\\",\\\"scss\\\",\\\"stylus\\\",\\\"less\\\"]}\"))\n\nexport default [\n...json,\n...javascript,\n...typescript,\n...css,\n...postcss,\n...tsx,\nlang\n]\n","import html from './html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"HTML (Derivative)\\\",\\\"injections\\\":{\\\"R:text.html - (comment.block, text.html meta.embedded, meta.tag.*.*.html, meta.tag.*.*.*.html, meta.tag.*.*.*.*.html)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"html-derivative\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#core-minus-invalid\\\"},{\\\"begin\\\":\\\"(</?)(\\\\\\\\w[^<>\\\\\\\\s]*)(?<!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.unrecognized.html.derivative\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic#attribute\\\"}]}],\\\"scopeName\\\":\\\"text.html.derivative\\\",\\\"embeddedLangs\\\":[\\\"html\\\"]}\"))\n\nexport default [\n...html,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Java\\\",\\\"name\\\":\\\"java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(package)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.package.java\\\"}},\\\"contentName\\\":\\\"storage.modifier.package.java\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.java\\\"}},\\\"name\\\":\\\"meta.package.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)\\\\\\\\s*\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\s*;)\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.java\\\"},{\\\"match\\\":\\\"(?<!_)_(?=\\\\\\\\s*([.;]))|\\\\\\\\b\\\\\\\\d+|-+\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.java\\\"},{\\\"match\\\":\\\"[A-Z]+\\\",\\\"name\\\":\\\"invalid.deprecated.package_name_not_lowercase.java\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.java\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.java\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(import)\\\\\\\\b\\\\\\\\s*\\\\\\\\b(static)?\\\\\\\\b\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.import.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"}},\\\"contentName\\\":\\\"storage.modifier.import.java\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.java\\\"}},\\\"name\\\":\\\"meta.import.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\.)\\\\\\\\s*\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\s*;)\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.java\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\s*\\\\\\\\*\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.java\\\"},{\\\"match\\\":\\\"(?<!_)_(?=\\\\\\\\s*([.;]))|\\\\\\\\b\\\\\\\\d+|-+\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.java\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)(abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|non-sealed|package|permits|private|protected|public|return|sealed|short|static|strictfp|super|switch|syncronized|this|throws??|transient|try|void|volatile|while|yield|true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.character_not_allowed_here.java\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.java\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.wildcard.java\\\"}]},{\\\"include\\\":\\\"#comments-javadoc\\\"},{\\\"include\\\":\\\"#code\\\"},{\\\"include\\\":\\\"#module\\\"}],\\\"repository\\\":{\\\"all-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#primitive-arrays\\\"},{\\\"include\\\":\\\"#primitive-types\\\"},{\\\"include\\\":\\\"#object-types\\\"}]},\\\"annotations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((@)\\\\\\\\s*([^(\\\\\\\\s]+))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.annotation.java\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.annotation.java\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.annotation-arguments.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.annotation-arguments.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.declaration.annotation.java\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.key.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.java\\\"}},\\\"match\\\":\\\"(\\\\\\\\w*)\\\\\\\\s*(=)\\\"},{\\\"include\\\":\\\"#code\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.annotation.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.annotation.java\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.annotation.java\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.annotation.java\\\"}},\\\"match\\\":\\\"(@)(interface)\\\\\\\\s+(\\\\\\\\w*)|((@)\\\\\\\\s*(\\\\\\\\w+))\\\",\\\"name\\\":\\\"meta.declaration.annotation.java\\\"}]},\\\"anonymous-block-and-instance-initializer\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},\\\"anonymous-classes-and-new\\\":{\\\"begin\\\":\\\"\\\\\\\\bnew\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.new.java\\\"}},\\\"end\\\":\\\"(?=[])-.:;?}]|/(?![*/])|[!%\\\\\\\\&=^|])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#all-types\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\",\\\"end\\\":\\\"(?=[])-.:;?}]|/(?![*/])|[!%\\\\\\\\&=^|])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.inner-class.begin.bracket.curly.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.inner-class.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.inner-class.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-body\\\"}]}]},{\\\"begin\\\":\\\"(?<=])\\\",\\\"end\\\":\\\"(?=[])-.:;?}]|/(?![*/])|[!%\\\\\\\\&=^|])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array-initializer.begin.bracket.curly.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array-initializer.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.array-initializer.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},{\\\"include\\\":\\\"#parens\\\"}]},\\\"assertions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(assert)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.assert.java\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.declaration.assertion.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.assert.expression-separator.java\\\"},{\\\"include\\\":\\\"#code\\\"}]}]},\\\"class\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\w?[-\\\\\\\\w\\\\\\\\s]*\\\\\\\\b(?:class|(?<!@)interface|enum)\\\\\\\\s+[$\\\\\\\\w]+)\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.class.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.class.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#generics\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.java\\\"}},\\\"match\\\":\\\"(class|(?<!@)interface|enum)\\\\\\\\s+([$\\\\\\\\w]+)\\\",\\\"name\\\":\\\"meta.class.identifier.java\\\"},{\\\"begin\\\":\\\"extends\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.extends.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{|implements|permits)\\\",\\\"name\\\":\\\"meta.definition.class.inherited.classes.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"(implements)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*extends|permits|\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.definition.class.implemented.interfaces.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"(permits)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.permits.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*extends|implements|\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.definition.class.permits.classes.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.class.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.class.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-body\\\"}]}]},\\\"class-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments-javadoc\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#enums\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#generics\\\"},{\\\"include\\\":\\\"#static-initializer\\\"},{\\\"include\\\":\\\"#class-fields-and-methods\\\"},{\\\"include\\\":\\\"#annotations\\\"},{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#member-variables\\\"},{\\\"include\\\":\\\"#code\\\"}]},\\\"class-fields-and-methods\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?==)\\\",\\\"end\\\":\\\"(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"include\\\":\\\"#methods\\\"}]},\\\"code\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#annotations\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#enums\\\"},{\\\"include\\\":\\\"#class\\\"},{\\\"include\\\":\\\"#record\\\"},{\\\"include\\\":\\\"#anonymous-block-and-instance-initializer\\\"},{\\\"include\\\":\\\"#try-catch-finally\\\"},{\\\"include\\\":\\\"#assertions\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#constants-and-special-vars\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#anonymous-classes-and-new\\\"},{\\\"include\\\":\\\"#lambda-expression\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#method-call\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#variables-local\\\"},{\\\"include\\\":\\\"#objects\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#all-types\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.java\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.period.java\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.java\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.java\\\"}},\\\"match\\\":\\\"/\\\\\\\\*\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.empty.java\\\"},{\\\"include\\\":\\\"#comments-inline\\\"}]},\\\"comments-inline\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.java\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.java\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.java\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.java\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-slash.java\\\"}]}]},\\\"comments-javadoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(/\\\\\\\\*\\\\\\\\*)(?!/)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.java\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.java\\\"}},\\\"name\\\":\\\"comment.block.javadoc.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@(author|deprecated|return|see|serial|since|version)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.documentation.javadoc.java\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.documentation.javadoc.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.java\\\"}},\\\"match\\\":\\\"(@param)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.documentation.javadoc.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.java\\\"}},\\\"match\\\":\\\"(@(?:exception|throws))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.documentation.javadoc.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.java\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.java\\\"}},\\\"match\\\":\\\"\\\\\\\\{(@link)\\\\\\\\s+(\\\\\\\\S+)?#([$\\\\\\\\w]+\\\\\\\\s*\\\\\\\\([^()]*\\\\\\\\)).*?}\\\"}]}]},\\\"constants-and-special-vars\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.java\\\"},{\\\"match\\\":\\\"\\\\\\\\bthis\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.this.java\\\"},{\\\"match\\\":\\\"\\\\\\\\bsuper\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.java\\\"}]},\\\"enums\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*([\\\\\\\\w\\\\\\\\s]*)(enum)\\\\\\\\s+(\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.enum.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.enum.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.enum.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(extends)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.extends.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{|\\\\\\\\bimplements\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.definition.class.inherited.classes.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(implements)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{|\\\\\\\\bextends\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.definition.class.implemented.interfaces.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.enum.begin.bracket.curly.java\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=[;}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments-javadoc\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.enum.java\\\"}},\\\"end\\\":\\\"(,)|(?=[;}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments-javadoc\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.round.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.curly.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.curly.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#class-body\\\"}]}]}]},{\\\"include\\\":\\\"#class-body\\\"}]}]},\\\"function-call\\\":{\\\"begin\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.function-call.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},\\\"generics\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.angle.java\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.angle.java\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(extends|super)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.$1.java\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.java\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\.)([$A-Z_a-z][$0-9A-Z_a-z]*)(?=\\\\\\\\s*<)\\\"},{\\\"include\\\":\\\"#primitive-arrays\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][$0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"storage.type.generic.java\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"storage.type.generic.wildcard.java\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"punctuation.separator.types.java\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.java\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.period.java\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#generics\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bthrow\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.throw.java\\\"},{\\\"match\\\":\\\"[:?]\\\",\\\"name\\\":\\\"keyword.control.ternary.java\\\"},{\\\"match\\\":\\\"\\\\\\\\b(return|yield|break|case|continue|default|do|while|for|switch|if|else)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.java\\\"},{\\\"match\\\":\\\"\\\\\\\\b(instanceof)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.instanceof.java\\\"},{\\\"match\\\":\\\"(<<|>>>?|[\\\\\\\\^~])\\\",\\\"name\\\":\\\"keyword.operator.bitwise.java\\\"},{\\\"match\\\":\\\"(([\\\\\\\\&^|]|<<|>>>?)=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.bitwise.java\\\"},{\\\"match\\\":\\\"(===?|!=|<=|>=|<>|[<>])\\\",\\\"name\\\":\\\"keyword.operator.comparison.java\\\"},{\\\"match\\\":\\\"([-%*+/]=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.arithmetic.java\\\"},{\\\"match\\\":\\\"(=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.java\\\"},{\\\"match\\\":\\\"(--|\\\\\\\\+\\\\\\\\+)\\\",\\\"name\\\":\\\"keyword.operator.increment-decrement.java\\\"},{\\\"match\\\":\\\"([-%*+/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.java\\\"},{\\\"match\\\":\\\"(!|&&|\\\\\\\\|\\\\\\\\|)\\\",\\\"name\\\":\\\"keyword.operator.logical.java\\\"},{\\\"match\\\":\\\"([\\\\\\\\&|])\\\",\\\"name\\\":\\\"keyword.operator.bitwise.java\\\"},{\\\"match\\\":\\\"\\\\\\\\b(const|goto)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.reserved.java\\\"}]},\\\"lambda-expression\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"storage.type.function.arrow.java\\\"}]},\\\"member-variables\\\":{\\\"begin\\\":\\\"(?=private|protected|public|native|synchronized|abstract|threadsafe|transient|static|final)\\\",\\\"end\\\":\\\"(?=[;=])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#primitive-arrays\\\"},{\\\"include\\\":\\\"#object-types\\\"}]},\\\"method-call\\\":{\\\"begin\\\":\\\"(\\\\\\\\.)\\\\\\\\s*([$A-Z_a-z][$\\\\\\\\w]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.java\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.method-call.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},\\\"methods\\\":{\\\"begin\\\":\\\"(?!new)(?=[<\\\\\\\\w].*\\\\\\\\s+)(?=([^/=]|/(?!/))+\\\\\\\\()\\\",\\\"end\\\":\\\"(})|(?=;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.method.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.method.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"begin\\\":\\\"(\\\\\\\\w+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.method.identifier.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"include\\\":\\\"#generics\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\w.*\\\\\\\\s+\\\\\\\\w+\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?=\\\\\\\\s+\\\\\\\\w+\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.method.return-type.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#all-types\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"include\\\":\\\"#throws\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.method.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.method.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"include\\\":\\\"#comments\\\"}]},\\\"module\\\":{\\\"begin\\\":\\\"((open)\\\\\\\\s)?(module)\\\\\\\\s+(\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.module.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.module.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.module.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.module.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#comments-javadoc\\\"},{\\\"match\\\":\\\"\\\\\\\\b(requires|transitive|exports|opens|to|uses|provides|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.module.java\\\"}]}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Xx])((?<!\\\\\\\\.)\\\\\\\\h([_\\\\\\\\h]*\\\\\\\\h)?[Ll]?(?!\\\\\\\\.)|(\\\\\\\\h([_\\\\\\\\h]*\\\\\\\\h)?\\\\\\\\.?|(\\\\\\\\h([_\\\\\\\\h]*\\\\\\\\h)?)?\\\\\\\\.\\\\\\\\h([_\\\\\\\\h]*\\\\\\\\h)?)[Pp][-+]?[0-9]([0-9_]*[0-9])?[DFdf]?)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.java\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Bb])[01]([01_]*[01])?[Ll]?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.java\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[0-7]([0-7_]*[0-7])?[Ll]?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.java\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\$)(\\\\\\\\b[0-9]([0-9_]*[0-9])?\\\\\\\\.\\\\\\\\B(?!\\\\\\\\.)|\\\\\\\\b[0-9]([0-9_]*[0-9])?\\\\\\\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\\\\\\\b|\\\\\\\\b[0-9]([0-9_]*[0-9])?\\\\\\\\.([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\\\\\\\b|\\\\\\\\b[0-9]([0-9_]*[0-9])?\\\\\\\\.([0-9]([0-9_]*[0-9])?)([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\\\\\\\b|(?<!\\\\\\\\.)\\\\\\\\B\\\\\\\\.[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]?\\\\\\\\b|\\\\\\\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)[DFdf]?\\\\\\\\b|\\\\\\\\b[0-9]([0-9_]*[0-9])?([Ee][-+]?[0-9]([0-9_]*[0-9])?)?[DFdf]\\\\\\\\b|\\\\\\\\b(0|[1-9]([0-9_]*[0-9])?)(?!\\\\\\\\.)[Ll]?\\\\\\\\b)(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.decimal.java\\\"}]},\\\"object-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#generics\\\"},{\\\"begin\\\":\\\"\\\\\\\\b((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)*)([A-Z_]\\\\\\\\w*)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"storage.type.java\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.period.java\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.object.array.java\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\s*\\\\\\\\[)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#parens\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"storage.type.java\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.period.java\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)*[A-Z_]\\\\\\\\w*)\\\\\\\\s*(?=<)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"storage.type.java\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.period.java\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*\\\\\\\\.\\\\\\\\s*)*[A-Z_]\\\\\\\\w*)\\\\\\\\b((?=\\\\\\\\s*[\\\\\\\\n$A-Z_a-z])|(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\.\\\\\\\\.))\\\"}]},\\\"object-types-inherited\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#generics\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.java\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:[A-Z]\\\\\\\\w*\\\\\\\\s*(\\\\\\\\.)\\\\\\\\s*)*[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.inherited-class.java\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.java\\\"}]},\\\"objects\\\":{\\\"match\\\":\\\"(?<![$\\\\\\\\w])[$A-Z_a-z][$\\\\\\\\w]*(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$\\\\\\\\w]+)\\\",\\\"name\\\":\\\"variable.other.object.java\\\"},\\\"parameters\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bfinal\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.java\\\"},{\\\"include\\\":\\\"#annotations\\\"},{\\\"include\\\":\\\"#all-types\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"variable.parameter.java\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.java\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.definition.parameters.varargs.java\\\"}]},\\\"parens\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.round.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.square.java\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.square.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.curly.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.bracket.curly.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},\\\"primitive-arrays\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(void|boolean|byte|char|short|int|float|long|double)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.primitive.array.java\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\s*\\\\\\\\[)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#parens\\\"}]}]},\\\"primitive-types\\\":{\\\"match\\\":\\\"\\\\\\\\b(void|boolean|byte|char|short|int|float|long|double)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.primitive.java\\\"},\\\"properties\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.java\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*(new)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.property.java\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*([$A-Z_a-z][$\\\\\\\\w]*)(?=\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$A-Z_a-z][$\\\\\\\\w]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.property.java\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*([$A-Z_a-z][$\\\\\\\\w]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.identifier.java\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)\\\\\\\\s*([0-9][$\\\\\\\\w]*)\\\"}]},\\\"record\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\w?[\\\\\\\\w\\\\\\\\s]*\\\\\\\\brecord\\\\\\\\s+[$\\\\\\\\w]+)\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.class.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.record.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"include\\\":\\\"#generics\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(record)\\\\\\\\s+([$\\\\\\\\w]+)(<[$\\\\\\\\w]+>)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.record.java\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#generics\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.record.identifier.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"(implements)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.definition.class.implemented.interfaces.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-types-inherited\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"include\\\":\\\"#record-body\\\"}]},\\\"record-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.class.begin.bracket.curly.java\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.record.body.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#record-constructor\\\"},{\\\"include\\\":\\\"#class-body\\\"}]},\\\"record-constructor\\\":{\\\"begin\\\":\\\"(?!new)(?=[<\\\\\\\\w].*\\\\\\\\s+)(?=([^(/=]|/(?!/))+(?=\\\\\\\\{))\\\",\\\"end\\\":\\\"(})|(?=;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.method.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.method.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"begin\\\":\\\"(\\\\\\\\w+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.java\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.method.identifier.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.method.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.method.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},\\\"static-initializer\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#anonymous-block-and-instance-initializer\\\"},{\\\"match\\\":\\\"static\\\",\\\"name\\\":\\\"storage.modifier.java\\\"}]},\\\"storage-modifiers\\\":{\\\"match\\\":\\\"\\\\\\\\b(public|private|protected|static|final|native|synchronized|abstract|threadsafe|transient|volatile|default|strictfp|sealed|non-sealed)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.java\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.java\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.java\\\"}},\\\"name\\\":\\\"string.quoted.triple.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\\\\\\\\"\\\\\\\"\\\\\\\")(?!\\\\\\\")|(\\\\\\\\\\\\\\\\.)\\\",\\\"name\\\":\\\"constant.character.escape.java\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.java\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.java\\\"}},\\\"name\\\":\\\"string.quoted.double.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.java\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.java\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.java\\\"}},\\\"name\\\":\\\"string.quoted.single.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.java\\\"}]}]},\\\"throws\\\":{\\\"begin\\\":\\\"throws\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.java\\\"}},\\\"end\\\":\\\"(?=[;{])\\\",\\\"name\\\":\\\"meta.throwables.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.java\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][$.0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"storage.type.java\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"try-catch-finally\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\btry\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.try.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.try.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.try.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.try.resources.begin.bracket.round.java\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.try.resources.end.bracket.round.java\\\"}},\\\"name\\\":\\\"meta.try.resources.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.try.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.try.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(catch)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.catch.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.catch.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.catch.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.java\\\"}},\\\"contentName\\\":\\\"meta.catch.parameters.java\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#storage-modifiers\\\"},{\\\"begin\\\":\\\"[$A-Z_a-z][$.0-9A-Z_a-z]*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.java\\\"}},\\\"end\\\":\\\"(\\\\\\\\|)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.catch.separator.java\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.parameter.java\\\"}},\\\"match\\\":\\\"\\\\\\\\w+\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.catch.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.catch.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\bfinally\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.finally.java\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.finally.end.bracket.curly.java\\\"}},\\\"name\\\":\\\"meta.finally.java\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.finally.begin.bracket.curly.java\\\"}},\\\"contentName\\\":\\\"meta.finally.body.java\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#code\\\"}]}]}]},\\\"variables\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b((void|boolean|byte|char|short|int|float|long|double)|(?>(\\\\\\\\w+\\\\\\\\.)*[A-Z_]+\\\\\\\\w*))\\\\\\\\b\\\\\\\\s*(<[],.<>?\\\\\\\\[\\\\\\\\w\\\\\\\\s]*>)?\\\\\\\\s*((\\\\\\\\[])*)?\\\\\\\\s+[$A-Z_a-z][$\\\\\\\\w]*([]$,\\\\\\\\[\\\\\\\\w][],\\\\\\\\[\\\\\\\\w\\\\\\\\s]*)?\\\\\\\\s*([:;=]))\\\",\\\"end\\\":\\\"(?=[:;=])\\\",\\\"name\\\":\\\"meta.definition.variable.java\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.definition.java\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)(?=\\\\\\\\s*(\\\\\\\\[])*\\\\\\\\s*([,:;=]))\\\"},{\\\"include\\\":\\\"#all-types\\\"},{\\\"include\\\":\\\"#code\\\"}]},\\\"variables-local\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\b(var)\\\\\\\\b\\\\\\\\s+[$A-Z_a-z][$\\\\\\\\w]*\\\\\\\\s*([:;=]))\\\",\\\"end\\\":\\\"(?=[:;=])\\\",\\\"name\\\":\\\"meta.definition.variable.local.java\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bvar\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.local.java\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.definition.java\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)(?=\\\\\\\\s*(\\\\\\\\[])*\\\\\\\\s*([:;=]))\\\"},{\\\"include\\\":\\\"#code\\\"}]}},\\\"scopeName\\\":\\\"source.java\\\"}\"))\n\nexport default [\nlang\n]\n","import java from './java.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"XML\\\",\\\"name\\\":\\\"xml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<\\\\\\\\?)\\\\\\\\s*([-0-9A-Z_a-z]+)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.preprocessor.xml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\" ([-A-Za-z]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.xml\\\"},{\\\"include\\\":\\\"#doublequotedString\\\"},{\\\"include\\\":\\\"#singlequotedString\\\"}]},{\\\"begin\\\":\\\"(<!)(DOCTYPE)\\\\\\\\s+([:A-Z_a-z][-.0-:A-Z_a-z]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.doctype.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.language.documentroot.xml\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(>)\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#internalSubset\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(<)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(?=(\\\\\\\\s[^>]*)?></\\\\\\\\2>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"}},\\\"end\\\":\\\"(>)(</)((?:([-0-9A-Z_a-z]+)(:))?([-0-:A-Z_a-z]+))(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"6\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"}},\\\"name\\\":\\\"meta.tag.no-content.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tagStuff\\\"}]},{\\\"begin\\\":\\\"(</?)(?:([-.\\\\\\\\w]+)((:)))?([-.:\\\\\\\\w]+)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.localname.xml\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"name\\\":\\\"meta.tag.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tagStuff\\\"}]},{\\\"include\\\":\\\"#entity\\\"},{\\\"include\\\":\\\"#bare-ampersand\\\"},{\\\"begin\\\":\\\"<%@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.xml\\\"}},\\\"end\\\":\\\"%>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.xml\\\"}},\\\"name\\\":\\\"source.java-props.embedded.xml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"page|include|taglib\\\",\\\"name\\\":\\\"keyword.other.page-props.xml\\\"}]},{\\\"begin\\\":\\\"<%[!=]?(?!--)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.xml\\\"}},\\\"end\\\":\\\"(?!--)%>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.xml\\\"}},\\\"name\\\":\\\"source.java.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}]},{\\\"begin\\\":\\\"<!\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"]]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.unquoted.cdata.xml\\\"}],\\\"repository\\\":{\\\"EntityDecl\\\":{\\\"begin\\\":\\\"(<!)(ENTITY)\\\\\\\\s+(%\\\\\\\\s+)?([:A-Z_a-z][-.0-:A-Z_a-z]*)(\\\\\\\\s+(?:SYSTEM|PUBLIC)\\\\\\\\s+)?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.entity.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.language.entity.xml\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.entitytype.xml\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#doublequotedString\\\"},{\\\"include\\\":\\\"#singlequotedString\\\"}]},\\\"bare-ampersand\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.xml\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"<%--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.xml\\\"},\\\"end\\\":\\\"--%>\\\",\\\"name\\\":\\\"comment.block.xml\\\"}},{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.xml\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.xml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"--(?!>)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.xml\\\"}}}]}]},\\\"doublequotedString\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.quoted.double.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entity\\\"},{\\\"include\\\":\\\"#bare-ampersand\\\"}]},\\\"entity\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"}},\\\"match\\\":\\\"(&)([:A-Z_a-z][-.0-:A-Z_a-z]*|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.xml\\\"},\\\"internalSubset\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"}},\\\"end\\\":\\\"(])\\\",\\\"name\\\":\\\"meta.internalsubset.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#EntityDecl\\\"},{\\\"include\\\":\\\"#parameterEntity\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"parameterEntity\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.xml\\\"}},\\\"match\\\":\\\"(%)([:A-Z_a-z][-.0-:A-Z_a-z]*)(;)\\\",\\\"name\\\":\\\"constant.character.parameter-entity.xml\\\"},\\\"singlequotedString\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.xml\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.xml\\\"}},\\\"name\\\":\\\"string.quoted.single.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entity\\\"},{\\\"include\\\":\\\"#bare-ampersand\\\"}]},\\\"tagStuff\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.xml\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.xml\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.xml\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.localname.xml\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\s+)(?:([-.\\\\\\\\w]+)((:)))?([-.:\\\\\\\\w]+)\\\\\\\\s*=\\\"},{\\\"include\\\":\\\"#doublequotedString\\\"},{\\\"include\\\":\\\"#singlequotedString\\\"}]}},\\\"scopeName\\\":\\\"text.xml\\\",\\\"embeddedLangs\\\":[\\\"java\\\"]}\"))\n\nexport default [\n...java,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"SQL\\\",\\\"name\\\":\\\"sql\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"((?<!@)@)\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\",\\\"name\\\":\\\"text.variable\\\"},{\\\"match\\\":\\\"(\\\\\\\\[)[^]]*(])\\\",\\\"name\\\":\\\"text.bracketed\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.create.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.sql\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.sql\\\"}},\\\"match\\\":\\\"(?i:^\\\\\\\\s*(create(?:\\\\\\\\s+or\\\\\\\\s+replace)?)\\\\\\\\s+(aggregate|conversion|database|domain|function|group|(unique\\\\\\\\s+)?index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\\\\\s+)([\\\\\\\"'`]?)(\\\\\\\\w+)\\\\\\\\4\\\",\\\"name\\\":\\\"meta.create.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.create.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.sql\\\"}},\\\"match\\\":\\\"(?i:^\\\\\\\\s*(drop)\\\\\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|rule|schema|sequence|table|tablespace|trigger|type|user|view))\\\",\\\"name\\\":\\\"meta.drop.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.create.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.table.sql\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.sql\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.cascade.sql\\\"}},\\\"match\\\":\\\"(?i:\\\\\\\\s*(drop)\\\\\\\\s+(table)\\\\\\\\s+(\\\\\\\\w+)(\\\\\\\\s+cascade)?\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.drop.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.create.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.table.sql\\\"}},\\\"match\\\":\\\"(?i:^\\\\\\\\s*(alter)\\\\\\\\s+(aggregate|conversion|database|domain|function|group|index|language|operator class|operator|proc(edure)?|rule|schema|sequence|table|tablespace|trigger|type|user|view)\\\\\\\\s+)\\\",\\\"name\\\":\\\"meta.alter.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"12\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.sql\\\"},\\\"14\\\":{\\\"name\\\":\\\"constant.numeric.sql\\\"},\\\"15\\\":{\\\"name\\\":\\\"storage.type.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(bigint|bigserial|bit|boolean|box|bytea|cidr|circle|date|double\\\\\\\\sprecision|inet|int|integer|line|lseg|macaddr|money|oid|path|point|polygon|real|serial|smallint|sysdate|text)\\\\\\\\b|\\\\\\\\b(bit\\\\\\\\svarying|character\\\\\\\\s(?:varying)?|tinyint|var\\\\\\\\schar|float|interval)\\\\\\\\((\\\\\\\\d+)\\\\\\\\)|\\\\\\\\b(char|number|varchar\\\\\\\\d?)\\\\\\\\b(?:\\\\\\\\((\\\\\\\\d+)\\\\\\\\))?|\\\\\\\\b(numeric|decimal)\\\\\\\\b(?:\\\\\\\\((\\\\\\\\d+),(\\\\\\\\d+)\\\\\\\\))?|\\\\\\\\b(times?)\\\\\\\\b(?:\\\\\\\\((\\\\\\\\d+)\\\\\\\\))?(\\\\\\\\swith(?:out)?\\\\\\\\stime\\\\\\\\szone\\\\\\\\b)?|\\\\\\\\b(timestamp)(s|tz)?\\\\\\\\b(?:\\\\\\\\((\\\\\\\\d+)\\\\\\\\))?(\\\\\\\\s(with(?:|out))\\\\\\\\stime\\\\\\\\szone\\\\\\\\b)?\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b((?:primary|foreign)\\\\\\\\s+key|references|on\\\\\\\\s+(delete|update)(\\\\\\\\s+cascade)?|nocheck|check|constraint|collate|default)\\\\\\\\b)\\\",\\\"name\\\":\\\"storage.modifier.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\b\\\\\\\\d+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(select(\\\\\\\\s+(all|distinct))?|insert\\\\\\\\s+(ignore\\\\\\\\s+)?into|update|delete|from|set|where|group\\\\\\\\s+by|or|like|and|union(\\\\\\\\s+all)?|having|order\\\\\\\\s+by|limit|cross\\\\\\\\s+join|join|straight_join|(inner|(left|right|full)(\\\\\\\\s+outer)?)\\\\\\\\s+join|natural(\\\\\\\\s+(inner|(left|right|full)(\\\\\\\\s+outer)?))?\\\\\\\\s+join)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.DML.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(on|off|((is\\\\\\\\s+)?not\\\\\\\\s+)?null)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.DDL.create.II.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\bvalues\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.DML.II.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(begin(\\\\\\\\s+work)?|start\\\\\\\\s+transaction|commit(\\\\\\\\s+work)?|rollback(\\\\\\\\s+work)?)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.LUW.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\b(grant(\\\\\\\\swith\\\\\\\\sgrant\\\\\\\\soption)?|revoke)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.authorization.sql\\\"},{\\\"match\\\":\\\"(?i:\\\\\\\\bin\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.other.data-integrity.sql\\\"},{\\\"match\\\":\\\"(?i:^\\\\\\\\s*(comment\\\\\\\\s+on\\\\\\\\s+(table|column|aggregate|constraint|database|domain|function|index|operator|rule|schema|sequence|trigger|type|view))\\\\\\\\s+)\\\",\\\"name\\\":\\\"keyword.other.object-comments.sql\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bAS\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.alias.sql\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(DESC|ASC)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.order.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.star.sql\\\"},{\\\"match\\\":\\\"[!<>]?=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.sql\\\"},{\\\"match\\\":\\\"[-+/]\\\",\\\"name\\\":\\\"keyword.operator.math.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.concatenator.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.aggregate.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(approx_count_distinct|approx_percentile_cont|approx_percentile_disc|avg|checksum_agg|count|count_big|group|grouping|grouping_id|max|min|sum|stdevp??|varp??)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.analytic.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cume_dist|first_value|lag|last_value|lead|percent_rank|percentile_cont|percentile_disc)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.bitmanipulation.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b((?:bit_coun|get_bi|left_shif|right_shif|set_bi)t)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.conversion.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cast|convert|parse|try_cast|try_convert|try_parse)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.collation.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(collationproperty|tertiary_weights)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.cryptographic.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(asymkey_id|asymkeyproperty|certproperty|cert_id|crypt_gen_random|decryptbyasymkey|decryptbycert|decryptbykey|decryptbykeyautoasymkey|decryptbykeyautocert|decryptbypassphrase|encryptbyasymkey|encryptbycert|encryptbykey|encryptbypassphrase|hashbytes|is_objectsigned|key_guid|key_id|key_name|signbyasymkey|signbycert|symkeyproperty|verifysignedbycert|verifysignedbyasymkey)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.cursor.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(cursor_status)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.datetime.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(sysdatetime|sysdatetimeoffset|sysutcdatetime|current_time(stamp)?|getdate|getutcdate|datename|datepart|day|month|year|datefromparts|datetime2fromparts|datetimefromparts|datetimeoffsetfromparts|smalldatetimefromparts|timefromparts|datediff|dateadd|datetrunc|eomonth|switchoffset|todatetimeoffset|isdate|date_bucket)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.datatype.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(datalength|ident_current|ident_incr|ident_seed|identity|sql_variant_property)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.expression.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(coalesce|nullif)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.globalvar.sql\\\"}},\\\"match\\\":\\\"(?<!@)@@(?i)\\\\\\\\b(cursor_rows|connections|cpu_busy|datefirst|dbts|error|fetch_status|identity|idle|io_busy|langid|language|lock_timeout|max_connections|max_precision|nestlevel|options|packet_errors|pack_received|pack_sent|procid|remserver|rowcount|servername|servicename|spid|textsize|timeticks|total_errors|total_read|total_write|trancount|version)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.json.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(json|isjson|json_object|json_array|json_value|json_query|json_modify|json_path_exists)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.logical.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(choose|iif|greatest|least)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.mathematical.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(abs|acos|asin|atan|atn2|ceiling|cos|cot|degrees|exp|floor|log|log10|pi|power|radians|rand|round|sign|sin|sqrt|square|tan)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.metadata.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(app_name|applock_mode|applock_test|assemblyproperty|col_length|col_name|columnproperty|database_principal_id|databasepropertyex|db_id|db_name|file_id|file_idex|file_name|filegroup_id|filegroup_name|filegroupproperty|fileproperty|fulltextcatalogproperty|fulltextserviceproperty|index_col|indexkey_property|indexproperty|object_definition|object_id|object_name|object_schema_name|objectproperty|objectpropertyex|original_db_name|parsename|schema_id|schema_name|scope_identity|serverproperty|stats_date|type_id|type_name|typeproperty)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.ranking.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(rank|dense_rank|ntile|row_number)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.rowset.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(generate_series|opendatasource|openjson|openrowset|openquery|openxml|predict|string_split)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.security.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(certencoded|certprivatekey|current_user|database_principal_id|has_perms_by_name|is_member|is_rolemember|is_srvrolemember|original_login|permissions|pwdcompare|pwdencrypt|schema_id|schema_name|session_user|suser_id|suser_sid|suser_sname|system_user|suser_name|user_id|user_name)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.string.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(ascii|char|charindex|concat|difference|format|left|len|lower|ltrim|nchar|nodes|patindex|quotename|replace|replicate|reverse|right|rtrim|soundex|space|str|string_agg|string_escape|string_split|stuff|substring|translate|trim|unicode|upper)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.system.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(binary_checksum|checksum|compress|connectionproperty|context_info|current_request_id|current_transaction_id|decompress|error_line|error_message|error_number|error_procedure|error_severity|error_state|formatmessage|get_filestream_transaction_context|getansinull|host_id|host_name|isnull|isnumeric|min_active_rowversion|newid|newsequentialid|rowcount_big|session_context|session_id|xact_state)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.textimage.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(patindex|textptr|textvalid)\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.vector.sql\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(vector_(?:distance|norm|normalize))\\\\\\\\b\\\\\\\\s*\\\\\\\\(\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.other.database-name.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.table-name.sql\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+?)\\\\\\\\.(\\\\\\\\w+)\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#regexps\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?i)(abort|abort_after_wait|absent|absolute|accent_sensitivity|acceptable_cursopt|acp|action|activation|add|address|admin|aes_128|aes_192|aes_256|affinity|after|aggregate|algorithm|all_constraints|all_errormsgs|all_indexes|all_levels|all_results|allow_connections|allow_dup_row|allow_encrypted_value_modifications|allow_page_locks|allow_row_locks|allow_snapshot_isolation|alter|altercolumn|always|anonymous|ansi_defaults|ansi_null_default|ansi_null_dflt_off|ansi_null_dflt_on|ansi_nulls|ansi_padding|ansi_warnings|appdomain|append|application|apply|arithabort|arithignore|array|assembly|asymmetric|asynchronous_commit|at|atan2|atomic|attach|attach_force_rebuild_log|attach_rebuild_log|audit|auth_realm|authentication|auto|auto_cleanup|auto_close|auto_create_statistics|auto_drop|auto_shrink|auto_update_statistics|auto_update_statistics_async|automated_backup_preference|automatic|autopilot|availability|availability_mode|backup|backup_priority|base64|basic|batches|batchsize|before|between|bigint|binary|binding|bit|block|blockers|blocksize|bmk|both|break|broker|broker_instance|bucket_count|buffer|buffercount|bulk_logged|by|call|caller|card|case|catalog|catch|cert|certificate|change_retention|change_tracking|change_tracking_context|changes|char|character|character_set|check_expiration|check_policy|checkconstraints|checkindex|checkpoint|checksum|cleanup_policy|clear|clear_port|close|clustered|codepage|collection|column_encryption_key|column_master_key|columnstore|columnstore_archive|colv_80_to_100|colv_100_to_80|commit_differential_base|committed|compatibility_level|compress_all_row_groups|compression|compression_delay|concat_null_yields_null|concatenate|configuration|connect|connection|containment|continue|continue_after_error|contract|contract_name|control|conversation|conversation_group_id|conversation_handle|copy|copy_only|count_rows|counter|create(\\\\\\\\\\\\\\\\s+or\\\\\\\\\\\\\\\\s+alter)?|credential|cross|cryptographic|cryptographic_provider|cube|cursor|cursor_close_on_commit|cursor_default|data|data_compression|data_flush_interval_seconds|data_mirroring|data_purity|data_source|database|database_name|database_snapshot|datafiletype|date_correlation_optimization|date|datefirst|dateformat|date_format|datetime2??|datetimeoffset|day(s)?|db_chaining|dbid|dbidexec|dbo_only|deadlock_priority|deallocate|dec|decimal|declare|decrypt|decrypt_a|decryption|default_database|default_fulltext_language|default_language|default_logon_domain|default_schema|definition|delay|delayed_durability|delimitedtext|density_vector|dependent|des|description|desired_state|desx|differential|digest|disable|disable_broker|disable_def_cnst_chk|disabled|disk|distinct|distributed|distribution|drop|drop_existing|dts_buffers|dump|durability|dynamic|edition|elements|else|emergency|empty|enable|enable_broker|enabled|encoding|encrypted|encrypted_value|encryption|encryption_type|end|endpoint|endpoint_url|enhancedintegrity|entry|error_broker_conversations|errorfile|estimateonly|event|except|exec|executable|execute|exists|expand|expiredate|expiry_date|explicit|external|external_access|failover|failover_mode|failure_condition_level|fast|fast_forward|fastfirstrow|federated_service_account|fetch|field_terminator|fieldterminator|file|filelistonly|filegroup|filegrowth|filename|filestream|filestream_log|filestream_on|filetable|file_format|filter|first_row|fips_flagger|fire_triggers|first|firstrow|float|flush_interval_seconds|fmtonly|following|for|force|force_failover_allow_data_loss|force_service_allow_data_loss|forced|forceplan|formatfile|format_options|format_type|formsof|forward_only|free_cursors|free_exec_context|fullscan|fulltext|fulltextall|fulltextkey|function|generated|get|geography|geometry|global|go|goto|governor|guid|hadoop|hardening|hash|hashed|header_limit|headeronly|health_check_timeout|hidden|hierarchyid|histogram|histogram_steps|hits_cursors|hits_exec_context|hour(s)?|http|identity|identity_value|if|ifnull|ignore|ignore_constraints|ignore_dup_key|ignore_dup_row|ignore_triggers|image|immediate|implicit_transactions|include|include_null_values|incremental|index|inflectional|init|initiator|insensitive|insert|instead|int|integer|integrated|intersect|intermediate|interval_length_minutes|into|inuse_cursors|inuse_exec_context|io|is|isabout|iso_week|isolation|job_tracker_location|json|keep|keep_nulls|keep_replication|keepdefaults|keepfixed|keepidentity|keepnulls|kerberos|key|key_path|key_source|key_store_provider_name|keyset|kill|kilobytes_per_batch|labelonly|langid|language|last|lastrow|leading|legacy_cardinality_estimation|length|level|lifetime|lineage_80_to_100|lineage_100_to_80|listener_ip|listener_port|load|loadhistory|lob_compaction|local|local_service_name|locate|location|lock_escalation|lock_timeout|lockres|log|login|login_type|loop|manual|mark_in_use_for_removal|masked|master|match|matched|max_queue_readers|max_duration|max_outstanding_io_per_volume|maxdop|maxerrors|maxlength|maxtransfersize|max_plans_per_query|max_storage_size_mb|mediadescription|medianame|mediapassword|memogroup|memory_optimized|merge|message|message_forward_size|message_forwarding|microsecond|millisecond|minute(s)?|mirror_address|misses_cursors|misses_exec_context|mixed|modify|money|month|move|multi_user|must_change|name|namespace|nanosecond|native|native_compilation|nchar|ncharacter|nested_triggers|never|new_account|new_broker|newname|next|no|no_browsetable|no_checksum|no_compression|no_infomsgs|no_triggers|no_truncate|nocount|noexec|noexpand|noformat|noinit|nolock|nonatomic|nonclustered|nondurable|none|norecompute|norecovery|noreset|norewind|noskip|not|notification|nounload|now|nowait|ntext|ntlm|nulls|numeric|numeric_roundabort|nvarchar|object|objid|oem|offline|old_account|online|operation_mode|open|openjson|optimistic|option|orc|out|outer|output|over|override|owner|ownership|pad_index|page|page_checksum|page_verify|pagecount|paglock|param|parameter_sniffing|parameter_type_expansion|parameterization|parquet|parseonly|partial|partition|partner|password|path|pause|percentage|permission_set|persisted|period|physical_only|plan_forcing_mode|policy|pool|population|ports|preceding|precision|predicate|presume_abort|primary|primary_role|print|prior|priority |priority_level|private|proc(edure)?|procedure_name|profile|provider|quarter|query_capture_mode|query_governor_cost_limit|query_optimizer_hotfixes|query_store|queue|quoted_identifier|raiserror|range|raw|rcfile|rc2|rc4|rc4_128|rdbms|read_committed_snapshot|read|read_only|read_write|readcommitted|readcommittedlock|readonly|readpast|readuncommitted|readwrite|real|rebuild|receive|recmodel_70backcomp|recompile|reconfigure|recovery|recursive|recursive_triggers|redo_queue|reject_sample_value|reject_type|reject_value|relative|remote|remote_data_archive|remote_proc_transactions|remote_service_name|remove|removed_cursors|removed_exec_context|reorganize|repeat|repeatable|repeatableread|replace|replica|replicated|replnick_100_to_80|replnickarray_80_to_100|replnickarray_100_to_80|required|required_cursopt|resample|reset|resource|resource_manager_location|respect|restart|restore|restricted_user|resume|retaindays|retention|return|revert|rewind|rewindonly|returns|robust|role|rollup|root|round_robin|route|row|rowdump|rowguidcol|rowlock|row_terminator|rows|rows_per_batch|rowsets_only|rowterminator|rowversion|rsa_1024|rsa_2048|rsa_3072|rsa_4096|rsa_512|safe|safety|sample|save|scalar|schema|schemabinding|scoped|scroll|scroll_locks|sddl|second|secexpr|seconds|secondary|secondary_only|secondary_role|secret|security|securityaudit|selective|self|send|sent|sequence|serde_method|serializable|server|service|service_broker|service_name|service_objective|session_timeout|sessions??|seterror|setopts|sets|shard_map_manager|shard_map_name|sharded|shared_memory|shortest_path|show_statistics|showplan_all|showplan_text|showplan_xml|showplan_xml_with_recompile|shrinkdb|shutdown|sid|signature|simple|single_blob|single_clob|single_nclob|single_user|singleton|site|size|size_based_cleanup_mode|skip|smalldatetime|smallint|smallmoney|snapshot|snapshot_import|snapshotrestorephase|soap|softnuma|sort_in_tempdb|sorted_data|sorted_data_reorg|spatial|sql|sql_bigint|sql_binary|sql_bit|sql_char|sql_date|sql_decimal|sql_double|sql_float|sql_guid|sql_handle|sql_longvarbinary|sql_longvarchar|sql_numeric|sql_real|sql_smallint|sql_time|sql_timestamp|sql_tinyint|sql_tsi_day|sql_tsi_frac_second|sql_tsi_hour|sql_tsi_minute|sql_tsi_month|sql_tsi_quarter|sql_tsi_second|sql_tsi_week|sql_tsi_year|sql_type_date|sql_type_time|sql_type_timestamp|sql_varbinary|sql_varchar|sql_variant|sql_wchar|sql_wlongvarchar|ssl|ssl_port|standard|standby|start|start_date|started|stat_header|state|statement|static|statistics|statistics_incremental|statistics_norecompute|statistics_only|statman|stats|stats_stream|status|stop|stop_on_error|stopat|stopatmark|stopbeforemark|stoplist|stopped|string_delimiter|subject|supplemental_logging|supported|suspend|symmetric|synchronous_commit|synonym|sysname|system|system_time|system_versioning|table|tableresults|tablockx??|take|tape|target|target_index|target_partition|target_recovery_time|tcp|temporal_history_retention|text|textimage_on|then|thesaurus|throw|time|timeout|timestamp|tinyint|top??|torn_page_detection|track_columns_updated|trailing|tran|transaction|transfer|transform_noise_words|triple_des|triple_des_3key|truncate|trustworthy|try|tsql|two_digit_year_cutoff|type|type_desc|type_warning|tzoffset|uid|unbounded|uncommitted|unique|uniqueidentifier|unlimited|unload|unlock|unsafe|updlock|url|use|useplan|useroptions|use_type_default|using|utcdatetime|valid_xml|validation|values??|varbinary|varchar|vector|verbose|verifyonly|version|view_metadata|virtual_device|visiblity|wait_at_low_priority|waitfor|webmethod|week|weekday|weight|well_formed_xml|when|while|widechar|widechar_ansi|widenative|windows??|with|within|within group|witness|without|without_array_wrapper|workload|wsdl|xact_abort|xlock|xml|xmlschema|xquery|xsinil|year|zone)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.sql\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.block.sql\\\"}],\\\"repository\\\":{\\\"comment-block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=--)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.sql\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"--\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"}]},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.sql\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[]},{\\\"include\\\":\\\"#comment-block\\\"}]},\\\"regexps\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/(?=\\\\\\\\S.*/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.regexp.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\/\\\",\\\"name\\\":\\\"constant.character.escape.slash.sql\\\"}]},{\\\"begin\\\":\\\"%r\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.regexp.modr.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"}]}]},\\\"string_escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.sql\\\"},\\\"string_interpolation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"match\\\":\\\"(#\\\\\\\\{)([^}]*)(})\\\",\\\"name\\\":\\\"string.interpolated.sql\\\"},\\\"strings\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"match\\\":\\\"(N)?(')[^']*(')\\\",\\\"name\\\":\\\"string.quoted.single.sql\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.quoted.single.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escape\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"match\\\":\\\"(`)[^\\\\\\\\\\\\\\\\`]*(`)\\\",\\\"name\\\":\\\"string.quoted.other.backtick.sql\\\"},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.quoted.other.backtick.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escape\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"match\\\":\\\"(\\\\\\\")[^\\\\\\\"#]*(\\\\\\\")\\\",\\\"name\\\":\\\"string.quoted.double.sql\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.quoted.double.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"}]},{\\\"begin\\\":\\\"%\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.sql\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.sql\\\"}},\\\"name\\\":\\\"string.other.quoted.brackets.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_interpolation\\\"}]}]}},\\\"scopeName\\\":\\\"source.sql\\\"}\"))\n\nexport default [\nlang\n]\n","import html_derivative from './html-derivative.mjs'\nimport html from './html.mjs'\nimport xml from './xml.mjs'\nimport sql from './sql.mjs'\nimport javascript from './javascript.mjs'\nimport json from './json.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Blade\\\",\\\"fileTypes\\\":[\\\"blade.php\\\"],\\\"foldingStartMarker\\\":\\\"(/\\\\\\\\*|\\\\\\\\{\\\\\\\\s*$|<<<HTML)\\\",\\\"foldingStopMarker\\\":\\\"(\\\\\\\\*/|^\\\\\\\\s*}|^HTML;)\\\",\\\"injections\\\":{\\\"text.html.php.blade - (meta.embedded | meta.tag | comment.block.blade), L:(text.html.php.blade meta.tag - (comment.block.blade | meta.embedded.block.blade)), L:(source.js.embedded.html - (comment.block.blade | meta.embedded.block.blade))\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#blade\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=<\\\\\\\\?(?![^?]*\\\\\\\\?>))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(\\\\\\\\s*$\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.php\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?(?![^?]*\\\\\\\\?>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"}},\\\"name\\\":\\\"meta.embedded.line.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\s*)((\\\\\\\\?))(?=>)\\\",\\\"name\\\":\\\"meta.special.empty-tag.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)(?=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]}]}},\\\"name\\\":\\\"blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"repository\\\":{\\\"balance_brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#balance_brackets\\\"}]},{\\\"match\\\":\\\"[^()]+\\\"}]},\\\"blade\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{--\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.blade\\\"}},\\\"end\\\":\\\"--}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.blade\\\"}},\\\"name\\\":\\\"comment.block.blade\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=<\\\\\\\\?(?![^?]*\\\\\\\\?>))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(\\\\\\\\s*$\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.whitespace.embedded.trailing.php\\\"}},\\\"name\\\":\\\"invalid.illegal.php-code-in-comment.blade\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?(?![^?]*\\\\\\\\?>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"invalid.illegal.php-code-in-comment.blade.meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"<\\\\\\\\?(?i:php|=)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"}},\\\"name\\\":\\\"invalid.illegal.php-code-in-comment.blade.meta.embedded.line.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\s*)((\\\\\\\\?))(?=>)\\\",\\\"name\\\":\\\"meta.special.empty-tag.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\\?)(?=>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]}]},{\\\"begin\\\":\\\"(?<!@)\\\\\\\\{\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.construct.begin.blade\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"}}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.construct.end.blade\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.function.echo.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?<![@{])\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.construct.begin.blade\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.construct.end.blade\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.function.echo.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?<!@)\\\\\\\\{!!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.construct.begin.blade\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"!!}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.construct.end.blade\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.function.echo.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(@)\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"begin.bracket.round.blade\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.index.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"end.bracket.round.blade\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.php\\\"}},\\\"name\\\":\\\"meta.function.echo.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?<![0-9@-Z_a-z])(@(?i:auth|break|can|canany|cannot|case|choice|component|continue|dd|dump|each|elsecan|elsecanany|elsecannot|elseif|empty|error|extends|for|foreach|forelse|guest|hassection|if|include|includefirst|includeif|includeunless|includewhen|inject|isset|json|lang|once|prepend|push|section|sectionMissing|slot|stack|switch|unless|unset|while|yield|servers|task|story|finished|production|slack|method|props|env|livewire|php|class|aware|js|checked|selected|disabled|style|readonly|required|pushOnce|pushIf|prependOnce|use|vite)[\\\\\\\\t ]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.blade\\\"},\\\"2\\\":{\\\"name\\\":\\\"begin.bracket.round.blade.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"end.bracket.round.blade.php\\\"}},\\\"name\\\":\\\"meta.directive.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?<![0-9@-Z_a-z])(@(?i:append|default|else|endauth|endcan|endcanany|endcannot|endcomponent|endempty|enderror|endfor|endforeach|endforelse|endguest|endif|endisset|endlang|endonce|endprepend|endpush|endsection|endslot|endswitch|endunless|endwhile|overwrite|parent|show|stop|endtask|endstory|endfinished|endproduction|endenv|endPushOnce|endPushIf|endPrependOnce)[\\\\\\\\t ]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.blade\\\"},\\\"2\\\":{\\\"name\\\":\\\"begin.bracket.round.blade.php\\\"}},\\\"contentName\\\":\\\"comment.blade\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"end.bracket.round.blade.php\\\"}},\\\"name\\\":\\\"meta.directive.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#balance_brackets\\\"}]},{\\\"match\\\":\\\"(?<![0-9@-Z_a-z])@(?:append|break|continue|csrf|default|each|else|overwrite|parent|sectionMissing|show|stack|stop|livewireStyles|livewireScripts)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.blade\\\"},{\\\"match\\\":\\\"(?<![0-9@-Z_a-z])@(end)?(?i:auth|can|canany|cannot|component|empty|error|for|foreach|forelse|guest|if|isset|lang|prepend|push|section|slot|switch|unless|verbatim|while|task|story|finished|production|env|once|pushOnce|pushIf|prependOnce|session)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.blade\\\"},{\\\"begin\\\":\\\"(?<![0-9@-Z_a-z])@(?i:php|setup)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(?<![0-9@-Z_a-z])(?=@(?i:end(?:php|setup))\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"}},\\\"name\\\":\\\"meta.embedded.block.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?<![0-9@-Z_a-z])(@(?i:end(?:php|setup))[\\\\\\\\t ]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"begin.bracket.round.blade.php\\\"}},\\\"contentName\\\":\\\"comment.blade\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"end.bracket.round.blade.php\\\"}},\\\"name\\\":\\\"meta.directive.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#balance_brackets\\\"}]},{\\\"match\\\":\\\"(?<![0-9@-Z_a-z])@(?:(?i)endphp|endsetup)\\\\\\\\b\\\",\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},{\\\"begin\\\":\\\"(?<![0-9@-Z_a-z])(@\\\\\\\\w+(?:::w+)?[\\\\\\\\t ]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.blade\\\"},\\\"2\\\":{\\\"name\\\":\\\"begin.bracket.round.blade.php\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"end.bracket.round.blade.php\\\"}},\\\"name\\\":\\\"meta.directive.custom.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"match\\\":\\\"(?<![0-9@-Z_a-z])@\\\\\\\\w+(?:::w+)?\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.blade\\\"},{\\\"begin\\\":\\\"(:[-a-z]+)(=)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.attribute.unrecognized.$1.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.double.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"source.php\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.html\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},\\\"class-builtin\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\\\\\\\\\)?\\\\\\\\b((A(?:PC|ppend))Iterator|Array(Access|Iterator|Object)|Bad(Function|Method)CallException|(Ca(?:ching|llbackFilter))Iterator|Collator|Collectable|Cond|Countable|CURLFile|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference|Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)|(Error)?Exception|EmptyIterator|finfo|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?|FANNConnection|(Fil(?:ter|esystem))Iterator|Gender\\\\\\\\\\\\\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)|Http(((?:In|De)flate)?Stream|Message|Request(Pool)?|Response|QueryString)|HRTime\\\\\\\\\\\\\\\\(PerformanceCounter|StopWatch)|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)|Imagick(Draw|Pixel(Iterator)?)?|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?|JsonSerializable|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))|Lapack|(L(?:ength|ocale|ogic))Exception|LimitIterator|Lua(Closure)?|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch|Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp|UpdateBatch|Write(Batch|ConcernException))?|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex|mysqli(_(driver|stmt|warning|result))?|MysqlndUh(Connection|PreparedStatement)|NoRewindIterator|Normalizer|NumberFormatter|OCI-(Collection|Lob)|OuterIterator|(O(?:utOf(Bounds|Range)|verflow))Exception|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool|QuickHash(Int(S(?:et|tringHash))|StringIntHash)|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator|Reflection(Class|Function(Abstract)?|Method|Object|Parameter|Property|(Zend)?Extension)?|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)|SAM(Connection|Message)|SCA(_((?:Soap|Local)Proxy))?|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)|Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP|Soap(Client|Fault|Header|Param|Server|Var)|SphinxClient|Spoofchecker|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(M(?:ax|in))?Heap|Observer|ObjectStorage|(Priority)?Queue|Stack|Subject|Type|TempFileObject)|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable|UConverter|(Un(?:derflow|expectedValue))Exception|V8Js(Exception)?|Varnish(Admin|Log|Stat)|Worker|Weak(Map|Ref)|XML(Diff\\\\\\\\\\\\\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)|Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract|Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)|Response_Abstract|Router|Session|View_(Simple|Interface))|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.builtin.php\\\"}]},\\\"class-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[0-9_a-z]+\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z][0-9_a-z]*)?(?=[^0-9\\\\\\\\\\\\\\\\_a-z])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"begin\\\":\\\"(?=[A-Z\\\\\\\\\\\\\\\\_a-z])\\\",\\\"end\\\":\\\"(?i)([_a-z][0-9_a-z]*)?(?=[^0-9\\\\\\\\\\\\\\\\_a-z])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?=\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.block.documentation.phpdoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.php\\\"},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"comment.line.double-slash.php\\\"}]},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(?:AJOR|INOR))|BUILD|SUITEMASK|SP_(M(?:AJOR|INOR))|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.core.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(__COMPILER_HALT_OFFSET__|AB(MON_([1-9]|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRT)?PI|PI(_([24]))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_([1-9]|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.std.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(N(?:MTOKEN(S)?|OTATION|ODE))|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD([245])|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(1(?:28|60))?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(D(?:EFAULT_VALUE_FLAG|ATA))|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC([26])|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(RE(?:QUIRED|SULT)))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(I(?:GNORE|S))_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(S(?:IZE|PEED))_((?:DOWN|UP)LOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(P(?:RIVATE|UBLIC))_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS([45]))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RE(?:CV|AD))_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_((?:MODIFICATION|DATA)_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_(([FRWX])_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV([46])|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.ext.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.parser-token.php\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"constant.other.php\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\\\\\\\\\?\\\\\\\\b[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*(?:\\\\\\\\\\\\\\\\[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.name.function.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\\\\\\\\\)?\\\\\\\\b([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.name.function.php\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\b(print|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.output.php\\\"}]},\\\"function-parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"begin\\\":\\\"(?i)(array)\\\\\\\\s+((&)?\\\\\\\\s*(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(=)\\\\\\\\s*(array)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.array.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function.parameter.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.language.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"},\\\"10\\\":{\\\"name\\\":\\\"invalid.illegal.non-null-typehinted.php\\\"}},\\\"match\\\":\\\"(?i)(array|callable)\\\\\\\\s+((&)?\\\\\\\\s*(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(?:\\\\\\\\s*(=)\\\\\\\\s*(?:(null)|(\\\\\\\\[)((?>[^]\\\\\\\\[]+|\\\\\\\\[\\\\\\\\g<8>])*)(])|(\\\\\\\\S*?\\\\\\\\(\\\\\\\\)|\\\\\\\\S*?)))?\\\\\\\\s*(?=[),]|/[*/]|#|$)\\\",\\\"name\\\":\\\"meta.function.parameter.array.php\\\"},{\\\"begin\\\":\\\"(?i)(\\\\\\\\\\\\\\\\?(?:[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\\\\\\\\\)*)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s+((&)?\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.variadic.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"(?=[),]|/[*/]|#)\\\",\\\"name\\\":\\\"meta.function.parameter.typehinted.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"}},\\\"end\\\":\\\"(?=[),]|/[*/]|#)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.variadic.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((&)?\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(?=[),]|/[*/]|#|$)\\\",\\\"name\\\":\\\"meta.function.parameter.no-default.php\\\"},{\\\"begin\\\":\\\"(?i)((&)?\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(=)\\\\\\\\s*(?:(\\\\\\\\[)((?>[^]\\\\\\\\[]+|\\\\\\\\[\\\\\\\\g<6>])*)(]))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.variadic.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"end\\\":\\\"(?=[),]|/[*/]|#)\\\",\\\"name\\\":\\\"meta.function.parameter.default.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=<<<\\\\\\\\s*(\\\\\\\"?)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(\\\\\\\\1)\\\\\\\\s*$)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"string.unquoted.heredoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc_interior\\\"}]},{\\\"begin\\\":\\\"(?=<<<\\\\\\\\s*'([A-Z_a-z]+[0-9A-Z_a-z]*)'\\\\\\\\s*$)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"string.unquoted.nowdoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nowdoc_interior\\\"}]}]},\\\"heredoc_interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(HTML)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(XML)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(SQL)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(J(?:AVASCRIPT|S))(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(JSON)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(CSS)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(REGEXP?)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"string.regexp.heredoc.php\\\",\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repitition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]'\\\\\\\\[\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"},{\\\"begin\\\":\\\"(?i)(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?_a-z\\\\\\\\x7F-ÿ[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]},{\\\"begin\\\":\\\"(?i)(<<<)\\\\\\\\s*(\\\\\\\"?)([_a-z\\\\\\\\x7F-ÿ]+[0-9_a-z\\\\\\\\x7F-ÿ]*)(\\\\\\\\2)(\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"end\\\":\\\"^(\\\\\\\\3)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"instantiation\\\":{\\\"begin\\\":\\\"(?i)(new)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.new.php\\\"}},\\\"end\\\":\\\"(?i)(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(parent|static|self)(?![0-9_a-z\\\\\\\\x7F-ÿ])\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.octal.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{1,2}\\\",\\\"name\\\":\\\"constant.character.escape.hex.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\{\\\\\\\\h+}\\\",\\\"name\\\":\\\"constant.character.escape.unicode.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"$\\\\\\\\\\\\\\\\efnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{(?=\\\\\\\\$.*?})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"include\\\":\\\"#variable-name\\\"}]},\\\"invoke-call\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\$+)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.function-call.invoke.php\\\"},\\\"language\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(interface)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(extends)?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.interface.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.extends.php\\\"}},\\\"end\\\":\\\"(?i)((?:[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\s*,\\\\\\\\s*)*)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?\\\\\\\\s*(?:(?=\\\\\\\\{)|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.other.inherited-class.php\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.classes.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}},\\\"name\\\":\\\"meta.interface.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(trait)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.trait.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.trait.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.trait.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]}},\\\"match\\\":\\\"(?i)(?:^|(?<=<\\\\\\\\?php))\\\\\\\\s*(namespace)\\\\\\\\s+([0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]+)(?=\\\\\\\\s*;)\\\",\\\"name\\\":\\\"meta.namespace.php\\\"},{\\\"begin\\\":\\\"(?i)(?:^|(?<=<\\\\\\\\?php))\\\\\\\\s*(namespace)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.php\\\"}},\\\"end\\\":\\\"(?<=})|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.namespace.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]}},\\\"match\\\":\\\"(?i)[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]+\\\",\\\"name\\\":\\\"entity.name.type.namespace.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.namespace.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.namespace.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.identifier.php\\\"}]},{\\\"match\\\":\\\"\\\\\\\\s+(?=use\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\buse\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.use.php\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)\\\",\\\"name\\\":\\\"meta.use.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(const|function)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.${1:/downcase}.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.use.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.use.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#scope-resolution\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.alias.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+(final|abstract|public|private|protected|static)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(?:final|abstract|public|private|protected|static)$\\\",\\\"name\\\":\\\"storage.modifier.php\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"entity.other.alias.php\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-insteadof.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(insteadof)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.expression.php\\\"},{\\\"include\\\":\\\"#use-inner\\\"}]},{\\\"include\\\":\\\"#use-inner\\\"}]},{\\\"begin\\\":\\\"(?i)^\\\\\\\\s*(?:(abstract|final)\\\\\\\\s+)?(class)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.${1:/downcase}.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.class.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.extends.php\\\"}},\\\"contentName\\\":\\\"meta.other.inherited-class.php\\\",\\\"end\\\":\\\"(?i)(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}]},{\\\"begin\\\":\\\"(?i)(implements)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.php\\\"}},\\\"end\\\":\\\"(?i)(?=[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)(?=[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]+)\\\",\\\"contentName\\\":\\\"meta.other.inherited-class.php\\\",\\\"end\\\":\\\"(?i)\\\\\\\\s*(?:,|(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ\\\\\\\\s]))\\\\\\\\s*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.class.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]},{\\\"include\\\":\\\"#switch_statement\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.${1:/downcase}.php\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b((?:require|include)(?:_once)?)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.include.php\\\"}},\\\"end\\\":\\\"(?=[;\\\\\\\\s]|$|\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.include.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(catch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.exception.catch.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.catch.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.exception.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"name\\\":\\\"support.class.exception.php\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)((?:\\\\\\\\s*\\\\\\\\|\\\\\\\\s*[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)*)\\\\\\\\s*((\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(catch|try|throw|exception|finally)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.exception.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(function)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.function.closure.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"(?i)(use)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.function.use.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((&)?\\\\\\\\s*(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(?=[),])\\\",\\\"name\\\":\\\"meta.function.closure.use.php\\\"}]}]},{\\\"begin\\\":\\\"((?:(?:final|abstract|public|private|protected|static)\\\\\\\\s+)*)(function)\\\\\\\\s+(?i:(__(?:call|construct|debugInfo|destruct|get|set|isset|unset|tostring|clone|set_state|sleep|wakeup|autoload|invoke|callStatic))|([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"final|abstract|public|private|protected|static\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.magic.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"(\\\\\\\\))(?:\\\\\\\\s*(:)\\\\\\\\s*([A-Z_a-z\\\\\\\\x7F-ÿ][0-9A-Z_a-z\\\\\\\\x7F-ÿ]*))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.php\\\"}},\\\"name\\\":\\\"meta.function.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"include\\\":\\\"#invoke-call\\\"},{\\\"include\\\":\\\"#scope-resolution\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"match\\\":\\\"(array)(\\\\\\\\()(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.array.empty.php\\\"},{\\\"begin\\\":\\\"(array)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage-type.begin.bracket.round.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.storage-type.end.bracket.round.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\()\\\\\\\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(global|abstract|const|extends|implements|final|private|protected|public|static)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.php\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.expression.php\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.terminator.statement.php\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bclone\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.clone.php\\\"},{\\\"match\\\":\\\"\\\\\\\\.=?\\\",\\\"name\\\":\\\"keyword.operator.string.php\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.key.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"}},\\\"match\\\":\\\"(?i)(=)(&)|(&)(?=[$_a-z])\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.operator.error-control.php\\\"},{\\\"match\\\":\\\"===?|!==?|<>\\\",\\\"name\\\":\\\"keyword.operator.comparison.php\\\"},{\\\"match\\\":\\\"(?:|[-%\\\\\\\\&*+/^|]|<<|>>)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},{\\\"match\\\":\\\"<=>?|>=|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.php\\\"},{\\\"match\\\":\\\"--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment-decrement.php\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.php\\\"},{\\\"match\\\":\\\"(?i)(!|&&|\\\\\\\\|\\\\\\\\|)|\\\\\\\\b(and|or|xor|as)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.php\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"match\\\":\\\"<<|>>|[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(instanceof)\\\\\\\\s+(?=[$\\\\\\\\\\\\\\\\_a-z])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.php\\\"}},\\\"end\\\":\\\"(?=[^$0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]},{\\\"include\\\":\\\"#instantiation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.goto.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.php\\\"}},\\\"match\\\":\\\"(?i)(goto)\\\\\\\\s+([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.goto-label.php\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*:(?!:)\\\"},{\\\"include\\\":\\\"#string-backtick\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"}},\\\"end\\\":\\\"]|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"include\\\":\\\"#constants\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"namespace\\\":{\\\"begin\\\":\\\"(?i)(?:(namespace)|[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?(\\\\\\\\\\\\\\\\)(?=.*?[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.namespace.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"end\\\":\\\"(?i)(?=[0-9_a-z\\\\\\\\x7F-ÿ]*[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"name\\\":\\\"support.other.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]},\\\"nowdoc_interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(HTML)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(XML)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(SQL)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(J(?:AVASCRIPT|S))'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(JSON)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(CSS)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(REGEXP?)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"string.regexp.nowdoc.php\\\",\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repitition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]'\\\\\\\\[\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"},{\\\"begin\\\":\\\"(?i)(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?_a-z\\\\\\\\x7F-ÿ[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]},{\\\"begin\\\":\\\"(?i)(<<<)\\\\\\\\s*'([_a-z\\\\\\\\x7F-ÿ]+[0-9_a-z\\\\\\\\x7F-ÿ]*)'(\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"end\\\":\\\"^(\\\\\\\\2)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}}}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.hex.php\\\"},{\\\"match\\\":\\\"0[Bb][01]+\\\",\\\"name\\\":\\\"constant.numeric.binary.php\\\"},{\\\"match\\\":\\\"0[0-7]+\\\",\\\"name\\\":\\\"constant.numeric.octal.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.php\\\"}},\\\"match\\\":\\\"[0-9]*(\\\\\\\\.)[0-9]+(?:[Ee][-+]?[0-9]+)?|[0-9]+(\\\\\\\\.)[0-9]*(?:[Ee][-+]?[0-9]+)?|[0-9]+[Ee][-+]?[0-9]+\\\",\\\"name\\\":\\\"constant.numeric.decimal.php\\\"},{\\\"match\\\":\\\"0|[1-9][0-9]*\\\",\\\"name\\\":\\\"constant.numeric.decimal.php\\\"}]},\\\"object\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(->)(\\\\\\\\$?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"(?i)(->)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.method-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(->)((\\\\\\\\$+)?[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?\\\"}]},\\\"parameter-default-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#string-backtick\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.key.php\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},{\\\"match\\\":\\\"&(?=\\\\\\\\s*\\\\\\\\$)\\\",\\\"name\\\":\\\"storage.modifier.reference.php\\\"},{\\\"begin\\\":\\\"(array)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]},{\\\"include\\\":\\\"#instantiation\\\"},{\\\"begin\\\":\\\"(?i)(?=[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]+(::)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?)\\\",\\\"end\\\":\\\"(?i)(::)([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"}]},{\\\"include\\\":\\\"#constants\\\"}]},\\\"php_doc\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(?!\\\\\\\\s*\\\\\\\\*).*?(?:(?=\\\\\\\\*/)|$\\\\\\\\n?)\\\",\\\"name\\\":\\\"invalid.illegal.missing-asterisk.phpdoc.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.wrong-access-type.phpdoc.php\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*\\\\\\\\*\\\\\\\\s*(@access)\\\\\\\\s+((p(?:ublic|rivate|rotected))|(.+))\\\\\\\\s*$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.php\\\"}},\\\"match\\\":\\\"(@xlink)\\\\\\\\s+(.+)\\\\\\\\s*$\\\"},{\\\"begin\\\":\\\"(@(?:global|param|property(-(read|write))?|return|throws|var))\\\\\\\\s+(?=[(A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"}},\\\"contentName\\\":\\\"meta.other.type.phpdoc.php\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types_array_multiple\\\"},{\\\"include\\\":\\\"#php_doc_types_array_single\\\"},{\\\"include\\\":\\\"#php_doc_types\\\"}]},{\\\"match\\\":\\\"@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"}},\\\"match\\\":\\\"\\\\\\\\{(@(link|inherit[Dd]oc)).+?}\\\",\\\"name\\\":\\\"meta.tag.inline.phpdoc.php\\\"}]},\\\"php_doc_types\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(string|integer|int|boolean|bool|float|double|object|mixed|array|resource|void|null|callback|false|true|self)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]}},\\\"match\\\":\\\"(?i)[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ][0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]*(\\\\\\\\|[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ][0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]*)*\\\"},\\\"php_doc_types_array_multiple\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.bracket.round.phpdoc.php\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(\\\\\\\\[])|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.bracket.round.phpdoc.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.array.phpdoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types_array_multiple\\\"},{\\\"include\\\":\\\"#php_doc_types_array_single\\\"},{\\\"include\\\":\\\"#php_doc_types\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"php_doc_types_array_single\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.array.phpdoc.php\\\"}},\\\"match\\\":\\\"(?i)([\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ][0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-ÿ]*)(\\\\\\\\[])\\\"},\\\"regex-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"/(?=(\\\\\\\\\\\\\\\\.|[^\\\\\\\"/])++/[ADSUXeimsux]*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"(/)([ADSUXeimsux]*)(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.regexp.double-quoted.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"}]},\\\"regex-single-quoted\\\":{\\\"begin\\\":\\\"'/(?=(\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?|[^'])|.)|[^'/])++/[ADSUXeimsux]*')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"(/)([ADSUXeimsux]*)(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.regexp.single-quoted.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single_quote_regex_escape\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\"},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"}]},\\\"scope-resolution\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(self|static|parent)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"entity.name.class.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(?=\\\\\\\\s*::)\\\"},{\\\"begin\\\":\\\"(?i)(::)\\\\\\\\s*([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.method-call.static.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.class.php\\\"}},\\\"match\\\":\\\"(?i)(::)\\\\\\\\s*(class)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.class.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.other.class.php\\\"}},\\\"match\\\":\\\"(?i)(::)\\\\\\\\s*(?:((\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)|([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*))?\\\"}]},\\\"single_quote_regex_escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?|[^'])|.)\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},\\\"sql-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"contentName\\\":\\\"source.sql.embedded.php\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.double.sql.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\\\\\\\\\\\\\\\\"|[^\\\\\\\"])*(?=\\\\\\\"|$)\\\",\\\"name\\\":\\\"comment.line.number-sign.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(--)(\\\\\\\\\\\\\\\\\\\\\\\"|[^\\\\\\\"])*(?=\\\\\\\"|$)\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"match\\\":\\\"'(?=((\\\\\\\\\\\\\\\\')|[^\\\\\\\"'])*(\\\\\\\"|$))\\\",\\\"name\\\":\\\"string.quoted.single.unclosed.sql\\\"},{\\\"match\\\":\\\"`(?=((\\\\\\\\\\\\\\\\`)|[^\\\\\\\"`])*(\\\\\\\"|$))\\\",\\\"name\\\":\\\"string.quoted.other.backtick.unclosed.sql\\\"},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`\\\",\\\"name\\\":\\\"string.quoted.other.backtick.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},\\\"sql-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\\\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"contentName\\\":\\\"source.sql.embedded.php\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.single.sql.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\\\\\\\\\'|[^'])*(?='|$)\\\",\\\"name\\\":\\\"comment.line.number-sign.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(--)(\\\\\\\\\\\\\\\\'|[^'])*(?='|$)\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"match\\\":\\\"`(?=((\\\\\\\\\\\\\\\\`)|[^'`])*('|$))\\\",\\\"name\\\":\\\"string.quoted.other.backtick.unclosed.sql\\\"},{\\\"match\\\":\\\"\\\\\\\"(?=((\\\\\\\\\\\\\\\\\\\\\\\")|[^\\\\\\\"'])*('|$))\\\",\\\"name\\\":\\\"string.quoted.double.unclosed.sql\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},\\\"string-backtick\\\":{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.interpolated.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.double.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.single.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex-double-quoted\\\"},{\\\"include\\\":\\\"#sql-string-double-quoted\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#regex-single-quoted\\\"},{\\\"include\\\":\\\"#sql-string-single-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.apc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(shuffle|sizeof|sort|next|nat(case)?sort|count|compact|current|in_array|usort|uksort|uasort|pos|prev|end|each|extract|ksort|key(_exists)?|krsort|list|asort|arsort|rsort|reset|range|array(_(shift|sum|splice|search|slice|chunk|change_key_case|count_values|column|combine|(diff|intersect)(_(u)?(key|assoc))?|u(diff|intersect)(_(u)?assoc)?|unshift|unique|pop|push|pad|product|values|keys|key_exists|filter|fill(_keys)?|flip|walk(_recursive)?|reduce|replace(_recursive)?|reverse|rand|multisort|merge(_recursive)?|map)?))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.array.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(show_source|sys_getloadavg|sleep|highlight_(file|string)|constant|connection_(aborted|status)|time_(nanosleep|sleep_until)|ignore_user_abort|die|define(d)?|usleep|uniqid|unpack|__halt_compiler|php_(check_syntax|strip_whitespace)|pack|eval|exit|get_browser)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.basic_functions.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbc(scale|sub|sqrt|comp|div|pow(mod)?|add|mod|mul)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.bcmath.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bblenc_encrypt\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.blenc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.bz2.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(da(?:te|ys))|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.calendar.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(class_alias|all_user_method(_array)?|is_(a|subclass_of)|__autoload|(class|interface|method|property|trait)_exists|get_(class(_(vars|methods))?|(called|parent)_class|object_vars|declared_(classes|interfaces|traits)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.classobj.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.com.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(isset|unset|eval|empty|list)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(print|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.output.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ctype.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bcurl_(share_(close|init|setopt)|strerror|setopt(_array)?|copy_handle|close|init|unescape|pause|escape|errno|error|exec|version|file_create|reset|getinfo|multi_(strerror|setopt|select|close|init|info_read|(add|remove)_handle|getcontent|exec))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.curl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_(immutable_)?from_format)?|timestamp_([gs]et)|timezone_([gs]et)|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_([gs]et)|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.datetime.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dba.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dbx.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dir.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.eio.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.enchant.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsplit(i)?|sql_regcase|ereg(i)?(_replace)?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ereg.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((restore|set)_(e(?:rror|xception)_handler)|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|get_last))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.errorfunc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bshell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.exec.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.exif.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|((?:in|out)put)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(m(?:ax|in))_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|((?:in|out)put)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero)))|save(_train)?|num_((?:in|out)put)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((s(?:parse|hortcut|tandard))(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidate(?:s|_groups))|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(m(?:ax|in))_(cand|out)_epochs)|total_((?:connecti|neur)ons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero))))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fann.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.file.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fileinfo.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.filter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfastcgi_finish_request\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fpm.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.funchand.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((n)?gettext|textdomain|d((?:(n)?|c(n)?)gettext)|bind(textdomain|_textdomain_codeset))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gettext.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(qr??|r)|jacobi|popcount|pow(m)?|perfect_square|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range))?|gcd(ext)?|xor|mod|mul)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gmp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bhash(_(hmac(_file)?|copy|init|update(_(file|stream))?|pbkdf2|equals|file|final|algos))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.hash.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.http.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(iconv(_(str(pos|len|rpos)|substr|([gs]et)_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.iconv.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\biis_((st(?:art|op))_(serv(?:ice|er))|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.iisfunc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd(2)?|gammacorrect|grab(screen|window)|xbm))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.image.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_([gs]et)_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gpu]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.info.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bibase_(set_event_handler|service_((?:at|de)tach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.interbase.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.intl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bjson_(decode|encode|last_error(_msg)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.json.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(re(?:ference|sult))|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ldap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.libxml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ezmlm_hash|mail)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mail.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((a)?(cos|sin|tan)(h)?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|fmod|lcg_value|log(1([0p]))?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.math.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos)|substitute_character|substr(_count)?|split|send_mail|http_((?:in|out)put)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mbstring.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(m(?:crypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|decrypt_generic))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mcrypt.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmemcache_debug\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.memcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mhash.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_((?:de|en)code))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mongo.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_([gs]et)|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|((?:en|dis)able)_(r(?:eads_from_master|pl_parse))|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqli.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_memcache_(set|get_config)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-memcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-ms.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-qc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-uh.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(re(?:gister_callback|move)))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(n(?:ame|umber))|mxrr))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.network.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bnsapi_(virtual|response_headers|request_headers)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.nsapi.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(oci(?:(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(o(?:n|ff))|rowcount|rollback|result|bindbyname)|_(statement_type|set_(client_(i(?:nfo|dentifier))|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.oci8.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bopcache_(compile_file|invalidate|reset|get_(status|configuration))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.opcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_iv_length|open|dh_compute_key|digest|decrypt|public_((?:de|en)crypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|pkcs7_(sign|decrypt|encrypt|verify)|verify|free_key|random_pseudo_bytes|pkey_(new|export(_to_file)?|free|get_(details|public|private))|private_((?:de|en)crypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|(p(?:ublic|rivate))key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.openssl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.output.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpassword_(hash|needs_rehash|verify|get_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.password.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpcntl_(strerror|signal(_dispatch)?|sig(timedwait|procmask|waitinfo)|setpriority|errno|exec|fork|w(stopsig|termsig|if((?:stopp|signal|exit)ed))|wait(pid)?|alarm|getpriority|get_last_error)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pcntl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pgsql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(virtual|getallheaders|apache_(([gs]et)env|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_apache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdom_import_simplexml\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_dom.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_ftp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_((?:de|en)code)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(s(?:can|ubscribed))|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_imap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_mssql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_odbc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpreg_(split|quote|filter|last_error|replace(_callback)?|grep|match(_all)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_pcre.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_spl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_zip.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.posix.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bset(thread|proc)title\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.proctitle.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(d(?:ata|ict))_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pspell.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.readline.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brecode(_(string|file))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.recode.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.rrd.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sem.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|regenerate_id|get_cookie_params|module_name)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.session.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bshmop_(size|close|open|delete|write|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.shmop.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsimplexml_(import_dom|load_(string|file))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.simplexml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(snmp(?:(walk(oid)?|realwalk|get(next)?|set)|_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|[23]_(set|walk|real_walk|get(next)?)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.snmp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(is_soap_fault|use_soap_error_handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.soap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsocket_(shutdown|strerror|send(to|msg)?|set_((non)?block|option)|select|connect|close|clear_error|bind|create(_(pair|listen))?|cmsg_space|import_stream|write|listen|last_error|accept|recv(from|msg)?|read|get(peer|sock)name|get_option)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sockets.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_((?:de|en)code)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sqlite.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sqlsrv.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.stats.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(s(?:et_socket_blocking|tream_(socket_(shutdown|sendto|server|client|pair|enable_crypto|accept|recvfrom|get_name)|set_(chunk_size|timeout|(read|write)_buffer|blocking)|select|notification_callback|supports_lock|context_(set_(option|default|params)|create|get_(options|default|params))|copy_to_stream|is_local|encoding|filter_(append|prepend|register|remove)|wrapper_((un)?register|restore)|resolve_include_path|register_wrapper|get_(contents|transports|filters|wrappers|line|meta_data)|bucket_(new|prepend|append|make_writeable))))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.streamsfuncs.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|ireplace|pad|repeat|replace|rot13|shuffle|split|word_count)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu((?:de|en)code))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_((?:de|en)code)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.string.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sybase.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(taint|is_tainted|untaint)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.taint.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(tidy_(([gs]et)opt|set_encoding|save_config|config_count|clean_repair|is_(x(?:html|ml))|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.tidy.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btoken_(name|get_all)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.tokenizer.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btrader_(stoch([fr]|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(p(?:eriod|hase))|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|add??|adx(r)?|apo|avgprice|aroon(osc)?|rsi|rocp??|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(p(?:oint|rice))|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.trader.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.uopz.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(http_build_query|(raw)?url((?:de|en)code)|parse_url|get_(headers|meta_tags)|base64_((?:de|en)code))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.url.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(strval|settype|serialize|(bool|double|float)val|debug_zval_dump|intval|import_request_variables|isset|is_(scalar|string|null|numeric|callable|int(eger)?|object|double|float|long|array|resource|real|bool)|unset|unserialize|print_r|empty|var_(dump|export)|gettype|get_(defined_vars|resource_type))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.var.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bwddx_(serialize_(va(?:lue|rs))|deserialize|packet_(start|end)|add_vars)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.wddx.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxhprof_(sample_)?((?:dis|en)able)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xhprof.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(utf8_((?:de|en)code)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_(([gs]et)_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|([gs]et)_type)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xmlrpc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xmlwriter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.zlib.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bis_int(eger)?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.alias.php\\\"}]},\\\"switch_statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s+(?=switch\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"\\\\\\\\bswitch\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\(.*\\\\\\\\)\\\\\\\\s*:)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.switch.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.switch-block.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.switch-statement.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.switch-expression.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.switch-expression.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.switch-block.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]}]},\\\"use-inner\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"}},\\\"end\\\":\\\"(?i)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.alias.php\\\"}}},{\\\"include\\\":\\\"#class-name\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"var_basic\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\$+)[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.php\\\"}]},\\\"var_global\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg([cv]))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.global.php\\\"},\\\"var_global_safer\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((GLOBALS|_(ENV|SERVER|SESSION)))\\\",\\\"name\\\":\\\"variable.other.global.safer.php\\\"},\\\"var_language\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)this\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.this.php\\\"},\\\"variable-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#var_global\\\"},{\\\"include\\\":\\\"#var_global_safer\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.property.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.index.php\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.other.index.php\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"10\\\":{\\\"name\\\":\\\"string.unquoted.index.php\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$)(?<name>[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*))(?:(->)(\\\\\\\\g<name>)|(\\\\\\\\[)(?:(\\\\\\\\d+)|((\\\\\\\\$)\\\\\\\\g<name>)|([_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*))(]))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$\\\\\\\\{)(?<name>[_a-z\\\\\\\\x7F-ÿ][0-9_a-z\\\\\\\\x7F-ÿ]*)(}))\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#var_language\\\"},{\\\"include\\\":\\\"#var_global\\\"},{\\\"include\\\":\\\"#var_global_safer\\\"},{\\\"include\\\":\\\"#var_basic\\\"},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{(?=.*?})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#language\\\"}]}]}},\\\"scopeName\\\":\\\"text.html.php.blade\\\",\\\"embeddedLangs\\\":[\\\"html-derivative\\\",\\\"html\\\",\\\"xml\\\",\\\"sql\\\",\\\"javascript\\\",\\\"json\\\",\\\"css\\\"]}\"))\n\nexport default [\n...html_derivative,\n...html,\n...xml,\n...sql,\n...javascript,\n...json,\n...css,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"C\\\",\\\"name\\\":\\\"c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-enabled\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled\\\"},{\\\"include\\\":\\\"#preprocessor-rule-conditional\\\"},{\\\"include\\\":\\\"#predefined_macros\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#switch_statement\\\"},{\\\"include\\\":\\\"#anon_pattern_1\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#anon_pattern_2\\\"},{\\\"include\\\":\\\"#anon_pattern_3\\\"},{\\\"include\\\":\\\"#anon_pattern_4\\\"},{\\\"include\\\":\\\"#anon_pattern_5\\\"},{\\\"include\\\":\\\"#anon_pattern_6\\\"},{\\\"include\\\":\\\"#anon_pattern_7\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#anon_pattern_range_1\\\"},{\\\"include\\\":\\\"#anon_pattern_range_2\\\"},{\\\"include\\\":\\\"#anon_pattern_range_3\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"},{\\\"include\\\":\\\"#anon_pattern_range_4\\\"},{\\\"include\\\":\\\"#anon_pattern_range_5\\\"},{\\\"include\\\":\\\"#anon_pattern_range_6\\\"},{\\\"include\\\":\\\"#anon_pattern_8\\\"},{\\\"include\\\":\\\"#anon_pattern_9\\\"},{\\\"include\\\":\\\"#anon_pattern_10\\\"},{\\\"include\\\":\\\"#anon_pattern_11\\\"},{\\\"include\\\":\\\"#anon_pattern_12\\\"},{\\\"include\\\":\\\"#anon_pattern_13\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#parens\\\"},{\\\"include\\\":\\\"#anon_pattern_range_7\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"},{\\\"include\\\":\\\"#anon_pattern_range_8\\\"},{\\\"include\\\":\\\"#anon_pattern_range_9\\\"},{\\\"include\\\":\\\"#anon_pattern_14\\\"},{\\\"include\\\":\\\"#anon_pattern_15\\\"}],\\\"repository\\\":{\\\"access-method\\\":{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))\\\\\\\\s*(?:(\\\\\\\\.)|(->))((?:[A-Z_a-z][0-9A-Z_a-z]*\\\\\\\\s*(?:\\\\\\\\.|->))*)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.object.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.object.c\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"everything.else.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.c\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.c\\\"}},\\\"name\\\":\\\"meta.function-call.member.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"anon_pattern_1\\\":{\\\"match\\\":\\\"\\\\\\\\b(break|continue|do|else|for|goto|if|_Pragma|return|while)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.c\\\"},\\\"anon_pattern_10\\\":{\\\"match\\\":\\\"\\\\\\\\b((?:int8|int16|int32|int64|uint8|uint16|uint32|uint64|int_least8|int_least16|int_least32|int_least64|uint_least8|uint_least16|uint_least32|uint_least64|int_fast8|int_fast16|int_fast32|int_fast64|uint_fast8|uint_fast16|uint_fast32|uint_fast64|intptr|uintptr|intmax|uintmax)_t)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.stdint.c\\\"},\\\"anon_pattern_11\\\":{\\\"match\\\":\\\"\\\\\\\\b(noErr|kNilOptions|kInvalidID|kVariableLengthArray)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.mac-classic.c\\\"},\\\"anon_pattern_12\\\":{\\\"match\\\":\\\"\\\\\\\\b(AbsoluteTime|Boolean|Byte|ByteCount|ByteOffset|BytePtr|CompTimeValue|ConstLogicalAddress|ConstStrFileNameParam|ConstStringPtr|Duration|Fixed|FixedPtr|Float32|Float32Point|Float64|Float80|Float96|FourCharCode|Fract|FractPtr|Handle|ItemCount|LogicalAddress|OptionBits|OSErr|OSStatus|OSType|OSTypePtr|PhysicalAddress|ProcessSerialNumber|ProcessSerialNumberPtr|ProcHandle|Ptr|ResType|ResTypePtr|ShortFixed|ShortFixedPtr|SignedByte|SInt16|SInt32|SInt64|SInt8|Size|StrFileName|StringHandle|StringPtr|TimeBase|TimeRecord|TimeScale|TimeValue|TimeValue64|UInt16|UInt32|UInt64|UInt8|UniChar|UniCharCount|UniCharCountPtr|UniCharPtr|UnicodeScalarValue|UniversalProcHandle|UniversalProcPtr|UnsignedFixed|UnsignedFixedPtr|UnsignedWide|UTF16Char|UTF32Char|UTF8Char)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.mac-classic.c\\\"},\\\"anon_pattern_13\\\":{\\\"match\\\":\\\"\\\\\\\\b([0-9A-Z_a-z]+_t)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.posix-reserved.c\\\"},\\\"anon_pattern_14\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.c\\\"},\\\"anon_pattern_15\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.c\\\"},\\\"anon_pattern_2\\\":{\\\"match\\\":\\\"typedef\\\",\\\"name\\\":\\\"keyword.other.typedef.c\\\"},\\\"anon_pattern_3\\\":{\\\"match\\\":\\\"\\\\\\\\b(const|extern|register|restrict|static|volatile|inline)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.c\\\"},\\\"anon_pattern_4\\\":{\\\"match\\\":\\\"\\\\\\\\bk[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.variable.mac-classic.c\\\"},\\\"anon_pattern_5\\\":{\\\"match\\\":\\\"\\\\\\\\bg[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.global.mac-classic.c\\\"},\\\"anon_pattern_6\\\":{\\\"match\\\":\\\"\\\\\\\\bs[A-Z]\\\\\\\\w*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.readwrite.static.mac-classic.c\\\"},\\\"anon_pattern_7\\\":{\\\"match\\\":\\\"\\\\\\\\b(NULL|true|false|TRUE|FALSE)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.c\\\"},\\\"anon_pattern_8\\\":{\\\"match\\\":\\\"\\\\\\\\b(u_char|u_short|u_int|u_long|ushort|uint|u_quad_t|quad_t|qaddr_t|caddr_t|daddr_t|div_t|dev_t|fixpt_t|blkcnt_t|blksize_t|gid_t|in_addr_t|in_port_t|ino_t|key_t|mode_t|nlink_t|id_t|pid_t|off_t|segsz_t|swblk_t|uid_t|id_t|clock_t|size_t|ssize_t|time_t|useconds_t|suseconds_t)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.sys-types.c\\\"},\\\"anon_pattern_9\\\":{\\\"match\\\":\\\"\\\\\\\\b(pthread_(?:attr_|cond_|condattr_|mutex_|mutexattr_|once_|rwlock_|rwlockattr_||key_)t)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.pthread.c\\\"},\\\"anon_pattern_range_1\\\":{\\\"begin\\\":\\\"((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))((#)\\\\\\\\s*define)\\\\\\\\b\\\\\\\\s+((?<!\\\\\\\\w)[A-Z_a-z]\\\\\\\\w*(?!\\\\\\\\w))(?:(\\\\\\\\()([^()\\\\\\\\\\\\\\\\]+)(\\\\\\\\)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.directive.define.c\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.c\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.c\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.preprocessor.c\\\"}},\\\"match\\\":\\\"(?<=[(,])\\\\\\\\s*((?<!\\\\\\\\w)[A-Z_a-z]\\\\\\\\w*(?!\\\\\\\\w))\\\\\\\\s*\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.c\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"ellipses.c punctuation.vararg-ellipses.variable.parameter.preprocessor.c\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.c\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.macro.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-define-line-contents\\\"}]},\\\"anon_pattern_range_2\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*(error|warning))\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.diagnostic.$3.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.diagnostic.c\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\"|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.double.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"'|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.single.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"[^\\\\\\\"']\\\",\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"string.unquoted.single.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]},\\\"anon_pattern_range_3\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*(i(?:nclude(?:_next)?|mport)))\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.$3.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.include.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.double.include.c\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.other.lt-gt.include.c\\\"}]},\\\"anon_pattern_range_4\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*line)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.line.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"anon_pattern_range_5\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*undef)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.undef.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[$A-Z_a-z][$\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.function.preprocessor.c\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"anon_pattern_range_6\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*pragma)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.pragma.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=/[*/])|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.pragma.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][-$\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.other.attribute-name.pragma.preprocessor.c\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"anon_pattern_range_7\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\w)(?!\\\\\\\\s*(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|pthread_rwlock_t|atomic_uintptr_t|atomic_ptrdiff_t|atomic_uintmax_t|atomic_intmax_t|atomic_char32_t|atomic_intptr_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|uint_least8_t|int_least32_t|int_least16_t|pthread_key_t|uint_fast32_t|uint_fast64_t|uint_fast16_t|atomic_size_t|atomic_ushort|atomic_ullong|int_least64_t|atomic_ulong|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|memory_order|atomic_schar|atomic_uchar|atomic_short|atomic_llong|thread_local|atomic_bool|atomic_uint|atomic_long|int_fast8_t|suseconds_t|atomic_char|atomic_int|useconds_t|_Imaginary|uintmax_t|in_addr_t|in_port_t|_Noreturn|blksize_t|pthread_t|uintptr_t|volatile|u_quad_t|blkcnt_t|intmax_t|intptr_t|_Complex|uint16_t|uint32_t|uint64_t|_Alignof|_Alignas|continue|unsigned|restrict|intmax_t|register|int64_t|qaddr_t|segsz_t|_Atomic|alignas|default|caddr_t|nlink_t|typedef|u_short|fixpt_t|clock_t|swblk_t|ssize_t|alignof|daddr_t|int16_t|int32_t|uint8_t|struct|mode_t|size_t|time_t|ushort|u_long|u_char|int8_t|double|signed|static|extern|inline|return|switch|xor_eq|and_eq|bitand|not_eq|sizeof|quad_t|uid_t|bitor|union|off_t|key_t|ino_t|compl|u_int|short|const|false|while|float|pid_t|break|_Bool|or_eq|div_t|dev_t|gid_t|id_t|long|case|goto|else|bool|auto|id_t|enum|uint|true|NULL|void|char|for|not|int|and|xor|do|or|if)\\\\\\\\s*\\\\\\\\()(?=[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-innards\\\"}]},\\\"anon_pattern_range_8\\\":{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\\\\\\\[)(?!])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.object.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.c\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.c\\\"}},\\\"name\\\":\\\"meta.bracket.square.access.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"anon_pattern_range_9\\\":{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\s*]\\\",\\\"name\\\":\\\"storage.modifier.array.bracket.square.c\\\"},\\\"backslash_escapes\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\\\\\\\d?|x\\\\\\\\h{0,2}|u\\\\\\\\h{0,4}|U\\\\\\\\h{0,8})\\\",\\\"name\\\":\\\"constant.character.escape.c\\\"},\\\"block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.c\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.c\\\"}},\\\"name\\\":\\\"meta.block.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]}]},\\\"block_comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.c\\\"}},\\\"name\\\":\\\"comment.block.c\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.c\\\"}},\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"block_innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-enabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-conditional-block\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#c_function_call\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\s)(?<!else|new|return)(?<=\\\\\\\\w)\\\\\\\\s+(and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.initialization.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.initialization.c\\\"}},\\\"name\\\":\\\"meta.initialization.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.c\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"include\\\":\\\"#parens-block\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"c_conditional_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"c_function_call\\\":{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\\\\\s*\\\\\\\\(|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"meta.function-call.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"case_statement\\\":{\\\"begin\\\":\\\"((?>(?:(?>(?<!\\\\\\\\s)\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))((?<!\\\\\\\\w)case(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.case.c\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.colon.case.c\\\"}},\\\"name\\\":\\\"meta.conditional.case.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#c_conditional_context\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(?>\\\\\\\\s*)(//[!/]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.documentation.c\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)\\\",\\\"name\\\":\\\"comment.line.double-slash.documentation.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.c\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s*(?:in|out)\\\\\\\\s*)+)])?\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.documentation.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.c\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s*(?:in|out)\\\\\\\\s*)+)])?\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.documentation.c\\\"}},\\\"match\\\":\\\"(/\\\\\\\\*[!*]+(?=\\\\\\\\s))(.+)([!*]*\\\\\\\\*/)\\\",\\\"name\\\":\\\"comment.block.documentation.c\\\"},{\\\"begin\\\":\\\"((?>\\\\\\\\s*)/\\\\\\\\*[!*]+(?:(?:\\\\\\\\n|$)|(?=\\\\\\\\s)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.documentation.c\\\"}},\\\"end\\\":\\\"([!*]*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.documentation.c\\\"}},\\\"name\\\":\\\"comment.block.documentation.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.c\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.c\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s*(?:in|out)\\\\\\\\s*)+)])?\\\\\\\\s+\\\\\\\\b(\\\\\\\\w+)\\\\\\\\b\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throw|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|uml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.c\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.toc-list.banner.block.c\\\"}},\\\"match\\\":\\\"^/\\\\\\\\* =(\\\\\\\\s*.*?)\\\\\\\\s*= \\\\\\\\*/$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.block.banner.c\\\"},{\\\"begin\\\":\\\"(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.c\\\"}},\\\"name\\\":\\\"comment.block.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.toc-list.banner.line.c\\\"}},\\\"match\\\":\\\"^// =(\\\\\\\\s*.*?)\\\\\\\\s*=$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.banner.c\\\"},{\\\"begin\\\":\\\"((?:^[\\\\\\\\t ]+)?)(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.c\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.c\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"comment.line.double-slash.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]}]}]},{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},\\\"default_statement\\\":{\\\"begin\\\":\\\"((?>(?:(?>(?<!\\\\\\\\s)\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))((?<!\\\\\\\\w)default(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.default.c\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.colon.case.default.c\\\"}},\\\"name\\\":\\\"meta.conditional.case.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#c_conditional_context\\\"}]},\\\"disabled\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*if(n?def)?\\\\\\\\b.*$\\\",\\\"end\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*endif\\\\\\\\b\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},\\\"evaluation_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"function-call-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"function-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#vararg_ellipses\\\"},{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.c\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#probably_a_parameter\\\"},{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-innards\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"inline_comment\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?:[^*]|\\\\\\\\*++[^/])*+(\\\\\\\\*++/))\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?:[^*]|\\\\\\\\*++[^/])*+(\\\\\\\\*++/))\\\"}]},\\\"line_comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*+(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.c\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*+(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.c\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]}]},\\\"line_continuation_character\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.line-continuation.c\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\n\\\"}]},\\\"member_access\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.access.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.access.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"variable.other.member.c\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s*)*)\\\\\\\\s*\\\\\\\\b((?!(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|atomic_uint_least8_t|atomic_int_least16_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_int_least64_t|atomic_int_least32_t|pthread_rwlockattr_t|atomic_uint_fast16_t|pthread_mutexattr_t|atomic_int_fast16_t|atomic_uint_fast8_t|atomic_int_fast64_t|atomic_int_least8_t|atomic_int_fast32_t|atomic_int_fast8_t|pthread_condattr_t|atomic_uintptr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintmax_t|pthread_mutex_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_attr_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_cond_t|pthread_once_t|uint_fast64_t|uint_fast16_t|atomic_size_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|pthread_key_t|atomic_ullong|atomic_ushort|uint_fast32_t|atomic_schar|atomic_short|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast16_t|atomic_ulong|atomic_llong|int_least8_t|atomic_uchar|memory_order|suseconds_t|int_fast8_t|atomic_bool|atomic_char|atomic_uint|atomic_long|atomic_int|useconds_t|_Imaginary|blksize_t|pthread_t|in_addr_t|uintptr_t|in_port_t|uintmax_t|blkcnt_t|uint16_t|unsigned|_Complex|uint32_t|intptr_t|intmax_t|uint64_t|u_quad_t|int64_t|int32_t|ssize_t|caddr_t|clock_t|uint8_t|u_short|swblk_t|segsz_t|int16_t|fixpt_t|daddr_t|nlink_t|qaddr_t|size_t|time_t|mode_t|signed|quad_t|ushort|u_long|u_char|double|int8_t|ino_t|uid_t|pid_t|_Bool|float|dev_t|div_t|short|gid_t|off_t|u_int|key_t|id_t|uint|long|void|char|bool|id_t|int)\\\\\\\\b)[A-Z_a-z]\\\\\\\\w*\\\\\\\\b(?!\\\\\\\\())\\\"},\\\"method_access\\\":{\\\"begin\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s*)*)\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.access.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object.access.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.c\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]\\\\\\\\w*|(?<=[])]))\\\\\\\\s*)(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.member.c\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.c\\\"}},\\\"contentName\\\":\\\"meta.function-call.member.c\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"}]},\\\"numbers\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=.)\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.hexadecimal.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.c\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.hexadecimal.c\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.hexadecimal.c\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.hexadecimal.c\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.exponent.hexadecimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"keyword.other.unit.suffix.floating-point.c\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Xx])(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<=\\\\\\\\h)\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\h))(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<!')([Pp])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?([FLfl](?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.decimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.decimal.point.c\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.decimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.decimal.c\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.decimal.c\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.decimal.c\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.exponent.decimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"keyword.other.unit.suffix.floating-point.c\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<=[0-9])\\\\\\\\.|\\\\\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<!')([Ee])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?([FLfl](?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.binary.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.binary.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.unit.suffix.integer.c\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Bb])([01](?:[01]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.octal.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.octal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.unit.suffix.integer.c\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0)((?:[0-7]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))+)((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.hexadecimal.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.hexadecimal.c\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.hexadecimal.c\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.hexadecimal.c\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.numeric.exponent.hexadecimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.unit.suffix.integer.c\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Xx])(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)((?<!')([Pp])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.decimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.decimal.c\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.decimal.c\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.decimal.c\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.numeric.exponent.decimal.c\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.unit.suffix.integer.c\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=[.0-9])(?!0[BXbx]))([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)((?<!')([Ee])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?((?:(?:(?:(?:(?:[Uu]|[Uu]ll?)|[Uu]LL?)|ll?[Uu]?)|LL?[Uu]?)|[Ff])(?!\\\\\\\\w))?$\\\"},{\\\"match\\\":\\\"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+\\\",\\\"name\\\":\\\"invalid.illegal.constant.numeric\\\"}]}]}},\\\"match\\\":\\\"(?<!\\\\\\\\w)\\\\\\\\.?\\\\\\\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*\\\"},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$\\\\\\\\w])(sizeof)(?![$\\\\\\\\w])\\\",\\\"name\\\":\\\"keyword.operator.sizeof.c\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.c\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.c\\\"},{\\\"match\\\":\\\"(?:[-%*+]|(?<!\\\\\\\\()/)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.c\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.c\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.c\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.c\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.c\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.c\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.c\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.c\\\"},{\\\"begin\\\":\\\"(\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.c\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-innards\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"name\\\":\\\"meta.parens.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"parens-block\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"name\\\":\\\"meta.parens.block.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"},{\\\"match\\\":\\\"(?-im:(?<!:):(?!:))\\\",\\\"name\\\":\\\"punctuation.range-based.c\\\"}]},\\\"pragma-mark\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.preprocessor.pragma.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.directive.pragma.pragma-mark.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.pragma-mark.c\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(((#)\\\\\\\\s*pragma\\\\\\\\s+mark)\\\\\\\\s+(.*))\\\",\\\"name\\\":\\\"meta.section.c\\\"},\\\"predefined_macros\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.$1.c\\\"}},\\\"match\\\":\\\"\\\\\\\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMAF??|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\\\\\\\b\\\"},{\\\"match\\\":\\\"\\\\\\\\b__([A-Z_]+)__\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$1.c\\\"}]},\\\"preprocessor-rule-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*if(?:n?def)?)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#preprocessor-rule-enabled-elif\\\"},{\\\"include\\\":\\\"#preprocessor-rule-enabled-else\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-elif\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"invalid.illegal.stray-$1.c\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|lif|ndif))\\\\\\\\b\\\"}]},\\\"preprocessor-rule-conditional-block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*if(?:n?def)?)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#preprocessor-rule-enabled-elif-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-enabled-else-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-elif\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"invalid.illegal.stray-$1.c\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*#\\\\\\\\s*(e(?:lse|lif|ndif))\\\\\\\\b\\\"}]},\\\"preprocessor-rule-conditional-line\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bdefined\\\\\\\\b(?:\\\\\\\\s*$|(?=\\\\\\\\s*\\\\\\\\(*\\\\\\\\s*(?!defined\\\\\\\\b)[$A-Z_a-z][$\\\\\\\\w]*\\\\\\\\b\\\\\\\\s*\\\\\\\\)*\\\\\\\\s*(?:\\\\\\\\n|//|/\\\\\\\\*|[:?]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},{\\\"match\\\":\\\"\\\\\\\\bdefined\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.macro-name.c\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.c\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#operators\\\"},{\\\"match\\\":\\\"\\\\\\\\b(NULL|true|false|TRUE|FALSE)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.c\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][$\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.function.preprocessor.c\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]}]},\\\"preprocessor-rule-define-line-blocks\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.c\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-define-line-blocks\\\"},{\\\"include\\\":\\\"#preprocessor-rule-define-line-contents\\\"}]},{\\\"include\\\":\\\"#preprocessor-rule-define-line-contents\\\"}]},\\\"preprocessor-rule-define-line-contents\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#vararg_ellipses\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.c\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\s*#\\\\\\\\s*e(?:lif|lse|ndif)\\\\\\\\b)|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.c\\\"}},\\\"name\\\":\\\"meta.block.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-define-line-blocks\\\"}]},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"},{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas|asm|__asm__|auto|bool|_Bool|char|_Complex|double|enum|float|_Imaginary|int|long|short|signed|struct|typedef|union|unsigned|void)\\\\\\\\s*\\\\\\\\()(?=(?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++\\\\\\\\s*\\\\\\\\(|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[])\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!\\\\\\\\w)|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.function.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-define-line-functions\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\"|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.double.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"'|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.single.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"preprocessor-rule-define-line-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#vararg_ellipses\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"begin\\\":\\\"(?!(?:while|for|do|if|else|switch|catch|enumerate|return|typeid|alignof|alignas|sizeof|[cr]?iterate|and|and_eq|bitand|bitor|compl|not|not_eq|or|or_eq|typeid|xor|xor_eq|alignof|alignas)\\\\\\\\s*\\\\\\\\()((?:[A-Z_a-z][0-9A-Z_a-z]*+|::)++|(?<=operator)(?:[-!\\\\\\\\&*+<=>]+|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-define-line-functions\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\s*\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-define-line-functions\\\"}]},{\\\"include\\\":\\\"#preprocessor-rule-define-line-contents\\\"}]},\\\"preprocessor-rule-disabled\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*if)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\(*\\\\\\\\b0+\\\\\\\\b\\\\\\\\)*\\\\\\\\s*(?:$|//|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#preprocessor-rule-enabled-elif\\\"},{\\\"include\\\":\\\"#preprocessor-rule-enabled-else\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-elif\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lif|lse|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\n\\\",\\\"contentName\\\":\\\"comment.block.preprocessor.if-branch.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]}]}]},\\\"preprocessor-rule-disabled-block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*if)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\(*\\\\\\\\b0+\\\\\\\\b\\\\\\\\)*\\\\\\\\s*(?:$|//|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#preprocessor-rule-enabled-elif-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-enabled-else-block\\\"},{\\\"include\\\":\\\"#preprocessor-rule-disabled-elif\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lif|lse|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\n\\\",\\\"contentName\\\":\\\"comment.block.preprocessor.if-branch.in-block.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]}]}]},\\\"preprocessor-rule-disabled-elif\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\(*\\\\\\\\b0+\\\\\\\\b\\\\\\\\)*\\\\\\\\s*(?:$|//|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lif|lse|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\n\\\",\\\"contentName\\\":\\\"comment.block.preprocessor.elif-branch.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]}]},\\\"preprocessor-rule-enabled\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*if)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\(*\\\\\\\\b0*1\\\\\\\\b\\\\\\\\)*\\\\\\\\s*(?:$|//|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.preprocessor.c\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*else)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.else-branch.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.if-branch.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\n\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"preprocessor-rule-enabled-block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*if)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\(*\\\\\\\\b0*1\\\\\\\\b\\\\\\\\)*\\\\\\\\s*(?:$|//|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*else)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.else-branch.in-block.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.if-branch.in-block.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\n\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]}]}]},\\\"preprocessor-rule-enabled-elif\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\(*\\\\\\\\b0*1\\\\\\\\b\\\\\\\\)*\\\\\\\\s*(?:$|//|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\n\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*(else))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.elif-branch.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*(elif))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.elif-branch.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"preprocessor-rule-enabled-elif-block\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*elif)\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\(*\\\\\\\\b0*1\\\\\\\\b\\\\\\\\)*\\\\\\\\s*(?:$|//|/\\\\\\\\*))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=.)(?!/(?:/|\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n)))\\\",\\\"end\\\":\\\"(?=//)|(?=/\\\\\\\\*(?!.*\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n))|(?<!\\\\\\\\\\\\\\\\)(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.preprocessor.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor-rule-conditional-line\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\n\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*(else))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.elif-branch.in-block.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*(elif))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"contentName\\\":\\\"comment.block.preprocessor.elif-branch.c\\\",\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*e(?:lse|lif|ndif))\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#disabled\\\"},{\\\"include\\\":\\\"#pragma-mark\\\"}]},{\\\"include\\\":\\\"#block_innards\\\"}]}]},\\\"preprocessor-rule-enabled-else\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*else)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},\\\"preprocessor-rule-enabled-else-block\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((#)\\\\\\\\s*else)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.preprocessor.c\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.directive.c\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*((#)\\\\\\\\s*endif)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_innards\\\"}]},\\\"probably_a_parameter\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.probably.c\\\"}},\\\"match\\\":\\\"(?<=[0-9A-Z_a-z] |[]\\\\\\\\&)*>])\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*)\\\\\\\\s*(?=(?:\\\\\\\\[]\\\\\\\\s*)?[),])\\\"},\\\"static_assert\\\":{\\\"begin\\\":\\\"((?>(?:(?>(?<!\\\\\\\\s)\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))((?<!\\\\\\\\w)static_assert|_Static_assert(?!\\\\\\\\w))((?>(?:(?>(?<!\\\\\\\\s)\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.static_assert.c\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.static_assert.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.static_assert.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=(?:L|u8?|U\\\\\\\\s*\\\\\\\")?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.c\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.static_assert.message.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_context\\\"}]},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"storage_types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?-im:(?<!\\\\\\\\w)(?:unsigned|signed|double|_Bool|short|float|long|void|char|bool|int)(?!\\\\\\\\w))\\\",\\\"name\\\":\\\"storage.type.built-in.primitive.c\\\"},{\\\"match\\\":\\\"(?-im:(?<!\\\\\\\\w)(?:atomic_uint_least64_t|atomic_uint_least16_t|atomic_uint_least32_t|pthread_rwlockattr_t|atomic_uint_fast64_t|atomic_uint_fast32_t|atomic_uint_fast16_t|atomic_int_least64_t|atomic_int_least32_t|atomic_int_least16_t|atomic_uint_least8_t|atomic_uint_fast8_t|atomic_int_least8_t|atomic_int_fast16_t|pthread_mutexattr_t|atomic_int_fast32_t|atomic_int_fast64_t|atomic_int_fast8_t|pthread_condattr_t|atomic_ptrdiff_t|pthread_rwlock_t|atomic_uintptr_t|atomic_uintmax_t|atomic_intmax_t|atomic_intptr_t|atomic_char32_t|atomic_char16_t|pthread_mutex_t|pthread_cond_t|atomic_wchar_t|uint_least64_t|uint_least32_t|uint_least16_t|pthread_once_t|pthread_attr_t|int_least32_t|pthread_key_t|int_least16_t|int_least64_t|uint_least8_t|uint_fast16_t|uint_fast32_t|uint_fast64_t|atomic_ushort|atomic_ullong|atomic_size_t|int_fast16_t|int_fast64_t|uint_fast8_t|atomic_short|atomic_uchar|atomic_schar|int_least8_t|memory_order|atomic_llong|atomic_ulong|int_fast32_t|atomic_long|atomic_uint|atomic_char|int_fast8_t|suseconds_t|atomic_bool|atomic_int|_Imaginary|useconds_t|in_port_t|uintmax_t|pthread_t|blksize_t|in_addr_t|uintptr_t|blkcnt_t|uint16_t|uint32_t|uint64_t|u_quad_t|_Complex|intptr_t|intmax_t|segsz_t|u_short|nlink_t|uint8_t|int64_t|int32_t|int16_t|fixpt_t|daddr_t|caddr_t|qaddr_t|ssize_t|clock_t|swblk_t|u_long|mode_t|int8_t|time_t|ushort|u_char|quad_t|size_t|pid_t|gid_t|uid_t|dev_t|div_t|off_t|u_int|key_t|ino_t|uint|id_t)(?!\\\\\\\\w))\\\",\\\"name\\\":\\\"storage.type.built-in.c\\\"},{\\\"match\\\":\\\"(?-im:\\\\\\\\b(enum|struct|union)\\\\\\\\b)\\\",\\\"name\\\":\\\"storage.type.$1.c\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(__asm__|asm)\\\\\\\\b\\\\\\\\s*((?:volatile)?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.asm.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.c\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.asm.c\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"^((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))(?:\\\\\\\\n|$)\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.assembly.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.assembly.c\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(R?)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.c\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.assembly.c\\\"}},\\\"contentName\\\":\\\"meta.embedded.assembly.c\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.assembly.c\\\"}},\\\"name\\\":\\\"string.quoted.double.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asm\\\"},{\\\"include\\\":\\\"source.x86\\\"},{\\\"include\\\":\\\"source.x86_64\\\"},{\\\"include\\\":\\\"source.arm\\\"},{\\\"include\\\":\\\"#backslash_escapes\\\"},{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.assembly.inner.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.assembly.inner.c\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"variable.other.asm.label.c\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]}},\\\"match\\\":\\\"\\\\\\\\[((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))([A-Z_a-z]\\\\\\\\w*)((?:(?>\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+?|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z))]\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.colon.assembly.c\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]}]},\\\"string_escaped_char\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnprtv]|[0-3]\\\\\\\\d{0,2}|[4-7]\\\\\\\\d?|x\\\\\\\\h{0,2}|u\\\\\\\\h{0,4}|U\\\\\\\\h{0,8})\\\",\\\"name\\\":\\\"constant.character.escape.c\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape.c\\\"}]},\\\"string_placeholder\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"%(\\\\\\\\d+\\\\\\\\$)?[- #'+0]*[,:;_]?((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]\\\",\\\"name\\\":\\\"constant.other.placeholder.c\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.placeholder.c\\\"}},\\\"match\\\":\\\"(%)(?!\\\\\\\"\\\\\\\\s*(PRI|SCN))\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.double.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_placeholder\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.c\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.c\\\"}},\\\"name\\\":\\\"string.quoted.single.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]}]},\\\"switch_conditional_parentheses\\\":{\\\"begin\\\":\\\"((?>(?:(?>(?<!\\\\\\\\s)\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.conditional.switch.c\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.conditional.switch.c\\\"}},\\\"name\\\":\\\"meta.conditional.switch.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#c_conditional_context\\\"}]},\\\"switch_statement\\\":{\\\"begin\\\":\\\"(((?>(?:(?>(?<!\\\\\\\\s)\\\\\\\\s+)|(/\\\\\\\\*)((?>(?:[^*]|(?>\\\\\\\\*+)[^/])*)((?>\\\\\\\\*+)/)))+|(?:(?:(?:(?:\\\\\\\\b|(?<=\\\\\\\\W))|(?=\\\\\\\\W))|\\\\\\\\A)|\\\\\\\\Z)))((?<!\\\\\\\\w)switch(?!\\\\\\\\w)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.head.switch.c\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.begin.c\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.c\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.c punctuation.definition.comment.end.c\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.c\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.switch.c\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"name\\\":\\\"meta.block.switch.c\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"end\\\":\\\"(\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.switch.c\\\"}},\\\"name\\\":\\\"meta.head.switch.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#switch_conditional_parentheses\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"end\\\":\\\"(}|%>|\\\\\\\\?\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.switch.c\\\"}},\\\"name\\\":\\\"meta.body.switch.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#default_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"$self\\\"},{\\\"include\\\":\\\"#block_innards\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)[\\\\\\\\n\\\\\\\\s]*\\\",\\\"end\\\":\\\"[\\\\\\\\n\\\\\\\\s]*(?=;)\\\",\\\"name\\\":\\\"meta.tail.switch.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"vararg_ellipses\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\.\\\\\\\\.\\\\\\\\.(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"punctuation.vararg-ellipses.c\\\"}},\\\"scopeName\\\":\\\"source.c\\\"}\"))\n\nexport default [\nlang\n]\n","import javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"CoffeeScript\\\",\\\"name\\\":\\\"coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.coffee\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.coffee\\\"}},\\\"match\\\":\\\"(new)\\\\\\\\s+(?:(class)\\\\\\\\s+(\\\\\\\\w+(?:\\\\\\\\.\\\\\\\\w*)*)?|(\\\\\\\\w+(?:\\\\\\\\.\\\\\\\\w*)*))\\\",\\\"name\\\":\\\"meta.class.instance.constructor.coffee\\\"},{\\\"begin\\\":\\\"'''\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"}},\\\"end\\\":\\\"'''\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"}},\\\"name\\\":\\\"string.quoted.single.heredoc.coffee\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.escape.backslash.coffee\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\).\\\",\\\"name\\\":\\\"constant.character.escape.backslash.coffee\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"}},\\\"name\\\":\\\"string.quoted.double.heredoc.coffee\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.escape.backslash.coffee\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\).\\\",\\\"name\\\":\\\"constant.character.escape.backslash.coffee\\\"},{\\\"include\\\":\\\"#interpolated_coffee\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"source.js.embedded.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"}},\\\"match\\\":\\\"(`)(.*)(`)\\\",\\\"name\\\":\\\"string.quoted.script.coffee\\\"},{\\\"begin\\\":\\\"(?<!#)###(?!#)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.coffee\\\"}},\\\"end\\\":\\\"###\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.coffee\\\"}},\\\"name\\\":\\\"comment.block.coffee\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|\\\\\\\\s)@\\\\\\\\w*(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"storage.type.annotation.coffee\\\"}]},{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.coffee\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.number-sign.coffee\\\"},{\\\"begin\\\":\\\"///\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"}},\\\"end\\\":\\\"(///)[gimuy]*\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"}},\\\"name\\\":\\\"string.regexp.multiline.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heregexp\\\"}]},{\\\"begin\\\":\\\"(?<![$\\\\\\\\w])(/)(?=(?![*+/?])(.+)(/)[gimuy]*(?!\\\\\\\\s*[$(/\\\\\\\\w]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"}},\\\"end\\\":\\\"(/)[gimuy]*(?!\\\\\\\\s*[$(/\\\\\\\\w])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"}},\\\"name\\\":\\\"string.regexp.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js.regexp\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(?<![$.])(break|by|catch|continue|else|finally|for|in|of|if|return|switch|then|throw|try|unless|when|while|until|loop|do|export|import|default|from|as|yield|async|await|(?<=for)\\\\\\\\s+own)(?!\\\\\\\\s*:)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<![$.])(delete|instanceof|new|typeof)(?!\\\\\\\\s*:)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.$1.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<![$.])(case|function|var|void|with|const|let|enum|native|__hasProp|__extends|__slice|__bind|__indexOf|implements|interface|package|private|protected|public|static)(?!\\\\\\\\s*:)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.reserved.coffee\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)((@)?[$A-Z_a-z][$\\\\\\\\w]*)\\\\\\\\s*([:=])\\\\\\\\s*(?=(\\\\\\\\([^()]*\\\\\\\\)\\\\\\\\s*)?[-=]>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.instance.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.coffee\\\"}},\\\"end\\\":\\\"[-=]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.coffee\\\"}},\\\"name\\\":\\\"meta.function.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_params\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)(?:((')([^']*?)('))|((\\\\\\\")([^\\\\\\\"]*?)(\\\\\\\")))\\\\\\\\s*([:=])\\\\\\\\s*(?=(\\\\\\\\([^()]*\\\\\\\\)\\\\\\\\s*)?[-=]>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.single.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.coffee\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.double.coffee\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.coffee\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.assignment.coffee\\\"}},\\\"end\\\":\\\"[-=]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.coffee\\\"}},\\\"name\\\":\\\"meta.function.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_params\\\"}]},{\\\"begin\\\":\\\"(?=(\\\\\\\\([^()]*\\\\\\\\)\\\\\\\\s*)?[-=]>)\\\",\\\"end\\\":\\\"[-=]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.coffee\\\"}},\\\"name\\\":\\\"meta.function.inline.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_params\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)(\\\\\\\\{)(?=[^\\\\\\\"#']+?}[]}\\\\\\\\s]*=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.destructuring.begin.bracket.curly.coffee\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.destructuring.end.bracket.curly.coffee\\\"}},\\\"name\\\":\\\"meta.variable.assignment.destructured.object.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"match\\\":\\\"[$A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.assignment.coffee\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)(\\\\\\\\[)(?=[^\\\\\\\"#']+?][]}\\\\\\\\s]*=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.destructuring.begin.bracket.square.coffee\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.destructuring.end.bracket.square.coffee\\\"}},\\\"name\\\":\\\"meta.variable.assignment.destructured.array.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"},{\\\"match\\\":\\\"[$A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.assignment.coffee\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.|::)(true|on|yes)(?!\\\\\\\\s*[:=][^=])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.true.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.|::)(false|off|no)(?!\\\\\\\\s*[:=][^=])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.false.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.|::)null(?!\\\\\\\\s*[:=][^=])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.null.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.|::)extends(?!\\\\\\\\s*[:=])\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.coffee\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(?<!\\\\\\\\$)(super|this|arguments)(?!\\\\\\\\s*[:=][^=]|\\\\\\\\$)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.$1.coffee\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.inheritance.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.inherited-class.coffee\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s|^|[(\\\\\\\\[])(class)\\\\\\\\s+(extends)\\\\\\\\s+(@?[$.A-Z_a-z][.\\\\\\\\w]*)\\\",\\\"name\\\":\\\"meta.class.coffee\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.class.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.inheritance.coffee\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.inherited-class.coffee\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\s|^|[(\\\\\\\\[])(class)\\\\\\\\b\\\\\\\\s+(@?[$A-Z_a-z][.\\\\\\\\w]*)?(?:\\\\\\\\s+(extends)\\\\\\\\s+(@?[$.A-Z_a-z][.\\\\\\\\w]*))?\\\",\\\"name\\\":\\\"meta.class.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(debugger|\\\\\\\\\\\\\\\\)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Array|ArrayBuffer|Blob|Boolean|Date|document|Function|Int(8|16|32|64)Array|Math|Map|Number|Object|Proxy|RegExp|Set|String|WeakMap|window|Uint(8|16|32|64)Array|XMLHttpRequest)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(console)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.object.coffee\\\"},{\\\"match\\\":\\\"((?<=console\\\\\\\\.)(debug|warn|info|log|error|time|timeEnd|assert))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.console.coffee\\\"},{\\\"match\\\":\\\"((?<=\\\\\\\\.)(apply|call|concat|every|filter|forEach|from|hasOwnProperty|indexOf|isPrototypeOf|join|lastIndexOf|map|of|pop|propertyIsEnumerable|push|reduce(Right)?|reverse|shift|slice|some|sort|splice|to(Locale)?String|unshift|valueOf))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.method.array.coffee\\\"},{\\\"match\\\":\\\"((?<=Array\\\\\\\\.)(isArray))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.static.array.coffee\\\"},{\\\"match\\\":\\\"((?<=Object\\\\\\\\.)(create|definePropert(ies|y)|freeze|getOwnProperty(Descriptors?|Names)|getProperty(Descriptor|Names)|getPrototypeOf|is(Extensible|Frozen|Sealed)?|isnt|keys|preventExtensions|seal))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.static.object.coffee\\\"},{\\\"match\\\":\\\"((?<=Math\\\\\\\\.)(abs|acosh??|asinh??|atan2??|atanh|ceil|cosh??|exp|expm1|floor|hypot|log|log10|log1p|log2|max|min|pow|random|round|sign|sinh??|sqrt|tanh??|trunc))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.static.math.coffee\\\"},{\\\"match\\\":\\\"((?<=Number\\\\\\\\.)(is(Finite|Integer|NaN)|toInteger))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.static.number.coffee\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(module|exports|__filename|__dirname|global|process)(?!\\\\\\\\s*:)\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(Infinity|NaN|undefined)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.coffee\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#method_calls\\\"},{\\\"include\\\":\\\"#function_calls\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#objects\\\"},{\\\"include\\\":\\\"#properties\\\"},{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\$)\\\\\\\\b[0-9]+[$\\\\\\\\w]*\\\",\\\"name\\\":\\\"invalid.illegal.identifier.coffee\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.coffee\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.coffee\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.curly.coffee\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.curly.coffee\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.square.coffee\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.square.coffee\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\.{3}\\\",\\\"name\\\":\\\"keyword.operator.slice.exclusive.coffee\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\.{2}\\\",\\\"name\\\":\\\"keyword.operator.slice.inclusive.coffee\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.coffee\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.coffee\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#instance_variable\\\"},{\\\"include\\\":\\\"#single_quoted_string\\\"},{\\\"include\\\":\\\"#double_quoted_string\\\"}],\\\"repository\\\":{\\\"arguments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.coffee\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.coffee\\\"}},\\\"name\\\":\\\"meta.arguments.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?=(@|@?[$\\\\\\\\w]+|[-=]>|-\\\\\\\\d|[\\\\\\\"'\\\\\\\\[{]))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?<![$\\\\\\\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\\\\\\\w]))|(?=\\\\\\\\s*([]#)}]|$))\\\",\\\"name\\\":\\\"meta.arguments.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"double_quoted_string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"}},\\\"name\\\":\\\"string.quoted.double.coffee\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.escape.backslash.coffee\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(x\\\\\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]|37[0-7]?|[4-7][0-7]?|.)\\\",\\\"name\\\":\\\"constant.character.escape.backslash.coffee\\\"},{\\\"include\\\":\\\"#interpolated_coffee\\\"}]}]},\\\"embedded_comment\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.coffee\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(#).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.number-sign.coffee\\\"}]},\\\"function_calls\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@)?([$\\\\\\\\w]+)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.instance.coffee\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#function_names\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function-call.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arguments\\\"}]},{\\\"begin\\\":\\\"(@)?([$\\\\\\\\w]+)\\\\\\\\s*(?=\\\\\\\\s+(?!(?<![$\\\\\\\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\\\\\\\w]))(?=(@?[$\\\\\\\\w]+|[-=]>|-\\\\\\\\d|[\\\\\\\"'\\\\\\\\[{])))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.instance.coffee\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#function_names\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?<![$\\\\\\\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\\\\\\\w]))|(?=\\\\\\\\s*([]#)}]|$))\\\",\\\"name\\\":\\\"meta.function-call.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arguments\\\"}]}]},\\\"function_names\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(isNaN|isFinite|eval|uneval|parseInt|parseFloat|decodeURI|decodeURIComponent|encodeURI|encodeURIComponent|escape|unescape|require|set(Interval|Timeout)|clear(Interval|Timeout))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.coffee\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][$\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.function.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\d[$\\\\\\\\w]*\\\",\\\"name\\\":\\\"invalid.illegal.identifier.coffee\\\"}]},\\\"function_params\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.coffee\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.coffee\\\"}},\\\"name\\\":\\\"meta.parameters.coffee\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.splat.coffee\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.readwrite.instance.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.splat.coffee\\\"}},\\\"match\\\":\\\"(@(?:[$A-Z_a-z][$\\\\\\\\w]*)?)(\\\\\\\\.\\\\\\\\.\\\\\\\\.)?\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"heregexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d*\\\",\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heregexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((\\\\\\\\?:)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heregexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"},{\\\"include\\\":\\\"#interpolated_coffee\\\"},{\\\"include\\\":\\\"#embedded_comment\\\"}]},\\\"instance_variable\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(@)([$A-Z_a-z]\\\\\\\\w*)?\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.coffee\\\"}]},\\\"interpolated_coffee\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.coffee\\\"}},\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"source.coffee.embedded.source\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-end-tag\\\"}]},\\\"jsx-attribute\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.coffee\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\s+)([-.\\\\\\\\w]+)\\\\\\\\s*(=)\\\"},{\\\"include\\\":\\\"#double_quoted_string\\\"},{\\\"include\\\":\\\"#single_quoted_string\\\"},{\\\"include\\\":\\\"#jsx-expression\\\"}]},\\\"jsx-end-tag\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(</)([-.\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.coffee\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"name\\\":\\\"meta.tag.coffee\\\"}]},\\\"jsx-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.curly.coffee\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.curly.coffee\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quoted_string\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"jsx-tag\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)([-.\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.coffee\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"name\\\":\\\"meta.tag.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-attribute\\\"}]}]},\\\"method_calls\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*([$\\\\\\\\w]+)\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#method_names\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.method-call.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arguments\\\"}]},{\\\"begin\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*([$\\\\\\\\w]+)\\\\\\\\s*(?=\\\\\\\\s+(?!(?<![$\\\\\\\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\\\\\\\w]))(?=(@|@?[$\\\\\\\\w]+|[-=]>|-\\\\\\\\d|[\\\\\\\"'\\\\\\\\[{])))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.method.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#method_names\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?<![$\\\\\\\\w])(of|in|then|is|isnt|and|or|for|else|when|if|unless|by|instanceof)(?![$\\\\\\\\w]))|(?=\\\\\\\\s*([]#)}]|$))\\\",\\\"name\\\":\\\"meta.method-call.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arguments\\\"}]}]},\\\"method_names\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bon(Rowsinserted|Rowsdelete|Rowenter|Rowexit|Resize|Resizestart|Resizeend|Reset|Readystatechange|Mouseout|Mouseover|Mousedown|Mouseup|Mousemove|Before(cut|deactivate|unload|update|paste|print|editfocus|activate)|Blur|Scrolltop|Submit|Select|Selectstart|Selectionchange|Hover|Help|Change|Contextmenu|Controlselect|Cut|Cellchange|Clock|Close|Deactivate|Datasetchanged|Datasetcomplete|Dataavailable|Drop|Drag|Dragstart|Dragover|Dragdrop|Dragenter|Dragend|Dragleave|Dblclick|Unload|Paste|Propertychange|Error|Errorupdate|Keydown|Keyup|Keypress|Focus|Load|Activate|Afterupdate|Afterprint|Abort)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.event-handler.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(shift|showModelessDialog|showModalDialog|showHelp|scrollX??|scrollByPages|scrollByLines|scrollY|scrollTo|stop|strike|sizeToContent|sidebar|signText|sort|sup|sub|substr|substring|splice|split|send|set(Milliseconds|Seconds|Minutes|Hours|Month|Year|FullYear|Date|UTC(Milliseconds|Seconds|Minutes|Hours|Month|FullYear|Date)|Time|Hotkeys|Cursor|ZOptions|Active|Resizable|RequestHeader)|search|slice|savePreferences|small|home|handleEvent|navigate|char|charCodeAt|charAt|concat|contextual|confirm|compile|clear|captureEvents|call|createStyleSheet|createPopup|createEventObject|to(GMTString|UTCString|String|Source|UpperCase|LowerCase|LocaleString)|test|taint|taintEnabled|indexOf|italics|disableExternalCapture|dump|detachEvent|unshift|untaint|unwatch|updateCommands|join|javaEnabled|pop|push|plugins.refresh|paddings|parse|print|prompt|preference|enableExternalCapture|exec|execScript|valueOf|UTC|find|file|fileModifiedDate|fileSize|fileCreatedDate|fileUpdatedDate|fixed|fontsize|fontcolor|forward|fromCharCode|watch|link|load|lastIndexOf|anchor|attachEvent|atob|apply|alert|abort|routeEvents|resize|resizeBy|resizeTo|recalc|returnValue|replace|reverse|reload|releaseCapture|releaseEvents|go|get(Milliseconds|Seconds|Minutes|Hours|Month|Day|Year|FullYear|Time|Date|TimezoneOffset|UTC(Milliseconds|Seconds|Minutes|Hours|Day|Month|FullYear|Date)|Attention|Selection|ResponseHeader|AllResponseHeaders)|moveBy|moveBelow|moveTo|moveToAbsolute|moveAbove|mergeAttributes|match|margins|btoa|big|bold|borderWidths|blink|back)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(acceptNode|add|addEventListener|addTextTrack|adoptNode|after|animate|append|appendChild|appendData|before|blur|canPlayType|captureStream|caretPositionFromPoint|caretRangeFromPoint|checkValidity|clear|click|cloneContents|cloneNode|cloneRange|close|closest|collapse|compareBoundaryPoints|compareDocumentPosition|comparePoint|contains|convertPointFromNode|convertQuadFromNode|convertRectFromNode|createAttribute|createAttributeNS|createCaption|createCDATASection|createComment|createContextualFragment|createDocument|createDocumentFragment|createDocumentType|createElement|createElementNS|createEntityReference|createEvent|createExpression|createHTMLDocument|createNodeIterator|createNSResolver|createProcessingInstruction|createRange|createShadowRoot|createTBody|createTextNode|createTFoot|createTHead|createTreeWalker|delete|deleteCaption|deleteCell|deleteContents|deleteData|deleteRow|deleteTFoot|deleteTHead|detach|disconnect|dispatchEvent|elementFromPoint|elementsFromPoint|enableStyleSheetsForSet|entries|evaluate|execCommand|exitFullscreen|exitPointerLock|expand|extractContents|fastSeek|firstChild|focus|forEach|get|getAll|getAnimations|getAttribute|getAttributeNames|getAttributeNode|getAttributeNodeNS|getAttributeNS|getBoundingClientRect|getBoxQuads|getClientRects|getContext|getDestinationInsertionPoints|getElementById|getElementsByClassName|getElementsByName|getElementsByTagName|getElementsByTagNameNS|getItem|getNamedItem|getSelection|getStartDate|getVideoPlaybackQuality|has|hasAttribute|hasAttributeNS|hasAttributes|hasChildNodes|hasFeature|hasFocus|importNode|initEvent|insertAdjacentElement|insertAdjacentHTML|insertAdjacentText|insertBefore|insertCell|insertData|insertNode|insertRow|intersectsNode|isDefaultNamespace|isEqualNode|isPointInRange|isSameNode|item|keys??|lastChild|load|lookupNamespaceURI|lookupPrefix|matches|move|moveAttribute|moveAttributeNode|moveChild|moveNamedItem|namedItem|nextNode|nextSibling|normalize|observe|open|parentNode|pause|play|postMessage|prepend|preventDefault|previousNode|previousSibling|probablySupportsContext|queryCommandEnabled|queryCommandIndeterm|queryCommandState|queryCommandSupported|queryCommandValue|querySelector|querySelectorAll|registerContentHandler|registerElement|registerProtocolHandler|releaseCapture|releaseEvents|remove|removeAttribute|removeAttributeNode|removeAttributeNS|removeChild|removeEventListener|removeItem|replace|replaceChild|replaceData|replaceWith|reportValidity|requestFullscreen|requestPointerLock|reset|scroll|scrollBy|scrollIntoView|scrollTo|seekToNextFrame|select|selectNode|selectNodeContents|set|setAttribute|setAttributeNode|setAttributeNodeNS|setAttributeNS|setCapture|setCustomValidity|setEnd|setEndAfter|setEndBefore|setItem|setNamedItem|setRangeText|setSelectionRange|setSinkId|setStart|setStartAfter|setStartBefore|slice|splitText|stepDown|stepUp|stopImmediatePropagation|stopPropagation|submit|substringData|supports|surroundContents|takeRecords|terminate|toBlob|toDataURL|toggle|toString|values|write|writeln)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dom.coffee\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][$\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.function.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\d[$\\\\\\\\w]*\\\",\\\"name\\\":\\\"invalid.illegal.identifier.coffee\\\"}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Xx])\\\\\\\\h+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Bb])[01]+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0([Oo])?[0-7]+\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.coffee\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.coffee\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.coffee\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.coffee\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.coffee\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.coffee\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9]+(\\\\\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+(\\\\\\\\.)[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+[Ee][-+]?[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+(\\\\\\\\.)[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+(?=\\\\\\\\.{2,3})|\\\\\\\\b[0-9]+(\\\\\\\\.)\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9]+\\\\\\\\b|\\\\\\\\b[0-9]+\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[A-Z][$0-9A-Z_]*(?=\\\\\\\\s*\\\\\\\\??(\\\\\\\\.\\\\\\\\s*[$A-Z_a-z]\\\\\\\\w*|::))\\\",\\\"name\\\":\\\"constant.other.object.coffee\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][$\\\\\\\\w]*(?=\\\\\\\\s*\\\\\\\\??(\\\\\\\\.\\\\\\\\s*[$A-Z_a-z]\\\\\\\\w*|::))\\\",\\\"name\\\":\\\"variable.other.object.coffee\\\"}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.assignment.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.coffee\\\"}},\\\"match\\\":\\\"(?:([$A-Z_a-z][$\\\\\\\\w]*)?\\\\\\\\s+|(?<![$\\\\\\\\w]))(and=|or=)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.assignment.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.coffee\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)?\\\\\\\\s*((?:[-%*+]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|(?<!\\\\\\\\()/)=)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.assignment.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.coffee\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)?\\\\\\\\s*((?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=)\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.coffee\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.coffee\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.coffee\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.coffee\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.assignment.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.coffee\\\"}},\\\"match\\\":\\\"([$A-Z_a-z][$\\\\\\\\w]*)?\\\\\\\\s*(=|:(?!:))(?![=>])\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.splat.coffee\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.existential.coffee\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.coffee\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.comparison.coffee\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<![$.])(?:(and|or|not)|(is(?:|nt)))(?!\\\\\\\\s*:)\\\\\\\\b\\\"}]},\\\"properties\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.property.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.other.object.property.coffee\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*([A-Z][$0-9A-Z_]*\\\\\\\\b\\\\\\\\$*)(?=\\\\\\\\s*\\\\\\\\??(\\\\\\\\.\\\\\\\\s*[$A-Z_a-z]\\\\\\\\w*|::))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.property.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.object.property.coffee\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*(\\\\\\\\$*[$A-Z_a-z][$\\\\\\\\w]*)(?=\\\\\\\\s*\\\\\\\\??(\\\\\\\\.\\\\\\\\s*[$A-Z_a-z]\\\\\\\\w*|::))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.property.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.other.property.coffee\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*([A-Z][$0-9A-Z_]*\\\\\\\\b\\\\\\\\$*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.property.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.coffee\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*(\\\\\\\\$*[$A-Z_a-z][$\\\\\\\\w]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.property.period.coffee\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.prototype.coffee\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.identifier.coffee\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(::))\\\\\\\\s*([0-9][$\\\\\\\\w]*)\\\"}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdsw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"single_quoted_string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.coffee\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.coffee\\\"}},\\\"name\\\":\\\"string.quoted.single.coffee\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.escape.backslash.coffee\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)(x\\\\\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)\\\",\\\"name\\\":\\\"constant.character.escape.backslash.coffee\\\"}]}]}},\\\"scopeName\\\":\\\"source.coffee\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\"],\\\"aliases\\\":[\\\"coffeescript\\\"]}\"))\n\nexport default [\n...javascript,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"RegExp\\\",\\\"fileTypes\\\":[\\\"re\\\"],\\\"name\\\":\\\"regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}],\\\"repository\\\":{\\\"codetags\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.codetag.notation.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\\\\\\\b\\\"},\\\"fregexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fregexp-quantifier\\\"},{\\\"include\\\":\\\"#fstring-formatting-braces\\\"},{\\\"match\\\":\\\"\\\\\\\\{.*?}\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"fregexp-quantifier\\\":{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{(\\\\\\\\d+|\\\\\\\\d+,(\\\\\\\\d+)?|,\\\\\\\\d+)}}\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},\\\"fstring-formatting-braces\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.brace.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)(\\\\\\\\s*?)(})\\\"},{\\\"match\\\":\\\"(\\\\\\\\{\\\\\\\\{|}})\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"}]},\\\"regexp-backreference\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.backreference.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(\\\\\\\\?P=\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.backreference.named.regexp\\\"},\\\"regexp-backreference-number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.backreference.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d?)\\\",\\\"name\\\":\\\"meta.backreference.regexp\\\"},\\\"regexp-base-common\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"support.other.match.any.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\^\\\",\\\"name\\\":\\\"support.other.match.begin.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\",\\\"name\\\":\\\"support.other.match.end.regexp\\\"},{\\\"match\\\":\\\"[*+?]\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.disjunction.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-sequence\\\"}]},\\\"regexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-quantifier\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"\\\\\\\\N\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"regexp-charecter-set-escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\abfnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-special\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{1,3})\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-character\\\"},{\\\"include\\\":\\\"#regexp-escape-unicode\\\"},{\\\"include\\\":\\\"#regexp-escape-catchall\\\"}]},\\\"regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}]},\\\"regexp-escape-catchall\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(.|\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},\\\"regexp-escape-character\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|0[0-7]{1,2}|[0-7]{3})\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},\\\"regexp-escape-sequence\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-escape-special\\\"},{\\\"include\\\":\\\"#regexp-escape-character\\\"},{\\\"include\\\":\\\"#regexp-escape-unicode\\\"},{\\\"include\\\":\\\"#regexp-backreference-number\\\"},{\\\"include\\\":\\\"#regexp-escape-catchall\\\"}]},\\\"regexp-escape-special\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([ABDSWZbdsw])\\\",\\\"name\\\":\\\"support.other.escape.special.regexp\\\"},\\\"regexp-escape-unicode\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.unicode.regexp\\\"},\\\"regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#regexp-character-set\\\"},{\\\"include\\\":\\\"#regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#regexp-lookahead\\\"},{\\\"include\\\":\\\"#regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#regexp-lookbehind\\\"},{\\\"include\\\":\\\"#regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#regexp-conditional\\\"},{\\\"include\\\":\\\"#regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#regexp-parentheses\\\"}]},\\\"regexp-flags\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\?[Laimsux]+\\\\\\\\)\\\",\\\"name\\\":\\\"storage.modifier.flag.regexp\\\"},\\\"regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}]},\\\"regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}]},\\\"regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}]},\\\"regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}]},\\\"regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}]},\\\"regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}]},\\\"regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-expression\\\"}]},\\\"regexp-quantifier\\\":{\\\"match\\\":\\\"\\\\\\\\{(\\\\\\\\d+|\\\\\\\\d+,(\\\\\\\\d+)?|,\\\\\\\\d+)}\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"}},\\\"scopeName\\\":\\\"source.regexp.python\\\",\\\"aliases\\\":[\\\"regex\\\"]}\"))\n\nexport default [\nlang\n]\n","import c from './c.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"GLSL\\\",\\\"fileTypes\\\":[\\\"vs\\\",\\\"fs\\\",\\\"gs\\\",\\\"vsh\\\",\\\"fsh\\\",\\\"gsh\\\",\\\"vshader\\\",\\\"fshader\\\",\\\"gshader\\\",\\\"vert\\\",\\\"frag\\\",\\\"geom\\\",\\\"f.glsl\\\",\\\"v.glsl\\\",\\\"g.glsl\\\"],\\\"foldingStartMarker\\\":\\\"/\\\\\\\\*\\\\\\\\*|\\\\\\\\{\\\\\\\\s*$\\\",\\\"foldingStopMarker\\\":\\\"\\\\\\\\*\\\\\\\\*/|^\\\\\\\\s*}\\\",\\\"name\\\":\\\"glsl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(break|case|continue|default|discard|do|else|for|if|return|switch|while)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.glsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(void|bool|int|uint|float|vec2|vec3|vec4|bvec2|bvec3|bvec4|ivec2|ivec3|uvec2|uvec3|mat2|mat3|mat4|mat2x2|mat2x3|mat2x4|mat3x2|mat3x3|mat3x4|mat4x2|mat4x3|mat4x4|sampler[123|]D|samplerCube|sampler2DRect|sampler[12|]DShadow|sampler2DRectShadow|sampler[12|]DArray|sampler[12|]DArrayShadow|samplerBuffer|sampler2DMS|sampler2DMSArray|struct|isampler[123|]D|isamplerCube|isampler2DRect|isampler[12|]DArray|isamplerBuffer|isampler2DMS|isampler2DMSArray|usampler[123|]D|usamplerCube|usampler2DRect|usampler[12|]DArray|usamplerBuffer|usampler2DMS|usampler2DMSArray)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.glsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(attribute|centroid|const|flat|in|inout|invariant|noperspective|out|smooth|uniform|varying)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.glsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(gl_(?:BackColor|BackLightModelProduct|BackLightProduct|BackMaterial|BackSecondaryColor|ClipDistance|ClipPlane|ClipVertex|Color|DepthRange|DepthRangeParameters|EyePlaneQ|EyePlaneR|EyePlaneS|EyePlaneT|Fog|FogCoord|FogFragCoord|FogParameters|FragColor|FragCoord|FragDat|FragDept|FrontColor|FrontFacing|FrontLightModelProduct|FrontLightProduct|FrontMaterial|FrontSecondaryColor|InstanceID|Layer|LightModel|LightModelParameters|LightModelProducts|LightProducts|LightSource|LightSourceParameters|MaterialParameters|ModelViewMatrix|ModelViewMatrixInverse|ModelViewMatrixInverseTranspose|ModelViewMatrixTranspose|ModelViewProjectionMatrix|ModelViewProjectionMatrixInverse|ModelViewProjectionMatrixInverseTranspose|ModelViewProjectionMatrixTranspose|MultiTexCoord[0-7]|Normal|NormalMatrix|NormalScale|ObjectPlaneQ|ObjectPlaneR|ObjectPlaneS|ObjectPlaneT|Point|PointCoord|PointParameters|PointSize|Position|PrimitiveIDIn|ProjectionMatrix|ProjectionMatrixInverse|ProjectionMatrixInverseTranspose|ProjectionMatrixTranspose|SecondaryColor|TexCoord|TextureEnvColor|TextureMatrix|TextureMatrixInverse|TextureMatrixInverseTranspose|TextureMatrixTranspose|Vertex|VertexIDh))\\\\\\\\b\\\",\\\"name\\\":\\\"support.variable.glsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(gl_Max(?:ClipPlane|CombinedTextureImageUnit|DrawBuffer|FragmentUniformComponent|Light|TextureCoord|TextureImageUnit|TextureUnit|VaryingFloat|VertexAttrib|VertexTextureImageUnit|VertexUniformComponent)s)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.glsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(abs|acos|all|any|asin|atan|ceil|clamp|cos|cross|degrees|dFdx|dFdy|distance|dot|equal|exp2??|faceforward|floor|fract|ftransform|fwidth|greaterThan|greaterThanEqual|inversesqrt|length|lessThan|lessThanEqual|log2??|matrixCompMult|max|min|mix|mod|noise[1-4]|normalize|not|notEqual|outerProduct|pow|radians|reflect|refract|shadow1D|shadow1DLod|shadow1DProj|shadow1DProjLod|shadow2D|shadow2DLod|shadow2DProj|shadow2DProjLod|sign|sin|smoothstep|sqrt|step|tan|texture1D|texture1DLod|texture1DProj|texture1DProjLod|texture2D|texture2DLod|texture2DProj|texture2DProjLod|texture3D|texture3DLod|texture3DProj|texture3DProjLod|textureCube|textureCubeLod|transpose)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.glsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(asm|double|enum|extern|goto|inline|long|short|sizeof|static|typedef|union|unsigned|volatile)\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.glsl\\\"},{\\\"include\\\":\\\"source.c\\\"}],\\\"scopeName\\\":\\\"source.glsl\\\",\\\"embeddedLangs\\\":[\\\"c\\\"]}\"))\n\nexport default [\n...c,\nlang\n]\n","import regexp from './regexp.mjs'\nimport glsl from './glsl.mjs'\nimport sql from './sql.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"C++\\\",\\\"name\\\":\\\"cpp-macro\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#constructor_root\\\"},{\\\"include\\\":\\\"#destructor_root\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#operator_overload\\\"},{\\\"include\\\":\\\"#using_namespace\\\"},{\\\"include\\\":\\\"source.cpp#type_alias\\\"},{\\\"include\\\":\\\"source.cpp#using_name\\\"},{\\\"include\\\":\\\"source.cpp#namespace_alias\\\"},{\\\"include\\\":\\\"#namespace_block\\\"},{\\\"include\\\":\\\"#extern_block\\\"},{\\\"include\\\":\\\"#typedef_class\\\"},{\\\"include\\\":\\\"#typedef_struct\\\"},{\\\"include\\\":\\\"#typedef_union\\\"},{\\\"include\\\":\\\"source.cpp#misc_keywords\\\"},{\\\"include\\\":\\\"source.cpp#standard_declares\\\"},{\\\"include\\\":\\\"#class_block\\\"},{\\\"include\\\":\\\"#struct_block\\\"},{\\\"include\\\":\\\"#union_block\\\"},{\\\"include\\\":\\\"#enum_block\\\"},{\\\"include\\\":\\\"source.cpp#template_isolated_definition\\\"},{\\\"include\\\":\\\"#template_definition\\\"},{\\\"include\\\":\\\"source.cpp#template_explicit_instantiation\\\"},{\\\"include\\\":\\\"source.cpp#access_control_keywords\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#assembly\\\"},{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}],\\\"repository\\\":{\\\"alignas_attribute\\\":{\\\"begin\\\":\\\"alignas\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.begin.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.end.cpp\\\"}},\\\"name\\\":\\\"support.other.attribute.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.attribute.cpp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.accessor.attribute.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=::)\\\",\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.other.attribute.$0.cpp\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"alignas_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)alignas(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.alignas\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"alignof_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)alignof(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.alignof\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"assembly\\\":{\\\"begin\\\":\\\"\\\\\\\\b(__asm__|asm)\\\\\\\\b\\\\\\\\s+{0,1}((?:volatile)?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.asm.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.cpp\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.asm.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\n|$)\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.assembly.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.assembly.cpp\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(R?)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.assembly.cpp\\\"}},\\\"contentName\\\":\\\"meta.embedded.assembly\\\",\\\"end\\\":\\\"\\\\\\\"|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.assembly.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asm\\\"},{\\\"include\\\":\\\"source.x86\\\"},{\\\"include\\\":\\\"source.x86_64\\\"},{\\\"include\\\":\\\"source.arm\\\"},{\\\"include\\\":\\\"source.cpp#backslash_escapes\\\"},{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.assembly.inner.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.asm.label.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\[((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)]\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.colon.assembly.cpp\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]},\\\"attributes_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#cpp_attributes\\\"},{\\\"include\\\":\\\"#gcc_attributes\\\"},{\\\"include\\\":\\\"#ms_attributes\\\"},{\\\"include\\\":\\\"#alignas_attribute\\\"}]},\\\"block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.cpp\\\"}},\\\"end\\\":\\\"}|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.cpp\\\"}},\\\"name\\\":\\\"meta.block.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},\\\"block_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\*/|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.cpp\\\"}},\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"builtin_storage_type_initilizer\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(?<!\\\\\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\\\\\w*_t))(?!\\\\\\\\w)\\\\\\\\s*+(?<!\\\\\\\\w)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.primitive.cpp storage.type.built-in.primitive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.cpp storage.type.built-in.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.initializer.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"case_statement\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)case(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.case.cpp\\\"}},\\\"end\\\":\\\":|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.colon.case.cpp\\\"}},\\\"name\\\":\\\"meta.conditional.case.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"class_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)class(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.class.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.class.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.head.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.body.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s+{1,0}(//[!/]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.documentation.cpp\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.documentation.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.parameter.cpp\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.cpp\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s+{0,1}(?:in|out)\\\\\\\\s+{0,1})+)])?(\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(?:(,)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))*)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc.cpp\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.documentation.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.parameter.cpp\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.cpp\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s+{0,1}(?:in|out)\\\\\\\\s+{0,1})+)])?(\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(?:(,)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))*)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.documentation.cpp\\\"}},\\\"match\\\":\\\"(/\\\\\\\\*[!*]+(?=\\\\\\\\s))(.+)([!*]*\\\\\\\\*/)\\\",\\\"name\\\":\\\"comment.block.documentation.cpp\\\"},{\\\"begin\\\":\\\"\\\\\\\\s+{1,0}/\\\\\\\\*[!*]+(?:(?:\\\\\\\\n|$)|(?=\\\\\\\\s))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.documentation.cpp\\\"}},\\\"end\\\":\\\"[!*]*\\\\\\\\*/|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.documentation.cpp\\\"}},\\\"name\\\":\\\"comment.block.documentation.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.parameter.cpp\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.cpp\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s+{0,1}(?:in|out)\\\\\\\\s+{0,1})+)])?(\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(?:(,)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))*)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc.cpp\\\"}]},{\\\"include\\\":\\\"source.cpp#emacs_file_banner\\\"},{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"},{\\\"include\\\":\\\"source.cpp#invalid_comment_end\\\"}]},\\\"constructor_inline\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#functional_specifiers_pre_parameters\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"source.cpp#functional_specifiers_pre_parameters\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.initializers.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"}|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.constructor\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.constructor.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"include\\\":\\\"source.cpp#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"constructor_root\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<8>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?>(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)::((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\10((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.constructor.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"8\\\":{},\\\"9\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?=:)\\\",\\\"name\\\":\\\"entity.name.type.constructor.cpp\\\"},{\\\"match\\\":\\\"(?<=:)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.function.definition.special.constructor.cpp\\\"},{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp\\\"}]},\\\"10\\\":{},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"source.cpp#functional_specifiers_pre_parameters\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.initializers.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"}|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.constructor\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.constructor.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"include\\\":\\\"source.cpp#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"cpp_attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.begin.cpp\\\"}},\\\"end\\\":\\\"]]|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.end.cpp\\\"}},\\\"name\\\":\\\"support.other.attribute.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.attribute.cpp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.accessor.attribute.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=::)\\\",\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.other.attribute.$0.cpp\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"curly_initializer\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.curly.initializer.cpp\\\"}},\\\"end\\\":\\\"}|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.curly.initializer.cpp\\\"}},\\\"name\\\":\\\"meta.initialization.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"}]},\\\"decltype\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)decltype(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.decltype.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.decltype\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.decltype.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"decltype_specifier\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)decltype(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.decltype.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.decltype\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.decltype.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"default_statement\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)default(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.default.cpp\\\"}},\\\"end\\\":\\\":|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.colon.case.default.cpp\\\"}},\\\"name\\\":\\\"meta.conditional.case.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"destructor_inline\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*)(~(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#functional_specifiers_pre_parameters\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.member.destructor\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp\\\"}},\\\"patterns\\\":[]},{\\\"include\\\":\\\"source.cpp#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"destructor_root\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?>(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)::((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)~\\\\\\\\14((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.destructor.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{},\\\"13\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?=:)\\\",\\\"name\\\":\\\"entity.name.type.destructor.cpp\\\"},{\\\"match\\\":\\\"(?<=:)~(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.function.definition.special.member.destructor.cpp\\\"},{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp\\\"}]},\\\"14\\\":{},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"24\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.member.destructor\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp\\\"}},\\\"patterns\\\":[]},{\\\"include\\\":\\\"source.cpp#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"diagnostic\\\":{\\\"begin\\\":\\\"^(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}(error|warning))\\\\\\\\b\\\\\\\\s+{0,1}\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.diagnostic.$7.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"7\\\":{}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.preprocessor.diagnostic.$reference(directive).cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"}},\\\"end\\\":\\\"(?:(\\\\\\\")|(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$)))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"}},\\\"end\\\":\\\"(?:(')|(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$)))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"string.quoted.single.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"[^\\\\\\\"']\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"string.unquoted.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]},\\\"enum_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)enum(?!\\\\\\\\w))(?:\\\\\\\\s+(class|struct))?(?:(?:\\\\\\\\s+|((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\))))|(?=\\\\\\\\{))\\\\\\\\s+{0,1}((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(?:\\\\\\\\s+{0,1}(:)\\\\\\\\s+{0,1}(?:((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::))?\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.enum.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.enum.enum-key.$2.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.enum.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.colon.type-specifier.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"9\\\":{},\\\"10\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"storage.type.integral.$17.cpp\\\"}},\\\"end\\\":\\\"(?:(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.enum.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.enum.cpp\\\"}},\\\"name\\\":\\\"meta.head.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.enum.cpp\\\"}},\\\"name\\\":\\\"meta.body.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"source.cpp#enumerator_list\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#semicolon\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"evaluation_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"source.cpp#member_access\\\"},{\\\"include\\\":\\\"source.cpp#predefined_macros\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"source.cpp#memory_operators\\\"},{\\\"include\\\":\\\"source.cpp#wordlike_operators\\\"},{\\\"include\\\":\\\"source.cpp#type_casting_operators\\\"},{\\\"include\\\":\\\"source.cpp#control_flow_keywords\\\"},{\\\"include\\\":\\\"source.cpp#exception_keywords\\\"},{\\\"include\\\":\\\"source.cpp#the_this_keyword\\\"},{\\\"include\\\":\\\"source.cpp#language_constants\\\"},{\\\"include\\\":\\\"#builtin_storage_type_initilizer\\\"},{\\\"include\\\":\\\"source.cpp#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"source.cpp#functional_specifiers_pre_parameters\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#lambdas\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"include\\\":\\\"#square_brackets\\\"},{\\\"include\\\":\\\"source.cpp#semicolon\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"}]},\\\"ever_present_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#pragma_mark\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"source.cpp#include\\\"},{\\\"include\\\":\\\"#line\\\"},{\\\"include\\\":\\\"#diagnostic\\\"},{\\\"include\\\":\\\"source.cpp#undef\\\"},{\\\"include\\\":\\\"#preprocessor_conditional_range\\\"},{\\\"include\\\":\\\"source.cpp#single_line_macro\\\"},{\\\"include\\\":\\\"#macro\\\"},{\\\"include\\\":\\\"source.cpp#preprocessor_conditional_standalone\\\"},{\\\"include\\\":\\\"source.cpp#macro_argument\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"}]},\\\"extern_block\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(extern)(?=\\\\\\\\s*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.extern.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.extern.cpp\\\"}},\\\"end\\\":\\\"(?:(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.extern.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.extern.cpp\\\"}},\\\"name\\\":\\\"meta.head.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.extern.cpp\\\"}},\\\"name\\\":\\\"meta.body.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"function_body_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#using_namespace\\\"},{\\\"include\\\":\\\"source.cpp#type_alias\\\"},{\\\"include\\\":\\\"source.cpp#using_name\\\"},{\\\"include\\\":\\\"source.cpp#namespace_alias\\\"},{\\\"include\\\":\\\"#typedef_class\\\"},{\\\"include\\\":\\\"#typedef_struct\\\"},{\\\"include\\\":\\\"#typedef_union\\\"},{\\\"include\\\":\\\"source.cpp#misc_keywords\\\"},{\\\"include\\\":\\\"source.cpp#standard_declares\\\"},{\\\"include\\\":\\\"#class_block\\\"},{\\\"include\\\":\\\"#struct_block\\\"},{\\\"include\\\":\\\"#union_block\\\"},{\\\"include\\\":\\\"#enum_block\\\"},{\\\"include\\\":\\\"source.cpp#access_control_keywords\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#assembly\\\"},{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#switch_statement\\\"},{\\\"include\\\":\\\"source.cpp#goto_statement\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"source.cpp#label\\\"}]},\\\"function_call\\\":{\\\"begin\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<11>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<11>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#scope_resolution_function_call_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.call.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"11\\\":{},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"function_definition\\\":{\\\"begin\\\":\\\"(?:(?:^|\\\\\\\\G|(?<=[;}]))|(?<=>|\\\\\\\\*/))\\\\\\\\s*+(?:((?<!\\\\\\\\w)template(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:((?<!\\\\\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<52>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<52>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<52>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"storage.modifier.$8.cpp\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"25\\\":{},\\\"26\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"28\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"30\\\":{},\\\"31\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"32\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"33\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"36\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"37\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"38\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"40\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"41\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"42\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"43\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"44\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"45\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"46\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"47\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"48\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"49\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#scope_resolution_function_definition_inner_generated\\\"}]},\\\"50\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp\\\"},\\\"51\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"52\\\":{},\\\"53\\\":{\\\"name\\\":\\\"entity.name.function.definition.cpp\\\"},\\\"54\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"55\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"56\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"57\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#parameter_or_maybe_value\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.function.return-type.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{}},\\\"match\\\":\\\"(?<=^|\\\\\\\\))\\\\\\\\s+{0,1}(->)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<23>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<23>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"function_parameter_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#parameter\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"}]},\\\"function_pointer\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"23\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"28\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"30\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"32\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.function.pointer.cpp\\\"},\\\"33\\\":{\\\"name\\\":\\\"punctuation.definition.function.pointer.dereference.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"variable.other.definition.pointer.function.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.cpp\\\"},\\\"36\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"37\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.cpp\\\"},\\\"38\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.function.pointer.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[\\\\\\\\n),;=>{])(?!\\\\\\\\()|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},\\\"function_pointer_parameter\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"23\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"28\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"30\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"32\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.function.pointer.cpp\\\"},\\\"33\\\":{\\\"name\\\":\\\"punctuation.definition.function.pointer.dereference.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"variable.parameter.pointer.function.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.cpp\\\"},\\\"36\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"37\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.cpp\\\"},\\\"38\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.function.pointer.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[\\\\\\\\n),;=>{])(?!\\\\\\\\()|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},\\\"gcc_attributes\\\":{\\\"begin\\\":\\\"__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.begin.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\s*\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.end.cpp\\\"}},\\\"name\\\":\\\"support.other.attribute.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.attribute.cpp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.accessor.attribute.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=::)\\\",\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.other.attribute.$0.cpp\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"inheritance_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.inheritance.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)p(?:rotected|rivate|ublic)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.modifier.access.$0.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)virtual(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.modifier.virtual.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"9\\\":{},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{}},\\\"match\\\":\\\"(?<=protected|virtual|private|public|[,:])\\\\\\\\s+{0,1}(?!p(?:rotected|rivate|ublic)|virtual)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"}]},\\\"lambdas\\\":{\\\"begin\\\":\\\"(?:(?<=\\\\\\\\S|^)(?<![]\\\\\\\"\\\\\\\\&)*>\\\\\\\\[\\\\\\\\w])|(?<=(?:\\\\\\\\W|^)return))\\\\\\\\s+{0,1}(\\\\\\\\[(?!\\\\\\\\[| *+\\\\\\\"| *+\\\\\\\\d))((?:[^]\\\\\\\\[]|((?<!\\\\\\\\[)\\\\\\\\[(?!\\\\\\\\[)(?:[^]\\\\\\\\[]*+\\\\\\\\g<3>?)++]))*+)(](?!((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)[];=\\\\\\\\[]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.capture.begin.lambda.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.lambda.capture.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#the_this_keyword\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.capture.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?=]|\\\\\\\\z|$)|(,))|(=))\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.capture.end.lambda.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?<=[;}])|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.lambda.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.lambda.cpp\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.lambda.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:constexpr|consteval|mutable)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.modifier.lambda.$0.cpp\\\"},{\\\"begin\\\":\\\"->\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.lambda.return-type.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"storage.type.return-type.lambda.cpp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.lambda.cpp\\\"}},\\\"end\\\":\\\"}|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.lambda.cpp\\\"}},\\\"name\\\":\\\"meta.function.definition.body.lambda.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"line\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}line\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.directive.line.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.preprocessor.line.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#preprocessor_number_literal\\\"},{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"}]},\\\"line_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cpp\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"}]},\\\"macro\\\":{\\\"begin\\\":\\\"^(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}define)\\\\\\\\b\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.define.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.cpp\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.preprocessor.macro.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.preprocessor.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.function.preprocessor.parameters.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.preprocessor.cpp\\\"}},\\\"match\\\":\\\"(?<=[(,])\\\\\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.preprocessor.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s+{0,1}(\\\\\\\\()([^(]*)(\\\\\\\\))\\\"},{\\\"include\\\":\\\"#macro_context\\\"},{\\\"include\\\":\\\"source.cpp#macro_argument\\\"}]},\\\"macro_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp.embedded.macro\\\"}]},\\\"method_access\\\":{\\\"begin\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s+{0,1}(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s+{0,1})*)\\\\\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.property.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*??)\\\\\\\\s+{0,1}(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"},{\\\"include\\\":\\\"source.cpp#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"entity.name.function.member.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"ms_attributes\\\":{\\\"begin\\\":\\\"__declspec\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.begin.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.end.cpp\\\"}},\\\"name\\\":\\\"support.other.attribute.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.attribute.cpp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.accessor.attribute.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=::)\\\",\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.other.attribute.$0.cpp\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"namespace_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)namespace(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.namespace.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.block.namespace.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.namespace.cpp\\\"}},\\\"name\\\":\\\"meta.head.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#scope_resolution_namespace_block_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.modifier.inline.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<4>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?:(::)\\\\\\\\s+{0,1}(inline))?\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.namespace.cpp\\\"}},\\\"name\\\":\\\"meta.body.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"noexcept_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)noexcept(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.noexcept\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"operator_overload\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<55>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<55>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<55>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(operator)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<55>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(?:(?:(delete\\\\\\\\[]|delete|new\\\\\\\\[]|<=>|<<=|new|>>=|->\\\\\\\\*|/=|%=|&=|>=|\\\\\\\\|=|\\\\\\\\+\\\\\\\\+|--|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]|->|\\\\\\\\+\\\\\\\\+|<<|>>|--|<=|\\\\\\\\^=|==|!=|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\+=|-=|\\\\\\\\*=|[!%\\\\\\\\&*-\\\\\\\\-/<=>^|~])|((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:\\\\\\\\[])?)))|(\\\\\\\"\\\\\\\")((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[(<])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.operator-overload.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"17\\\":{},\\\"18\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"22\\\":{},\\\"23\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"28\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"30\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"32\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"33\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"36\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"37\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"38\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"40\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"41\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"42\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"43\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"44\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"45\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.operator.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"46\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"47\\\":{},\\\"48\\\":{\\\"name\\\":\\\"keyword.other.operator.overload.cpp\\\"},\\\"49\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"50\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"51\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"52\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"53\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.operator-overload.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"54\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"55\\\":{},\\\"56\\\":{\\\"name\\\":\\\"entity.name.operator.cpp\\\"},\\\"57\\\":{\\\"name\\\":\\\"entity.name.operator.type.cpp\\\"},\\\"58\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.operator.type.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.operator.type.reference.cpp\\\"}]},\\\"59\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"60\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"61\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"62\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"63\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"64\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"65\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"66\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"67\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"68\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"69\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"70\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"71\\\":{\\\"name\\\":\\\"entity.name.operator.type.array.cpp\\\"},\\\"72\\\":{\\\"name\\\":\\\"entity.name.operator.custom-literal.cpp\\\"},\\\"73\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"74\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"75\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"76\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"77\\\":{\\\"name\\\":\\\"entity.name.operator.custom-literal.cpp\\\"},\\\"78\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"79\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"80\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"81\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.operator-overload\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"include\\\":\\\"source.cpp#qualifiers_and_specifiers_post_parameters\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)sizeof(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.sizeof\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)alignof(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.alignof\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)alignas(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.alignas\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typeid(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.typeid\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)noexcept(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.noexcept\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(sizeof\\\\\\\\.\\\\\\\\.\\\\\\\\.)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.sizeof.variadic\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.cpp\\\"},{\\\"match\\\":\\\"(?:[-%*+]|(?<!\\\\\\\\()/)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.cpp\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.cpp\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.cpp\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.cpp\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.cpp\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.cpp\\\"},{\\\"include\\\":\\\"source.cpp#assignment_operator\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.cpp\\\"},{\\\"include\\\":\\\"#ternary_operator\\\"}]},\\\"parameter\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\w)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?:(?=\\\\\\\\))|(,))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"name\\\":\\\"meta.parameter.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#function_pointer_parameter\\\"},{\\\"include\\\":\\\"#decltype\\\"},{\\\"include\\\":\\\"source.cpp#vararg_ellipses\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#storage_types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.specifier.parameter.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.primitive.cpp storage.type.built-in.primitive.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"storage.type.cpp storage.type.built-in.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.type.parameter.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\s*+(?<!\\\\\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\\\\\w*_t))(?!\\\\\\\\w)|((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\b\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[),=])\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_parameter_inner_generated\\\"},{\\\"match\\\":\\\"struct|class|union|enum\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"begin\\\":\\\"(?<==)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:(?=\\\\\\\\))|(,))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?<![(,:\\\\\\\\s])((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[\\\\\\\\n),=\\\\\\\\[])\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.array.type.cpp\\\"}},\\\"end\\\":\\\"]|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.array.type.cpp\\\"}},\\\"name\\\":\\\"meta.bracket.square.array.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:struct|class|union|enum))\\\",\\\"name\\\":\\\"entity.name.type.parameter.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*]\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"parameter_or_maybe_value\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\w)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?:(?=\\\\\\\\))|(,))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"name\\\":\\\"meta.parameter.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#function_pointer_parameter\\\"},{\\\"include\\\":\\\"source.cpp#memory_operators\\\"},{\\\"include\\\":\\\"#builtin_storage_type_initilizer\\\"},{\\\"include\\\":\\\"#curly_initializer\\\"},{\\\"include\\\":\\\"#decltype\\\"},{\\\"include\\\":\\\"source.cpp#vararg_ellipses\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#storage_types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.specifier.parameter.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.primitive.cpp storage.type.built-in.primitive.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"storage.type.cpp storage.type.built-in.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.type.parameter.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\s*+(?<!\\\\\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\\\\\w*_t))(?!\\\\\\\\w)|((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\b\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[),=])\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_parameter_inner_generated\\\"},{\\\"match\\\":\\\"struct|class|union|enum\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"begin\\\":\\\"(?<==)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:(?=\\\\\\\\))|(,))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?<![(,:\\\\\\\\s])((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[),=\\\\\\\\[]|//|(?:\\\\\\\\n|$))\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.array.type.cpp\\\"}},\\\"end\\\":\\\"]|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.array.type.cpp\\\"}},\\\"name\\\":\\\"meta.bracket.square.array.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:struct|class|union|enum))\\\",\\\"name\\\":\\\"entity.name.type.parameter.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*]\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.cpp\\\"}},\\\"name\\\":\\\"meta.parens.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#over_qualified_types\\\"},{\\\"match\\\":\\\"(?<!:):(?!:)\\\",\\\"name\\\":\\\"punctuation.separator.colon.range-based.cpp\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"pragma\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}pragma\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.directive.pragma.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.preprocessor.pragma.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][-$\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.other.attribute-name.pragma.preprocessor.cpp\\\"},{\\\"include\\\":\\\"#preprocessor_number_literal\\\"},{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"}]},\\\"preprocessor_conditional_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor_conditional_defined\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"source.cpp#language_constants\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#d9bc4796b0b_preprocessor_number_literal\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"source.cpp#predefined_macros\\\"},{\\\"include\\\":\\\"source.cpp#macro_name\\\"},{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"}]},\\\"preprocessor_conditional_defined\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)defined(?!\\\\\\\\w))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.defined.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.control.defined.cpp\\\"}},\\\"end\\\":\\\"(?:\\\\\\\\)|(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$)))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.control.defined.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#macro_name\\\"}]},\\\"preprocessor_conditional_parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.cpp\\\"}},\\\"name\\\":\\\"meta.parens.preprocessor.conditional.cpp\\\"},\\\"preprocessor_conditional_range\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}(if(?:n?def|))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.$6.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"6\\\":{}},\\\"contentName\\\":\\\"meta.preprocessor.conditional\\\",\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor_conditional_context\\\"}]},\\\"preprocessor_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#pragma_mark\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"source.cpp#include\\\"},{\\\"include\\\":\\\"#line\\\"},{\\\"include\\\":\\\"#diagnostic\\\"},{\\\"include\\\":\\\"source.cpp#undef\\\"},{\\\"include\\\":\\\"#preprocessor_conditional_range\\\"},{\\\"include\\\":\\\"source.cpp#single_line_macro\\\"},{\\\"include\\\":\\\"#macro\\\"},{\\\"include\\\":\\\"source.cpp#preprocessor_conditional_standalone\\\"},{\\\"include\\\":\\\"source.cpp#macro_argument\\\"}]},\\\"sizeof_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)sizeof(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.sizeof\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"sizeof_variadic_operator\\\":{\\\"begin\\\":\\\"\\\\\\\\b(sizeof\\\\\\\\.\\\\\\\\.\\\\\\\\.)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.sizeof.variadic\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"square_brackets\\\":{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\\\\\\\[)(?!])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square\\\"}},\\\"end\\\":\\\"]|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square\\\"}},\\\"name\\\":\\\"meta.bracket.square.access\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"static_assert\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)static_assert|_Static_assert(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.static_assert.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.static_assert.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.static_assert.cpp\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(,)\\\\\\\\s+{0,1}(?=(?:L|u8?|U\\\\\\\\s+{0,1}\\\\\\\")?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.static_assert.message.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_context\\\"}]},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"storage_types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#storage_specifiers\\\"},{\\\"include\\\":\\\"source.cpp#inline_builtin_storage_type\\\"},{\\\"include\\\":\\\"#decltype\\\"},{\\\"include\\\":\\\"source.cpp#typename\\\"}]},\\\"string_context\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?:u8??|[LU])?)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\")(?:((?:[A-Za-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))?|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.reserved.string.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.string.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.escape.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'?\\\\\\\\\\\\\\\\abfnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.unknown-escape.cpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\x0*\\\\\\\\h{2}(?!\\\\\\\\h))|(\\\\\\\\\\\\\\\\x\\\\\\\\h*)\\\"},{\\\"include\\\":\\\"source.cpp#string_escapes_context_c\\\"}]},{\\\"begin\\\":\\\"(?<!\\\\\\\\h)((?:u8??|[LU])?)'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"(')(?:((?:[A-Za-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))?|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.reserved.character.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.character.cpp\\\"}},\\\"name\\\":\\\"string.quoted.single.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.unknown-escape.cpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\x0*\\\\\\\\h{2}(?!\\\\\\\\h))|(\\\\\\\\\\\\\\\\x\\\\\\\\h*)\\\"},{\\\"include\\\":\\\"source.cpp#string_escapes_context_c\\\"},{\\\"include\\\":\\\"source.cpp#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"((?:[LUu]8?)?R)\\\\\\\"(?:(?:_r|re)|regex)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:(?:_r|re)|regex)\\\\\\\"|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.regex.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp.python\\\"}]},{\\\"begin\\\":\\\"((?:[LUu]8?)?R)\\\\\\\"(?:glsl|GLSL)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:glsl|GLSL)\\\\\\\"|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"meta.string.quoted.double.raw.glsl.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.glsl\\\"}]},{\\\"begin\\\":\\\"((?:[LUu]8?)?R)\\\\\\\"(?:[Pp]?(?:sql|SQL)|d[dm]l)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:[Pp]?(?:sql|SQL)|d[dm]l)\\\\\\\"|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"meta.string.quoted.double.raw.sql.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"((?:u8??|[LU])?R)\\\\\\\"(?:([^\\\\\\\\t ()\\\\\\\\\\\\\\\\]{0,16})|([^\\\\\\\\t ()\\\\\\\\\\\\\\\\]*))\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.delimiter-too-long\\\"}},\\\"end\\\":\\\"(\\\\\\\\)\\\\\\\\2(\\\\\\\\3)\\\\\\\")(?:((?:[A-Za-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))?|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.delimiter-too-long\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.reserved.string.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.string.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.raw\\\"}]},\\\"struct_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)struct(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.struct.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.struct.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.struct.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.head.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.body.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"switch_conditional_parentheses\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.conditional.switch.cpp\\\"}},\\\"name\\\":\\\"meta.conditional.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"switch_statement\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)switch(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.switch.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.switch.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.block.switch.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.switch.cpp\\\"}},\\\"name\\\":\\\"meta.head.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#switch_conditional_parentheses\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.switch.cpp\\\"}},\\\"name\\\":\\\"meta.body.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#default_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"template_call_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#language_constants\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_template_call_inner_generated\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma_in_template_argument\\\"},{\\\"include\\\":\\\"source.cpp#qualified_type\\\"}]},\\\"template_call_range\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},\\\"template_definition\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\w)(template)\\\\\\\\s+{0,1}(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.definition.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.definition.cpp\\\"}},\\\"name\\\":\\\"meta.template.definition.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\\\\\\s+{0,1}<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"include\\\":\\\"#template_definition_context\\\"}]},\\\"template_definition_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#scope_resolution_template_definition_inner_generated\\\"},{\\\"include\\\":\\\"source.cpp#template_definition_argument\\\"},{\\\"include\\\":\\\"source.cpp#template_argument_defaulted\\\"},{\\\"include\\\":\\\"source.cpp#template_call_innards\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"ternary_operator\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.cpp\\\"}},\\\"end\\\":\\\":|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"source.cpp#member_access\\\"},{\\\"include\\\":\\\"source.cpp#predefined_macros\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"source.cpp#memory_operators\\\"},{\\\"include\\\":\\\"source.cpp#wordlike_operators\\\"},{\\\"include\\\":\\\"source.cpp#type_casting_operators\\\"},{\\\"include\\\":\\\"source.cpp#control_flow_keywords\\\"},{\\\"include\\\":\\\"source.cpp#exception_keywords\\\"},{\\\"include\\\":\\\"source.cpp#the_this_keyword\\\"},{\\\"include\\\":\\\"source.cpp#language_constants\\\"},{\\\"include\\\":\\\"#builtin_storage_type_initilizer\\\"},{\\\"include\\\":\\\"source.cpp#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"source.cpp#functional_specifiers_pre_parameters\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#lambdas\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"include\\\":\\\"#square_brackets\\\"},{\\\"include\\\":\\\"source.cpp#semicolon\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"}]},\\\"typedef_class\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typedef(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?=(?<!\\\\\\\\w)class(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.typedef.cpp\\\"}},\\\"end\\\":\\\"(?<=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)class(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.class.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.class.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.head.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.body.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.class.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\"}]}]}]},\\\"typedef_function_pointer\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typedef(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?=.*\\\\\\\\(\\\\\\\\*\\\\\\\\s*(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s*\\\\\\\\))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.typedef.cpp\\\"}},\\\"end\\\":\\\"(?<=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"source.cpp#comma\\\"},{\\\"include\\\":\\\"source.cpp#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"23\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"28\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"30\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"32\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.function.pointer.cpp\\\"},\\\"33\\\":{\\\"name\\\":\\\"punctuation.definition.function.pointer.dereference.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.cpp\\\"},\\\"36\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"37\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.cpp\\\"},\\\"38\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.function.pointer.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[\\\\\\\\n),;=>{])(?!\\\\\\\\()|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]}]},\\\"typedef_struct\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typedef(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?=(?<!\\\\\\\\w)struct(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.typedef.cpp\\\"}},\\\"end\\\":\\\"(?<=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)struct(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.struct.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.struct.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.struct.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.head.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.body.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.struct.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\"}]}]}]},\\\"typedef_union\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typedef(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?=(?<!\\\\\\\\w)union(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.typedef.cpp\\\"}},\\\"end\\\":\\\"(?<=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)union(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.union.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.union.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.union.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.head.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.body.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.union.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\"}]}]}]},\\\"typeid_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typeid(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.typeid\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"union_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)union(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.union.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"source.cpp#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.union.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[]))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.union.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?:\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;))|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.head.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.body.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"using_namespace\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\w)(using)\\\\\\\\s+(namespace)\\\\\\\\s+((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<6>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)?((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(?=[\\\\\\\\n;])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#scope_resolution_namespace_using_inner_generated\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"6\\\":{},\\\"7\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"end\\\":\\\";|(?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.using-namespace.cpp\\\"}},\\\"scopeName\\\":\\\"source.cpp.embedded.macro\\\",\\\"embeddedLangs\\\":[\\\"regexp\\\",\\\"glsl\\\",\\\"sql\\\"]}\"))\n\nexport default [\n...regexp,\n...glsl,\n...sql,\nlang\n]\n","import cpp_macro from './cpp-macro.mjs'\nimport regexp from './regexp.mjs'\nimport glsl from './glsl.mjs'\nimport sql from './sql.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"C++\\\",\\\"name\\\":\\\"cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#constructor_root\\\"},{\\\"include\\\":\\\"#destructor_root\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#operator_overload\\\"},{\\\"include\\\":\\\"#using_namespace\\\"},{\\\"include\\\":\\\"#type_alias\\\"},{\\\"include\\\":\\\"#using_name\\\"},{\\\"include\\\":\\\"#namespace_alias\\\"},{\\\"include\\\":\\\"#namespace_block\\\"},{\\\"include\\\":\\\"#extern_block\\\"},{\\\"include\\\":\\\"#typedef_class\\\"},{\\\"include\\\":\\\"#typedef_struct\\\"},{\\\"include\\\":\\\"#typedef_union\\\"},{\\\"include\\\":\\\"#misc_keywords\\\"},{\\\"include\\\":\\\"#standard_declares\\\"},{\\\"include\\\":\\\"#class_block\\\"},{\\\"include\\\":\\\"#struct_block\\\"},{\\\"include\\\":\\\"#union_block\\\"},{\\\"include\\\":\\\"#enum_block\\\"},{\\\"include\\\":\\\"#template_isolated_definition\\\"},{\\\"include\\\":\\\"#template_definition\\\"},{\\\"include\\\":\\\"#template_explicit_instantiation\\\"},{\\\"include\\\":\\\"#access_control_keywords\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#assembly\\\"},{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}],\\\"repository\\\":{\\\"access_control_keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"storage.type.modifier.access.control.$4.cpp\\\"},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.colon.access.control.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((p(?:rotected|rivate|ublic))\\\\\\\\s+{0,1}(:))\\\"},\\\"alignas_attribute\\\":{\\\"begin\\\":\\\"alignas\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.begin.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.end.cpp\\\"}},\\\"name\\\":\\\"support.other.attribute.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.attribute.cpp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.accessor.attribute.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=::)\\\",\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.other.attribute.$0.cpp\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"alignas_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)alignas(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.alignas\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"alignof_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)alignof(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.alignof\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"assembly\\\":{\\\"begin\\\":\\\"\\\\\\\\b(__asm__|asm)\\\\\\\\b\\\\\\\\s+{0,1}((?:volatile)?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.asm.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.cpp\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.asm.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\n|$)\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.assembly.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.assembly.cpp\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(R?)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.assembly.cpp\\\"}},\\\"contentName\\\":\\\"meta.embedded.assembly\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.assembly.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asm\\\"},{\\\"include\\\":\\\"source.x86\\\"},{\\\"include\\\":\\\"source.x86_64\\\"},{\\\"include\\\":\\\"source.arm\\\"},{\\\"include\\\":\\\"#backslash_escapes\\\"},{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.assembly.inner.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.assembly.inner.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.asm.label.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\[((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)]\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.colon.assembly.cpp\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]},\\\"assignment_operator\\\":{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"attributes_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#cpp_attributes\\\"},{\\\"include\\\":\\\"#gcc_attributes\\\"},{\\\"include\\\":\\\"#ms_attributes\\\"},{\\\"include\\\":\\\"#alignas_attribute\\\"}]},\\\"backslash_escapes\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\\\\\\\d?|x\\\\\\\\h{0,2}|u\\\\\\\\h{0,4}|U\\\\\\\\h{0,8})\\\",\\\"name\\\":\\\"constant.character.escape\\\"},\\\"block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.cpp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.cpp\\\"}},\\\"name\\\":\\\"meta.block.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},\\\"block_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.cpp\\\"}},\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"builtin_storage_type_initilizer\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(?<!\\\\\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\\\\\w*_t))(?!\\\\\\\\w)\\\\\\\\s*+(?<!\\\\\\\\w)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.primitive.cpp storage.type.built-in.primitive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.cpp storage.type.built-in.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.initializer.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"case_statement\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)case(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.case.cpp\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.colon.case.cpp\\\"}},\\\"name\\\":\\\"meta.conditional.case.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"class_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)class(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.class.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.class.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.head.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.body.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"class_declare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)class(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\b(?!override\\\\\\\\W|override\\\\\\\\$|final\\\\\\\\W|final\\\\\\\\$)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\S)(?![:A-Za-{])\\\"},\\\"comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},\\\"comma_in_template_argument\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.template.argument.cpp\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s+{1,0}(//[!/]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.documentation.cpp\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.documentation.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.parameter.cpp\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.cpp\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s+{0,1}(?:in|out)\\\\\\\\s+{0,1})+)])?(\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(?:(,)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))*)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc.cpp\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.documentation.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.parameter.cpp\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.cpp\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s+{0,1}(?:in|out)\\\\\\\\s+{0,1})+)])?(\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(?:(,)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))*)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.documentation.cpp\\\"}},\\\"match\\\":\\\"(/\\\\\\\\*[!*]+(?=\\\\\\\\s))(.+)([!*]*\\\\\\\\*/)\\\",\\\"name\\\":\\\"comment.block.documentation.cpp\\\"},{\\\"begin\\\":\\\"\\\\\\\\s+{1,0}/\\\\\\\\*[!*]+(?:(?:\\\\\\\\n|$)|(?=\\\\\\\\s))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.documentation.cpp\\\"}},\\\"end\\\":\\\"[!*]*\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.documentation.cpp\\\"}},\\\"name\\\":\\\"comment.block.documentation.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:callergraph|callgraph|else|endif|f\\\\\\\\$|f\\\\\\\\[|f]|hidecallergraph|hidecallgraph|hiderefby|hiderefs|hideinitializer|htmlinclude|n|nosubgrouping|private|privatesection|protected|protectedsection|public|publicsection|pure|showinitializer|showrefby|showrefs|tableofcontents|[\\\\\\\"-%.<=>]|::|\\\\\\\\||---??)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.italic.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|em?))\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.bold.doxygen.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]b)\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.inline.raw.string.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\][cp])\\\\\\\\s+(\\\\\\\\S+)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:a|anchor|[bc]|cite|copybrief|copydetail|copydoc|def|dir|dontinclude|em??|emoji|enum|example|extends|file|idlexcept|implements|include|includedoc|includelineno|latexinclude|link|memberof|namespace|p|package|ref|refitem|related|relates|relatedalso|relatesalso|verbinclude)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:addindex|addtogroup|category|class|defgroup|diafile|dotfile|elseif|fn|headerfile|if|ifnot|image|ingroup|interface|line|mainpage|mscfile|name|overload|page|property|protocol|section|skip|skipline|snippet|snippetdoc|snippetlineno|struct|subpage|subsection|subsubsection|typedef|union|until|vhdlflow|weakgroup)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"in|out\\\",\\\"name\\\":\\\"keyword.other.parameter.direction.$0.cpp\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.parameter.cpp\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.cpp\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"}},\\\"match\\\":\\\"((?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\]param)(?:\\\\\\\\s*\\\\\\\\[((?:,?\\\\\\\\s+{0,1}(?:in|out)\\\\\\\\s+{0,1})+)])?(\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(?:(,)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))*)\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:arg|attention|authors??|brief|bug|copyright|date|deprecated|details|exception|invariant|li|note|par|paragraph|param|post|pre|remarks??|result|returns??|retval|sa|see|short|since|test|throws??|todo|tparam|version|warning|xrefitem)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"(?<=[!*/\\\\\\\\s])[@\\\\\\\\\\\\\\\\](?:code|cond|docbookonly|dot|htmlonly|internal|latexonly|link|manonly|msc|parblock|rtfonly|secreflist|startuml|verbatim|xmlonly|endcode|endcond|enddocbookonly|enddot|endhtmlonly|endinternal|endlatexonly|endlink|endmanonly|endmsc|endparblock|endrtfonly|endsecreflist|enduml|endverbatim|endxmlonly)\\\\\\\\b(?:\\\\\\\\{[^}]*})?\\\",\\\"name\\\":\\\"storage.type.class.doxygen.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\b[A-Z]+:|@[_a-z]+:\\\",\\\"name\\\":\\\"storage.type.class.gtkdoc.cpp\\\"}]},{\\\"include\\\":\\\"#emacs_file_banner\\\"},{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"},{\\\"include\\\":\\\"#invalid_comment_end\\\"}]},\\\"constructor_inline\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.function.constructor.cpp entity.name.function.definition.special.constructor.cpp\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.initializers.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.constructor\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.constructor.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"constructor_root\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<8>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?>(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)::((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\10((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.constructor.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"8\\\":{},\\\"9\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?=:)\\\",\\\"name\\\":\\\"entity.name.type.constructor.cpp\\\"},{\\\"match\\\":\\\"(?<=:)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.function.definition.special.constructor.cpp\\\"},{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.constructor.cpp\\\"}]},\\\"10\\\":{},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.initializers.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.initializer.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.initializer.cpp\\\"}},\\\"contentName\\\":\\\"meta.parameter.initialization\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.initializer.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.constructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.constructor\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.constructor.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.constructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.constructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"control_flow_keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.$3.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:co_return|co_yield|co_await|continue|default|switch|return|catch|while|throw|break|case|goto|else|for|try|if|do)(?!\\\\\\\\w))\\\"},\\\"cpp_attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.begin.cpp\\\"}},\\\"end\\\":\\\"]]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.end.cpp\\\"}},\\\"name\\\":\\\"support.other.attribute.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.attribute.cpp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.accessor.attribute.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=::)\\\",\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.other.attribute.$0.cpp\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"curly_initializer\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.curly.initializer.cpp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.curly.initializer.cpp\\\"}},\\\"name\\\":\\\"meta.initialization.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"d9bc4796b0b_module_import\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.directive.import.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.other.lt-gt.include.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"string.quoted.double.include.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"entity.name.other.preprocessor.macro.include.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"21\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"22\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"match\\\":\\\"^(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((import))\\\\\\\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//)))|((\\\\\\\")[^\\\\\\\"]*(\\\\\\\"?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//))))|((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?:\\\\\\\\.(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)*(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//|;))))|(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//|;)))\\\\\\\\s+{0,1}(;?)\\\",\\\"name\\\":\\\"meta.preprocessor.import.cpp\\\"},\\\"d9bc4796b0b_preprocessor_number_literal\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=.)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.hexadecimal.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.hexadecimal.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.hexadecimal.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.hexadecimal.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.exponent.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Xx])(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<=\\\\\\\\h)\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\h))(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?(?:(?<!')([Pp])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?([FLfl](?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.decimal.point.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.decimal.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.decimal.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.decimal.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.exponent.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<=[0-9])\\\\\\\\.|\\\\\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?(?:(?<!')([Ee])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?([FLfl](?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.binary.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.binary.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Bb])([01](?:[01]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.octal.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.octal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0)((?:[0-7]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.hexadecimal.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.hexadecimal.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.hexadecimal.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.hexadecimal.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.exponent.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Xx])(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)(?:(?<!')([Pp])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\\\\\w))?$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.decimal.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.decimal.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.decimal.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.exponent.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)(?:(?<!')([Ee])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\\\\\w))?$\\\"},{\\\"match\\\":\\\"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+\\\",\\\"name\\\":\\\"invalid.illegal.constant.numeric.cpp\\\"}]}]}},\\\"match\\\":\\\"(?<!\\\\\\\\w)\\\\\\\\.?\\\\\\\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*\\\"},\\\"decltype\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)decltype(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.decltype.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.decltype\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.decltype.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"decltype_specifier\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)decltype(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.other.decltype.cpp storage.type.decltype.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.decltype.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.decltype\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.decltype.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"default_statement\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)default(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.default.cpp\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.colon.case.default.cpp\\\"}},\\\"name\\\":\\\"meta.conditional.case.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"destructor_inline\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*)(~(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.function.destructor.cpp entity.name.function.definition.special.member.destructor.cpp\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.member.destructor\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp\\\"}},\\\"patterns\\\":[]},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"destructor_root\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?>(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)::((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)~\\\\\\\\14((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.destructor.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{},\\\"13\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?=:)\\\",\\\"name\\\":\\\"entity.name.type.destructor.cpp\\\"},{\\\"match\\\":\\\"(?<=:)~(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.function.definition.special.member.destructor.cpp\\\"},{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.destructor.cpp\\\"}]},\\\"14\\\":{},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"24\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp keyword.other.default.constructor.cpp keyword.other.default.destructor.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp keyword.other.delete.constructor.cpp keyword.other.delete.destructor.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.member.destructor.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.member.destructor\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.member.destructor.cpp\\\"}},\\\"patterns\\\":[]},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.member.destructor.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.member.destructor.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"diagnostic\\\":{\\\"begin\\\":\\\"^(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}(error|warning))\\\\\\\\b\\\\\\\\s+{0,1}\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.diagnostic.$7.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"7\\\":{}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.preprocessor.diagnostic.$reference(directive).cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\")|(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"}},\\\"end\\\":\\\"(')|(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"string.quoted.single.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"[^\\\\\\\"']\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"string.unquoted.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"},{\\\"include\\\":\\\"#comments\\\"}]}]},\\\"emacs_file_banner\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.toc-list.banner.double-slash.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.banner.character.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.toc-list.banner.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.line.banner.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.banner.character.cpp\\\"}},\\\"match\\\":\\\"^(?:(\\\\\\\\s+{0,1}((//)\\\\\\\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\\\\\\\s+{0,1}.+\\\\\\\\s+{0,1}\\\\\\\\4\\\\\\\\s+{0,1}(?:\\\\\\\\n|$)))|(\\\\\\\\s+{0,1}((/\\\\\\\\*)\\\\\\\\s+{0,1}([#*/;=C~]++(?![#*/;=C~]))\\\\\\\\s+{0,1}.+\\\\\\\\s+{0,1}\\\\\\\\8\\\\\\\\s+{0,1}\\\\\\\\*/)))\\\"},\\\"empty_square_brackets\\\":{\\\"match\\\":\\\"(?<!delete)\\\\\\\\[\\\\\\\\s+{0,1}]\\\",\\\"name\\\":\\\"storage.modifier.array.bracket.square\\\"},\\\"enum_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)enum(?!\\\\\\\\w))(?:\\\\\\\\s+(class|struct))?(?:(?:\\\\\\\\s+|((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\))))|(?=\\\\\\\\{))\\\\\\\\s+{0,1}((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(?:\\\\\\\\s+{0,1}(:)\\\\\\\\s+{0,1}(?:((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::))?\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.enum.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.enum.enum-key.$2.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.enum.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.colon.type-specifier.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"9\\\":{},\\\"10\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"storage.type.integral.$17.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.enum.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.enum.cpp\\\"}},\\\"name\\\":\\\"meta.head.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.enum.cpp\\\"}},\\\"name\\\":\\\"meta.body.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#enumerator_list\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#semicolon\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.enum.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"enum_declare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.enum.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)enum(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\b(?!override\\\\\\\\W|override\\\\\\\\$|final\\\\\\\\W|final\\\\\\\\$)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\S)(?![:A-Za-{])\\\"},\\\"enumerator_list\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.enummember.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#semicolon\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s+{0,1}((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?\\\\\\\\s+{0,1}(?:(=)\\\\\\\\s+{0,1}(.+?)\\\\\\\\s+{0,1})?(?:(?:([,;](?!')|\\\\\\\\n)|(?=}[^']))|(?=/[*/]))\\\",\\\"name\\\":\\\"meta.enum.definition.cpp\\\"},\\\"evaluation_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#predefined_macros\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#memory_operators\\\"},{\\\"include\\\":\\\"#wordlike_operators\\\"},{\\\"include\\\":\\\"#type_casting_operators\\\"},{\\\"include\\\":\\\"#control_flow_keywords\\\"},{\\\"include\\\":\\\"#exception_keywords\\\"},{\\\"include\\\":\\\"#the_this_keyword\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#builtin_storage_type_initilizer\\\"},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#lambdas\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"include\\\":\\\"#square_brackets\\\"},{\\\"include\\\":\\\"#semicolon\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"ever_present_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#pragma_mark\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#include\\\"},{\\\"include\\\":\\\"#line\\\"},{\\\"include\\\":\\\"#diagnostic\\\"},{\\\"include\\\":\\\"#undef\\\"},{\\\"include\\\":\\\"#preprocessor_conditional_range\\\"},{\\\"include\\\":\\\"#single_line_macro\\\"},{\\\"include\\\":\\\"#macro\\\"},{\\\"include\\\":\\\"#preprocessor_conditional_standalone\\\"},{\\\"include\\\":\\\"#macro_argument\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"exception_keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.exception.$3.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:throw|catch|try)(?!\\\\\\\\w))\\\"},\\\"extern_block\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(extern)(?=\\\\\\\\s*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.extern.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.extern.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.extern.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.extern.cpp\\\"}},\\\"name\\\":\\\"meta.head.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.extern.cpp\\\"}},\\\"name\\\":\\\"meta.body.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.extern.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"function_body_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#using_namespace\\\"},{\\\"include\\\":\\\"#type_alias\\\"},{\\\"include\\\":\\\"#using_name\\\"},{\\\"include\\\":\\\"#namespace_alias\\\"},{\\\"include\\\":\\\"#typedef_class\\\"},{\\\"include\\\":\\\"#typedef_struct\\\"},{\\\"include\\\":\\\"#typedef_union\\\"},{\\\"include\\\":\\\"#misc_keywords\\\"},{\\\"include\\\":\\\"#standard_declares\\\"},{\\\"include\\\":\\\"#class_block\\\"},{\\\"include\\\":\\\"#struct_block\\\"},{\\\"include\\\":\\\"#union_block\\\"},{\\\"include\\\":\\\"#enum_block\\\"},{\\\"include\\\":\\\"#access_control_keywords\\\"},{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#assembly\\\"},{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#switch_statement\\\"},{\\\"include\\\":\\\"#goto_statement\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#label\\\"}]},\\\"function_call\\\":{\\\"begin\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<11>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<11>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_call_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.call.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"11\\\":{},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.call.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.call.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"function_definition\\\":{\\\"begin\\\":\\\"(?:(?:^|\\\\\\\\G|(?<=[;}]))|(?<=>|\\\\\\\\*/))\\\\\\\\s*+(?:((?<!\\\\\\\\w)template(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:((?<!\\\\\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<52>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<52>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<52>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:reinterpret_cast|atomic_noexcept|uint_least16_t|uint_least32_t|uint_least64_t|atomic_cancel|atomic_commit|uint_least8_t|uint_fast16_t|uint_fast32_t|int_least16_t|int_least32_t|int_least64_t|uint_fast64_t|thread_local|int_fast16_t|int_fast32_t|int_fast64_t|synchronized|uint_fast8_t|dynamic_cast|int_least8_t|int_fast8_t|static_cast|suseconds_t|const_cast|useconds_t|constinit|co_return|uintmax_t|constexpr|consteval|constexpr|consteval|protected|namespace|blksize_t|co_return|in_addr_t|in_port_t|uintptr_t|template|noexcept|continue|co_await|co_yield|unsigned|u_quad_t|blkcnt_t|uint16_t|uint32_t|uint64_t|intptr_t|intmax_t|volatile|register|restrict|explicit|volatile|noexcept|operator|decltype|typename|requires|co_await|co_yield|reflexpr|swblk_t|virtual|ssize_t|concept|mutable|fixpt_t|int16_t|int32_t|int64_t|uint8_t|typedef|daddr_t|caddr_t|qaddr_t|default|nlink_t|segsz_t|u_short|wchar_t|private|__asm__|alignas|alignof|mutable|nullptr|clock_t|mode_t|public|size_t|double|quad_t|static|time_t|module|import|export|extern|inline|xor_eq|and_eq|return|friend|not_eq|signed|struct|int8_t|ushort|switch|u_long|typeid|u_char|sizeof|bitand|delete|ino_t|key_t|pid_t|off_t|uid_t|short|break|catch|compl|while|false|class|union|const|or_eq|const|throw|bitor|u_int|using|div_t|dev_t|gid_t|float|long|goto|uint|id_t|case|auto|void|enum|true|char|id_t|NULL|this|bool|else|for|new|not|xor|and|asm|int|try|do|if|or))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)|(?:thread_local|volatile|register|restrict|static|extern|const))(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"storage.modifier.$8.cpp\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"25\\\":{},\\\"26\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"28\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"30\\\":{},\\\"31\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"32\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"33\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"36\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"37\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"38\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"40\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"41\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"42\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"43\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"44\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"45\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"46\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"47\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"48\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"49\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_inner_generated\\\"}]},\\\"50\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp\\\"},\\\"51\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"52\\\":{},\\\"53\\\":{\\\"name\\\":\\\"entity.name.function.definition.cpp\\\"},\\\"54\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"55\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"56\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"57\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#parameter_or_maybe_value\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.function.return-type.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"23\\\":{}},\\\"match\\\":\\\"(?<=^|\\\\\\\\))\\\\\\\\s+{0,1}(->)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<23>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<23>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"function_parameter_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#parameter\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"function_pointer\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"23\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"28\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"30\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"32\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.function.pointer.cpp\\\"},\\\"33\\\":{\\\"name\\\":\\\"punctuation.definition.function.pointer.dereference.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"variable.other.definition.pointer.function.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.cpp\\\"},\\\"36\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"37\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.cpp\\\"},\\\"38\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.function.pointer.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[\\\\\\\\n),;=>{])(?!\\\\\\\\()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},\\\"function_pointer_parameter\\\":{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"23\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"28\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"30\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"32\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.function.pointer.cpp\\\"},\\\"33\\\":{\\\"name\\\":\\\"punctuation.definition.function.pointer.dereference.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"variable.parameter.pointer.function.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.cpp\\\"},\\\"36\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"37\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.cpp\\\"},\\\"38\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.function.pointer.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[\\\\\\\\n),;=>{])(?!\\\\\\\\()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},\\\"functional_specifiers_pre_parameters\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:constexpr|consteval|explicit|mutable|virtual|inline|friend)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.modifier.specifier.functional.pre-parameters.$0.cpp\\\"},\\\"gcc_attributes\\\":{\\\"begin\\\":\\\"__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.begin.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\s*\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.end.cpp\\\"}},\\\"name\\\":\\\"support.other.attribute.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.attribute.cpp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.accessor.attribute.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=::)\\\",\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.other.attribute.$0.cpp\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"goto_statement\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.goto.cpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"entity.name.label.call.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)goto(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\"},\\\"identifier\\\":{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\"},\\\"include\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.directive.$5.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"string.quoted.other.lt-gt.include.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"string.quoted.double.include.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"15\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"16\\\":{\\\"name\\\":\\\"entity.name.other.preprocessor.macro.include.cpp\\\"},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"21\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"22\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"^(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((#)\\\\\\\\s+{0,1}(include(?:|_next)))\\\\\\\\b\\\\\\\\s+{0,1}(?:(?:(?:((<)[^>]*(>?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//)))|((\\\\\\\")[^\\\\\\\"]*(\\\\\\\"?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//))))|((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?:\\\\\\\\.(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)*(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//|;))))|(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:\\\\\\\\n|$)|(?=//|;)))\\\",\\\"name\\\":\\\"meta.preprocessor.include.cpp\\\"},\\\"inheritance_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.comma.inheritance.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)p(?:rotected|rivate|ublic)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.modifier.access.$0.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)virtual(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.modifier.virtual.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"9\\\":{},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{}},\\\"match\\\":\\\"(?<=protected|virtual|private|public|[,:])\\\\\\\\s+{0,1}(?!p(?:rotected|rivate|ublic)|virtual)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"}]},\\\"inline_builtin_storage_type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.primitive.cpp storage.type.built-in.primitive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.cpp storage.type.built-in.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(?<!\\\\\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\\\\\w*_t))(?!\\\\\\\\w)\\\"},\\\"inline_comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\"},\\\"invalid_comment_end\\\":{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"invalid.illegal.unexpected.punctuation.definition.comment.end.cpp\\\"},\\\"label\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"entity.name.label.cpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.label.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\b(?<!case|default)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:)\\\"},\\\"lambdas\\\":{\\\"begin\\\":\\\"(?:(?<=\\\\\\\\S|^)(?<![]\\\\\\\"\\\\\\\\&)*>\\\\\\\\[\\\\\\\\w])|(?<=(?:\\\\\\\\W|^)return))\\\\\\\\s+{0,1}(\\\\\\\\[(?!\\\\\\\\[| *+\\\\\\\"| *+\\\\\\\\d))((?:[^]\\\\\\\\[]|((?<!\\\\\\\\[)\\\\\\\\[(?!\\\\\\\\[)(?:[^]\\\\\\\\[]*+\\\\\\\\g<3>?)++]))*+)(](?!((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)[];=\\\\\\\\[]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.capture.begin.lambda.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.lambda.capture.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#the_this_keyword\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.capture.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"}},\\\"match\\\":\\\"((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?=]|\\\\\\\\z|$)|(,))|(=))\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"3\\\":{},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.capture.end.lambda.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?<=[;}])\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.lambda.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.lambda.cpp\\\"}},\\\"name\\\":\\\"meta.function.definition.parameters.lambda.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:constexpr|consteval|mutable)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.modifier.lambda.$0.cpp\\\"},{\\\"begin\\\":\\\"->\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.lambda.return-type.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"storage.type.return-type.lambda.cpp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.lambda.cpp\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.lambda.cpp\\\"}},\\\"name\\\":\\\"meta.function.definition.body.lambda.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"language_constants\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:nullptr|false|NULL|true)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"constant.language.$0.cpp\\\"},\\\"line\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}line\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.directive.line.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.preprocessor.line.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#preprocessor_number_literal\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"line_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.cpp\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"line_continuation_character\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\n\\\",\\\"name\\\":\\\"constant.character.escape.line-continuation.cpp\\\"},\\\"macro\\\":{\\\"begin\\\":\\\"^(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}define)\\\\\\\\b\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.define.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.cpp\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.preprocessor.macro.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.preprocessor.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.function.preprocessor.parameters.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.preprocessor.cpp\\\"}},\\\"match\\\":\\\"(?<=[(,])\\\\\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.vararg-ellipses.variable.parameter.preprocessor.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.preprocessor.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s+{0,1}(\\\\\\\\()([^(]*)(\\\\\\\\))\\\"},{\\\"include\\\":\\\"#macro_context\\\"},{\\\"include\\\":\\\"#macro_argument\\\"}]},\\\"macro_argument\\\":{\\\"match\\\":\\\"##?(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.macro.argument.cpp\\\"},\\\"macro_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp.embedded.macro\\\"}]},\\\"macro_name\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.function.preprocessor.cpp\\\"},\\\"member_access\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.property.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*??)\\\\\\\\s+{0,1}(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"variable.other.property.cpp\\\"}},\\\"match\\\":\\\"(?:(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s+{0,1}(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s+{0,1})*)\\\\\\\\s+{0,1}\\\\\\\\b((?!(?:uint_least32_t|uint_least16_t|uint_least64_t|int_least32_t|int_least64_t|uint_fast32_t|uint_fast64_t|uint_least8_t|uint_fast16_t|int_least16_t|int_fast16_t|int_least8_t|uint_fast8_t|int_fast64_t|int_fast32_t|int_fast8_t|suseconds_t|useconds_t|in_addr_t|uintmax_t|in_port_t|uintptr_t|blksize_t|uint32_t|uint64_t|u_quad_t|intmax_t|unsigned|blkcnt_t|uint16_t|intptr_t|swblk_t|wchar_t|u_short|qaddr_t|caddr_t|daddr_t|fixpt_t|nlink_t|segsz_t|clock_t|ssize_t|int16_t|int32_t|int64_t|uint8_t|int8_t|mode_t|quad_t|ushort|u_long|u_char|double|signed|time_t|size_t|key_t|div_t|ino_t|uid_t|gid_t|off_t|pid_t|float|dev_t|u_int|short|bool|id_t|uint|long|char|void|auto|id_t|int)\\\\\\\\W)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b(?!\\\\\\\\())\\\"},\\\"memory_operators\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.wordlike.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.delete.array.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.delete.array.bracket.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.delete.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.new.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:(?:(delete)\\\\\\\\s+{0,1}(\\\\\\\\[])|(delete))|(new))(?!\\\\\\\\w))\\\"},\\\"method_access\\\":{\\\"begin\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s+{0,1}(?:\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*?)\\\\\\\\s+{0,1})*)\\\\\\\\s+{0,1}(~?(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.property.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\.\\\\\\\\*?|->\\\\\\\\*??)\\\\\\\\s+{0,1}(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.object.access.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.separator.dot-access.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.pointer-access.cpp\\\"}},\\\"match\\\":\\\"(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*|(?<=[])]))\\\\\\\\s+{0,1}))(?:(\\\\\\\\.\\\\\\\\*?)|(->\\\\\\\\*?))\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#method_access\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"entity.name.function.member.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.function.member.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.function.member.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"misc_keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.$3.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:constinit|requires|typedef|concept|export|module)(?!\\\\\\\\w))\\\"},\\\"ms_attributes\\\":{\\\"begin\\\":\\\"__declspec\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.begin.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.attribute.end.cpp\\\"}},\\\"name\\\":\\\"support.other.attribute.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.attribute.cpp\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.accessor.attribute.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(?=::)\\\",\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.other.attribute.$0.cpp\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"namespace_alias\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.alias.cpp storage.type.namespace.alias.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.alias.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.declaration.namespace.alias.value.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_alias_inner_generated\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(namespace)\\\\\\\\s+((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s+{0,1}(=)\\\\\\\\s+{0,1}(((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<8>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?:(;)|\\\\\\\\n))\\\",\\\"name\\\":\\\"meta.declaration.namespace.alias.cpp\\\"},\\\"namespace_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)namespace(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.namespace.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.definition.cpp storage.type.namespace.definition.cpp\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.block.namespace.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.namespace.cpp\\\"}},\\\"name\\\":\\\"meta.head.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_block_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.modifier.inline.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<4>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?:(::)\\\\\\\\s+{0,1}(inline))?\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.namespace.cpp\\\"}},\\\"name\\\":\\\"meta.body.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.namespace.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"noexcept_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)noexcept(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.noexcept\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"number_literal\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=.)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.hexadecimal.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.hexadecimal.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.hexadecimal.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.hexadecimal.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.exponent.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Xx])(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<=\\\\\\\\h)\\\\\\\\.|\\\\\\\\.(?=\\\\\\\\h))(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?(?:(?<!')([Pp])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?([FLfl](?!\\\\\\\\w))?((?:\\\\\\\\w(?<![Pp\\\\\\\\h])\\\\\\\\w*)?)$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.decimal.point.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.decimal.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.decimal.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.decimal.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.exponent.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"10\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.floating-point.cpp keyword.other.unit.suffix.floating-point.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?((?<=[0-9])\\\\\\\\.|\\\\\\\\.(?=[0-9]))([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)?(?:(?<!')([Ee])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?([FLfl](?!\\\\\\\\w))?((?:\\\\\\\\w(?<![0-9Ee])\\\\\\\\w*)?)$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.binary.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.binary.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Bb])([01](?:[01]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\\\\\w))?((?:\\\\\\\\w(?<![0-9])\\\\\\\\w*)?)$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.octal.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.octal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0)((?:[0-7]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))+)((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\\\\\w))?((?:\\\\\\\\w(?<![0-9])\\\\\\\\w*)?)$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.hexadecimal.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.hexadecimal.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.hexadecimal.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.hexadecimal.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.exponent.hexadecimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(0[Xx])(\\\\\\\\h(?:\\\\\\\\h|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)(?:(?<!')([Pp])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\\\\\w))?((?:\\\\\\\\w(?<![Pp\\\\\\\\h])\\\\\\\\w*)?)$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.unit.exponent.decimal.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.plus.exponent.decimal.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.minus.exponent.decimal.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.exponent.decimal.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\h)'(?=\\\\\\\\h)\\\",\\\"name\\\":\\\"punctuation.separator.constant.numeric.cpp\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.built-in.integer.cpp keyword.other.unit.suffix.integer.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.integer.cpp keyword.other.unit.user-defined.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\G(?=[.0-9])(?!0[BXbx])([0-9](?:[0-9]|((?<=\\\\\\\\h)'(?=\\\\\\\\h)))*)(?:(?<!')([Ee])(\\\\\\\\+?)(-?)([0-9](?:[0-9]|(?<=\\\\\\\\h)'(?=\\\\\\\\h))*))?((?:[Uu]|[Uu]ll?|[Uu]LL?|ll?[Uu]?|LL?[Uu]?|[Ff])(?!\\\\\\\\w))?((?:\\\\\\\\w(?<![0-9Ee])\\\\\\\\w*)?)$\\\"},{\\\"match\\\":\\\"(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])+\\\",\\\"name\\\":\\\"invalid.illegal.constant.numeric.cpp\\\"}]}]}},\\\"match\\\":\\\"(?<!\\\\\\\\w)\\\\\\\\.?\\\\\\\\d(?:['.0-9A-Z_a-z]|(?<=[EPep])[-+])*\\\"},\\\"operator_overload\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<55>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<55>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:__(?:cdec|clrcal|stdcal|fastcal|thiscal|vectorcal)l)?)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<55>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(operator)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<55>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(?:(?:(delete\\\\\\\\[]|delete|new\\\\\\\\[]|<=>|<<=|new|>>=|->\\\\\\\\*|/=|%=|&=|>=|\\\\\\\\|=|\\\\\\\\+\\\\\\\\+|--|\\\\\\\\(\\\\\\\\)|\\\\\\\\[]|->|\\\\\\\\+\\\\\\\\+|<<|>>|--|<=|\\\\\\\\^=|==|!=|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\+=|-=|\\\\\\\\*=|[!%\\\\\\\\&*-\\\\\\\\-/<=>^|~])|((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:\\\\\\\\[])?)))|(\\\\\\\"\\\\\\\")((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[(<])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.function.definition.special.operator-overload.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"17\\\":{},\\\"18\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"22\\\":{},\\\"23\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"28\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"30\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"32\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"33\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"36\\\":{\\\"name\\\":\\\"storage.type.modifier.calling-convention.cpp\\\"},\\\"37\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"38\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"40\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"41\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"42\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"43\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"44\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"45\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.operator.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"46\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"47\\\":{},\\\"48\\\":{\\\"name\\\":\\\"keyword.other.operator.overload.cpp\\\"},\\\"49\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"50\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"51\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"52\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"53\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.operator-overload.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.operator-overload.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"54\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"55\\\":{},\\\"56\\\":{\\\"name\\\":\\\"entity.name.operator.cpp\\\"},\\\"57\\\":{\\\"name\\\":\\\"entity.name.operator.type.cpp\\\"},\\\"58\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.operator.type.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.operator.type.reference.cpp\\\"}]},\\\"59\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"60\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"61\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"62\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"63\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"64\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"65\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"66\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"67\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"68\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"69\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"70\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"71\\\":{\\\"name\\\":\\\"entity.name.operator.type.array.cpp\\\"},\\\"72\\\":{\\\"name\\\":\\\"entity.name.operator.custom-literal.cpp\\\"},\\\"73\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"74\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"75\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"76\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"77\\\":{\\\"name\\\":\\\"entity.name.operator.custom-literal.cpp\\\"},\\\"78\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"79\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"80\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"81\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.function.definition.special.operator-overload.cpp\\\"}},\\\"name\\\":\\\"meta.head.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.special.operator-overload.cpp\\\"}},\\\"contentName\\\":\\\"meta.function.definition.parameters.special.operator-overload\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.special.operator-overload.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.other.default.function.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.delete.function.cpp\\\"}},\\\"match\\\":\\\"(=)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(default)|(delete))\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.function.definition.special.operator-overload.cpp\\\"}},\\\"name\\\":\\\"meta.body.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_body_context\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.function.definition.special.operator-overload.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)sizeof(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.sizeof\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)alignof(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.alignof.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.alignof.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.alignof\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.alignof.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)alignas(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.alignas.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.alignas.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.alignas\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.alignas.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typeid(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.typeid\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"((?<!\\\\\\\\w)noexcept(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.noexcept.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.noexcept.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.noexcept\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.noexcept.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(sizeof\\\\\\\\.\\\\\\\\.\\\\\\\\.)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.sizeof.variadic\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.cpp\\\"},{\\\"match\\\":\\\"(?:[-%*+]|(?<!\\\\\\\\()/)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.cpp\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.cpp\\\"},{\\\"match\\\":\\\"<<|>>\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.cpp\\\"},{\\\"match\\\":\\\"!=|<=|>=|==|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.cpp\\\"},{\\\"match\\\":\\\"&&|!|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.cpp\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.cpp\\\"},{\\\"include\\\":\\\"#assignment_operator\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.cpp\\\"},{\\\"include\\\":\\\"#ternary_operator\\\"}]},\\\"over_qualified_types\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.struct.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.struct.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(struct)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\[(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[\\\\\\\\n),])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.enum.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(enum)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\[(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[\\\\\\\\n),])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.union.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.union.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(union)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\[(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[\\\\\\\\n),])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(class)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\[(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[\\\\\\\\n),])\\\"}]},\\\"parameter\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\w)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))|(,)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"name\\\":\\\"meta.parameter.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#function_pointer_parameter\\\"},{\\\"include\\\":\\\"#decltype\\\"},{\\\"include\\\":\\\"#vararg_ellipses\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#storage_types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.specifier.parameter.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.primitive.cpp storage.type.built-in.primitive.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"storage.type.cpp storage.type.built-in.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.type.parameter.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\s*+(?<!\\\\\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\\\\\w*_t))(?!\\\\\\\\w)|((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\b\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[),=])\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#scope_resolution_parameter_inner_generated\\\"},{\\\"match\\\":\\\"struct|class|union|enum\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"begin\\\":\\\"(?<==)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=\\\\\\\\))|(,)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?<![(,:\\\\\\\\s])((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[\\\\\\\\n),=\\\\\\\\[])\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.array.type.cpp\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.array.type.cpp\\\"}},\\\"name\\\":\\\"meta.bracket.square.array.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:struct|class|union|enum))\\\",\\\"name\\\":\\\"entity.name.type.parameter.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*]\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"parameter_class\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(class)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\[(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[\\\\\\\\n),])\\\"},\\\"parameter_enum\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.enum.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(enum)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\[(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[\\\\\\\\n),])\\\"},\\\"parameter_or_maybe_value\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\w)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))|(,)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"name\\\":\\\"meta.parameter.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#function_pointer_parameter\\\"},{\\\"include\\\":\\\"#memory_operators\\\"},{\\\"include\\\":\\\"#builtin_storage_type_initilizer\\\"},{\\\"include\\\":\\\"#curly_initializer\\\"},{\\\"include\\\":\\\"#decltype\\\"},{\\\"include\\\":\\\"#vararg_ellipses\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#storage_types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.specifier.parameter.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.primitive.cpp storage.type.built-in.primitive.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"storage.type.cpp storage.type.built-in.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"support.type.posix-reserved.pthread.cpp support.type.built-in.posix-reserved.pthread.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"support.type.posix-reserved.cpp support.type.built-in.posix-reserved.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.type.parameter.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?:(thread_local|volatile|register|restrict|static|extern|const)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\s*+(?<!\\\\\\\\w)(?:(?:(?:(unsigned|wchar_t|double|signed|short|float|auto|void|long|char|bool|int)|(uint_least32_t|uint_least64_t|uint_least16_t|uint_fast64_t|uint_least8_t|int_least64_t|int_least32_t|int_least16_t|uint_fast16_t|uint_fast32_t|int_least8_t|int_fast16_t|int_fast32_t|int_fast64_t|uint_fast8_t|int_fast8_t|suseconds_t|useconds_t|uintmax_t|in_port_t|uintmax_t|in_addr_t|blksize_t|uintptr_t|intmax_t|intptr_t|blkcnt_t|intmax_t|u_quad_t|uint16_t|uint32_t|uint64_t|ssize_t|fixpt_t|qaddr_t|u_short|int16_t|int32_t|int64_t|uint8_t|daddr_t|caddr_t|swblk_t|clock_t|segsz_t|nlink_t|time_t|u_long|ushort|quad_t|mode_t|size_t|u_char|int8_t|u_int|uid_t|off_t|pid_t|gid_t|dev_t|div_t|key_t|ino_t|id_t|uint))|(pthread_(?:rwlockattr_|mutexattr_|condattr_|rwlock_|mutex_|cond_|attr_|once_|key_|)t))|([A-Z_a-z]\\\\\\\\w*_t))(?!\\\\\\\\w)|((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\b\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:thread_local|volatile|register|restrict|static|extern|const))))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[),=])\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"#scope_resolution_parameter_inner_generated\\\"},{\\\"match\\\":\\\"struct|class|union|enum\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"begin\\\":\\\"(?<==)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=\\\\\\\\))|(,)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.parameter.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?<![(,:\\\\\\\\s])((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[),=\\\\\\\\[]|//|(?:\\\\\\\\n|$))\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.array.type.cpp\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.array.type.cpp\\\"}},\\\"name\\\":\\\"meta.bracket.square.array.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b(?<!(?:\\\\\\\\W|^)(?:struct|class|union|enum))\\\",\\\"name\\\":\\\"entity.name.type.parameter.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*]\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"},{\\\"include\\\":\\\"#ever_present_context\\\"}]},\\\"parameter_struct\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.struct.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.struct.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(struct)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\[(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[\\\\\\\\n),])\\\"},\\\"parameter_union\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.union.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.union.parameter.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"19\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\b(union)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))?)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:\\\\\\\\[(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[\\\\\\\\n),])\\\"},\\\"parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.cpp\\\"}},\\\"name\\\":\\\"meta.parens.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#over_qualified_types\\\"},{\\\"match\\\":\\\"(?<!:):(?!:)\\\",\\\"name\\\":\\\"punctuation.separator.colon.range-based.cpp\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"pragma\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}pragma\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.directive.pragma.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.preprocessor.pragma.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"match\\\":\\\"[$A-Z_a-z][-$\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.other.attribute-name.pragma.preprocessor.cpp\\\"},{\\\"include\\\":\\\"#preprocessor_number_literal\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"pragma_mark\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.pragma.pragma-mark.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.pragma-mark.cpp\\\"}},\\\"match\\\":\\\"^((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}pragma\\\\\\\\s+mark)\\\\\\\\s+(.*)\\\",\\\"name\\\":\\\"meta.preprocessor.pragma.cpp\\\"},\\\"predefined_macros\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.$1.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\b(__cplusplus|__DATE__|__FILE__|__LINE__|__STDC__|__STDC_HOSTED__|__STDC_NO_COMPLEX__|__STDC_VERSION__|__STDCPP_THREADS__|__TIME__|NDEBUG|__OBJC__|__ASSEMBLER__|__ATOM__|__AVX__|__AVX2__|_CHAR_UNSIGNED|__CLR_VER|_CONTROL_FLOW_GUARD|__COUNTER__|__cplusplus_cli|__cplusplus_winrt|_CPPRTTI|_CPPUNWIND|_DEBUG|_DLL|__FUNCDNAME__|__FUNCSIG__|__FUNCTION__|_INTEGRAL_MAX_BITS|__INTELLISENSE__|_ISO_VOLATILE|_KERNEL_MODE|_M_AMD64|_M_ARM|_M_ARM_ARMV7VE|_M_ARM_FP|_M_ARM64|_M_CEE|_M_CEE_PURE|_M_CEE_SAFE|_M_FP_EXCEPT|_M_FP_FAST|_M_FP_PRECISE|_M_FP_STRICT|_M_IX86|_M_IX86_FP|_M_X64|_MANAGED|_MSC_BUILD|_MSC_EXTENSIONS|_MSC_FULL_VER|_MSC_VER|_MSVC_LANG|__MSVC_RUNTIME_CHECKS|_MT|_NATIVE_WCHAR_T_DEFINED|_OPENMP|_PREFAST|__TIMESTAMP__|_VC_NO_DEFAULTLIB|_WCHAR_T_DEFINED|_WIN32|_WIN64|_WINRT_DLL|_ATL_VER|_MFC_VER|__GFORTRAN__|__GNUC__|__GNUC_MINOR__|__GNUC_PATCHLEVEL__|__GNUG__|__STRICT_ANSI__|__BASE_FILE__|__INCLUDE_LEVEL__|__ELF__|__VERSION__|__OPTIMIZE__|__OPTIMIZE_SIZE__|__NO_INLINE__|__GNUC_STDC_INLINE__|__CHAR_UNSIGNED__|__WCHAR_UNSIGNED__|__REGISTER_PREFIX__|__SIZE_TYPE__|__PTRDIFF_TYPE__|__WCHAR_TYPE__|__WINT_TYPE__|__INTMAX_TYPE__|__UINTMAX_TYPE__|__SIG_ATOMIC_TYPE__|__INT8_TYPE__|__INT16_TYPE__|__INT32_TYPE__|__INT64_TYPE__|__UINT8_TYPE__|__UINT16_TYPE__|__UINT32_TYPE__|__UINT64_TYPE__|__INT_LEAST8_TYPE__|__INT_LEAST16_TYPE__|__INT_LEAST32_TYPE__|__INT_LEAST64_TYPE__|__UINT_LEAST8_TYPE__|__UINT_LEAST16_TYPE__|__UINT_LEAST32_TYPE__|__UINT_LEAST64_TYPE__|__INT_FAST8_TYPE__|__INT_FAST16_TYPE__|__INT_FAST32_TYPE__|__INT_FAST64_TYPE__|__UINT_FAST8_TYPE__|__UINT_FAST16_TYPE__|__UINT_FAST32_TYPE__|__UINT_FAST64_TYPE__|__INTPTR_TYPE__|__UINTPTR_TYPE__|__CHAR_BIT__|__SCHAR_MAX__|__WCHAR_MAX__|__SHRT_MAX__|__INT_MAX__|__LONG_MAX__|__LONG_LONG_MAX__|__WINT_MAX__|__SIZE_MAX__|__PTRDIFF_MAX__|__INTMAX_MAX__|__UINTMAX_MAX__|__SIG_ATOMIC_MAX__|__INT8_MAX__|__INT16_MAX__|__INT32_MAX__|__INT64_MAX__|__UINT8_MAX__|__UINT16_MAX__|__UINT32_MAX__|__UINT64_MAX__|__INT_LEAST8_MAX__|__INT_LEAST16_MAX__|__INT_LEAST32_MAX__|__INT_LEAST64_MAX__|__UINT_LEAST8_MAX__|__UINT_LEAST16_MAX__|__UINT_LEAST32_MAX__|__UINT_LEAST64_MAX__|__INT_FAST8_MAX__|__INT_FAST16_MAX__|__INT_FAST32_MAX__|__INT_FAST64_MAX__|__UINT_FAST8_MAX__|__UINT_FAST16_MAX__|__UINT_FAST32_MAX__|__UINT_FAST64_MAX__|__INTPTR_MAX__|__UINTPTR_MAX__|__WCHAR_MIN__|__WINT_MIN__|__SIG_ATOMIC_MIN__|__SCHAR_WIDTH__|__SHRT_WIDTH__|__INT_WIDTH__|__LONG_WIDTH__|__LONG_LONG_WIDTH__|__PTRDIFF_WIDTH__|__SIG_ATOMIC_WIDTH__|__SIZE_WIDTH__|__WCHAR_WIDTH__|__WINT_WIDTH__|__INT_LEAST8_WIDTH__|__INT_LEAST16_WIDTH__|__INT_LEAST32_WIDTH__|__INT_LEAST64_WIDTH__|__INT_FAST8_WIDTH__|__INT_FAST16_WIDTH__|__INT_FAST32_WIDTH__|__INT_FAST64_WIDTH__|__INTPTR_WIDTH__|__INTMAX_WIDTH__|__SIZEOF_INT__|__SIZEOF_LONG__|__SIZEOF_LONG_LONG__|__SIZEOF_SHORT__|__SIZEOF_POINTER__|__SIZEOF_FLOAT__|__SIZEOF_DOUBLE__|__SIZEOF_LONG_DOUBLE__|__SIZEOF_SIZE_T__|__SIZEOF_WCHAR_T__|__SIZEOF_WINT_T__|__SIZEOF_PTRDIFF_T__|__BYTE_ORDER__|__ORDER_LITTLE_ENDIAN__|__ORDER_BIG_ENDIAN__|__ORDER_PDP_ENDIAN__|__FLOAT_WORD_ORDER__|__DEPRECATED|__EXCEPTIONS|__GXX_RTTI|__USING_SJLJ_EXCEPTIONS__|__GXX_EXPERIMENTAL_CXX0X__|__GXX_WEAK__|__NEXT_RUNTIME__|__LP64__|_LP64|__SSP__|__SSP_ALL__|__SSP_STRONG__|__SSP_EXPLICIT__|__SANITIZE_ADDRESS__|__SANITIZE_THREAD__|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_1|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_2|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8|__GCC_HAVE_SYNC_COMPARE_AND_SWAP_16|__HAVE_SPECULATION_SAFE_VALUE|__GCC_HAVE_DWARF2_CFI_ASM|__FP_FAST_FMAF??|__FP_FAST_FMAL|__FP_FAST_FMAF16|__FP_FAST_FMAF32|__FP_FAST_FMAF64|__FP_FAST_FMAF128|__FP_FAST_FMAF32X|__FP_FAST_FMAF64X|__FP_FAST_FMAF128X|__GCC_IEC_559|__GCC_IEC_559_COMPLEX|__NO_MATH_ERRNO__|__has_builtin|__has_feature|__has_extension|__has_cpp_attribute|__has_c_attribute|__has_attribute|__has_declspec_attribute|__is_identifier|__has_include|__has_include_next|__has_warning|__BASE_FILE__|__FILE_NAME__|__clang__|__clang_major__|__clang_minor__|__clang_patchlevel__|__clang_version__|__fp16|_Float16)\\\\\\\\b\\\"},{\\\"match\\\":\\\"\\\\\\\\b__([A-Z_]+)__\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$1.cpp\\\"}]},\\\"preprocessor_conditional_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor_conditional_defined\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#d9bc4796b0b_preprocessor_number_literal\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#predefined_macros\\\"},{\\\"include\\\":\\\"#macro_name\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"preprocessor_conditional_defined\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)defined(?!\\\\\\\\w))(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.defined.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.parens.control.defined.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.control.defined.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#macro_name\\\"}]},\\\"preprocessor_conditional_parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.cpp\\\"}},\\\"name\\\":\\\"meta.parens.preprocessor.conditional.cpp\\\"},\\\"preprocessor_conditional_range\\\":{\\\"begin\\\":\\\"^((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}(if(?:n?def|))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.directive.conditional.$6.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"6\\\":{}},\\\"contentName\\\":\\\"meta.preprocessor.conditional\\\",\\\"end\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(?:(?=\\\\\\\\n)|(?<=(?:^|[^\\\\\\\\\\\\\\\\])\\\\\\\\n)(?=$))\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#preprocessor_conditional_context\\\"}]},\\\"preprocessor_conditional_standalone\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"}},\\\"match\\\":\\\"^(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}((?<!\\\\\\\\w)e(?:ndif|lse|lif)(?!\\\\\\\\w))\\\",\\\"name\\\":\\\"keyword.control.directive.$4.cpp\\\"},\\\"preprocessor_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#pragma_mark\\\"},{\\\"include\\\":\\\"#pragma\\\"},{\\\"include\\\":\\\"#include\\\"},{\\\"include\\\":\\\"#line\\\"},{\\\"include\\\":\\\"#diagnostic\\\"},{\\\"include\\\":\\\"#undef\\\"},{\\\"include\\\":\\\"#preprocessor_conditional_range\\\"},{\\\"include\\\":\\\"#single_line_macro\\\"},{\\\"include\\\":\\\"#macro\\\"},{\\\"include\\\":\\\"#preprocessor_conditional_standalone\\\"},{\\\"include\\\":\\\"#macro_argument\\\"}]},\\\"qualified_type\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<11>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<11>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w])\\\",\\\"name\\\":\\\"meta.qualified_type.cpp\\\"},\\\"qualifiers_and_specifiers_post_parameters\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.modifier.specifier.functional.post-parameters.$5.cpp\\\"}},\\\"match\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:override|volatile|noexcept|final|const)(?!\\\\\\\\w))\\\"}]}},\\\"match\\\":\\\"((?:(?:(?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?<!\\\\\\\\w)(?:override|volatile|noexcept|final|const)(?!\\\\\\\\w))+)(?=\\\\\\\\s*[\\\\\\\\n\\\\\\\\r;={])\\\"},\\\"scope_resolution\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_function_call\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_call_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_function_call_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_call_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.function.call.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.call.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_function_definition\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_function_definition_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.function.definition.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_function_definition_operator_overload\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_operator_overload_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_function_definition_operator_overload_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_function_definition_operator_overload_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.function.definition.operator-overload.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.function.definition.operator-overload.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_namespace_alias\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_alias_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_namespace_alias_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_alias_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.namespace.alias.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.alias.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_namespace_block\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_block_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_namespace_block_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_block_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.namespace.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.block.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_namespace_using\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_using_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_namespace_using_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_using_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.namespace.using.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_parameter\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_parameter_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_parameter_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_parameter_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.parameter.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.parameter.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_template_call\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_call_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_template_call_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_call_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.template.call.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.call.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"scope_resolution_template_definition\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_definition_inner_generated\\\"}]},\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]}},\\\"match\\\":\\\"(::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<3>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+\\\"},\\\"scope_resolution_template_definition_inner_generated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_definition_inner_generated\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"4\\\":{},\\\"5\\\":{\\\"name\\\":\\\"entity.name.scope-resolution.template.definition.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"7\\\":{},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.template.definition.cpp\\\"}},\\\"match\\\":\\\"((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)((?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\\\\\\s*+(((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<7>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?(::)\\\"},\\\"semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"simple_type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"9\\\":{},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{},\\\"13\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"15\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<12>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?\\\"},\\\"single_line_macro\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#macro\\\"},{\\\"include\\\":\\\"#comments\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"^(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)#define.*(?<!\\\\\\\\\\\\\\\\)(?:\\\\\\\\n|$)\\\"},\\\"sizeof_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)sizeof(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.sizeof.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.sizeof\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.sizeof.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"sizeof_variadic_operator\\\":{\\\"begin\\\":\\\"\\\\\\\\b(sizeof\\\\\\\\.\\\\\\\\.\\\\\\\\.)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.sizeof.variadic.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.sizeof.variadic.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.sizeof.variadic\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.sizeof.variadic.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"square_brackets\\\":{\\\"begin\\\":\\\"([A-Z_a-z][0-9A-Z_a-z]*|(?<=[])]))?(\\\\\\\\[)(?!])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.object\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square\\\"}},\\\"name\\\":\\\"meta.bracket.square.access\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"standard_declares\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.struct.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.struct.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)struct(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\b(?!override\\\\\\\\W|override\\\\\\\\$|final\\\\\\\\W|final\\\\\\\\$)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\S)(?![:A-Za-{])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.union.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.union.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)union(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\b(?!override\\\\\\\\W|override\\\\\\\\$|final\\\\\\\\W|final\\\\\\\\$)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\S)(?![:A-Za-{])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.enum.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)enum(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\b(?!override\\\\\\\\W|override\\\\\\\\$|final\\\\\\\\W|final\\\\\\\\$)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\S)(?![:A-Za-{])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.class.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)class(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\b(?!override\\\\\\\\W|override\\\\\\\\$|final\\\\\\\\W|final\\\\\\\\$)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\S)(?![:A-Za-{])\\\"}]},\\\"static_assert\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)static_assert|_Static_assert(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.static_assert.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.static_assert.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.static_assert.cpp\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(,)\\\\\\\\s+{0,1}(?=(?:L|u8?|U\\\\\\\\s+{0,1}\\\\\\\")?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.cpp\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.static_assert.message.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_context\\\"}]},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"std_space\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z\\\"},\\\"storage_specifiers\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.specifier.$3.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\\\\\\\w))\\\"},\\\"storage_types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#storage_specifiers\\\"},{\\\"include\\\":\\\"#inline_builtin_storage_type\\\"},{\\\"include\\\":\\\"#decltype\\\"},{\\\"include\\\":\\\"#typename\\\"}]},\\\"string_context\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?:u8??|[LU])?)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\")(?:((?:[A-Za-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.reserved.string.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.string.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.escape.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'?\\\\\\\\\\\\\\\\abfnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.cpp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.unknown-escape.cpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\x0*\\\\\\\\h{2}(?!\\\\\\\\h))|(\\\\\\\\\\\\\\\\x\\\\\\\\h*)\\\"},{\\\"include\\\":\\\"#string_escapes_context_c\\\"}]},{\\\"begin\\\":\\\"(?<!\\\\\\\\h)((?:u8??|[LU])?)'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"(')(?:((?:[A-Za-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.reserved.character.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.character.cpp\\\"}},\\\"name\\\":\\\"string.quoted.single.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.unknown-escape.cpp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\x0*\\\\\\\\h{2}(?!\\\\\\\\h))|(\\\\\\\\\\\\\\\\x\\\\\\\\h*)\\\"},{\\\"include\\\":\\\"#string_escapes_context_c\\\"},{\\\"include\\\":\\\"#line_continuation_character\\\"}]},{\\\"begin\\\":\\\"((?:[LUu]8?)?R)\\\\\\\"(?:(?:_r|re)|regex)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:(?:_r|re)|regex)\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.regex.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp.python\\\"}]},{\\\"begin\\\":\\\"((?:[LUu]8?)?R)\\\\\\\"(?:glsl|GLSL)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:glsl|GLSL)\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"meta.string.quoted.double.raw.glsl.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.glsl\\\"}]},{\\\"begin\\\":\\\"((?:[LUu]8?)?R)\\\\\\\"(?:[Pp]?(?:sql|SQL)|d[dm]l)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)(?:[Pp]?(?:sql|SQL)|d[dm]l)\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.cpp\\\"}},\\\"name\\\":\\\"meta.string.quoted.double.raw.sql.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"((?:u8??|[LU])?R)\\\\\\\"(?:([^\\\\\\\\t ()\\\\\\\\\\\\\\\\]{0,16})|([^\\\\\\\\t ()\\\\\\\\\\\\\\\\]*))\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.encoding\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.delimiter-too-long\\\"}},\\\"end\\\":\\\"(\\\\\\\\)\\\\\\\\2(\\\\\\\\3)\\\\\\\")(?:((?:[A-Za-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)|(_(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.delimiter-too-long\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.reserved.string.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.suffix.literal.user-defined.string.cpp\\\"}},\\\"name\\\":\\\"string.quoted.double.raw\\\"}]},\\\"string_escapes_context_c\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'?\\\\\\\\\\\\\\\\abefnprtv]|[0-3][0-7]{0,2}|[4-7]\\\\\\\\d?|x\\\\\\\\h{0,2}|u\\\\\\\\h{0,4}|U\\\\\\\\h{0,8})\\\",\\\"name\\\":\\\"constant.character.escape\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unknown-escape\\\"},{\\\"match\\\":\\\"(?!%')(?!%\\\\\\\")%(\\\\\\\\d+\\\\\\\\$)?[- #'+0]*[,:;_]?((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?(\\\\\\\\.((-?\\\\\\\\d+)|\\\\\\\\*(-?\\\\\\\\d+\\\\\\\\$)?)?)?(hh?|ll|[Ljlqtz]|vh|vl?|hv|hl)?[%AC-GOSUXac-ginopsux]\\\",\\\"name\\\":\\\"constant.other.placeholder\\\"}]},\\\"struct_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)struct(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.struct.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.struct.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.struct.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.head.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.body.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"struct_declare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.struct.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.struct.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)struct(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\b(?!override\\\\\\\\W|override\\\\\\\\$|final\\\\\\\\W|final\\\\\\\\$)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\S)(?![:A-Za-{])\\\"},\\\"switch_conditional_parentheses\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.conditional.switch.cpp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.conditional.switch.cpp\\\"}},\\\"name\\\":\\\"meta.conditional.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"switch_statement\\\":{\\\"begin\\\":\\\"((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)switch(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.switch.cpp\\\"},\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.switch.cpp\\\"}},\\\"end\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.block.switch.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.switch.cpp\\\"}},\\\"name\\\":\\\"meta.head.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#switch_conditional_parentheses\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.switch.cpp\\\"}},\\\"name\\\":\\\"meta.body.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#default_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.switch.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"template_argument_defaulted\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.argument.$1.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"}},\\\"match\\\":\\\"(?<=[,<])\\\\\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(=)\\\"},\\\"template_call_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#scope_resolution_template_call_inner_generated\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma_in_template_argument\\\"},{\\\"include\\\":\\\"#qualified_type\\\"}]},\\\"template_call_innards\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!<)<(?!<)(?:(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<1>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+\\\",\\\"name\\\":\\\"meta.template.call.cpp\\\"},\\\"template_call_range\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},\\\"template_definition\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\w)(template)\\\\\\\\s+{0,1}(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.definition.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.definition.cpp\\\"}},\\\"name\\\":\\\"meta.template.definition.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\w)\\\\\\\\s+{0,1}<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"include\\\":\\\"#template_definition_context\\\"}]},\\\"template_definition_argument\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"storage.type.template.argument.$3.cpp\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"storage.type.template.argument.$0.cpp\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.template.argument.$6.cpp\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.vararg-ellipses.template.definition.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.definition.cpp\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.template.argument.$11.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.definition.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.template.argument.$14.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"entity.name.type.template.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.separator.delimiter.comma.template.argument.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)|((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s+)+)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))|((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))|(?<!\\\\\\\\w)(template)\\\\\\\\s+{0,1}(<)\\\\\\\\s+{0,1}((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(>)\\\\\\\\s+{0,1}(class|typename)(?:\\\\\\\\s+((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*))?)\\\\\\\\s+{0,1}(?:(=)\\\\\\\\s+{0,1}(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?(?:(,)|(?=>|$))\\\"},\\\"template_definition_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_template_definition_inner_generated\\\"},{\\\"include\\\":\\\"#template_definition_argument\\\"},{\\\"include\\\":\\\"#template_argument_defaulted\\\"},{\\\"include\\\":\\\"#template_call_innards\\\"},{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"template_explicit_instantiation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.specifier.extern.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:(extern)\\\\\\\\s+)?(template)\\\\\\\\s+\\\",\\\"name\\\":\\\"meta.template.explicit-instantiation.cpp\\\"},\\\"template_isolated_definition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.template.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.definition.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.template.definition.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_definition_context\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.definition.cpp\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(template)\\\\\\\\s+{0,1}(<)(.*)(>)\\\\\\\\s+{0,1}$\\\"},\\\"ternary_operator\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.cpp\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#method_access\\\"},{\\\"include\\\":\\\"#member_access\\\"},{\\\"include\\\":\\\"#predefined_macros\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#memory_operators\\\"},{\\\"include\\\":\\\"#wordlike_operators\\\"},{\\\"include\\\":\\\"#type_casting_operators\\\"},{\\\"include\\\":\\\"#control_flow_keywords\\\"},{\\\"include\\\":\\\"#exception_keywords\\\"},{\\\"include\\\":\\\"#the_this_keyword\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#builtin_storage_type_initilizer\\\"},{\\\"include\\\":\\\"#qualifiers_and_specifiers_post_parameters\\\"},{\\\"include\\\":\\\"#functional_specifiers_pre_parameters\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#lambdas\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"include\\\":\\\"#square_brackets\\\"},{\\\"include\\\":\\\"#semicolon\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"the_this_keyword\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.language.this.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)this(?!\\\\\\\\w))\\\"},\\\"type_alias\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.assignment.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.typename.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#storage_specifiers\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"17\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"18\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"20\\\":{\\\"name\\\":\\\"meta.declaration.type.alias.value.unknown.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"21\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"22\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"23\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"25\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"26\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"27\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"28\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.cpp\\\"},\\\"29\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"30\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+(?!namespace)((?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)\\\\\\\\s+{0,1}((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?\\\\\\\\s+{0,1}(=)\\\\\\\\s+{0,1}((?:typename)?)\\\\\\\\s+{0,1}((?:(?:((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?<!\\\\\\\\w)(?:thread_local|volatile|register|restrict|static|extern|const)(?!\\\\\\\\w)\\\\\\\\s+)+)?(?:(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<19>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<19>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))|(.*(?<!;)))(?:((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})?\\\\\\\\s+{0,1}(?:(;)|\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.declaration.type.alias.cpp\\\"},\\\"type_casting_operators\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.wordlike.cpp keyword.operator.cast.$3.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:reinterpret|dynamic|static|const)_cast(?!\\\\\\\\w))\\\"},\\\"typedef_class\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typedef(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?=(?<!\\\\\\\\w)class(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.typedef.cpp\\\"}},\\\"end\\\":\\\"(?<=;)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)class(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.class.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.class.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.class.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.head.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.class.cpp\\\"}},\\\"name\\\":\\\"meta.body.class.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.class.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\"}]}]}]},\\\"typedef_function_pointer\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typedef(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?=.*\\\\\\\\(\\\\\\\\*\\\\\\\\s*(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\s*\\\\\\\\))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.typedef.cpp\\\"}},\\\"end\\\":\\\"(?<=;)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<18>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()(\\\\\\\\*)\\\\\\\\s+{0,1}((?:(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*)?)\\\\\\\\s+{0,1}(?:(\\\\\\\\[)(\\\\\\\\w*)(])\\\\\\\\s+{0,1})*(\\\\\\\\))\\\\\\\\s+{0,1}(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{},\\\"14\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"16\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"18\\\":{},\\\"19\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"20\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"21\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"22\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"23\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"24\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"25\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"26\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"27\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"28\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"29\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"30\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"31\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"32\\\":{\\\"name\\\":\\\"punctuation.section.parens.begin.bracket.round.function.pointer.cpp\\\"},\\\"33\\\":{\\\"name\\\":\\\"punctuation.definition.function.pointer.dereference.cpp\\\"},\\\"34\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp entity.name.type.pointer.function.cpp\\\"},\\\"35\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.square.cpp\\\"},\\\"36\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"37\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.square.cpp\\\"},\\\"38\\\":{\\\"name\\\":\\\"punctuation.section.parens.end.bracket.round.function.pointer.cpp\\\"},\\\"39\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.function.pointer.cpp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=[\\\\\\\\n),;=>{])(?!\\\\\\\\()\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.function.pointer.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function_parameter_context\\\"}]}]},\\\"typedef_struct\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typedef(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?=(?<!\\\\\\\\w)struct(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.typedef.cpp\\\"}},\\\"end\\\":\\\"(?<=;)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)struct(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.struct.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.struct.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.struct.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.head.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.struct.cpp\\\"}},\\\"name\\\":\\\"meta.body.struct.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.struct.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\"}]}]}]},\\\"typedef_union\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typedef(?!\\\\\\\\w))\\\\\\\\s+{0,1}(?=(?<!\\\\\\\\w)union(?!\\\\\\\\w))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.typedef.cpp\\\"}},\\\"end\\\":\\\"(?<=;)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!\\\\\\\\w)union(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.union.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.union.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.union.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.head.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.body.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.union.cpp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"12\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"entity.name.type.alias.cpp\\\"}},\\\"match\\\":\\\"(((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*]((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\"},{\\\"match\\\":\\\",\\\"}]}]}]},\\\"typeid_operator\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)typeid(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.functionlike.cpp keyword.operator.typeid.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.arguments.begin.bracket.round.operator.typeid.cpp\\\"}},\\\"contentName\\\":\\\"meta.arguments.operator.typeid\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arguments.end.bracket.round.operator.typeid.cpp\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#evaluation_context\\\"}]},\\\"typename\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"meta.qualified_type.cpp\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:struct|class|union|enum)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.$0.cpp\\\"},{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#storage_types\\\"},{\\\"include\\\":\\\"#number_literal\\\"},{\\\"include\\\":\\\"#string_context\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#scope_resolution_inner_generated\\\"},{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.begin.template.call.cpp\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.angle-brackets.end.template.call.cpp\\\"}},\\\"name\\\":\\\"meta.template.call.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_context\\\"}]},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.type.cpp\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"::\\\",\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.type.cpp\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.scope-resolution.type.cpp\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"14\\\":{},\\\"15\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"16\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"17\\\":{}},\\\"match\\\":\\\"((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?<!\\\\\\\\w)typename(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(\\\\\\\\s*+((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?:(?:unsigned|signed|short|long)|(?:struct|class|union|enum))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*(?:((?:::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<17>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*+)(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?!(?:transaction_safe_dynamic|__has_cpp_attribute|reinterpret_cast|transaction_safe|atomic_noexcept|atomic_commit|__has_include|atomic_cancel|synchronized|thread_local|dynamic_cast|static_cast|const_cast|constexpr|co_return|constinit|namespace|protected|consteval|constexpr|co_return|consteval|co_await|continue|template|reflexpr|volatile|register|co_await|co_yield|restrict|noexcept|volatile|override|explicit|decltype|operator|noexcept|typename|requires|co_yield|nullptr|alignof|alignas|default|mutable|virtual|mutable|private|include|warning|_Pragma|defined|typedef|__asm__|concept|define|module|sizeof|switch|delete|pragma|and_eq|inline|xor_eq|typeid|import|extern|public|bitand|static|export|return|friend|ifndef|not_eq|false|final|break|const|catch|endif|ifdef|undef|error|audit|while|using|axiom|or_eq|compl|throw|bitor|const|line|case|else|this|true|goto|else|NULL|elif|new|asm|xor|and|try|not|for|do|if|or|if)\\\\\\\\b)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\\\\\\b((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<17>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)?(?![.:<\\\\\\\\w]))\\\"},\\\"undef\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.directive.undef.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.directive.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"entity.name.function.preprocessor.cpp\\\"}},\\\"match\\\":\\\"^((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(#)\\\\\\\\s+{0,1}undef)\\\\\\\\b(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))\\\",\\\"name\\\":\\\"meta.preprocessor.undef.cpp\\\"},\\\"union_block\\\":{\\\"begin\\\":\\\"((?<!\\\\\\\\w)union(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:(?=\\\\\\\\{)|(?:((?:(?:(?:\\\\\\\\[\\\\\\\\[.*?]]|__attribute(?:__)?\\\\\\\\s*\\\\\\\\(\\\\\\\\s*\\\\\\\\(.*?\\\\\\\\)\\\\\\\\s*\\\\\\\\))|__declspec\\\\\\\\(.*?\\\\\\\\))|alignas\\\\\\\\(.*?\\\\\\\\))(?!\\\\\\\\)))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?((?:(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*+)?(?:((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(:(?!:)))?)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.head.union.cpp\\\"},\\\"1\\\":{\\\"name\\\":\\\"storage.type.$1.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes_context\\\"},{\\\"include\\\":\\\"#number_literal\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.union.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"5\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.modifier.final.cpp\\\"},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"9\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"10\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?:((?<!\\\\\\\\w)final(?!\\\\\\\\w))((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))?(?=[:{]|$)\\\"},{\\\"match\\\":\\\"DLLEXPORT\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.DLLEXPORT.cpp\\\"},{\\\"match\\\":\\\"(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*\\\",\\\"name\\\":\\\"entity.name.other.preprocessor.macro.predefined.probably.$0.cpp\\\"}]},\\\"12\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"13\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"14\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"15\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"16\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"18\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"19\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.separator.colon.inheritance.cpp\\\"}},\\\"end\\\":\\\"(?:(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s+{0,1}(;)|(;))|(?=[];=>\\\\\\\\[])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.block.union.cpp\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G ?\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<|(?=;)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.head.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#ever_present_context\\\"},{\\\"include\\\":\\\"#inheritance_context\\\"},{\\\"include\\\":\\\"#template_call_range\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\{|<%|\\\\\\\\?\\\\\\\\?<)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"}|%>|\\\\\\\\?\\\\\\\\?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.union.cpp\\\"}},\\\"name\\\":\\\"meta.body.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function_pointer\\\"},{\\\"include\\\":\\\"#static_assert\\\"},{\\\"include\\\":\\\"#constructor_inline\\\"},{\\\"include\\\":\\\"#destructor_inline\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?<=}|%>|\\\\\\\\?\\\\\\\\?>)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.tail.union.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},\\\"union_declare\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.union.declare.cpp\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.union.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"storage.modifier.pointer.cpp\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"4\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"(?:&((?:\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+)+|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)){2,}&\\\",\\\"name\\\":\\\"invalid.illegal.reference-type.cpp\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"storage.modifier.reference.cpp\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"9\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"10\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"11\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"variable.other.object.declare.cpp\\\"},\\\"13\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_comment\\\"}]},\\\"14\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.begin.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.cpp\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.cpp punctuation.definition.comment.end.cpp\\\"}},\\\"match\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)((?:[^*]++|\\\\\\\\*+(?!/))*+(\\\\\\\\*/))\\\\\\\\s*+\\\"}]}},\\\"match\\\":\\\"((?<!\\\\\\\\w)union(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))((((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)?(?:[\\\\\\\\&*](((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z))*[\\\\\\\\&*])?(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)\\\\\\\\b(?!override\\\\\\\\W|override\\\\\\\\$|final\\\\\\\\W|final\\\\\\\\$)((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(((?:\\\\\\\\s*+/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/\\\\\\\\s*+)+)|\\\\\\\\s++|(?<=\\\\\\\\W)|(?=\\\\\\\\W)|^|\\\\\\\\n?$|\\\\\\\\A|\\\\\\\\Z)(?=\\\\\\\\S)(?![:A-Za-{])\\\"},\\\"using_name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"}},\\\"match\\\":\\\"(using)\\\\\\\\s+(?!namespace\\\\\\\\b)\\\"},\\\"using_namespace\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\w)(using)\\\\\\\\s+(namespace)\\\\\\\\s+((::)?(?:(?!\\\\\\\\b(?:__has_cpp_attribute|reinterpret_cast|atomic_noexcept|atomic_commit|atomic_cancel|__has_include|thread_local|dynamic_cast|synchronized|static_cast|const_cast|consteval|co_return|protected|constinit|constexpr|co_return|consteval|namespace|constexpr|co_await|explicit|volatile|noexcept|co_yield|noexcept|requires|typename|decltype|operator|template|continue|co_await|co_yield|volatile|register|restrict|reflexpr|mutable|alignof|include|private|defined|typedef|_Pragma|__asm__|concept|mutable|warning|default|virtual|alignas|public|sizeof|delete|not_eq|bitand|and_eq|xor_eq|typeid|switch|return|struct|static|extern|inline|friend|ifndef|define|pragma|export|import|module|catch|throw|const|or_eq|compl|while|ifdef|const|bitor|union|class|undef|error|break|using|endif|goto|line|enum|this|case|else|elif|else|not|try|for|asm|and|xor|new|do|if|or|if)\\\\\\\\b)(?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w)\\\\\\\\s*+(((?<!<)<(?!<)(?:/\\\\\\\\*(?:[^*]++|\\\\\\\\*+(?!/))*+\\\\\\\\*/|\\\\\\\"(?:[^\\\\\\\"]*|\\\\\\\\\\\\\\\\\\\\\\\")\\\\\\\"|'(?:[^']*|\\\\\\\\\\\\\\\\')'|\\\\\\\\g<6>|(?:[^\\\\\\\"'/<>]|/[^*])++)*>)\\\\\\\\s*+)?::)*\\\\\\\\s*+)?((?<!\\\\\\\\w)(?:[A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))(?:[0-9A-Z_a-z]|\\\\\\\\\\\\\\\\(?:u\\\\\\\\h{4}|U\\\\\\\\h{8}))*(?!\\\\\\\\w))(?=[\\\\\\\\n;])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.using.directive.cpp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.namespace.directive.cpp storage.type.namespace.directive.cpp\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scope_resolution_namespace_using_inner_generated\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.access.cpp punctuation.separator.scope-resolution.namespace.using.cpp\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template_call_range\\\"}]},\\\"6\\\":{},\\\"7\\\":{\\\"name\\\":\\\"entity.name.namespace.cpp\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.cpp\\\"}},\\\"name\\\":\\\"meta.using-namespace.cpp\\\"},\\\"vararg_ellipses\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\.\\\\\\\\.\\\\\\\\.(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"punctuation.vararg-ellipses.cpp\\\"},\\\"wordlike_operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:noexcept|xor_eq|and_eq|delete|not_eq|bitand|bitor|compl|or_eq|not|xor|new|and|or)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"keyword.operator.wordlike.cpp keyword.operator.$0.cpp\\\"}]}},\\\"scopeName\\\":\\\"source.cpp\\\",\\\"embeddedLangs\\\":[\\\"cpp-macro\\\",\\\"regexp\\\",\\\"glsl\\\",\\\"sql\\\"],\\\"aliases\\\":[\\\"c++\\\"]}\"))\n\nexport default [\n...cpp_macro,\n...regexp,\n...glsl,\n...sql,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSX\\\",\\\"name\\\":\\\"jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[!(+,:=>?\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"name\\\":\\\"meta.array.literal.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async)\\\\\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\"},{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async))?((?<![]!)}])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.js.jsx\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.js.jsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;}\\\\\\\\s]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(extends|implements)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"name\\\":\\\"comment.block.documentation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"name\\\":\\\"comment.block.js.jsx\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js.jsx\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.js.jsx\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.block.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.js.jsx\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.js.jsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.js.jsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.js.jsx\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.enum.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+])))\\\",\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:\\\\\\\\s*(=)|\\\\\\\\s+(default)(?=\\\\\\\\s+))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.default.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[*{])|((?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\\\\\s]))(?!\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[,:]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[]),:;}]))\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js.jsx\\\"}},\\\"end\\\":\\\"(?=^|[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.js.jsx\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.js.jsx\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.js.jsx\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.js.jsx\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.js.jsx\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.js.jsx\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.js.jsx\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$|^((?!\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=]|$))))|(?<=})\\\",\\\"name\\\":\\\"meta.field.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.js.jsx entity.name.function.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.js.jsx variable.object.property.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*))await)?\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.js.jsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.js.jsx punctuation.accessor.optional.js.jsx\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.js.jsx keyword.operator.definiteassignment.js.jsx\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|(?<=})\\\",\\\"name\\\":\\\"meta.function.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=;)|(?<=})\\\",\\\"name\\\":\\\"meta.function.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.js.jsx entity.name.function.js.jsx\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.js.jsx\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"}},\\\"end\\\":\\\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.js.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"meta.import-equals.external.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(with)|(assert))\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.assert.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.js.jsx\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.block.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:\\\\\\\\b(default)|(\\\\\\\\*)|\\\\\\\\b([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.alias.js.jsx\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:([$_[:alpha:]][$_[:alnum:]]*)|(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.js.jsx\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"end\\\":\\\"(])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([-+])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.js.jsx\\\"}},\\\"end\\\":\\\"(])([-+])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^]]+(])(?=\\\\\\\\{@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^*|}\\\\\\\\s]|\\\\\\\\*/)+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^*@{|}\\\\\\\\s]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.interface.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.js.jsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"jsx\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes-in-expression\\\"},{\\\"include\\\":\\\"#jsx-tag-in-expression\\\"}]},\\\"jsx-children\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"},{\\\"include\\\":\\\"#jsx-tag\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.js.jsx\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.js.jsx\\\"}]},\\\"jsx-evaluated-code\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.js.jsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"jsx-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.double.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.single.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-entities\\\"}]},\\\"jsx-tag\\\":{\\\"begin\\\":\\\"(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"end\\\":\\\"(/>)|(</)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"}},\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes\\\"}]},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js.jsx\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]}]},\\\"jsx-tag-attribute-assignment\\\":{\\\"match\\\":\\\"=(?=\\\\\\\\s*(?:[\\\\\\\"'{]|/\\\\\\\\*|//|\\\\\\\\n))\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"jsx-tag-attribute-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.namespace.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(:))?([$_[:alpha:]][-$_[:alnum:]]*)(?=[=\\\\\\\\s]|/?>|/\\\\\\\\*|//)\\\"},\\\"jsx-tag-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.attributes.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"#jsx-tag-attributes-illegal\\\"}]},\\\"jsx-tag-attributes-illegal\\\":{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.attribute.js.jsx\\\"},\\\"jsx-tag-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[(*,:=>?\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?!<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*((\\\\\\\\s+extends\\\\\\\\s+[^=>])|,))(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))(?=((<\\\\\\\\s*)|(\\\\\\\\s+))(?!\\\\\\\\?)|/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag\\\"}]},\\\"jsx-tag-without-attributes\\\":{\\\"begin\\\":\\\"(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.jsx.children.js.jsx\\\",\\\"end\\\":\\\"(</)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.class.component.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.tag.without-attributes.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-children\\\"}]},\\\"jsx-tag-without-attributes-in-expression\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[(*,:=>?\\\\\\\\[{]|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?|\\\\\\\\*/|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^default|[^$._[:alnum:]]default|^yield|[^$._[:alnum:]]yield|^)\\\\\\\\s*(?=(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>))\\\",\\\"end\\\":\\\"(?!(<)\\\\\\\\s*(?:([$_[:alpha:]][-$._[:alnum:]]*)(?<![-.])(:))?((?:[a-z][0-9a-z]*|([$_[:alpha:]][-$._[:alnum:]]*))(?<![-.]))?\\\\\\\\s*(>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsx-tag-without-attributes\\\"}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.js.jsx entity.name.function.js.jsx\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[\\\\\\\"$'_`[:alpha:]])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})|(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.namespace.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"name\\\":\\\"new.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.js.jsx\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.js.jsx\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.js.jsx\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.js.jsx\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.js.jsx\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.objectliteral.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.js.jsx\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(,<}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx meta.object-literal.key.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[]\\\\\\\"'`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.js.jsx\\\"}},\\\"match\\\":\\\"(?![$_[:alpha:]])(\\\\\\\\d+)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.js.jsx\\\"}},\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.js.jsx punctuation.separator.key-value.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?=[),])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.js.jsx meta.return.type.arrow.js.jsx keyword.operator.type.annotation.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.arrow.js.jsx meta.return.type.arrow.js.jsx\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.js.jsx\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.js.jsx\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.double.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.js.jsx\\\"}},\\\"name\\\":\\\"string.quoted.single.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[!(+,:=?\\\\\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![]$)_[:alnum:]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\\\\\s*)/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuvy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.js.jsx\\\"}},\\\"end\\\":\\\"(/)([dgimsuvy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.js.jsx\\\"}},\\\"name\\\":\\\"string.regexp.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[1-9]\\\\\\\\d*|k<([$A-Z_a-z][$\\\\\\\\w]*)>)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|\\\\\\\\?<([$A-Z_a-z][$\\\\\\\\w]*)>)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?=$|^|[,;{}]|//)\\\",\\\"name\\\":\\\"meta.return.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[,;{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\&:|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.js.jsx\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.js.jsx\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.js.jsx\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.js.jsx\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.js.jsx\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[\\\\\\\"'`])\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js.jsx\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.js.jsx\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"switch-statement.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"switch-expression.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"switch-block.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.js.jsx\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.js.jsx punctuation.definition.block.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.block.js.jsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.js.jsx punctuation.definition.block.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.js.jsx punctuation.definition.section.case-statement.js.jsx\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"string.template.js.jsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js.jsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.template.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"string.template.js.jsx\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.js.jsx punctuation.definition.string.template.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.js.jsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.template.expression.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.js.jsx\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type.declaration.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?!\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.js.jsx\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.js.jsx\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.js.jsx storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.js.jsx keyword.control.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.js.jsx\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])(?=[]),:;=>?{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.js.jsx\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])((?=[]),:;=>?{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.js.jsx\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.js.jsx punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.js.jsx\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.js.jsx\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.js.jsx\\\"}},\\\"name\\\":\\\"meta.object.type.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.js.jsx\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.js.jsx\\\"},{\\\"match\\\":\\\"([:?])\\\",\\\"name\\\":\\\"keyword.operator.ternary.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.js.jsx\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.js.jsx\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.parameters.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.js.jsx\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.js.jsx\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx variable.language.this.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.js.jsx\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.js.jsx\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.js.jsx\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.js.jsx\\\"}},\\\"name\\\":\\\"meta.type.tuple.js.jsx\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.js.jsx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.js.jsx\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.js.jsx\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=>?{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.js.jsx\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]]|^await\\\\\\\\s+|[^$._[:alnum:]]await\\\\\\\\s+)using)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b\\\\\\\\b(using(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])|await\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.js.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.js.jsx\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*((?!\\\\\\\\S)|(?=//))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.js.jsx\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx entity.name.function.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|(\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|(<\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+extends\\\\\\\\s*[^=>])|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx entity.name.function.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.constant.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.js.jsx variable.other.readwrite.js.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|\\\\\\\\bawait\\\\\\\\s+\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b\\\\\\\\b|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|\\\\\\\\busing(?=\\\\\\\\s+(?!in\\\\\\\\b|of\\\\\\\\b(?!\\\\\\\\s*(?:of\\\\\\\\b|=)))[$_[:alpha:]])\\\\\\\\b|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.js.jsx\\\"}},\\\"end\\\":\\\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![-\\\\\\\\&*+/|])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.js.jsx\\\"}\"))\n\nexport default [\nlang\n]\n","import javascript from './javascript.mjs'\nimport typescript from './typescript.mjs'\nimport jsx from './jsx.mjs'\nimport tsx from './tsx.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"GraphQL\\\",\\\"fileTypes\\\":[\\\"graphql\\\",\\\"graphqls\\\",\\\"gql\\\",\\\"graphcool\\\"],\\\"name\\\":\\\"graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql\\\"}],\\\"repository\\\":{\\\"graphql\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-fragment-definition\\\"},{\\\"include\\\":\\\"#graphql-directive-definition\\\"},{\\\"include\\\":\\\"#graphql-type-interface\\\"},{\\\"include\\\":\\\"#graphql-enum\\\"},{\\\"include\\\":\\\"#graphql-scalar\\\"},{\\\"include\\\":\\\"#graphql-union\\\"},{\\\"include\\\":\\\"#graphql-schema\\\"},{\\\"include\\\":\\\"#graphql-operation-def\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-ampersand\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(&)\\\"},\\\"graphql-arguments\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.directive.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.directive.graphql\\\"}},\\\"name\\\":\\\"meta.arguments.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.colon.graphql\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)|\\\\\\\\)))|\\\\\\\\s*(,)\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.comma.graphql\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-value\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"}]},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-boolean-value\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.boolean.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(true|false)\\\\\\\\b\\\"},\\\"graphql-colon\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.colon.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(:)\\\"},\\\"graphql-comma\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comma.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(,)\\\"},\\\"graphql-comment\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.graphql\\\"}},\\\"match\\\":\\\"(\\\\\\\\s*)(#).*\\\",\\\"name\\\":\\\"comment.line.graphql.js\\\"},{\\\"begin\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.graphql\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"name\\\":\\\"comment.line.graphql.js\\\"},{\\\"begin\\\":\\\"(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.graphql\\\"}},\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"name\\\":\\\"comment.line.graphql.js\\\"}]},\\\"graphql-description-docstring\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"comment.block.graphql\\\"},\\\"graphql-description-singleline\\\":{\\\"match\\\":\\\"#(?=([^\\\\\\\"]*\\\\\\\"[^\\\\\\\"]*\\\\\\\")*[^\\\\\\\"]*$).*$\\\",\\\"name\\\":\\\"comment.line.number-sign.graphql\\\"},\\\"graphql-directive\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*((@)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.directive.graphql\\\"}},\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-arguments\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"}]},\\\"graphql-directive-definition\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\b(directive)\\\\\\\\b\\\\\\\\s*(@[A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.directive.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.directive.graphql\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.on.graphql\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-variable-definitions\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\b(on)\\\\\\\\b\\\\\\\\s*([A-Z_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.on.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.location.graphql\\\"}},\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-skip-newlines\\\"},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"support.type.location.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\|)\\\\\\\\s*([A-Z_a-z]*)\\\"}]},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-enum\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+\\\\\\\\b(enum)\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.enum.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.enum.graphql\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.enum.graphql\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.operation.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.operation.graphql\\\"}},\\\"name\\\":\\\"meta.type.object.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-object-type\\\"},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-enum-value\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"}]},\\\"graphql-enum-value\\\":{\\\"match\\\":\\\"\\\\\\\\s*(?!=\\\\\\\\b(true|false|null)\\\\\\\\b)([A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"constant.character.enum.graphql\\\"},\\\"graphql-field\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.alias.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.colon.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*(:)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\"},{\\\"include\\\":\\\"#graphql-arguments\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-selection-set\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"}]},\\\"graphql-float-value\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.float.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(-?(0|[1-9][0-9]*)(\\\\\\\\.[0-9]+)?(([Ee])([-+])?[0-9]+)?)\\\"},\\\"graphql-fragment-definition\\\":{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\b(fragment)\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)?\\\\\\\\s*\\\\\\\\b(on)\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.fragment.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.fragment.graphql\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.on.graphql\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.fragment.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-selection-set\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-fragment-spread\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*(?!\\\\\\\\bon\\\\\\\\b)([A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.spread.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.fragment.graphql\\\"}},\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-selection-set\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"}]},\\\"graphql-ignore-spaces\\\":{\\\"match\\\":\\\"\\\\\\\\s*\\\"},\\\"graphql-inline-fragment\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*(?:\\\\\\\\b(on)\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*))?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.spread.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.on.graphql\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-selection-set\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-input-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-scalar-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nulltype.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(?:\\\\\\\\s*(!))?\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nulltype.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(])(?:\\\\\\\\s*(!))?\\\",\\\"name\\\":\\\"meta.type.list.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-input-types\\\"},{\\\"include\\\":\\\"#graphql-comma\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]}]},\\\"graphql-list-value\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*+(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.graphql\\\"}},\\\"name\\\":\\\"meta.listvalues.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-value\\\"}]}]},\\\"graphql-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\"},\\\"graphql-null-value\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.null.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(null)\\\\\\\\b\\\"},\\\"graphql-object-field\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.object.key.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.graphql\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(([A-Z_a-z][0-9A-Z_a-z]*))\\\\\\\\s*(:)\\\"},\\\"graphql-object-value\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.curly.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.curly.graphql\\\"}},\\\"name\\\":\\\"meta.objectvalues.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-object-field\\\"},{\\\"include\\\":\\\"#graphql-value\\\"}]}]},\\\"graphql-operation-def\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-query-mutation\\\"},{\\\"include\\\":\\\"#graphql-name\\\"},{\\\"include\\\":\\\"#graphql-variable-definitions\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-selection-set\\\"}]},\\\"graphql-query-mutation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operation.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(query|mutation)\\\\\\\\b\\\"},\\\"graphql-scalar\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.scalar.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.scalar.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(scalar)\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\"},\\\"graphql-scalar-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.builtin.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nulltype.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(Int|Float|String|Boolean|ID)\\\\\\\\b(?:\\\\\\\\s*(!))?\\\"},\\\"graphql-schema\\\":{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\b(schema)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.schema.graphql\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.operation.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.operation.graphql\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\\\\\s*\\\\\\\\(|:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.arguments.graphql\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*([(:])|(})))|\\\\\\\\s*(,)\\\",\\\"endCaptures\\\":{\\\"5\\\":{\\\"name\\\":\\\"punctuation.comma.graphql\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\"},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-colon\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"}]},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"}]},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"}]},\\\"graphql-selection-set\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.operation.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.operation.graphql\\\"}},\\\"name\\\":\\\"meta.selectionset.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-field\\\"},{\\\"include\\\":\\\"#graphql-fragment-spread\\\"},{\\\"include\\\":\\\"#graphql-inline-fragment\\\"},{\\\"include\\\":\\\"#graphql-comma\\\"},{\\\"include\\\":\\\"#native-interpolation\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-skip-newlines\\\":{\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\n\\\"},\\\"graphql-string-content\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'/\\\\\\\\\\\\\\\\bfnrt]\\\",\\\"name\\\":\\\"constant.character.escape.graphql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u(\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.graphql\\\"}]},\\\"graphql-string-value\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+((\\\\\\\"))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.double.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.graphql\\\"}},\\\"contentName\\\":\\\"string.quoted.double.graphql\\\",\\\"end\\\":\\\"\\\\\\\\s*+(?:((\\\\\\\"))|(\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.quoted.double.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.graphql\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.newline.graphql\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-string-content\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-type-definition\\\":{\\\"begin\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\\\\\s*\\\\\\\\(|:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.graphql\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*([(:])|(})))|\\\\\\\\s*(,)\\\",\\\"endCaptures\\\":{\\\"5\\\":{\\\"name\\\":\\\"punctuation.comma.graphql\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-variable-definitions\\\"},{\\\"include\\\":\\\"#graphql-type-object\\\"},{\\\"include\\\":\\\"#graphql-colon\\\"},{\\\"include\\\":\\\"#graphql-input-types\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-type-interface\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\b(?:(extends?)?\\\\\\\\b\\\\\\\\s*\\\\\\\\b(type)|(interface)|(input))\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)?\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.type.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.type.graphql\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.interface.graphql\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.input.graphql\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"end\\\":\\\"(?=.)\\\",\\\"name\\\":\\\"meta.type.interface.graphql\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\b(implements)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.implements.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\"},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-ampersand\\\"},{\\\"include\\\":\\\"#graphql-comma\\\"}]},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-type-object\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"},{\\\"include\\\":\\\"#graphql-ignore-spaces\\\"}]},\\\"graphql-type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.operation.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.operation.graphql\\\"}},\\\"name\\\":\\\"meta.type.object.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-object-type\\\"},{\\\"include\\\":\\\"#graphql-type-definition\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-union\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\b(union)\\\\\\\\b\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.union.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(=)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.assignment.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.or.graphql\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\|)\\\\\\\\s*([A-Z_a-z][0-9A-Z_a-z]*)\\\"}]},{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-union-mark\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.union.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\|)\\\"},\\\"graphql-value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-variable-name\\\"},{\\\"include\\\":\\\"#graphql-float-value\\\"},{\\\"include\\\":\\\"#graphql-string-value\\\"},{\\\"include\\\":\\\"#graphql-boolean-value\\\"},{\\\"include\\\":\\\"#graphql-null-value\\\"},{\\\"include\\\":\\\"#graphql-enum-value\\\"},{\\\"include\\\":\\\"#graphql-list-value\\\"},{\\\"include\\\":\\\"#graphql-object-value\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-variable-assignment\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.assignment.graphql\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-value\\\"}]},\\\"graphql-variable-definition\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\$?[A-Z_a-z][0-9A-Z_a-z]*)(?=\\\\\\\\s*\\\\\\\\(|:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.graphql\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*((\\\\\\\\$?[A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\s*([(:])|([)}])))|\\\\\\\\s*(,)\\\",\\\"endCaptures\\\":{\\\"5\\\":{\\\"name\\\":\\\"punctuation.comma.graphql\\\"}},\\\"name\\\":\\\"meta.variables.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-directive\\\"},{\\\"include\\\":\\\"#graphql-colon\\\"},{\\\"include\\\":\\\"#graphql-input-types\\\"},{\\\"include\\\":\\\"#graphql-variable-assignment\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"},{\\\"include\\\":\\\"#graphql-skip-newlines\\\"}]},\\\"graphql-variable-definitions\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\()\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.graphql\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#graphql-comment\\\"},{\\\"include\\\":\\\"#graphql-description-docstring\\\"},{\\\"include\\\":\\\"#graphql-description-singleline\\\"},{\\\"include\\\":\\\"#graphql-variable-definition\\\"},{\\\"include\\\":\\\"#literal-quasi-embedded\\\"}]},\\\"graphql-variable-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.graphql\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\$[A-Z_a-z][0-9A-Z_a-z]*)\\\"},\\\"native-interpolation\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\$\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.substitution.begin\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.substitution.end\\\"}},\\\"name\\\":\\\"native.interpolation\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"source.ts\\\"},{\\\"include\\\":\\\"source.js.jsx\\\"},{\\\"include\\\":\\\"source.tsx\\\"}]}},\\\"scopeName\\\":\\\"source.graphql\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"typescript\\\",\\\"jsx\\\",\\\"tsx\\\"],\\\"aliases\\\":[\\\"gql\\\"]}\"))\n\nexport default [\n...javascript,\n...typescript,\n...jsx,\n...tsx,\nlang\n]\n","import javascript from './javascript.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Ruby Haml\\\",\\\"fileTypes\\\":[\\\"haml\\\",\\\"html.haml\\\"],\\\"foldingStartMarker\\\":\\\"^\\\\\\\\s*([-#%.:=\\\\\\\\w].*)\\\\\\\\s$\\\",\\\"foldingStopMarker\\\":\\\"^\\\\\\\\s*$\\\",\\\"name\\\":\\\"haml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)==\\\",\\\"contentName\\\":\\\"string.quoted.double.ruby\\\",\\\"end\\\":\\\"$\\\\\\\\n*\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):ruby\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"source.ruby.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.prolog.haml\\\"}},\\\"match\\\":\\\"^(!!!)($|\\\\\\\\s.*)\\\",\\\"name\\\":\\\"meta.prolog.haml\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*):javascript\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"js.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)%script\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"js.inline.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):ruby$\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"source.ruby.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.comment.haml\\\"}},\\\"match\\\":\\\"^(\\\\\\\\s*)(/\\\\\\\\[[^]].*?$\\\\\\\\n?)\\\",\\\"name\\\":\\\"comment.line.slash.haml\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(-#|/|-\\\\\\\\s*/\\\\\\\\*+)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.comment.haml\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|\\\\\\\\n)\\\",\\\"name\\\":\\\"comment.block.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.haml\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(?:((%)([-:\\\\\\\\w]+))|(?=[#.]))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.haml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.haml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.haml\\\"}},\\\"end\\\":\\\"$|(?![#(.\\\\\\\\[{]|&amp;|[-=~]|!=|&=|/)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"==\\\",\\\"contentName\\\":\\\"string.quoted.double.ruby\\\",\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.class\\\"}},\\\"match\\\":\\\"(\\\\\\\\.[-:\\\\\\\\w]+)\\\",\\\"name\\\":\\\"meta.selector.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.id\\\"}},\\\"match\\\":\\\"(#[-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"meta.selector.css\\\"},{\\\"begin\\\":\\\"(?<!#)\\\\\\\\{(?=.*(,|(do)|[{|}]|(#.*)|\\\\\\\\R)\\\\\\\\s*)\\\",\\\"end\\\":\\\"\\\\\\\\s*}(?!\\\\\\\\s*,)(?!\\\\\\\\s*\\\\\\\\|)(?!#\\\\\\\\{.*})\\\",\\\"name\\\":\\\"meta.section.attributes.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"},{\\\"include\\\":\\\"#continuation\\\"},{\\\"include\\\":\\\"#rubyline\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.section.attributes.plain.haml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"constant.other.symbol.ruby\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"punctuation\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.ruby\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.)\\\",\\\"name\\\":\\\"constant.character.escape.ruby\\\"},{\\\"include\\\":\\\"#interpolated_ruby\\\"}]},{\\\"include\\\":\\\"#interpolated_ruby\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[(?=.+([],\\\\\\\\[|]|(#.*))\\\\\\\\s*)\\\",\\\"end\\\":\\\"\\\\\\\\s*](?!.*(?!#\\\\\\\\[)])\\\",\\\"name\\\":\\\"meta.section.object.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"},{\\\"include\\\":\\\"#continuation\\\"},{\\\"include\\\":\\\"#rubyline\\\"}]},{\\\"include\\\":\\\"#interpolated_ruby_line\\\"},{\\\"include\\\":\\\"#rubyline\\\"},{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"punctuation.terminator.tag.haml\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(ruby|opal)$\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"source.ruby.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):ruby$\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"source.ruby.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(s(?:tyle|ass))$\\\",\\\"end\\\":\\\"^(?=\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"source.sass.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sass\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):coffee(script)?\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"source.coffee.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):plain$\\\",\\\"end\\\":\\\"^(?=\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"text.plain.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.plain\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(:ruby)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control.filter.haml\\\"}},\\\"end\\\":\\\"(?m:(?<=\\\\\\\\n)(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*))\\\",\\\"name\\\":\\\"source.ruby.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(:sass)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control.filter.haml\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"source.embedded.filter.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sass\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(s(?:tyles|ass))$\\\",\\\"end\\\":\\\"^(?=\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"source.sass.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sass\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):plain$\\\",\\\"end\\\":\\\"^(?=\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"text.plain.embedded.filter.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.plain\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.escape.haml\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(\\\\\\\\.)\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*(?=[-=~]|!=|&=)\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby_line\\\"},{\\\"include\\\":\\\"#rubyline\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(:php)\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.haml\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"meta.embedded.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.php#language\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(:markdown)\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.haml\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"meta.embedded.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(:(css|styles?))$\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.haml\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(:sass)$\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.haml\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"meta.embedded.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sass\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(:scss)$\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.haml\\\"}},\\\"end\\\":\\\"^(?!\\\\\\\\1\\\\\\\\s+|$\\\\\\\\n*)\\\",\\\"name\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scss\\\"}]}],\\\"repository\\\":{\\\"continuation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.continuation.haml\\\"}},\\\"match\\\":\\\"(\\\\\\\\|)\\\\\\\\s*\\\\\\\\n\\\"},\\\"interpolated_ruby\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.ruby\\\"},\\\"1\\\":{\\\"name\\\":\\\"source.ruby.embedded.source.empty\\\"}},\\\"match\\\":\\\"#\\\\\\\\{(})\\\",\\\"name\\\":\\\"source.ruby.embedded.source\\\"},{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.ruby\\\"}},\\\"end\\\":\\\"(})\\\",\\\"name\\\":\\\"source.ruby.embedded.source\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]},{\\\"include\\\":\\\"#variables\\\"}]},\\\"interpolated_ruby_line\\\":{\\\"begin\\\":\\\"!?==\\\",\\\"contentName\\\":\\\"string.source.ruby.embedded.haml\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.line.ruby.interpolated.haml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolated_ruby\\\"},{\\\"include\\\":\\\"source.ruby#escaped_char\\\"}]},\\\"nest_curly_and_self\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.ruby\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nest_curly_and_self\\\"},{\\\"include\\\":\\\"source.ruby\\\"}]}]},\\\"rubyline\\\":{\\\"begin\\\":\\\"(&amp|!)?([-=~])\\\",\\\"contentName\\\":\\\"source.ruby.embedded.haml\\\",\\\"end\\\":\\\"((do|\\\\\\\\{)( \\\\\\\\|[*.]+\\\\\\\\|)?)$|$|^(?!.*\\\\\\\\|\\\\\\\\s*)$\\\\\\\\n?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"source.ruby.embedded.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.ruby.start-block\\\"}},\\\"name\\\":\\\"meta.line.ruby.haml\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.php\\\"}},\\\"match\\\":\\\"\\\\\\\\s+((elseif|foreach|switch|declare|default|use))(?=[(\\\\\\\\s])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.include.php\\\"}},\\\"match\\\":\\\"\\\\\\\\s+((?:requir|includ)e_once)(?=[(\\\\\\\\s])\\\"},{\\\"match\\\":\\\"\\\\\\\\s+(catch|try|throw|exception|finally|die)(?=[(\\\\\\\\s]|\\\\\\\\n*)\\\",\\\"name\\\":\\\"keyword.control.exception.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"}},\\\"match\\\":\\\"\\\\\\\\s+(function\\\\\\\\s*)((?=\\\\\\\\())\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.php\\\"}},\\\"match\\\":\\\"\\\\\\\\s+(use\\\\\\\\s*)((?=\\\\\\\\())\\\"},{\\\"match\\\":\\\"([,<|]|do|\\\\\\\\{)\\\\\\\\s*(#.*)?$\\\\\\\\n*\\\",\\\"name\\\":\\\"source.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rubyline\\\"}]},{\\\"match\\\":\\\"#.*$\\\",\\\"name\\\":\\\"comment.line.number-sign.ruby\\\"},{\\\"include\\\":\\\"source.ruby\\\"},{\\\"include\\\":\\\"#continuation\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.ruby\\\"}},\\\"match\\\":\\\"(#@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.instance.ruby\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.ruby\\\"}},\\\"match\\\":\\\"(#@@)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.class.ruby\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.ruby\\\"}},\\\"match\\\":\\\"(#\\\\\\\\$)[A-Z_a-z]\\\\\\\\w*\\\",\\\"name\\\":\\\"variable.other.readwrite.global.ruby\\\"}]}},\\\"scopeName\\\":\\\"text.haml\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"css\\\"],\\\"embeddedLangsLazy\\\":[\\\"ruby\\\",\\\"sass\\\",\\\"coffee\\\",\\\"markdown\\\"]}\"))\n\nexport default [\n...javascript,\n...css,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"YAML\\\",\\\"fileTypes\\\":[\\\"yaml\\\",\\\"yml\\\",\\\"rviz\\\",\\\"reek\\\",\\\"clang-format\\\",\\\"yaml-tmlanguage\\\",\\\"syntax\\\",\\\"sublime-syntax\\\"],\\\"firstLineMatch\\\":\\\"^%YAML( ?1.\\\\\\\\d+)?\\\",\\\"name\\\":\\\"yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property\\\"},{\\\"include\\\":\\\"#directive\\\"},{\\\"match\\\":\\\"^---\\\",\\\"name\\\":\\\"entity.other.document.begin.yaml\\\"},{\\\"match\\\":\\\"^\\\\\\\\.{3}\\\",\\\"name\\\":\\\"entity.other.document.end.yaml\\\"},{\\\"include\\\":\\\"#node\\\"}],\\\"repository\\\":{\\\"block-collection\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-sequence\\\"},{\\\"include\\\":\\\"#block-mapping\\\"}]},\\\"block-mapping\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-pair\\\"}]},\\\"block-node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#block-scalar\\\"},{\\\"include\\\":\\\"#block-collection\\\"},{\\\"include\\\":\\\"#flow-scalar-plain-out\\\"},{\\\"include\\\":\\\"#flow-node\\\"}]},\\\"block-pair\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.key-value.begin.yaml\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\?)|^ *(:)|(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.expected-newline.yaml\\\"}},\\\"name\\\":\\\"meta.block-mapping.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-node\\\"}]},{\\\"begin\\\":\\\"(?=(?:[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?]\\\\\\\\S)([^:\\\\\\\\s]|:\\\\\\\\S|\\\\\\\\s+(?![#\\\\\\\\s]))*\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-out-implicit-type\\\"},{\\\"begin\\\":\\\"[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?]\\\\\\\\S\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.yaml\\\"}},\\\"contentName\\\":\\\"entity.name.tag.yaml\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"name\\\":\\\"string.unquoted.plain.out.yaml\\\"}]},{\\\"match\\\":\\\":(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}]},\\\"block-scalar\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\|)|(>))([1-9])?([-+])?(.*\\\\\\\\n?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.block-scalar.literal.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.flow.block-scalar.folded.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.indentation-indicator.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.chomping-indicator.yaml\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"invalid.illegal.expected-comment-or-newline.yaml\\\"}]}},\\\"end\\\":\\\"^(?=\\\\\\\\S)|(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^( +)(?! )\\\",\\\"end\\\":\\\"^(?!\\\\\\\\1|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"string.unquoted.block.yaml\\\"}]},\\\"block-sequence\\\":{\\\"match\\\":\\\"(-)(?!\\\\\\\\S)\\\",\\\"name\\\":\\\"punctuation.definition.block.sequence.item.yaml\\\"},\\\"comment\\\":{\\\"begin\\\":\\\"(?:^([\\\\\\\\t ]*)|[\\\\\\\\t ]+)(?=#\\\\\\\\p{print}*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.yaml\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.yaml\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.yaml\\\"}]},\\\"directive\\\":{\\\"begin\\\":\\\"^%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.directive.begin.yaml\\\"}},\\\"end\\\":\\\"(?=$|[\\\\\\\\t ]+($|#))\\\",\\\"name\\\":\\\"meta.directive.yaml\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.directive.yaml.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.yaml-version.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(YAML)[\\\\\\\\t ]+(\\\\\\\\d+\\\\\\\\.\\\\\\\\d+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.directive.tag.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.tag-handle.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.type.tag-prefix.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(TAG)(?:[\\\\\\\\t ]+(!(?:[-0-9A-Za-z]*!)?)(?:[\\\\\\\\t ]+(!(?:%\\\\\\\\h{2}|[]!#$\\\\\\\\&-;=?-\\\\\\\\[_a-z~])*|(?![]!,\\\\\\\\[{}])(?:%\\\\\\\\h{2}|[]!#$\\\\\\\\&-;=?-\\\\\\\\[_a-z~])+))?)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.directive.reserved.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.directive-name.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.directive-parameter.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G(\\\\\\\\w+)(?:[\\\\\\\\t ]+(\\\\\\\\w+)(?:[\\\\\\\\t ]+(\\\\\\\\w+))?)?\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized.yaml\\\"}]},\\\"flow-alias\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.alias.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.alias.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.alias.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.character.anchor.yaml\\\"}},\\\"match\\\":\\\"((\\\\\\\\*))([^],/\\\\\\\\[{}\\\\\\\\s]+)([^],}\\\\\\\\s]\\\\\\\\S*)?\\\"},\\\"flow-collection\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-sequence\\\"},{\\\"include\\\":\\\"#flow-mapping\\\"}]},\\\"flow-mapping\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.mapping.begin.yaml\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.mapping.end.yaml\\\"}},\\\"name\\\":\\\"meta.flow-mapping.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.mapping.yaml\\\"},{\\\"include\\\":\\\"#flow-pair\\\"}]},\\\"flow-node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#flow-alias\\\"},{\\\"include\\\":\\\"#flow-collection\\\"},{\\\"include\\\":\\\"#flow-scalar\\\"}]},\\\"flow-pair\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.key-value.begin.yaml\\\"}},\\\"end\\\":\\\"(?=[],}])\\\",\\\"name\\\":\\\"meta.flow-pair.explicit.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"include\\\":\\\"#flow-pair\\\"},{\\\"include\\\":\\\"#flow-node\\\"},{\\\"begin\\\":\\\":(?=\\\\\\\\s|$|[],\\\\\\\\[{}])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}},\\\"end\\\":\\\"(?=[],}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-value\\\"}]}]},{\\\"begin\\\":\\\"(?=(?:[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?][^],\\\\\\\\[{}\\\\\\\\s])([^],:\\\\\\\\[{}\\\\\\\\s]|:[^],\\\\\\\\[{}\\\\\\\\s]|\\\\\\\\s+(?![#\\\\\\\\s]))*\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[],\\\\\\\\[{}]|\\\\\\\\s*[],\\\\\\\\[{}])\\\",\\\"name\\\":\\\"meta.flow-pair.key.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-in-implicit-type\\\"},{\\\"begin\\\":\\\"[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?][^],\\\\\\\\[{}\\\\\\\\s]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.yaml\\\"}},\\\"contentName\\\":\\\"entity.name.tag.yaml\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[],\\\\\\\\[{}]|\\\\\\\\s*[],\\\\\\\\[{}])\\\",\\\"name\\\":\\\"string.unquoted.plain.in.yaml\\\"}]},{\\\"include\\\":\\\"#flow-node\\\"},{\\\"begin\\\":\\\":(?=\\\\\\\\s|$|[],\\\\\\\\[{}])\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mapping.yaml\\\"}},\\\"end\\\":\\\"(?=[],}])\\\",\\\"name\\\":\\\"meta.flow-pair.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-value\\\"}]}]},\\\"flow-scalar\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-double-quoted\\\"},{\\\"include\\\":\\\"#flow-scalar-single-quoted\\\"},{\\\"include\\\":\\\"#flow-scalar-plain-in\\\"}]},\\\"flow-scalar-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.yaml\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.yaml\\\"}},\\\"name\\\":\\\"string.quoted.double.yaml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([ \\\\\\\"/0LN\\\\\\\\\\\\\\\\_abefnprtv]|x\\\\\\\\d\\\\\\\\d|u\\\\\\\\d{4}|U\\\\\\\\d{8})\\\",\\\"name\\\":\\\"constant.character.escape.yaml\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\n\\\",\\\"name\\\":\\\"constant.character.escape.double-quoted.newline.yaml\\\"}]},\\\"flow-scalar-plain-in\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-in-implicit-type\\\"},{\\\"begin\\\":\\\"[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?][^],\\\\\\\\[{}\\\\\\\\s]\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[],\\\\\\\\[{}]|\\\\\\\\s*[],\\\\\\\\[{}])\\\",\\\"name\\\":\\\"string.unquoted.plain.in.yaml\\\"}]},\\\"flow-scalar-plain-in-implicit-type\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.null.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.float.yaml\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.timestamp.yaml\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.language.value.yaml\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.language.merge.yaml\\\"}},\\\"match\\\":\\\"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\\\\\.[0-9_]*|[-+]?\\\\\\\\.(?:inf|Inf|INF)|\\\\\\\\.(?:nan|NaN|NAN))|(\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}|\\\\\\\\d{4}-\\\\\\\\d{1,2}-\\\\\\\\d{1,2}(?:[Tt]|[\\\\\\\\t ]+)\\\\\\\\d{1,2}:\\\\\\\\d{2}:\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d*)?(?:[\\\\\\\\t ]*Z|[-+]\\\\\\\\d{1,2}(?::\\\\\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$)|\\\\\\\\s*:[],\\\\\\\\[{}]|\\\\\\\\s*[],\\\\\\\\[{}])\\\"}]},\\\"flow-scalar-plain-out\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-scalar-plain-out-implicit-type\\\"},{\\\"begin\\\":\\\"[^-\\\\\\\\]!\\\\\\\"#%\\\\\\\\&'*,:>?@\\\\\\\\[`{|}\\\\\\\\s]|[-:?]\\\\\\\\S\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$))\\\",\\\"name\\\":\\\"string.unquoted.plain.out.yaml\\\"}]},\\\"flow-scalar-plain-out-implicit-type\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.null.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.language.boolean.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.float.yaml\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.timestamp.yaml\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.language.value.yaml\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.language.merge.yaml\\\"}},\\\"match\\\":\\\"(?:(null|Null|NULL|~)|([Yy]|yes|Yes|YES|[Nn]|no|No|NO|true|True|TRUE|false|False|FALSE|on|On|ON|off|Off|OFF)|([-+]?0b[01_]+|[-+]?0[0-7_]+|[-+]?(?:0|[1-9][0-9_]*)|[-+]?0x[_\\\\\\\\h]+|[-+]?[1-9][0-9_]*(?::[0-5]?[0-9])+)|([-+]?(?:[0-9][0-9_]*)?\\\\\\\\.[.0-9]*(?:[Ee][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\\\\\\\.[0-9_]*|[-+]?\\\\\\\\.(?:inf|Inf|INF)|\\\\\\\\.(?:nan|NaN|NAN))|(\\\\\\\\d{4}-\\\\\\\\d{2}-\\\\\\\\d{2}|\\\\\\\\d{4}-\\\\\\\\d{1,2}-\\\\\\\\d{1,2}(?:[Tt]|[\\\\\\\\t ]+)\\\\\\\\d{1,2}:\\\\\\\\d{2}:\\\\\\\\d{2}(?:\\\\\\\\.\\\\\\\\d*)?(?:[\\\\\\\\t ]*Z|[-+]\\\\\\\\d{1,2}(?::\\\\\\\\d{1,2})?)?)|(=)|(<<))(?=\\\\\\\\s*$|\\\\\\\\s+#|\\\\\\\\s*:(\\\\\\\\s|$))\\\"}]},\\\"flow-scalar-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.yaml\\\"}},\\\"end\\\":\\\"'(?!')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.yaml\\\"}},\\\"name\\\":\\\"string.quoted.single.yaml\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"''\\\",\\\"name\\\":\\\"constant.character.escape.single-quoted.yaml\\\"}]},\\\"flow-sequence\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.sequence.begin.yaml\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.sequence.end.yaml\\\"}},\\\"name\\\":\\\"meta.flow-sequence.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#prototype\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.sequence.yaml\\\"},{\\\"include\\\":\\\"#flow-pair\\\"},{\\\"include\\\":\\\"#flow-node\\\"}]},\\\"flow-value\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?![],}])\\\",\\\"end\\\":\\\"(?=[],}])\\\",\\\"name\\\":\\\"meta.flow-pair.value.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#flow-node\\\"}]}]},\\\"node\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-node\\\"}]},\\\"property\\\":{\\\"begin\\\":\\\"(?=[!\\\\\\\\&])\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"meta.property.yaml\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.property.anchor.yaml\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.anchor.yaml\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.anchor.yaml\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.character.anchor.yaml\\\"}},\\\"match\\\":\\\"\\\\\\\\G((&))([^],/\\\\\\\\[{}\\\\\\\\s]+)(\\\\\\\\S+)?\\\"},{\\\"match\\\":\\\"\\\\\\\\G!(?:<(?:%\\\\\\\\h{2}|[]!#$\\\\\\\\&-;=?-\\\\\\\\[_a-z~])+>|(?:[-0-9A-Za-z]*!)?(?:%\\\\\\\\h{2}|[#$\\\\\\\\&-+\\\\\\\\--;=?-Z_a-z~])+|)(?=[\\\\\\\\t ]|$)\\\",\\\"name\\\":\\\"storage.type.tag-handle.yaml\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.tag-handle.yaml\\\"}]},\\\"prototype\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#property\\\"}]}},\\\"scopeName\\\":\\\"source.yaml\\\",\\\"aliases\\\":[\\\"yml\\\"]}\"))\n\nexport default [\nlang\n]\n","import html from './html.mjs'\nimport css from './css.mjs'\nimport javascript from './javascript.mjs'\nimport yaml from './yaml.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Handlebars\\\",\\\"name\\\":\\\"handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#yfm\\\"},{\\\"include\\\":\\\"#extends\\\"},{\\\"include\\\":\\\"#block_comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#block_helper\\\"},{\\\"include\\\":\\\"#end_block\\\"},{\\\"include\\\":\\\"#else_token\\\"},{\\\"include\\\":\\\"#partial_and_var\\\"},{\\\"include\\\":\\\"#inline_script\\\"},{\\\"include\\\":\\\"#html_tags\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"repository\\\":{\\\"block_comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{!--\\\",\\\"end\\\":\\\"--}}\\\",\\\"name\\\":\\\"comment.block.handlebars\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@\\\\\\\\w*\\\",\\\"name\\\":\\\"keyword.annotation.handlebars\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"-{2,3}\\\\\\\\s*>\\\",\\\"name\\\":\\\"comment.block.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]}]},\\\"block_helper\\\":{\\\"begin\\\":\\\"(\\\\\\\\{\\\\\\\\{)(~?#)([\\\\\\\\--9>A-Z_a-z]+)\\\\\\\\s?(@?[\\\\\\\\--9A-Z_a-z]+)*\\\\\\\\s?(@?[\\\\\\\\--9A-Z_a-z]+)*\\\\\\\\s?(@?[\\\\\\\\--9A-Z_a-z]+)*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.constant.handlebars keyword.control\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.handlebars keyword.control\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.handlebars\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.parameter.handlebars\\\"},\\\"7\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"}},\\\"end\\\":\\\"(~?}})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"}},\\\"name\\\":\\\"meta.function.block.start.handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#handlebars_attribute\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{!\\\",\\\"end\\\":\\\"}}\\\",\\\"name\\\":\\\"comment.block.handlebars\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"@\\\\\\\\w*\\\",\\\"name\\\":\\\"keyword.annotation.handlebars\\\"},{\\\"include\\\":\\\"#comments\\\"}]},{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"-{2,3}\\\\\\\\s*>\\\",\\\"name\\\":\\\"comment.block.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]}]},\\\"else_token\\\":{\\\"begin\\\":\\\"(\\\\\\\\{\\\\\\\\{)(~?else)(@?\\\\\\\\s(if)\\\\\\\\s([()\\\\\\\\--9A-Z_a-z\\\\\\\\s]+))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.constant.handlebars keyword.control\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.handlebars\\\"}},\\\"end\\\":\\\"(~?}}}*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"}},\\\"name\\\":\\\"meta.function.inline.else.handlebars\\\"},\\\"end_block\\\":{\\\"begin\\\":\\\"(\\\\\\\\{\\\\\\\\{)(~?/)([\\\\\\\\--9A-Z_a-z]+)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.constant.handlebars keyword.control\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.handlebars keyword.control\\\"}},\\\"end\\\":\\\"(~?}})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"}},\\\"name\\\":\\\"meta.function.block.end.handlebars\\\",\\\"patterns\\\":[]},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.html\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.html\\\"}]},\\\"escaped-double-quote\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.js\\\"},\\\"escaped-single-quote\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\'\\\",\\\"name\\\":\\\"constant.character.escape.js\\\"},\\\"extends\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\{\\\\\\\\{!<)\\\\\\\\s([\\\\\\\\--9A-Z_a-z]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.handlebars\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.handlebars\\\"}},\\\"end\\\":\\\"(}})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.handlebars\\\"}},\\\"name\\\":\\\"meta.preprocessor.handlebars\\\"}]},\\\"handlebars_attribute\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#handlebars_attribute_name\\\"},{\\\"include\\\":\\\"#handlebars_attribute_value\\\"}]},\\\"handlebars_attribute_name\\\":{\\\"begin\\\":\\\"\\\\\\\\b([-.0-9A-Z_a-z]+)\\\\\\\\b=\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.handlebars\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\"']?)\\\",\\\"name\\\":\\\"entity.other.attribute-name.handlebars\\\"},\\\"handlebars_attribute_value\\\":{\\\"begin\\\":\\\"([\\\\\\\\--9A-Z_a-z]+)\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.handlebars\\\"}},\\\"end\\\":\\\"([\\\\\\\"']?)\\\",\\\"name\\\":\\\"entity.other.attribute-value.handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},\\\"html_tags\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)([-0-:A-Za-z]+)(?=[^>]*></\\\\\\\\2>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(>(<)/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.preprocessor.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_generic_attribute\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"--\\\\\\\\s*>\\\",\\\"name\\\":\\\"comment.block.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]},{\\\"begin\\\":\\\"<!\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"meta.tag.sgml.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(DOCTYPE|doctype)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.doctype.html\\\"}},\\\"end\\\":\\\"(?=>)\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\">]*\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.doctype.identifiers-and-DTDs.html\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"end\\\":\\\"]](?=>)\\\",\\\"name\\\":\\\"constant.other.inline-data.html\\\"},{\\\"match\\\":\\\"(\\\\\\\\s*)(?!--|>)\\\\\\\\S(\\\\\\\\s*)\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]},{\\\"begin\\\":\\\"(?:^\\\\\\\\s+)?(<)((?i:style))\\\\\\\\b(?![^>]*/>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.style.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\"(</)((?i:style))(>)(?:\\\\\\\\s*\\\\\\\\n)?\\\",\\\"name\\\":\\\"source.css.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\"(?=</(?i:style))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},{\\\"begin\\\":\\\"(?:^\\\\\\\\s+)?(<)((?i:script))\\\\\\\\b(?![^>]*/>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.script.html\\\"}},\\\"end\\\":\\\"(?<=</(script|SCRIPT))(>)(?:\\\\\\\\s*\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"name\\\":\\\"source.js.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<!</(?:script|SCRIPT))(>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.script.html\\\"}},\\\"end\\\":\\\"(</)((?i:script))\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"match\\\":\\\"(//).*?((?=</script)|$\\\\\\\\n?)\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.js\\\"}},\\\"end\\\":\\\"\\\\\\\\*/|(?=</script)\\\",\\\"name\\\":\\\"comment.block.js\\\"},{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"(</?)((?i:body|head|html))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.structure.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.structure.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:address|blockquote|dd|div|header|section|footer|aside|nav|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.block.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.inline.any.html\\\"}},\\\"end\\\":\\\"((?: ?/)?>)\\\",\\\"name\\\":\\\"meta.tag.inline.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)([-0-:A-Za-z]+)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.other.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.other.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)([-0-:A-Za-{}]+)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.tokenised.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"name\\\":\\\"meta.tag.tokenised.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"include\\\":\\\"#entities\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"invalid.illegal.incomplete.html\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]},\\\"inline_script\\\":{\\\"begin\\\":\\\"(?:^\\\\\\\\s+)?(<)((?i:script))\\\\\\\\b.*(type)=([\\\\\\\"'](?:text/x-handlebars-template|text/x-handlebars|text/template|x-tmpl-handlebars)[\\\\\\\"'])(?![^>]*/>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.script.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.quoted.double.html\\\"}},\\\"end\\\":\\\"(?<=</(script|SCRIPT))(>)(?:\\\\\\\\s*\\\\\\\\n)?\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"name\\\":\\\"source.handlebars.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<!</(?:script|SCRIPT))(>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.script.html\\\"}},\\\"end\\\":\\\"(</)((?i:script))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#block_helper\\\"},{\\\"include\\\":\\\"#end_block\\\"},{\\\"include\\\":\\\"#else_token\\\"},{\\\"include\\\":\\\"#partial_and_var\\\"},{\\\"include\\\":\\\"#html_tags\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]}]},\\\"partial_and_var\\\":{\\\"begin\\\":\\\"(\\\\\\\\{\\\\\\\\{~?\\\\\\\\{*(>|!<)*)\\\\\\\\s*(@?[$\\\\\\\\--9A-Z_a-z]+)*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.handlebars\\\"}},\\\"end\\\":\\\"(~?}}}*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.handlebars\\\"}},\\\"name\\\":\\\"meta.function.inline.other.handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#handlebars_attribute\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-single-quoted\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped-double-quote\\\"},{\\\"include\\\":\\\"#block_comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#block_helper\\\"},{\\\"include\\\":\\\"#else_token\\\"},{\\\"include\\\":\\\"#end_block\\\"},{\\\"include\\\":\\\"#partial_and_var\\\"}]},\\\"string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escaped-single-quote\\\"},{\\\"include\\\":\\\"#block_comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#block_helper\\\"},{\\\"include\\\":\\\"#else_token\\\"},{\\\"include\\\":\\\"#end_block\\\"},{\\\"include\\\":\\\"#partial_and_var\\\"}]},\\\"tag-stuff\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_id_attribute\\\"},{\\\"include\\\":\\\"#tag_generic_attribute\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#block_comments\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#block_helper\\\"},{\\\"include\\\":\\\"#end_block\\\"},{\\\"include\\\":\\\"#else_token\\\"},{\\\"include\\\":\\\"#partial_and_var\\\"}]},\\\"tag_generic_attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\b([-0-9A-Z_a-z]+)\\\\\\\\b\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.generic.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"']?)\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},\\\"tag_id_attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\b(id)\\\\\\\\b\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.id.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"']?)\\\",\\\"name\\\":\\\"meta.attribute-with-value.id.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},\\\"yfm\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\s)---\\\\\\\\n$\\\",\\\"end\\\":\\\"^---\\\\\\\\s\\\",\\\"name\\\":\\\"markup.raw.yaml.front-matter\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]}]}},\\\"scopeName\\\":\\\"text.html.handlebars\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"css\\\",\\\"javascript\\\",\\\"yaml\\\"],\\\"aliases\\\":[\\\"hbs\\\"]}\"))\n\nexport default [\n...html,\n...css,\n...javascript,\n...yaml,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Shell\\\",\\\"name\\\":\\\"shellscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}],\\\"repository\\\":{\\\"alias_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+(alias)[\\\\\\\\t ]*+((?:((?<!\\\\\\\\w)-\\\\\\\\w+)\\\\\\\\b[\\\\\\\\t ]*+)*)[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.alias.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"10\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"11\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\t ]|$)|(?:(?:(?:(;)|(&&))|(\\\\\\\\|\\\\\\\\|))|(&))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.semicolon.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.statement.and.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.statement.or.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.statement.background.shell\\\"}},\\\"name\\\":\\\"meta.expression.assignment.alias.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"argument\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]++(?![\\\\\\\\n#\\\\\\\\&(\\\\\\\\[|]|$|;)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\t \\\\\\\\&;|]|$|[\\\\\\\\n)`])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.argument.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#argument_context\\\"},{\\\"include\\\":\\\"#line_continuation\\\"}]},\\\"argument_context\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.special.wildcard.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.language.$1.shell\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)\\\\\\\\b(true|false)\\\\\\\\b(?!\\\\\\\\w)\\\"}]}},\\\"match\\\":\\\"[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]+(?!>))\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"arithmetic_double\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.double.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\s*\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.double.shell\\\"}},\\\"name\\\":\\\"meta.arithmetic.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"arithmetic_no_dollar\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.single.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.arithmetic.single.shell\\\"}},\\\"name\\\":\\\"meta.arithmetic.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#math\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"array_access_inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.array.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.array.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)([^]\\\\\\\\[]+)(])\\\"},\\\"array_value\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))[\\\\\\\\t ]*+(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.array.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.array.shell entity.other.attribute-name.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell punctuation.definition.assignment.shell\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(=)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.named-array.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.shell entity.other.attribute-name.bracket.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.named-array.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.assignment.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)(.+?)(])(=)\\\"},{\\\"include\\\":\\\"#normal_context\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"}]},\\\"assignment_statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#array_value\\\"},{\\\"include\\\":\\\"#modified_assignment_statement\\\"},{\\\"include\\\":\\\"#normal_assignment_statement\\\"}]},\\\"basic_command_name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.$1.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:continue|return|break)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"keyword.control.$0.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\\\\\w)(?!-)\\\",\\\"name\\\":\\\"support.function.builtin.shell\\\"},{\\\"include\\\":\\\"#variable\\\"}]}},\\\"match\\\":\\\"(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?:((?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$))|((?![\\\\\\\"']|\\\\\\\\\\\\\\\\\\\\\\\\n?$)[^\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"'<>]+?))(?:(?=[\\\\\\\\t ])|(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\))\\\",\\\"name\\\":\\\"meta.statement.command.name.basic.shell\\\"},\\\"block_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(/\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.shell\\\"}},\\\"name\\\":\\\"comment.block.shell\\\"},\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.$0.shell\\\"},\\\"case_statement\\\":{\\\"begin\\\":\\\"\\\\\\\\b(case)\\\\\\\\b[\\\\\\\\t ]*+(.+?)[\\\\\\\\t ]*+\\\\\\\\b(in)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.case.shell\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.in.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\besac\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.esac.shell\\\"}},\\\"name\\\":\\\"meta.case.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.pattern.case.default.shell\\\"}},\\\"match\\\":\\\"[\\\\\\\\t ]*+(\\\\\\\\* *\\\\\\\\))\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\))(?![\\\\\\\\t ]*+(?:esac\\\\\\\\b|$))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=\\\\\\\\besac\\\\\\\\b)|(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.pattern.case.shell\\\"}},\\\"name\\\":\\\"meta.case.entry.pattern.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_statement_context\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(;;)|(?=\\\\\\\\besac\\\\\\\\b)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.case.shell\\\"}},\\\"name\\\":\\\"meta.case.entry.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typical_statements\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"case_statement_context\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"variable.language.special.quantifier.star.shell keyword.operator.quantifier.star.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\",\\\"name\\\":\\\"variable.language.special.quantifier.plus.shell keyword.operator.quantifier.plus.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"variable.language.special.quantifier.question.shell keyword.operator.quantifier.question.shell punctuation.definition.arbitrary-repetition.shell punctuation.definition.regex.arbitrary-repetition.shell\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"variable.language.special.at.shell keyword.operator.at.shell punctuation.definition.regex.at.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.orvariable.language.special.or.shell keyword.operator.alternation.ruby.shell punctuation.definition.regex.alternation.shell punctuation.separator.regex.alternation.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\tin| in|[\\\\\\\\t ]|;;)\\\\\\\\(\\\",\\\"name\\\":\\\"keyword.operator.pattern.case.shell\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.definition.regex.group.shell\\\"}},\\\"name\\\":\\\"meta.parenthese.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_statement_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.shell\\\"}},\\\"name\\\":\\\"string.regexp.character-class.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"}]},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[^\\\\\\\\t\\\\\\\\n )*?@\\\\\\\\[|]\\\",\\\"name\\\":\\\"string.unquoted.pattern.shell string.regexp.unquoted.shell\\\"}]},\\\"command_name_range\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\t \\\\\\\\&;|]|$|[\\\\\\\\n)`])|(?=<)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.name.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:continue|return|break)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell keyword.control.$0.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:unfunction|continue|autoload|unsetopt|bindkey|builtin|getopts|command|declare|unalias|history|unlimit|typeset|suspend|source|printf|unhash|disown|ulimit|return|which|alias|break|false|print|shift|times|umask|unset|read|type|exec|eval|wait|echo|dirs|jobs|kill|hash|stat|exit|test|trap|true|let|set|pwd|cd|fg|bg|fc|[.:])(?!/)(?!\\\\\\\\w)(?!-)\\\",\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell support.function.builtin.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(?<=\\\\\\\\G|[\\\\\\\"')}])([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"\\\\\\\\&');->`{|]+)\\\"},{\\\"begin\\\":\\\"(?:\\\\\\\\G|(?<![\\\\\\\\t\\\\\\\\n #\\\\\\\\&;{|]))(\\\\\\\\$?)((\\\\\\\")|('))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell punctuation.definition.string.shell entity.name.function.call.shell entity.name.command.shell\\\"},\\\"2\\\":{},\\\"3\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell string.quoted.double.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.statement.command.name.quoted.shell string.quoted.single.shell punctuation.definition.string.begin.shell entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"end\\\":\\\"(?<!\\\\\\\\G)(?<=\\\\\\\\2)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#continuation_of_single_quoted_command_name\\\"},{\\\"include\\\":\\\"#continuation_of_double_quoted_command_name\\\"}]},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"}]},\\\"command_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?!\\\\\\\\\\\\\\\\\\\\\\\\n?$)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command_name_range\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#heredoc\\\"}]},\\\"comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.number-sign.shell meta.shebang.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shebang.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.line.number-sign.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"match\\\":\\\"(?:^|[\\\\\\\\t ]++)(?:((#!).*)|((#).*))\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comment\\\"},{\\\"include\\\":\\\"#line_comment\\\"}]},\\\"compound-command\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\s|^)\\\\\\\\{(?=\\\\\\\\s|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"end\\\":\\\"(?<=^|;)\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"name\\\":\\\"meta.scope.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"continuation_of_double_quoted_command_name\\\":{\\\"begin\\\":\\\"\\\\\\\\G(?<=\\\\\\\")\\\",\\\"beginCaptures\\\":{},\\\"contentName\\\":\\\"meta.statement.command.name.continuation string.quoted.double entity.name.function.call entity.name.command\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"continuation_of_single_quoted_command_name\\\":{\\\"begin\\\":\\\"\\\\\\\\G(?<=')\\\",\\\"beginCaptures\\\":{},\\\"contentName\\\":\\\"meta.statement.command.name.continuation string.quoted.single entity.name.function.call entity.name.command\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.shell punctuation.definition.string.end.shell entity.name.function.call.shell entity.name.command.shell\\\"}}},\\\"custom_command_names\\\":{\\\"patterns\\\":[]},\\\"custom_commands\\\":{\\\"patterns\\\":[]},\\\"double_quote_context\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"double_quote_escape_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},\\\"floating_keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:then|elif|else|done|end|do|if|fi)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"name\\\":\\\"keyword.control.$0.shell\\\"}]},\\\"for_statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))[\\\\\\\\t ]*+\\\\\\\\b(in)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.for.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.in.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.for.in.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.for.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.for.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]}]},\\\"function_definition\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"[\\\\\\\\t ]*+(?:\\\\\\\\b(function)\\\\\\\\b[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"'()=]+)(?:(\\\\\\\\()[\\\\\\\\t ]*+(\\\\\\\\)))?|([^\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\"'()=]+)[\\\\\\\\t ]*+(\\\\\\\\()[\\\\\\\\t ]*+(\\\\\\\\)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.shell\\\"}},\\\"end\\\":\\\"(?<=[)}])\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.function.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G[\\\\\\\\t\\\\\\\\n ]\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"name\\\":\\\"meta.function.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell punctuation.section.function.definition.shell\\\"}},\\\"name\\\":\\\"meta.function.body.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"include\\\":\\\"#initial_context\\\"}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"((?<!<)<<-)[\\\\\\\\t ]*+([\\\\\\\"'])[\\\\\\\\t ]*+([^\\\\\\\"']+?)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(\\\\\\\\2)(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.quoted.heredoc.indent.$3\\\",\\\"end\\\":\\\"^\\\\\\\\t*\\\\\\\\3(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.$0.shell\\\"}},\\\"patterns\\\":[]},{\\\"begin\\\":\\\"((?<!<)<<(?!<))[\\\\\\\\t ]*+([\\\\\\\"'])[\\\\\\\\t ]*+([^\\\\\\\"']+?)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(\\\\\\\\2)(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.quote.shell\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.quoted.heredoc.no-indent.$3\\\",\\\"end\\\":\\\"^\\\\\\\\3(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[]},{\\\"begin\\\":\\\"((?<!<)<<-)[\\\\\\\\t ]*+([^\\\\\\\\t \\\\\\\"']+)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.indent.$2\\\",\\\"end\\\":\\\"^\\\\\\\\t*\\\\\\\\2(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_escape_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"((?<!<)<<(?!<))[\\\\\\\\t ]*+([^\\\\\\\\t \\\\\\\"']+)(?=[\\\\\\\"\\\\\\\\&';<\\\\\\\\s])(.*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#redirect_fix\\\"},{\\\"include\\\":\\\"#typical_statements\\\"}]}},\\\"contentName\\\":\\\"string.unquoted.heredoc.no-indent.$2\\\",\\\"end\\\":\\\"^\\\\\\\\2(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.heredoc.delimiter.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_escape_char\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"herestring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(('))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.single.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"contentName\\\":\\\"string.quoted.single.shell\\\",\\\"end\\\":\\\"(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.single.shell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"meta.herestring.shell\\\"},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*((\\\\\\\"))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.quoted.double.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"contentName\\\":\\\"string.quoted.double.shell\\\",\\\"end\\\":\\\"(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.quoted.double.shell\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"meta.herestring.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double_quote_context\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.herestring.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.herestring.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}},\\\"match\\\":\\\"(<<<)\\\\\\\\s*(([^)\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)\\\",\\\"name\\\":\\\"meta.herestring.shell\\\"}]},\\\"initial_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#for_statement\\\"},{\\\"include\\\":\\\"#loop\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#alias_statement\\\"},{\\\"include\\\":\\\"#normal_statement\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"inline_comment\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block.shell punctuation.definition.comment.begin.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.block.shell\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.shell punctuation.definition.comment.end.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"comment.block.shell\\\"}]}},\\\"match\\\":\\\"(/\\\\\\\\*)((?:[^*]|\\\\\\\\*++[^/])*+(\\\\\\\\*++/))\\\"},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_dollar\\\"},{\\\"include\\\":\\\"#subshell_dollar\\\"},{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.evaluation.backticks.shell\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.evaluation.backticks.shell\\\"}},\\\"name\\\":\\\"string.interpolated.backtick.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"begin\\\":\\\"(?<=\\\\\\\\W)(?=#)(?!#\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.shell\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"name\\\":\\\"comment.line.number-sign.shell\\\"}]},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(then|else|elif|fi|for|in|do|done|select|continue|esac|while|until|return)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.control.shell\\\"},{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(?:export|declare|typeset|local|readonly)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"storage.modifier.shell\\\"}]},\\\"line_comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*+(//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.shell\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)(?<!\\\\\\\\\\\\\\\\\\\\\\\\n)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"comment.line.double-slash.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation_character\\\"}]},\\\"line_continuation\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.line-continuation.shell\\\"},\\\"logical-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#arithmetic_no_dollar\\\"},{\\\"match\\\":\\\"=[=~]?|!=?|[<>]|&&|\\\\\\\\|\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.logical.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\S)-(nt|ot|ef|eq|ne|l[et]|g[et]|[GLNOSa-hknopr-uwxz])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.shell\\\"}]},\\\"logical_expression_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex_comparison\\\"},{\\\"include\\\":\\\"#arithmetic_no_dollar\\\"},{\\\"include\\\":\\\"#logical-expression\\\"},{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#redirect_number\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"logical_expression_double\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_context\\\"}]},\\\"logical_expression_single\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.logical-expression.shell\\\"}},\\\"name\\\":\\\"meta.scope.logical-expression.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_context\\\"}]},\\\"loop\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(for)\\\\\\\\s+(.+?)\\\\\\\\s+(in)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])done(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.for-in-loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(while|until)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])done(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.while-loop.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(select)\\\\\\\\s+((?:[^\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.loop.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(done)(?=[\\\\\\\\&;\\\\\\\\s]|$|\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.shell\\\"}},\\\"name\\\":\\\"meta.scope.select-block.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])if(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.if.shell\\\"}},\\\"end\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])fi(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.fi.shell\\\"}},\\\"name\\\":\\\"meta.scope.if-block.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"math\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\"\\\\\\\\+{1,2}|-{1,2}|[!~]|\\\\\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\\\\\&*+/^|]=|<<=|>>=\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.shell\\\"},{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.hex.shell\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.semicolon.range\\\"},{\\\"match\\\":\\\"0\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d{1,2}#[0-9@-Z_a-z]+\\\",\\\"name\\\":\\\"constant.numeric.other.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"}]},\\\"math_operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\+{1,2}|-{1,2}|[!~]|\\\\\\\\*{1,2}|[%/]|<[<=]?|>[=>]?|==|!=|^|\\\\\\\\|{1,2}|&{1,2}|[,:=?]|[-%\\\\\\\\&*+/^|]=|<<=|>>=\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.shell\\\"},{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+\\\",\\\"name\\\":\\\"constant.numeric.hex.shell\\\"},{\\\"match\\\":\\\"0\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d{1,2}#[0-9@-Z_a-z]+\\\",\\\"name\\\":\\\"constant.numeric.other.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.shell\\\"}]},\\\"misc_ranges\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#logical_expression_single\\\"},{\\\"include\\\":\\\"#logical_expression_double\\\"},{\\\"include\\\":\\\"#subshell_dollar\\\"},{\\\"begin\\\":\\\"(?<![^\\\\\\\\t ])(\\\\\\\\{)(?![$\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.shell\\\"}},\\\"name\\\":\\\"meta.scope.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"modified_assignment_statement\\\":{\\\"begin\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.modifier.$0.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.shell meta.expression.assignment.modified.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\w)-\\\\\\\\w+\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"},{\\\"include\\\":\\\"#array_value\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.hex.shell\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.octal.shell\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.other.shell\\\"},\\\"12\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.decimal.shell\\\"},\\\"13\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.version.shell\\\"},\\\"14\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"}},\\\"match\\\":\\\"((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))?(?:(?<=[\\\\\\\\t =]|^|[(\\\\\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\\\\\h+)|(0\\\\\\\\d+))|(\\\\\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\\\\\d+\\\\\\\\.\\\\\\\\d+))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)+))|(-?\\\\\\\\d+))(?=[\\\\\\\\t ]|$|[);}]))?\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"modifiers\\\":{\\\"match\\\":\\\"(?<=^|[\\\\\\\\t \\\\\\\\&;])(?:readonly|declare|typeset|export|local)(?=[\\\\\\\\t \\\\\\\\&;]|$)\\\",\\\"name\\\":\\\"storage.modifier.$0.shell\\\"},\\\"normal_assignment_statement\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]*+((?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w))(?:(\\\\\\\\[)((?:(?:\\\\\\\\$?(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)|@)|\\\\\\\\*)|(-?\\\\\\\\d+))(]))?(?:(?:(=)|(\\\\\\\\+=))|(-=))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.assignment.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.array.access.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.shell\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"},\\\"8\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.expression.assignment.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#normal_assignment_statement\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\t ])(?![\\\\\\\\t ]|\\\\\\\\w+=)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.command.env.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#command_name_range\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#argument\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"normal_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#pipeline\\\"},{\\\"include\\\":\\\"#normal_statement_seperator\\\"},{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#redirect_number\\\"},{\\\"include\\\":\\\"#numeric_literal\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"},{\\\"include\\\":\\\"#parenthese\\\"}]},\\\"normal_statement\\\":{\\\"begin\\\":\\\"(?!^[\\\\\\\\t ]*+$)(?:(?<=(?:^until| until|\\\\\\\\tuntil|^while| while|\\\\\\\\twhile|^elif| elif|\\\\\\\\telif|^else| else|\\\\\\\\telse|^then| then|\\\\\\\\tthen|^do| do|\\\\\\\\tdo|^if| if|\\\\\\\\tif) )|(?<=^|[!\\\\\\\\&(;`{|]))[\\\\\\\\t ]*+(?!nocorrect\\\\\\\\W|nocorrect\\\\\\\\$|function\\\\\\\\W|function\\\\\\\\$|foreach\\\\\\\\W|foreach\\\\\\\\$|repeat\\\\\\\\W|repeat\\\\\\\\$|logout\\\\\\\\W|logout\\\\\\\\$|coproc\\\\\\\\W|coproc\\\\\\\\$|select\\\\\\\\W|select\\\\\\\\$|while\\\\\\\\W|while\\\\\\\\$|pushd\\\\\\\\W|pushd\\\\\\\\$|until\\\\\\\\W|until\\\\\\\\$|case\\\\\\\\W|case\\\\\\\\$|done\\\\\\\\W|done\\\\\\\\$|elif\\\\\\\\W|elif\\\\\\\\$|else\\\\\\\\W|else\\\\\\\\$|esac\\\\\\\\W|esac\\\\\\\\$|popd\\\\\\\\W|popd\\\\\\\\$|then\\\\\\\\W|then\\\\\\\\$|time\\\\\\\\W|time\\\\\\\\$|for\\\\\\\\W|for\\\\\\\\$|end\\\\\\\\W|end\\\\\\\\$|fi\\\\\\\\W|fi\\\\\\\\$|do\\\\\\\\W|do\\\\\\\\$|in\\\\\\\\W|in\\\\\\\\$|if\\\\\\\\W|if\\\\\\\\$)\\\",\\\"beginCaptures\\\":{},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.statement.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typical_statements\\\"}]},\\\"normal_statement_seperator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.statement.semicolon.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.statement.and.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.statement.or.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.statement.background.shell\\\"}},\\\"match\\\":\\\"(?:(?:(;)|(&&))|(\\\\\\\\|\\\\\\\\|))|(&)\\\"},\\\"numeric_literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.hex.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.octal.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.other.shell\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.decimal.shell\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.version.shell\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.shell constant.numeric.integer.shell\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\\t =]|^|[(\\\\\\\\[{])(?:(?:(?:(?:(?:(0[Xx]\\\\\\\\h+)|(0\\\\\\\\d+))|(\\\\\\\\d{1,2}#[0-9@-Z_a-z]+))|(-?\\\\\\\\d+\\\\\\\\.\\\\\\\\d+))|(-?\\\\\\\\d+(?:\\\\\\\\.\\\\\\\\d+)+))|(-?\\\\\\\\d+))(?=[\\\\\\\\t ]|$|[);}])\\\"},\\\"option\\\":{\\\"begin\\\":\\\"[\\\\\\\\t ]++(-)((?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.dash.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}},\\\"contentName\\\":\\\"string.unquoted.argument constant.other.option\\\",\\\"end\\\":\\\"(?=[\\\\\\\\t ])|(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"patterns\\\":[{\\\"include\\\":\\\"#option_context\\\"}]},\\\"option_context\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#misc_ranges\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#herestring\\\"},{\\\"include\\\":\\\"#redirection\\\"},{\\\"include\\\":\\\"#pathname\\\"},{\\\"include\\\":\\\"#floating_keyword\\\"},{\\\"include\\\":\\\"#support\\\"}]},\\\"parenthese\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parenthese.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parenthese.shell\\\"}},\\\"name\\\":\\\"meta.parenthese.group.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"pathname\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=[:=\\\\\\\\s]|^)~\\\",\\\"name\\\":\\\"keyword.operator.tilde.shell\\\"},{\\\"match\\\":\\\"[*?]\\\",\\\"name\\\":\\\"keyword.operator.glob.shell\\\"},{\\\"begin\\\":\\\"([!*+?@])(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.extglob.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.extglob.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.extglob.shell\\\"}},\\\"name\\\":\\\"meta.structure.extglob.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"pipeline\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])(time)(?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"keyword.other.shell\\\"},{\\\"match\\\":\\\"[!|]\\\",\\\"name\\\":\\\"keyword.operator.pipe.shell\\\"}]},\\\"redirect_fix\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.redirect.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell\\\"}},\\\"match\\\":\\\"(>>?)[\\\\\\\\t ]*+([^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]+)\\\"},\\\"redirect_number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.redirect.stdout.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.redirect.stderr.shell\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.redirect.$3.shell\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\\t ])(?:(1)|(2)|(\\\\\\\\d+))(?=>)\\\"},\\\"redirection\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"[<>]\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.interpolated.process-substitution.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#initial_context\\\"}]},{\\\"match\\\":\\\"(?<![<>])(&>|\\\\\\\\d*>&\\\\\\\\d*|\\\\\\\\d*(>>|[<>])|\\\\\\\\d*<&|\\\\\\\\d*<>)(?![<>])\\\",\\\"name\\\":\\\"keyword.operator.redirect.shell\\\"}]},\\\"regex_comparison\\\":{\\\"match\\\":\\\"=~\\\",\\\"name\\\":\\\"keyword.operator.logical.regex.shell\\\"},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\".+\\\"}]},\\\"simple_options\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.dash.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.unquoted.argument.shell constant.other.option.shell\\\"}},\\\"match\\\":\\\"[\\\\\\\\t ]++(-)(\\\\\\\\w+)\\\"}]}},\\\"match\\\":\\\"(?:[\\\\\\\\t ]++-\\\\\\\\w+)*\\\"},\\\"simple_unquoted\\\":{\\\"match\\\":\\\"[^\\\\\\\\t\\\\\\\\n \\\\\\\"$\\\\\\\\&-);<>\\\\\\\\\\\\\\\\`|]\\\",\\\"name\\\":\\\"string.unquoted.shell\\\"},\\\"special_expansion\\\":{\\\"match\\\":\\\"!|:[-=?]?|[*@]|##?|%%|[%/]\\\",\\\"name\\\":\\\"keyword.operator.expansion.shell\\\"},\\\"start_of_command\\\":{\\\"match\\\":\\\"[\\\\\\\\t ]*+(?![\\\\\\\\n!#\\\\\\\\&()<>\\\\\\\\[{|]|$|[\\\\\\\\t ;])(?!nocorrect |nocorrect\\\\\\\\t|nocorrect$|readonly |readonly\\\\\\\\t|readonly$|function |function\\\\\\\\t|function$|foreach |foreach\\\\\\\\t|foreach$|coproc |coproc\\\\\\\\t|coproc$|logout |logout\\\\\\\\t|logout$|export |export\\\\\\\\t|export$|select |select\\\\\\\\t|select$|repeat |repeat\\\\\\\\t|repeat$|pushd |pushd\\\\\\\\t|pushd$|until |until\\\\\\\\t|until$|while |while\\\\\\\\t|while$|local |local\\\\\\\\t|local$|case |case\\\\\\\\t|case$|done |done\\\\\\\\t|done$|elif |elif\\\\\\\\t|elif$|else |else\\\\\\\\t|else$|esac |esac\\\\\\\\t|esac$|popd |popd\\\\\\\\t|popd$|then |then\\\\\\\\t|then$|time |time\\\\\\\\t|time$|for |for\\\\\\\\t|for$|end |end\\\\\\\\t|end$|fi |fi\\\\\\\\t|fi$|do |do\\\\\\\\t|do$|in |in\\\\\\\\t|in$|if |if\\\\\\\\t|if$)(?!\\\\\\\\\\\\\\\\\\\\\\\\n?$)\\\"},\\\"string\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.single.shell\\\"},{\\\"begin\\\":\\\"\\\\\\\\$?\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.double.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"$\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\$'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.shell\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.shell\\\"}},\\\"name\\\":\\\"string.quoted.single.dollar.shell\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\abefnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.ansi-c.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-9]{3}\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.octal.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{2}\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.hex.shell\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c.\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.control-char.shell\\\"}]}]},\\\"subshell_dollar\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.subshell.single.shell\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.subshell.single.shell\\\"}},\\\"name\\\":\\\"meta.scope.subshell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parenthese\\\"},{\\\"include\\\":\\\"#initial_context\\\"}]}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[\\\\\\\\&;\\\\\\\\s])[.:](?=[\\\\\\\\&;\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"support.function.builtin.shell\\\"}]},\\\"typical_statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#assignment_statement\\\"},{\\\"include\\\":\\\"#case_statement\\\"},{\\\"include\\\":\\\"#for_statement\\\"},{\\\"include\\\":\\\"#while_statement\\\"},{\\\"include\\\":\\\"#function_definition\\\"},{\\\"include\\\":\\\"#command_statement\\\"},{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#arithmetic_double\\\"},{\\\"include\\\":\\\"#normal_context\\\"}]},\\\"variable\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.all.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.positional.all.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(@(?!\\\\\\\\w))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.positional.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([0-9](?!\\\\\\\\w))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.language.special.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.special.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)([-!#$*0?_](?!\\\\\\\\w))\\\"},{\\\"begin\\\":\\\"(\\\\\\\\$)(\\\\\\\\{)[\\\\\\\\t ]*+(?=\\\\\\\\d)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.parameter.positional.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell variable.parameter.positional.shell\\\"}},\\\"contentName\\\":\\\"meta.parameter-expansion\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell variable.parameter.positional.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#array_access_inline\\\"},{\\\"match\\\":\\\"[0-9]+\\\",\\\"name\\\":\\\"variable.parameter.positional.shell\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.begin.shell punctuation.definition.variable.shell\\\"}},\\\"contentName\\\":\\\"meta.parameter-expansion\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.bracket.curly.variable.end.shell punctuation.definition.variable.shell\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#special_expansion\\\"},{\\\"include\\\":\\\"#array_access_inline\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)[-0-9A-Z_a-z]+(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.normal.shell\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.shell variable.other.normal.shell\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.normal.shell\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)(\\\\\\\\w+(?!\\\\\\\\w))\\\"}]},\\\"while_statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(while)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.while.shell\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\&);`{|}]|[\\\\\\\\t ]*#|])(?<!\\\\\\\\\\\\\\\\)\\\",\\\"endCaptures\\\":{},\\\"name\\\":\\\"meta.while.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_continuation\\\"},{\\\"include\\\":\\\"#math_operators\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#simple_unquoted\\\"},{\\\"include\\\":\\\"#normal_context\\\"},{\\\"include\\\":\\\"#string\\\"}]}]}},\\\"scopeName\\\":\\\"source.shell\\\",\\\"aliases\\\":[\\\"bash\\\",\\\"sh\\\",\\\"shell\\\",\\\"zsh\\\"]}\"))\n\nexport default [\nlang\n]\n","import shellscript from './shellscript.mjs'\nimport json from './json.mjs'\nimport xml from './xml.mjs'\nimport graphql from './graphql.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"HTTP\\\",\\\"fileTypes\\\":[\\\"http\\\",\\\"rest\\\"],\\\"name\\\":\\\"http\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(?=curl)\\\",\\\"end\\\":\\\"^\\\\\\\\s*(#{3,}.*?)?\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.line.sharp.http\\\"}},\\\"name\\\":\\\"http.request.curl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(?=(\\\\\\\\[|\\\\\\\\{[^{]))\\\",\\\"end\\\":\\\"^\\\\\\\\s*(#{3,}.*?)?\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.line.sharp.http\\\"}},\\\"name\\\":\\\"http.request.body.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(?=<\\\\\\\\S)\\\",\\\"end\\\":\\\"^\\\\\\\\s*(#{3,}.*?)?\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.line.sharp.http\\\"}},\\\"name\\\":\\\"http.request.body.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(?=(query|mutation))\\\",\\\"end\\\":\\\"^\\\\\\\\s*(#{3,}.*?)?\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"comment.line.sharp.http\\\"}},\\\"name\\\":\\\"http.request.body.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(?=(query|mutation))\\\",\\\"end\\\":\\\"^\\\\\\\\{\\\\\\\\s*$\\\",\\\"name\\\":\\\"http.request.body.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}]},{\\\"include\\\":\\\"#metadata\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.http\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.http\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.http\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(@)([^=\\\\\\\\s]+)\\\\\\\\s*=\\\\\\\\s*(.*?)\\\\\\\\s*$\\\",\\\"name\\\":\\\"http.filevariable\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.http\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.http\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.http\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*([\\\\\\\\&?])([^=\\\\\\\\s]+)=(.*)$\\\",\\\"name\\\":\\\"http.query\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.http\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.http\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.http\\\"}},\\\"match\\\":\\\"^([-\\\\\\\\w]+)\\\\\\\\s*(:)\\\\\\\\s*([^/].*?)\\\\\\\\s*$\\\",\\\"name\\\":\\\"http.headers\\\"},{\\\"include\\\":\\\"#request-line\\\"},{\\\"include\\\":\\\"#response-line\\\"}],\\\"repository\\\":{\\\"comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s*#+.*$\\\",\\\"name\\\":\\\"comment.line.sharp.http\\\"},{\\\"match\\\":\\\"^\\\\\\\\s*/{2,}.*$\\\",\\\"name\\\":\\\"comment.line.double-slash.http\\\"}]},\\\"metadata\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.metadata\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.http\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*#+\\\\\\\\s+((@)name)\\\\\\\\s+([^.\\\\\\\\s]+)$\\\",\\\"name\\\":\\\"comment.line.sharp.http\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.metadata\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.http\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*/{2,}\\\\\\\\s+((@)name)\\\\\\\\s+([^.\\\\\\\\s]+)$\\\",\\\"name\\\":\\\"comment.line.double-slash.http\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.metadata\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*#+\\\\\\\\s+((@)note)\\\\\\\\s*$\\\",\\\"name\\\":\\\"comment.line.sharp.http\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.metadata\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*/{2,}\\\\\\\\s+((@)note)\\\\\\\\s*$\\\",\\\"name\\\":\\\"comment.line.double-slash.http\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.metadata\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.http\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.other.http\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*#+\\\\\\\\s+((@)prompt)\\\\\\\\s+(\\\\\\\\S+)(?:\\\\\\\\s+(.*))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"comment.line.sharp.http\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.metadata\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.http\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.other.http\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*/{2,}\\\\\\\\s+((@)prompt)\\\\\\\\s+(\\\\\\\\S+)(?:\\\\\\\\s+(.*))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"comment.line.double-slash.http\\\"}]},\\\"protocol\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.http\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.http\\\"}},\\\"match\\\":\\\"(HTTP)/(\\\\\\\\d+.\\\\\\\\d+)\\\",\\\"name\\\":\\\"http.version\\\"}]},\\\"request-line\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.http\\\"},\\\"2\\\":{\\\"name\\\":\\\"const.language.http\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#protocol\\\"}]}},\\\"match\\\":\\\"(?i)^(get|post|put|delete|patch|head|options|connect|trace|lock|unlock|propfind|proppatch|copy|move|mkcol|mkcalendar|acl|search)\\\\\\\\s+\\\\\\\\s*(.+?)(?:\\\\\\\\s+(HTTP/\\\\\\\\S+))?$\\\",\\\"name\\\":\\\"http.requestline\\\"},\\\"response-line\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#protocol\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.http\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.http\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*(HTTP/\\\\\\\\S+)\\\\\\\\s([1-5][0-9][0-9])\\\\\\\\s(.*)$\\\",\\\"name\\\":\\\"http.responseLine\\\"}},\\\"scopeName\\\":\\\"source.http\\\",\\\"embeddedLangs\\\":[\\\"shellscript\\\",\\\"json\\\",\\\"xml\\\",\\\"graphql\\\"]}\"))\n\nexport default [\n...shellscript,\n...json,\n...xml,\n...graphql,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Imba\\\",\\\"fileTypes\\\":[\\\"imba\\\",\\\"imba2\\\"],\\\"name\\\":\\\"imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#root\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.imba\\\"}],\\\"repository\\\":{\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.imba\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.imba\\\"}},\\\"name\\\":\\\"meta.array.literal.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#style-declaration\\\"},{\\\"include\\\":\\\"#mixin-declaration\\\"},{\\\"include\\\":\\\"#object-keys\\\"},{\\\"include\\\":\\\"#generics-literal\\\"},{\\\"include\\\":\\\"#tag-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#plain-identifiers\\\"},{\\\"include\\\":\\\"#plain-accessors\\\"},{\\\"include\\\":\\\"#pairs\\\"},{\\\"include\\\":\\\"#invalid-indentation\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(true|yes)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.imba\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(false|no)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.imba\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"name\\\":\\\"comment.block.documentation.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.imba\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"name\\\":\\\"comment.block.imba\\\"},{\\\"begin\\\":\\\"(### @ts(?=\\\\\\\\s|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"contentName\\\":\\\"source.ts.embedded.imba\\\",\\\"end\\\":\\\"###\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"name\\\":\\\"ts.block.imba\\\"},{\\\"begin\\\":\\\"(###)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"end\\\":\\\"###[\\\\\\\\t ]*\\\\\\\\n\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"name\\\":\\\"comment.block.imba\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//|#\\\\\\\\s)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.imba\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.imba\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.imba\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"css-color-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.color.w3c-standard-color-name.css\\\"},{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|transparent|turquoise|violet|wheat|whitesmoke|yellowgreen)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.color.w3c-extended-color-name.css\\\"},{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])currentColor(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.color.current.css\\\"}]},\\\"css-combinators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\">>>?|[+>~]\\\",\\\"name\\\":\\\"punctuation.separator.combinator.css\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"keyword.other.parent-selector.css\\\"}]},\\\"css-commas\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.list.comma.css\\\"},\\\"css-comment\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"#(\\\\\\\\s.+)?(\\\\\\\\n|$)\\\",\\\"name\\\":\\\"comment.line.imba\\\"},{\\\"match\\\":\\\"^(\\\\\\\\t+)(#(\\\\\\\\s.+)?(\\\\\\\\n|$))\\\",\\\"name\\\":\\\"comment.line.imba\\\"}]},\\\"css-escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\h{1,6}\\\",\\\"name\\\":\\\"constant.character.escape.codepoint.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\\\\\\\\\$\\\\\\\\s*\\\",\\\"end\\\":\\\"^(?<!\\\\\\\\G)\\\",\\\"name\\\":\\\"constant.character.escape.newline.css\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.css\\\"}]},\\\"css-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(calc)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.calc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.calc.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[*/]|(?<=\\\\\\\\s|^)[-+](?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.css\\\"},{\\\"include\\\":\\\"#css-property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(rgba?|hsla?)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.color.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])((?:-(?:webkit-|moz-|o-))?(?:repeating-)?(?:linear|radial|conic)-gradient)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.gradient.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.gradient.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(from|to|at)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"keyword.operator.gradient.css\\\"},{\\\"include\\\":\\\"#css-property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(-webkit-gradient)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.deprecated.gradient.function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.gradient.invalid.deprecated.gradient.css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(from|to|color-stop)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.deprecated.function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#css-property-values\\\"}]},{\\\"include\\\":\\\"#css-property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(annotation|attr|blur|brightness|character-variant|contrast|counters?|cross-fade|drop-shadow|element|fit-content|format|grayscale|hue-rotate|image-set|invert|local|minmax|opacity|ornaments|repeat|saturate|sepia|styleset|stylistic|swash|symbols)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.misc.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=[\\\\\\\",\\\\\\\\s]|\\\\\\\\*/|^)\\\\\\\\d+x(?=[\\\\\\\"'),\\\\\\\\s]|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"constant.numeric.other.density.css\\\"},{\\\"include\\\":\\\"#css-property-values\\\"},{\\\"match\\\":\\\"[^\\\\\\\"'),\\\\\\\\s]+\\\",\\\"name\\\":\\\"variable.parameter.misc.css\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(circle|ellipse|inset|polygon|rect)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.shape.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.shape.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<=\\\\\\\\s|^|\\\\\\\\*/)(at|round)(?=\\\\\\\\s|/\\\\\\\\*|$)\\\",\\\"name\\\":\\\"keyword.operator.shape.css\\\"},{\\\"include\\\":\\\"#css-property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])(cubic-bezier|steps)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing-function.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"name\\\":\\\"meta.function.timing-function.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])(start|end)(?=\\\\\\\\s*\\\\\\\\)|$)\\\",\\\"name\\\":\\\"support.constant.step-direction.css\\\"},{\\\"include\\\":\\\"#css-property-values\\\"}]},{\\\"begin\\\":\\\"(?i)(?<![-\\\\\\\\w])((?:translate|scale|rotate)(?:[XYZ]|3D)?|matrix(?:3D)?|skew[XY]?|perspective)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.transform.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.end.bracket.round.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#css-property-values\\\"}]}]},\\\"css-numeric-values\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.css\\\"}},\\\"match\\\":\\\"(#)(?:\\\\\\\\h{3,4}|\\\\\\\\h{6}|\\\\\\\\h{8})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.color.rgb-value.hex.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.percentage.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.${2:/downcase}.css\\\"}},\\\"match\\\":\\\"(?i)(?<![-\\\\\\\\w])[-+]?(?:[0-9]+(?:\\\\\\\\.[0-9]+)?|\\\\\\\\.[0-9]+)(?:(?<=[0-9])E[-+]?[0-9]+)?(?:(%)|(deg|grad|rad|turn|Hz|kHz|ch|cm|em|ex|fr|in|mm|mozmm|pc|pt|px|q|rem|vh|vmax|vmin|vw|dpi|dpcm|dppx|s|ms)\\\\\\\\b)?\\\",\\\"name\\\":\\\"constant.numeric.css\\\"}]},\\\"css-property-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#css-commas\\\"},{\\\"include\\\":\\\"#css-escapes\\\"},{\\\"include\\\":\\\"#css-functions\\\"},{\\\"include\\\":\\\"#css-numeric-values\\\"},{\\\"include\\\":\\\"#css-size-keywords\\\"},{\\\"include\\\":\\\"#css-color-keywords\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"!\\\\\\\\s*important(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"keyword.other.important.css\\\"}]},\\\"css-pseudo-classes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.colon.css\\\"}},\\\"match\\\":\\\"(?i)(:)(:*)(?:active|any-link|checked|default|defined|disabled|empty|enabled|first|(?:first|last|only)-(?:child|of-type)|focus|focus-visible|focus-within|fullscreen|host|hover|in-range|indeterminate|invalid|left|link|optional|out-of-range|placeholder-shown|read-only|read-write|required|right|root|scope|target|unresolved|valid|visited)(?![-\\\\\\\\w]|\\\\\\\\s*[;}])\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"css-pseudo-elements\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(?i)(?:(::?)(?:after|before|first-letter|first-line|(?:-(?:ah|apple|atsc|epub|hp|khtml|moz|ms|o|rim|ro|tc|wap|webkit|xv)|(?:mso|prince))-[-a-z]+)|(::)(?:backdrop|content|grammar-error|marker|placeholder|selection|shadow|spelling-error))(?![-\\\\\\\\w]|\\\\\\\\s*[;}])\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.css\\\"},\\\"css-selector\\\":{\\\"begin\\\":\\\"(?<=css\\\\\\\\s)(?![-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])\\\",\\\"end\\\":\\\"(\\\\\\\\s*(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])|\\\\\\\\s*$|(?=\\\\\\\\s+#\\\\\\\\s))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.sel-properties.css\\\"}},\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector-innards\\\"}]},\\\"css-selector-innards\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#css-commas\\\"},{\\\"include\\\":\\\"#css-escapes\\\"},{\\\"include\\\":\\\"#css-combinators\\\"},{\\\"match\\\":\\\"(%[-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.mixin.css\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.tag.wildcard.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.entity.begin.bracket.square.css\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.entity.end.bracket.square.css\\\"}},\\\"name\\\":\\\"meta.attribute-selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.ignore-case.css\\\"}},\\\"match\\\":\\\"(?<=[\\\\\\\"'\\\\\\\\s]|^|\\\\\\\\*/)\\\\\\\\s*([Ii])\\\\\\\\s*(?=[]\\\\\\\\s]|/\\\\\\\\*|$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.unquoted.attribute-value.css\\\"}},\\\"match\\\":\\\"(?<==)\\\\\\\\s*((?!/\\\\\\\\*)(?:[^]\\\\\\\"'\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\.)+)\\\"},{\\\"include\\\":\\\"#css-escapes\\\"},{\\\"match\\\":\\\"[$*^|~]?=\\\",\\\"name\\\":\\\"keyword.operator.pattern.css\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.namespace-prefix.css\\\"}},\\\"match\\\":\\\"(-?(?!\\\\\\\\d)(?:[-\\\\\\\\w[^0-\\\\\\\\\\\\\\\\x]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+|\\\\\\\\*)(?=\\\\\\\\|(?![=\\\\\\\\s]|$|])(?:-?(?!\\\\\\\\d)|[-\\\\\\\\\\\\\\\\\\\\\\\\w[^0-\\\\\\\\\\\\\\\\x]]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.css\\\"}},\\\"match\\\":\\\"(-?(?!\\\\\\\\d)(?>[-\\\\\\\\w[^0-\\\\\\\\\\\\\\\\x]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))+)\\\\\\\\s*(?=[]$*=^|~]|/\\\\\\\\*)\\\"}]},{\\\"include\\\":\\\"#css-pseudo-classes\\\"},{\\\"include\\\":\\\"#css-pseudo-elements\\\"},{\\\"include\\\":\\\"#css-mixin\\\"}]},\\\"css-size-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.size.property-value.css\\\"}]},\\\"curly-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.curly.imba\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.curly.imba\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))@(?!@)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.imba\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"}]},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name)\\\\\\\\s*=\\\\\\\\s*(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.imba\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.imba\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.imba\\\"}},\\\"name\\\":\\\"meta.tag.imba\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.imba\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.imba\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.imba\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.imba\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(?=\\\\\\\\s+)\\\"}]},\\\"expr\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#style-declaration\\\"},{\\\"include\\\":\\\"#object-keys\\\"},{\\\"include\\\":\\\"#generics-literal\\\"},{\\\"include\\\":\\\"#tag-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#plain-identifiers\\\"},{\\\"include\\\":\\\"#plain-accessors\\\"},{\\\"include\\\":\\\"#pairs\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.imba\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.imba\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"}]},{\\\"include\\\":\\\"#tag-literal\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"}]},\\\"generics-literal\\\":{\\\"begin\\\":\\\"(?<=[])\\\\\\\\w])<\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.generics.annotation.open.imba\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.generics.annotation.close.imba\\\"}},\\\"name\\\":\\\"meta.generics.annotation.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]},\\\"global-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(global)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.global.imba\\\"},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.property.imba\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\.\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d|\\\\\\\\s+)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(?=\\\\\\\\s*=\\\\\\\\{\\\\\\\\{functionOrArrowLookup}})\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.imba\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\.\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d|\\\\\\\\s+)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.class.property.imba\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\.\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d|\\\\\\\\s+)))(\\\\\\\\p{upper}[$_[:alnum:]]*(?:-[$_[:alnum:]]+)*!?)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.imba\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\.\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d|\\\\\\\\s+)))(#?[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\"},{\\\"match\\\":\\\"(for own|for|if|unless|when)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other\\\"},{\\\"match\\\":\\\"require\\\",\\\"name\\\":\\\"support.function.require\\\"},{\\\"include\\\":\\\"#plain-identifiers\\\"},{\\\"include\\\":\\\"#type-literal\\\"},{\\\"include\\\":\\\"#generics-literal\\\"}]},\\\"inline-css-selector\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t+)(?![-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=])\\\",\\\"end\\\":\\\"(\\\\\\\\s*(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=]|[])])|\\\\\\\\s*$)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.sel-properties.css\\\"}},\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector-innards\\\"}]},\\\"inline-styles\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#style-property\\\"},{\\\"include\\\":\\\"#css-property-values\\\"},{\\\"include\\\":\\\"#style-expr\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^]]+(])(?=\\\\\\\\{@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^*|}\\\\\\\\s]|\\\\\\\\*/)+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^*@{|}\\\\\\\\s]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"invalid-indentation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^ +\\\",\\\"name\\\":\\\"invalid.whitespace\\\"},{\\\"match\\\":\\\"^\\\\\\\\t+\\\\\\\\s+\\\",\\\"name\\\":\\\"invalid.whitespace\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\{(?:[^*}]|\\\\\\\\*[^/}])+$\\\",\\\"name\\\":\\\"invalid.illegal.type.jsdoc\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(if|elif|else|unless|switch|when|then|do|import|export|for own|for|while|until|return|yield|try|catch|await|rescue|finally|throw|as|continue|break|extend|augment)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.imba\\\"},{\\\"match\\\":\\\"(?<=export)\\\\\\\\s+(default)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.imba\\\"},{\\\"match\\\":\\\"(?<=import)\\\\\\\\s+(type)(?=\\\\\\\\s+[$_{\\\\\\\\w])\\\",\\\"name\\\":\\\"keyword.control.imba\\\"},{\\\"match\\\":\\\"(extend|global|abstract)\\\\\\\\s+(?=class|tag|abstract|mixin|interface)\\\",\\\"name\\\":\\\"keyword.control.imba\\\"},{\\\"match\\\":\\\"(?<=[$*}\\\\\\\\w])\\\\\\\\s+(from)(?=\\\\\\\\s+[\\\\\\\"'])\\\",\\\"name\\\":\\\"keyword.control.imba\\\"},{\\\"match\\\":\\\"(def|get|set)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.function.imba\\\"},{\\\"match\\\":\\\"(pr(?:otected|ivate))\\\\\\\\s+(?=def|get|set)\\\",\\\"name\\\":\\\"keyword.control.imba\\\"},{\\\"match\\\":\\\"(tag|class|struct|mixin|interface)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.class.imba\\\"},{\\\"match\\\":\\\"(let|const|constructor)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.imba\\\"},{\\\"match\\\":\\\"(prop|attr)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.imba\\\"},{\\\"match\\\":\\\"(static)\\\\\\\\s+\\\",\\\"name\\\":\\\"storage.modifier.imba\\\"},{\\\"match\\\":\\\"(declare)\\\\\\\\s+\\\",\\\"name\\\":\\\"storage.modifier.imba\\\"},{\\\"include\\\":\\\"#ops\\\"},{\\\"match\\\":\\\"((?:|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?|&&|[-%*+^])=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.imba\\\"},{\\\"match\\\":\\\"(>=?|<=?)\\\",\\\"name\\\":\\\"keyword.operator.imba\\\"},{\\\"match\\\":\\\"(of|delete|!?isa|typeof|!?in|new|!?is|isnt)(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.imba\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#number-with-unit-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#global-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"},{\\\"include\\\":\\\"#type-literal\\\"},{\\\"include\\\":\\\"#generics-literal\\\"},{\\\"include\\\":\\\"#string\\\"}]},\\\"mixin-css-selector\\\":{\\\"begin\\\":\\\"(%[-\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.mixin.css\\\"}},\\\"end\\\":\\\"(\\\\\\\\s*(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])|\\\\\\\\s*$|(?=\\\\\\\\s+#\\\\\\\\s))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.sel-properties.css\\\"}},\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector-innards\\\"}]},\\\"mixin-css-selector-after\\\":{\\\"begin\\\":\\\"(?<=%[-\\\\\\\\w]+)(?![-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])\\\",\\\"end\\\":\\\"(\\\\\\\\s*(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])|\\\\\\\\s*$|(?=\\\\\\\\s+#\\\\\\\\s))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.sel-properties.css\\\"}},\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector-innards\\\"}]},\\\"mixin-declaration\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t*)(%[-\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.mixin.css\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\t|\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.style.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#mixin-css-selector-after\\\"},{\\\"include\\\":\\\"#css-comment\\\"},{\\\"include\\\":\\\"#nested-css-selector\\\"},{\\\"include\\\":\\\"#inline-styles\\\"}]},\\\"nested-css-selector\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t+)(?![-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])\\\",\\\"end\\\":\\\"(\\\\\\\\s*(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=][^:])|\\\\\\\\s*$|(?=\\\\\\\\s+#\\\\\\\\s))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.sel-properties.css\\\"}},\\\"name\\\":\\\"meta.selector.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector-innards\\\"}]},\\\"nested-style-declaration\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t+)(?=[\\\\\\\\n^]*&)\\\",\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\t|\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.style.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nested-css-selector\\\"},{\\\"include\\\":\\\"#inline-styles\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.imba\\\"},\\\"number-with-unit-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.imba\\\"}},\\\"match\\\":\\\"([0-9]+)([a-z]+|%)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.imba\\\"}},\\\"match\\\":\\\"([0-9]*\\\\\\\\.[0-9]+(?:[Ee][-+]?[0-9]+)?)([a-z]+|%)\\\"}]},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.imba\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.imba\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.imba\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.imba\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.imba\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.imba\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.imba\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.imba\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.imba\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.imba\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b)(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.imba\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.imba\\\"}]},\\\"object-keys\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?:\\\",\\\"name\\\":\\\"meta.object-literal.key\\\"}]},\\\"ops\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\*=|(?<!\\\\\\\\()/=|%=|\\\\\\\\+=|-=|\\\\\\\\?=|\\\\\\\\?\\\\\\\\?=|=\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\^=\\\\\\\\?|\\\\\\\\|=\\\\\\\\?|~=\\\\\\\\?|&=|\\\\\\\\^=|<<=|>>=|>>>=|\\\\\\\\|=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.imba\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.imba\\\"},{\\\"match\\\":\\\"(?:==|!=|[!=~])=\\\",\\\"name\\\":\\\"keyword.operator.comparison.imba\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.imba\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.imba\\\"}},\\\"match\\\":\\\"(!)\\\\\\\\s*(/)(?![*/])\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?|or\\\\\\\\b(?=\\\\\\\\s|$)|and\\\\\\\\b(?=\\\\\\\\s|$)|@\\\\\\\\b(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.operator.logical.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\?(?=\\\\\\\\s|$)\\\",\\\"name\\\":\\\"keyword.operator.bitwise.imba\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.ternary.imba\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.imba\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.imba\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.imba\\\"}]},\\\"pairs\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#curly-braces\\\"},{\\\"include\\\":\\\"#square-braces\\\"},{\\\"include\\\":\\\"#round-braces\\\"}]},\\\"plain-accessors\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.imba\\\"}},\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\.?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\"}]},\\\"plain-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\p{upper}[$_[:alnum:]]*(?:-[$_[:alnum:]]+)*!?\\\",\\\"name\\\":\\\"variable.other.class.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\\\\\\d+\\\",\\\"name\\\":\\\"variable.special.imba\\\"},{\\\"match\\\":\\\"\\\\\\\\$[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.internal.imba\\\"},{\\\"match\\\":\\\"@@+[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.symbol.imba\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.readwrite.imba\\\"},{\\\"match\\\":\\\"@[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.instance.imba\\\"},{\\\"match\\\":\\\"#+[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"variable.other.private.imba\\\"},{\\\"match\\\":\\\":[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"string.symbol.imba\\\"}]},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.imba\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\.\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d|\\\\\\\\s+))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.imba\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.imba\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"}},\\\"name\\\":\\\"string.quoted.double.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.imba\\\"}},\\\"name\\\":\\\"string.quoted.single.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single-multi\\\":{\\\"begin\\\":\\\"'''\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"'''\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"}},\\\"name\\\":\\\"string.quoted.single.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[!(+,:=?\\\\\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([gimsuy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"(/)([gimsuy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.imba\\\"}},\\\"name\\\":\\\"string.regexp.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![]$)_[:alnum:]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\\\\\s*)/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+])+/([gimsuy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.imba\\\"}},\\\"end\\\":\\\"(/)([gimsuy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.imba\\\"}},\\\"name\\\":\\\"string.regexp.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[1-9]\\\\\\\\d*|k<([$A-Z_a-z][$\\\\\\\\w]*)>)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|\\\\\\\\?<([$A-Z_a-z][$\\\\\\\\w]*)>)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"root\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}]},\\\"round-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.imba\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.imba\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//|#\\\\\\\\s)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.imba\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.imba\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.imba\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.imba\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"square-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.imba\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.imba\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single-multi\\\"},{\\\"include\\\":\\\"#qstring-double-multi\\\"},{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.imba\\\"},\\\"style-declaration\\\":{\\\"begin\\\":\\\"^(\\\\\\\\t*)(?:(global|local|export)\\\\\\\\s+)?(?:(scoped)\\\\\\\\s+)?(css)\\\\\\\\s\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.control.export.imba\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.imba\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.style.imba\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\t|\\\\\\\\s*$))\\\",\\\"name\\\":\\\"meta.style.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#css-selector\\\"},{\\\"include\\\":\\\"#css-comment\\\"},{\\\"include\\\":\\\"#nested-css-selector\\\"},{\\\"include\\\":\\\"#inline-styles\\\"}]},\\\"style-expr\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.css\\\"}},\\\"match\\\":\\\"\\\\\\\\b([0-9][0-9_]*)(\\\\\\\\w+|%)?\\\"},{\\\"match\\\":\\\"--[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"support.constant.property-value.var.css\\\"},{\\\"match\\\":\\\"(x+s|sm-|md-|lg-|sm|md|lg|x+l|hg|x+h)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.property-value.size.css\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\",\\\"name\\\":\\\"support.constant.property-value.css\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"meta.function.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#style-expr\\\"}]}]},\\\"style-property\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[-!$%.@^\\\\\\\\w]+\\\\\\\\s*[:=])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.calc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.bracket.round.css\\\"}},\\\"end\\\":\\\"\\\\\\\\s*[:=]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"}},\\\"name\\\":\\\"meta.property-name.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?:--|\\\\\\\\$)[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.variable.css\\\"},{\\\"match\\\":\\\"@[!<>]?[0-9]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.breakpoint.css\\\"},{\\\"match\\\":\\\"\\\\\\\\^?@+[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.css\\\"},{\\\"match\\\":\\\"\\\\\\\\^?\\\\\\\\.+[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.flag.css\\\"},{\\\"match\\\":\\\"\\\\\\\\^?%+[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.state.css\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.[-$\\\\\\\\w]+|\\\\\\\\^+[%.@][-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.up.css\\\"},{\\\"match\\\":\\\"\\\\\\\\.[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.modifier.is.css\\\"},{\\\"match\\\":\\\"[-$\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.type.property-name.css\\\"}]}]},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.imba\\\"},\\\"tag-attr-name\\\":{\\\"begin\\\":\\\"([$_\\\\\\\\w]+(?:-[$_\\\\\\\\w]+)*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.attribute-name.imba\\\"}},\\\"contentName\\\":\\\"entity.other.attribute-name.imba\\\",\\\"end\\\":\\\"(?=[.=>\\\\\\\\[\\\\\\\\s])\\\"},\\\"tag-attr-value\\\":{\\\"begin\\\":\\\"(=)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.tag.assignment\\\"}},\\\"contentName\\\":\\\"meta.tag.attribute-value.imba\\\",\\\"end\\\":\\\"(?=[>\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"}]},\\\"tag-classname\\\":{\\\"begin\\\":\\\"\\\\\\\\.\\\",\\\"contentName\\\":\\\"entity.other.attribute-name.class.css\\\",\\\"end\\\":\\\"(?=[(.=>\\\\\\\\[\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-interpolated-content\\\"}]},\\\"tag-content\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"},{\\\"include\\\":\\\"#tag-expr-name\\\"},{\\\"include\\\":\\\"#tag-interpolated-content\\\"},{\\\"include\\\":\\\"#tag-interpolated-parens\\\"},{\\\"include\\\":\\\"#tag-interpolated-brackets\\\"},{\\\"include\\\":\\\"#tag-event-handler\\\"},{\\\"include\\\":\\\"#tag-mixin-name\\\"},{\\\"include\\\":\\\"#tag-classname\\\"},{\\\"include\\\":\\\"#tag-ref\\\"},{\\\"include\\\":\\\"#tag-attr-value\\\"},{\\\"include\\\":\\\"#tag-attr-name\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"tag-event-handler\\\":{\\\"begin\\\":\\\"(@[$_\\\\\\\\w]+(?:-[$_\\\\\\\\w]+)*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.event-name.imba\\\"}},\\\"contentName\\\":\\\"entity.other.tag.event\\\",\\\"end\\\":\\\"(?=[=>\\\\\\\\[\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-interpolated-content\\\"},{\\\"include\\\":\\\"#tag-interpolated-parens\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag\\\"}},\\\"end\\\":\\\"(?=[.=>\\\\\\\\[\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"entity.other.event-modifier.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-interpolated-parens\\\"},{\\\"include\\\":\\\"#tag-interpolated-content\\\"}]}]},\\\"tag-expr-name\\\":{\\\"begin\\\":\\\"(?<=<)(?=[{\\\\\\\\w])\\\",\\\"contentName\\\":\\\"entity.name.tag.imba\\\",\\\"end\\\":\\\"(?=[#$%(.>\\\\\\\\[\\\\\\\\s])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-interpolated-content\\\"}]},\\\"tag-interpolated-brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.imba\\\",\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"name\\\":\\\"meta.tag.expression.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline-css-selector\\\"},{\\\"include\\\":\\\"#inline-styles\\\"}]},\\\"tag-interpolated-content\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.imba\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"name\\\":\\\"meta.tag.expression.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"tag-interpolated-parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.imba\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.tag.imba\\\"}},\\\"name\\\":\\\"meta.tag.expression.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"tag-literal\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(?=[#$%(.@\\\\\\\\[{~\\\\\\\\w])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.tag.open.imba\\\"}},\\\"contentName\\\":\\\"meta.tag.attributes.imba\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.tag.close.imba\\\"}},\\\"name\\\":\\\"meta.tag.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-content\\\"}]}]},\\\"tag-mixin-name\\\":{\\\"match\\\":\\\"(%[-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"entity.other.tag-mixin.imba\\\"},\\\"tag-name\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=<)(self|global|slot)(?=[(.>\\\\\\\\[\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.name.tag.special.imba\\\"}]},\\\"tag-ref\\\":{\\\"match\\\":\\\"(\\\\\\\\$[-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"entity.other.tag-ref.imba\\\"},\\\"template\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)(\\\\\\\\{\\\\\\\\{typeArguments}}\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"name\\\":\\\"string.template.imba\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?))\\\",\\\"end\\\":\\\"(?=(\\\\\\\\{\\\\\\\\{typeArguments}}\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.imba\\\"}]}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)\\\\\\\\s*(?=(\\\\\\\\{\\\\\\\\{typeArguments}}\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.imba\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"name\\\":\\\"string.template.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*(?:-[$_[:alnum:]]+)*[!?]?)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.imba\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.template.begin.imba\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.template.end.imba\\\"}},\\\"name\\\":\\\"string.template.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\\\\\\\\\)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.imba\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.imba\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.imba\\\"}},\\\"name\\\":\\\"meta.template.expression.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expr\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|self)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.imba\\\"},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-literal\\\"}]},\\\"type-brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]},{\\\"begin\\\":\\\"<\\\",\\\"end\\\":\\\">\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]}]},\\\"type-literal\\\":{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.annotation.open.imba\\\"}},\\\"end\\\":\\\"(?=[]),.=}\\\\\\\\s]|$)\\\",\\\"name\\\":\\\"meta.type.annotation.imba\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-brackets\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![-$?_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.imba\\\"}},\\\"scopeName\\\":\\\"source.imba\\\"}\"))\n\nexport default [\nlang\n]\n","import html from './html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"jinja-html\\\",\\\"firstLineMatch\\\":\\\"^\\\\\\\\{% extends [\\\\\\\"'][^\\\\\\\"']+[\\\\\\\"'] %}\\\",\\\"foldingStartMarker\\\":\\\"(<(?i:(head|table|tr|div|style|script|ul|ol|form|dl))\\\\\\\\b.*?>|\\\\\\\\{%\\\\\\\\s*(block|filter|for|if|macro|raw))\\\",\\\"foldingStopMarker\\\":\\\"(</(?i:(head|table|tr|div|style|script|ul|ol|form|dl))\\\\\\\\b.*?>|\\\\\\\\{%\\\\\\\\s*(end(?:block|filter|for|if|macro|raw))\\\\\\\\s*%})\\\",\\\"name\\\":\\\"jinja-html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.jinja\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"scopeName\\\":\\\"text.html.jinja\\\",\\\"embeddedLangs\\\":[\\\"html\\\"]}\"))\n\nexport default [\n...html,\nlang\n]\n","import jinja_html from './jinja-html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Jinja\\\",\\\"foldingStartMarker\\\":\\\"(\\\\\\\\{%\\\\\\\\s*(block|filter|for|if|macro|raw))\\\",\\\"foldingStopMarker\\\":\\\"(\\\\\\\\{%\\\\\\\\s*(end(?:block|filter|for|if|macro|raw))\\\\\\\\s*%})\\\",\\\"name\\\":\\\"jinja\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\{%)\\\\\\\\s*(raw)\\\\\\\\s*(%})\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.jinja.delimiter.tag\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.jinja.delimiter.tag\\\"}},\\\"end\\\":\\\"(\\\\\\\\{%)\\\\\\\\s*(endraw)\\\\\\\\s*(%})\\\",\\\"name\\\":\\\"comment.block.jinja.raw\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{-?\\\",\\\"captures\\\":[{\\\"name\\\":\\\"variable.entity.other.jinja.delimiter\\\"}],\\\"end\\\":\\\"-?}}\\\",\\\"name\\\":\\\"variable.meta.scope.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{%-?\\\",\\\"captures\\\":[{\\\"name\\\":\\\"entity.other.jinja.delimiter.tag\\\"}],\\\"end\\\":\\\"-?%}\\\",\\\"name\\\":\\\"meta.scope.jinja.tag\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}],\\\"repository\\\":{\\\"comments\\\":{\\\"begin\\\":\\\"\\\\\\\\{#-?\\\",\\\"captures\\\":[{\\\"name\\\":\\\"entity.other.jinja.delimiter.comment\\\"}],\\\"end\\\":\\\"-?#}\\\",\\\"name\\\":\\\"comment.block.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"}]},\\\"escaped_char\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x[0-9A-F]{2}\\\",\\\"name\\\":\\\"constant.character.escape.hex.jinja\\\"},\\\"escaped_unicode_char\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.16-bit-hex.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.32-bit-hex.jinja\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.unicode.name.jinja\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\U\\\\\\\\h{8})|(\\\\\\\\\\\\\\\\u\\\\\\\\h{4})|(\\\\\\\\\\\\\\\\N\\\\\\\\{[ A-Za-z]+})\\\"},\\\"expression\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.block\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(block)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.filter\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(filter)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.test\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(is)\\\\\\\\s+([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.jinja\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\{%-?)\\\\\\\\s*\\\\\\\\b([A-Z_a-z][0-9A-Z_a-z]*)\\\\\\\\b(?!\\\\\\\\s*[,=])\\\"},{\\\"match\\\":\\\"\\\\\\\\b(and|else|if|in|import|not|or|recursive|with(out)?\\\\\\\\s+context)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.jinja\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false|none)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.jinja\\\"},{\\\"match\\\":\\\"\\\\\\\\b(loop|super|self|varargs|kwargs)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.jinja\\\"},{\\\"match\\\":\\\"[A-Z_a-z][0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.jinja\\\"},{\\\"match\\\":\\\"([-+]|\\\\\\\\*\\\\\\\\*?|//|[%/])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.jinja\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.other.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.filter\\\"}},\\\"match\\\":\\\"(\\\\\\\\|)([A-Z_a-z][0-9A-Z_a-z]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.other.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.jinja.attribute\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)([A-Z_a-z][0-9A-Z_a-z]*)\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":[{\\\"name\\\":\\\"punctuation.other.jinja\\\"}],\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":[{\\\"name\\\":\\\"punctuation.other.jinja\\\"}],\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":[{\\\"name\\\":\\\"punctuation.other.jinja\\\"}],\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"([,.:|])\\\",\\\"name\\\":\\\"punctuation.other.jinja\\\"},{\\\"match\\\":\\\"(==|<=|=>|[<>]|!=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.jinja\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.jinja\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.string.begin.jinja\\\"}],\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.string.end.jinja\\\"}],\\\"name\\\":\\\"string.quoted.double.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.string.begin.jinja\\\"}],\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.string.end.jinja\\\"}],\\\"name\\\":\\\"string.quoted.single.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"@/\\\",\\\"beginCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.regexp.begin.jinja\\\"}],\\\"end\\\":\\\"/\\\",\\\"endCaptures\\\":[{\\\"name\\\":\\\"punctuation.definition.regexp.end.jinja\\\"}],\\\"name\\\":\\\"string.regexp.jinja\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#simple_escapes\\\"}]}]},\\\"simple_escapes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.newline.jinja\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.escape.backlash.jinja\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.double-quote.jinja\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.escape.single-quote.jinja\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.escape.bell.jinja\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backspace.jinja\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.character.escape.formfeed.jinja\\\"},\\\"8\\\":{\\\"name\\\":\\\"constant.character.escape.linefeed.jinja\\\"},\\\"9\\\":{\\\"name\\\":\\\"constant.character.escape.return.jinja\\\"},\\\"10\\\":{\\\"name\\\":\\\"constant.character.escape.tab.jinja\\\"},\\\"11\\\":{\\\"name\\\":\\\"constant.character.escape.vertical-tab.jinja\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\\\\\\\\\n)|(\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\)|(\\\\\\\\\\\\\\\\\\\\\\\")|(\\\\\\\\\\\\\\\\')|(\\\\\\\\\\\\\\\\a)|(\\\\\\\\\\\\\\\\b)|(\\\\\\\\\\\\\\\\f)|(\\\\\\\\\\\\\\\\n)|(\\\\\\\\\\\\\\\\r)|(\\\\\\\\\\\\\\\\t)|(\\\\\\\\\\\\\\\\v)\\\"},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#simple_escapes\\\"},{\\\"include\\\":\\\"#escaped_char\\\"},{\\\"include\\\":\\\"#escaped_unicode_char\\\"}]}},\\\"scopeName\\\":\\\"source.jinja\\\",\\\"embeddedLangs\\\":[\\\"jinja-html\\\"]}\"))\n\nexport default [\n...jinja_html,\nlang\n]\n","import javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Jison\\\",\\\"fileTypes\\\":[\\\"jison\\\"],\\\"injections\\\":{\\\"L:(meta.action.jison - (comment | string)), source.js.embedded.jison - (comment | string), source.js.embedded.source - (comment | string.quoted.double | string.quoted.single)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\${2}\\\",\\\"name\\\":\\\"variable.language.semantic-value.jison\\\"},{\\\"match\\\":\\\"@\\\\\\\\$\\\",\\\"name\\\":\\\"variable.language.result-location.jison\\\"},{\\\"match\\\":\\\"##\\\\\\\\$|\\\\\\\\byysp\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.stack-index-0.jison\\\"},{\\\"match\\\":\\\"#\\\\\\\\S+#\\\",\\\"name\\\":\\\"support.variable.token-reference.jison\\\"},{\\\"match\\\":\\\"#\\\\\\\\$\\\",\\\"name\\\":\\\"variable.language.result-id.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?:-?\\\\\\\\d+|[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)\\\",\\\"name\\\":\\\"support.variable.token-value.jison\\\"},{\\\"match\\\":\\\"@(?:-?\\\\\\\\d+|[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)\\\",\\\"name\\\":\\\"support.variable.token-location.jison\\\"},{\\\"match\\\":\\\"##(?:-?\\\\\\\\d+|[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)\\\",\\\"name\\\":\\\"support.variable.stack-index.jison\\\"},{\\\"match\\\":\\\"#(?:-?\\\\\\\\d+|[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)\\\",\\\"name\\\":\\\"support.variable.token-id.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\byy(?:l(?:eng|ineno|oc|stack)|rulelength|s(?:tate|s?tack)|text|vstack)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\byy(?:clearin|erro[kr])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.jison\\\"}]}},\\\"name\\\":\\\"jison\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.separator.section.jison\\\"}},\\\"end\\\":\\\"\\\\\\\\z\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.separator.section.jison\\\"}},\\\"end\\\":\\\"\\\\\\\\z\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"\\\\\\\\z\\\",\\\"name\\\":\\\"meta.section.epilogue.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#epilogue_section\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=%%)\\\",\\\"name\\\":\\\"meta.section.rules.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rules_section\\\"}]}]},{\\\"begin\\\":\\\"^\\\",\\\"end\\\":\\\"(?=%%)\\\",\\\"name\\\":\\\"meta.section.declarations.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#declarations_section\\\"}]}],\\\"repository\\\":{\\\"actions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.begin.jison\\\"}},\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"}}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.end.jison\\\"}},\\\"name\\\":\\\"meta.action.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?=%\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=%})\\\",\\\"name\\\":\\\"meta.action.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#user_code_blocks\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.jison\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.double-slash.jison\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.jison\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.jison\\\"}},\\\"name\\\":\\\"comment.block.jison\\\"}]},\\\"declarations_section\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"^\\\\\\\\s*(%lex)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.lexer.begin.jison\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(/lex)\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.lexer.end.jison\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.separator.section.jisonlex\\\"}},\\\"end\\\":\\\"(?=/lex)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^%%\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.separator.section.jisonlex\\\"}},\\\"end\\\":\\\"(?=/lex)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"contentName\\\":\\\"source.js.embedded.jisonlex\\\",\\\"end\\\":\\\"(?=/lex)\\\",\\\"name\\\":\\\"meta.section.user-code.jisonlex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.jisonlex#user_code_section\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"^(?=%%|/lex)\\\",\\\"name\\\":\\\"meta.section.rules.jisonlex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.jisonlex#rules_section\\\"}]}]},{\\\"begin\\\":\\\"^\\\",\\\"end\\\":\\\"(?=%%|/lex)\\\",\\\"name\\\":\\\"meta.section.definitions.jisonlex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.jisonlex#definitions_section\\\"}]}]},{\\\"begin\\\":\\\"(?=%\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=%})\\\",\\\"name\\\":\\\"meta.section.prologue.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#user_code_blocks\\\"}]},{\\\"include\\\":\\\"#options_declarations\\\"},{\\\"match\\\":\\\"%(ebnf|left|nonassoc|parse-param|right|start)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"},{\\\"include\\\":\\\"#include_declarations\\\"},{\\\"begin\\\":\\\"%(code)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.code.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#rule_actions\\\"},{\\\"match\\\":\\\"(init|required)\\\",\\\"name\\\":\\\"keyword.other.code-qualifier.$1.jison\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"match\\\":\\\"\\\\\\\\b[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.jison\\\"}]},{\\\"begin\\\":\\\"%(parser-type)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.parser-type.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"match\\\":\\\"\\\\\\\\b[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"name\\\":\\\"string.unquoted.jison\\\"}]},{\\\"begin\\\":\\\"%(token)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"}},\\\"end\\\":\\\"$|(%%|;)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.declaration.token.jison\\\"}},\\\"name\\\":\\\"meta.token.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"match\\\":\\\"<[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?>\\\",\\\"name\\\":\\\"invalid.unimplemented.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"entity.other.token.jison\\\"}]},{\\\"match\\\":\\\"%(debug|import)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.declaration.$1.jison\\\"},{\\\"match\\\":\\\"%prec\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.jison\\\"},{\\\"match\\\":\\\"%[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.unimplemented.jison\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"}]},\\\"epilogue_section\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#user_code_include_declarations\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"include_declarations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(%(include))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.declaration.$2.jison\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.include.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#include_paths\\\"}]}]},\\\"include_paths\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\S)\\\",\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"string.unquoted.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#string_escapes\\\"}]}]},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.number.jison\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.jison\\\"}},\\\"match\\\":\\\"(0[Xx])(\\\\\\\\h+)\\\"},{\\\"match\\\":\\\"\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.jison\\\"}]},\\\"options_declarations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"%options\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.options.jison\\\"}},\\\"end\\\":\\\"^(?=\\\\\\\\S|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"meta.options.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.constant.jison\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.option.assignment.jison\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=\\\\\\\\s)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.$1.jison\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"string.unquoted.jison\\\"}]},{\\\"include\\\":\\\"#quoted_strings\\\"}]}]},\\\"quoted_strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#string_escapes\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#string_escapes\\\"}]}]},\\\"rule_actions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#actions\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.begin.jison\\\"}},\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.end.jison\\\"}},\\\"name\\\":\\\"meta.action.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"include\\\":\\\"#include_declarations\\\"},{\\\"begin\\\":\\\"->|→\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.action.arrow.jison\\\"}},\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.action.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"rules_section\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#actions\\\"},{\\\"include\\\":\\\"#include_declarations\\\"},{\\\"begin\\\":\\\"\\\\\\\\b[_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.constant.rule-result.jison\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.jison\\\"}},\\\"name\\\":\\\"meta.rule.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.rule-components.assignment.jison\\\"}},\\\"end\\\":\\\"(?=;)\\\",\\\"name\\\":\\\"meta.rule-components.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.named-reference.begin.jison\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.other.reference.jison\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.named-reference.end.jison\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)([_[:alpha:]](?:[-\\\\\\\\w]*\\\\\\\\w)?)(])\\\"},{\\\"begin\\\":\\\"(%(prec))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.$2.jison\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.prec.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#quoted_strings\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\S)\\\",\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"constant.other.token.jison\\\"}]},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.rule-components.separator.jison\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:EOF|error)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.$0.jison\\\"},{\\\"match\\\":\\\"(?:%e(?:mpty|psilon)|\\\\\\\\b[Ɛɛεϵ])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.empty.jison\\\"},{\\\"include\\\":\\\"#rule_actions\\\"}]}]}]},\\\"user_code_blocks\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"%\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.user-code-block.begin.jison\\\"}},\\\"contentName\\\":\\\"source.js.embedded.jison\\\",\\\"end\\\":\\\"%}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.user-code-block.end.jison\\\"}},\\\"name\\\":\\\"meta.user-code-block.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"user_code_include_declarations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(%(include))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.declaration.$2.jison\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.include.jison\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#include_paths\\\"}]}]}},\\\"scopeName\\\":\\\"source.jison\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\"]}\"))\n\nexport default [\n...javascript,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSON5\\\",\\\"fileTypes\\\":[\\\"json5\\\"],\\\"name\\\":\\\"json5\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#value\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.json5\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.json5\\\"}},\\\"name\\\":\\\"meta.structure.array.json5\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.array.json5\\\"},{\\\"match\\\":\\\"[^]\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-array-separator.json5\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"/{2}.*\\\",\\\"name\\\":\\\"comment.single.json5\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json5\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.json5\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json5\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.json5\\\"}]},\\\"constant\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|null|Infinity|NaN)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.json5\\\"},\\\"infinity\\\":{\\\"match\\\":\\\"(-)*\\\\\\\\b(?:Infinity|NaN)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.json5\\\"},\\\"key\\\":{\\\"name\\\":\\\"string.key.json5\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringSingle\\\"},{\\\"include\\\":\\\"#stringDouble\\\"},{\\\"match\\\":\\\"[-0-9A-Z_a-z]\\\",\\\"name\\\":\\\"string.key.json5\\\"}]},\\\"number\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(0x)[0-9A-f]*\\\",\\\"name\\\":\\\"constant.hex.numeric.json5\\\"},{\\\"match\\\":\\\"[+-.]?(?=[1-9]|0(?!\\\\\\\\d))\\\\\\\\d+(\\\\\\\\.\\\\\\\\d+)?([Ee][-+]?\\\\\\\\d+)?\\\",\\\"name\\\":\\\"constant.dec.numeric.json5\\\"}]},\\\"object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.begin.json5\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.end.json5\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.json5\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#key\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.key-value.json5\\\"}},\\\"end\\\":\\\"(,)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.pair.json5\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.value.json5\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\"[^,\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json5\\\"}]},{\\\"match\\\":\\\"[^}\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json5\\\"}]},\\\"stringDouble\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.json5\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.json5\\\"}},\\\"name\\\":\\\"string.quoted.json5\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"/\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.json5\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.json5\\\"}]},\\\"stringSingle\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.json5\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.json5\\\"}},\\\"name\\\":\\\"string.quoted.json5\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"/\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.json5\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.json5\\\"}]},\\\"value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#infinity\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#stringSingle\\\"},{\\\"include\\\":\\\"#stringDouble\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#object\\\"}]}},\\\"scopeName\\\":\\\"source.json5\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSON with Comments\\\",\\\"name\\\":\\\"jsonc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.json.comments\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.json.comments\\\"}},\\\"name\\\":\\\"meta.structure.array.json.comments\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.array.json.comments\\\"},{\\\"match\\\":\\\"[^]\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-array-separator.json.comments\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.comments\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.json.comments\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.comments\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.json.comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.comments\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"}]},\\\"constant\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.json.comments\\\"},\\\"number\\\":{\\\"match\\\":\\\"-?(?:0|[1-9]\\\\\\\\d*)(?:(?:\\\\\\\\.\\\\\\\\d+)?(?:[Ee][-+]?\\\\\\\\d+)?)?\\\",\\\"name\\\":\\\"constant.numeric.json.comments\\\"},\\\"object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.begin.json.comments\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.end.json.comments\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.json.comments\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#objectkey\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.key-value.json.comments\\\"}},\\\"end\\\":\\\"(,)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.pair.json.comments\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.value.json.comments\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\"[^,\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json.comments\\\"}]},{\\\"match\\\":\\\"[^}\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json.comments\\\"}]},\\\"objectkey\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.begin.json.comments\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.end.json.comments\\\"}},\\\"name\\\":\\\"string.json.comments support.type.property-name.json.comments\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"string\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.json.comments\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.json.comments\\\"}},\\\"name\\\":\\\"string.quoted.double.json.comments\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"stringcontent\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"/\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.json.comments\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.json.comments\\\"}]},\\\"value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"include\\\":\\\"#comments\\\"}]}},\\\"scopeName\\\":\\\"source.json.comments\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"JSON Lines\\\",\\\"name\\\":\\\"jsonl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.json.lines\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.json.lines\\\"}},\\\"name\\\":\\\"meta.structure.array.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.array.json.lines\\\"},{\\\"match\\\":\\\"[^]\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-array-separator.json.lines\\\"}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.lines\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.json.lines\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.lines\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.json.lines\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.json.lines\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.js\\\"}]},\\\"constant\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.json.lines\\\"},\\\"number\\\":{\\\"match\\\":\\\"-?(?:0|[1-9]\\\\\\\\d*)(?:(?:\\\\\\\\.\\\\\\\\d+)?(?:[Ee][-+]?\\\\\\\\d+)?)?\\\",\\\"name\\\":\\\"constant.numeric.json.lines\\\"},\\\"object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.begin.json.lines\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dictionary.end.json.lines\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#objectkey\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.key-value.json.lines\\\"}},\\\"end\\\":\\\"(,)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.dictionary.pair.json.lines\\\"}},\\\"name\\\":\\\"meta.structure.dictionary.value.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value\\\"},{\\\"match\\\":\\\"[^,\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json.lines\\\"}]},{\\\"match\\\":\\\"[^}\\\\\\\\s]\\\",\\\"name\\\":\\\"invalid.illegal.expected-dictionary-separator.json.lines\\\"}]},\\\"objectkey\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.begin.json.lines\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.support.type.property-name.end.json.lines\\\"}},\\\"name\\\":\\\"string.json.lines support.type.property-name.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"string\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.json.lines\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.json.lines\\\"}},\\\"name\\\":\\\"string.quoted.double.json.lines\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#stringcontent\\\"}]},\\\"stringcontent\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[\\\\\\\"/\\\\\\\\\\\\\\\\bfnrt]|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.escape.json.lines\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"invalid.illegal.unrecognized-string-escape.json.lines\\\"}]},\\\"value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#constant\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"include\\\":\\\"#comments\\\"}]}},\\\"scopeName\\\":\\\"source.json.lines\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Python\\\",\\\"name\\\":\\\"python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statement\\\"},{\\\"include\\\":\\\"#expression\\\"}],\\\"repository\\\":{\\\"annotated-parameter\\\":{\\\"begin\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.python\\\"}},\\\"end\\\":\\\"(,)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}]},\\\"assignment-operator\\\":{\\\"match\\\":\\\"<<=|>>=|//=|\\\\\\\\*\\\\\\\\*=|\\\\\\\\+=|-=|/=|@=|\\\\\\\\*=|%=|~=|\\\\\\\\^=|&=|\\\\\\\\|=|=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},\\\"backticks\\\":{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`|(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\n)\\\",\\\"name\\\":\\\"invalid.deprecated.backtick.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"builtin-callables\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#builtin-exceptions\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#builtin-types\\\"}]},\\\"builtin-exceptions\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b((Arithmetic|Assertion|Attribute|Buffer|BlockingIO|BrokenPipe|ChildProcess|(Connection(Aborted|Refused|Reset)?)|EOF|Environment|FileExists|FileNotFound|FloatingPoint|IO|Import|Indentation|Index|Interrupted|IsADirectory|NotADirectory|Permission|ProcessLookup|Timeout|Key|Lookup|Memory|Name|NotImplemented|OS|Overflow|Reference|Runtime|Recursion|Syntax|System|Tab|Type|UnboundLocal|Unicode(Encode|Decode|Translate)?|Value|Windows|ZeroDivision|ModuleNotFound)Error|((Pending)?Deprecation|Runtime|Syntax|User|Future|Import|Unicode|Bytes|Resource)?Warning|SystemExit|Stop(Async)?Iteration|KeyboardInterrupt|GeneratorExit|(Base)?Exception)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.exception.python\\\"},\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(__import__|abs|aiter|all|any|anext|ascii|bin|breakpoint|callable|chr|compile|copyright|credits|delattr|dir|divmod|enumerate|eval|exec|exit|filter|format|getattr|globals|hasattr|hash|help|hex|id|input|isinstance|issubclass|iter|len|license|locals|map|max|memoryview|min|next|oct|open|ord|pow|print|quit|range|reload|repr|reversed|round|setattr|sorted|sum|vars|zip)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.builtin.python\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(file|reduce|intern|raw_input|unicode|cmp|basestring|execfile|long|xrange)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.legacy.builtin.python\\\"}]},\\\"builtin-possible-callables\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-callables\\\"},{\\\"include\\\":\\\"#magic-names\\\"}]},\\\"builtin-types\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(bool|bytearray|bytes|classmethod|complex|dict|float|frozenset|int|list|object|property|set|slice|staticmethod|str|tuple|type|super)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.python\\\"},\\\"call-wrapper-inheritance\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?=([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\())\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"name\\\":\\\"meta.function-call.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inheritance-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"class-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(class)\\\\\\\\s+(?=[_[:alpha:]]\\\\\\\\w*\\\\\\\\s*([(:]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.python\\\"}},\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.class.begin.python\\\"}},\\\"name\\\":\\\"meta.class.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#class-inheritance\\\"}]}]},\\\"class-inheritance\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.inheritance.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.inheritance.end.python\\\"}},\\\"name\\\":\\\"meta.class.inheritance.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*?)\\\",\\\"name\\\":\\\"keyword.operator.unpacking.arguments.python\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.python\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},{\\\"match\\\":\\\"\\\\\\\\bmetaclass\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.metaclass.python\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#class-kwarg\\\"},{\\\"include\\\":\\\"#call-wrapper-inheritance\\\"},{\\\"include\\\":\\\"#expression-base\\\"},{\\\"include\\\":\\\"#member-access-class\\\"},{\\\"include\\\":\\\"#inheritance-identifier\\\"}]},\\\"class-kwarg\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.python variable.parameter.class.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(=)(?!=)\\\"},\\\"class-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.class.python\\\"}]},\\\"codetags\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.codetag.notation.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(NOTE|XXX|HACK|FIXME|BUG|TODO)\\\\\\\\b\\\"},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\\\\\\s*(type:)\\\\\\\\s*+(?!$|#)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.typehint.comment.python\\\"},\\\"1\\\":{\\\"name\\\":\\\"comment.typehint.directive.notation.python\\\"}},\\\"contentName\\\":\\\"meta.typehint.comment.python\\\",\\\"end\\\":\\\"$|(?=#)\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\Gignore(?=\\\\\\\\s*(?:$|#))\\\",\\\"name\\\":\\\"comment.typehint.ignore.notation.python\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\.)\\\\\\\\b(bool|bytes|float|int|object|str|List|Dict|Iterable|Sequence|Set|FrozenSet|Callable|Union|Tuple|Any|None)\\\\\\\\b\\\",\\\"name\\\":\\\"comment.typehint.type.notation.python\\\"},{\\\"match\\\":\\\"([]()*,.=\\\\\\\\[]|(->))\\\",\\\"name\\\":\\\"comment.typehint.punctuation.notation.python\\\"},{\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)\\\",\\\"name\\\":\\\"comment.typehint.variable.notation.python\\\"}]},{\\\"include\\\":\\\"#comments-base\\\"}]},\\\"comments-base\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"$()\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"comments-string-double-three\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"comments-string-single-three\\\":{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.python\\\"}},\\\"end\\\":\\\"($|(?='''))\\\",\\\"name\\\":\\\"comment.line.number-sign.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"curly-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.begin.python\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.dict.end.python\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.dict.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*((@))\\\\\\\\s*(?=[_[:alpha:]]\\\\\\\\w*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.decorator.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.decorator.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(.*?)(?=\\\\\\\\s*(?:#|$))|(?=[\\\\\\\\n#])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}},\\\"name\\\":\\\"meta.function.decorator.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"decorator-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-callables\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.period.python\\\"}},\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)|(\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.function.decorator.python\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([^#(.\\\\\\\\\\\\\\\\_[:alpha:]\\\\\\\\s].*?)(?=#|$)\\\",\\\"name\\\":\\\"invalid.illegal.decorator.python\\\"}]},\\\"docstring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docstring-prompt\\\"},{\\\"include\\\":\\\"#codetags\\\"},{\\\"include\\\":\\\"#docstring-guts-unicode\\\"}]},{\\\"begin\\\":\\\"([Rr])('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.raw.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#docstring-prompt\\\"},{\\\"include\\\":\\\"#codetags\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"},{\\\"include\\\":\\\"#docstring-guts-unicode\\\"}]},{\\\"begin\\\":\\\"([Rr])([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.docstring.raw.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#codetags\\\"}]}]},\\\"docstring-guts-unicode\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"docstring-prompt\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)\\\\\\\\s*((?:>>>|\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s)(?=\\\\\\\\s*\\\\\\\\S)\\\"},\\\"docstring-statement\\\":{\\\"begin\\\":\\\"^(?=\\\\\\\\s*[Rr]?('''|\\\\\\\"\\\\\\\"\\\\\\\"|[\\\\\\\"']))\\\",\\\"end\\\":\\\"((?<=\\\\\\\\1)|^)(?!\\\\\\\\s*[Rr]?('''|\\\\\\\"\\\\\\\"\\\\\\\"|[\\\\\\\"']))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docstring\\\"}]},\\\"double-one-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(]|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"\\\\\\\\N\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"double-one-regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"double-one-regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#double-one-regexp-character-set\\\"},{\\\"include\\\":\\\"#double-one-regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#double-one-regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#double-one-regexp-lookahead\\\"},{\\\"include\\\":\\\"#double-one-regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#double-one-regexp-lookbehind\\\"},{\\\"include\\\":\\\"#double-one-regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#double-one-regexp-conditional\\\"},{\\\"include\\\":\\\"#double-one-regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#double-one-regexp-parentheses\\\"}]},\\\"double-one-regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-one-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"double-three-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(]|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"\\\\\\\\N\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"double-three-regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"double-three-regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#double-three-regexp-character-set\\\"},{\\\"include\\\":\\\"#double-three-regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#double-three-regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#double-three-regexp-lookahead\\\"},{\\\"include\\\":\\\"#double-three-regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#double-three-regexp-lookbehind\\\"},{\\\"include\\\":\\\"#double-three-regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#double-three-regexp-conditional\\\"},{\\\"include\\\":\\\"#double-three-regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#double-three-regexp-parentheses\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"double-three-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?=\\\\\\\"\\\\\\\"\\\\\\\"))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-double-three\\\"}]},\\\"ellipsis\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.ellipsis.python\\\"},\\\"escape-sequence\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|[0-7]{1,3}|[\\\\\\\"'\\\\\\\\\\\\\\\\abfnrtv])\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"},\\\"escape-sequence-unicode\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(u\\\\\\\\h{4}|U\\\\\\\\h{8}|N\\\\\\\\{[\\\\\\\\w\\\\\\\\s]+?})\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-base\\\"},{\\\"include\\\":\\\"#member-access\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\"}]},\\\"expression-bare\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#backticks\\\"},{\\\"include\\\":\\\"#illegal-anno\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#lambda\\\"},{\\\"include\\\":\\\"#generator\\\"},{\\\"include\\\":\\\"#illegal-operator\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#curly-braces\\\"},{\\\"include\\\":\\\"#item-access\\\"},{\\\"include\\\":\\\"#list\\\"},{\\\"include\\\":\\\"#odd-function-call\\\"},{\\\"include\\\":\\\"#round-braces\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#builtin-types\\\"},{\\\"include\\\":\\\"#builtin-exceptions\\\"},{\\\"include\\\":\\\"#magic-names\\\"},{\\\"include\\\":\\\"#special-names\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#ellipsis\\\"},{\\\"include\\\":\\\"#punctuation\\\"},{\\\"include\\\":\\\"#line-continuation\\\"}]},\\\"expression-base\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#expression-bare\\\"},{\\\"include\\\":\\\"#line-continuation\\\"}]},\\\"f-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-bare\\\"},{\\\"include\\\":\\\"#member-access\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\"}]},\\\"fregexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fregexp-quantifier\\\"},{\\\"include\\\":\\\"#fstring-formatting-braces\\\"},{\\\"match\\\":\\\"\\\\\\\\{.*?}\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"fregexp-quantifier\\\":{\\\"match\\\":\\\"\\\\\\\\{\\\\\\\\{(\\\\\\\\d+|\\\\\\\\d+,(\\\\\\\\d+)?|,\\\\\\\\d+)}}\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},\\\"fstring-fnorm-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Ff])([BUbu])?('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.multi.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.interpolated.python string.quoted.multi.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-core\\\"}]},\\\"fstring-fnorm-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Ff])([BUbu])?(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.single.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.interpolated.python string.quoted.single.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-core\\\"}]},\\\"fstring-formatting\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-formatting-braces\\\"},{\\\"include\\\":\\\"#fstring-formatting-singe-brace\\\"}]},\\\"fstring-formatting-braces\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.brace.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)(\\\\\\\\s*?)(})\\\"},{\\\"match\\\":\\\"(\\\\\\\\{\\\\\\\\{|}})\\\",\\\"name\\\":\\\"constant.character.escape.python\\\"}]},\\\"fstring-formatting-singe-brace\\\":{\\\"match\\\":\\\"(}(?!}))\\\",\\\"name\\\":\\\"invalid.illegal.brace.python\\\"},\\\"fstring-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"},{\\\"include\\\":\\\"#fstring-formatting\\\"}]},\\\"fstring-illegal-multi-brace\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#impossible\\\"}]},\\\"fstring-illegal-single-brace\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)(?=[^\\\\\\\\n}]*$\\\\\\\\n?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"end\\\":\\\"(})|(?=\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-terminator-single\\\"},{\\\"include\\\":\\\"#f-expression\\\"}]},\\\"fstring-multi-brace\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-terminator-multi\\\"},{\\\"include\\\":\\\"#f-expression\\\"}]},\\\"fstring-multi-core\\\":{\\\"match\\\":\\\"(.+?)($(\\\\\\\\n?)|(?=[\\\\\\\\\\\\\\\\{}]|'''|\\\\\\\"\\\\\\\"\\\\\\\"))|\\\\\\\\n\\\",\\\"name\\\":\\\"string.interpolated.python string.quoted.multi.python\\\"},\\\"fstring-normf-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([BUbu])([Ff])('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.multi.python storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.quoted.multi.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.multi.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-core\\\"}]},\\\"fstring-normf-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([BUbu])([Ff])(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.single.python storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.quoted.single.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.single.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-core\\\"}]},\\\"fstring-raw-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#fstring-formatting\\\"}]},\\\"fstring-raw-multi-core\\\":{\\\"match\\\":\\\"(.+?)($(\\\\\\\\n?)|(?=[\\\\\\\\\\\\\\\\{}]|'''|\\\\\\\"\\\\\\\"\\\\\\\"))|\\\\\\\\n\\\",\\\"name\\\":\\\"string.interpolated.python string.quoted.raw.multi.python\\\"},\\\"fstring-raw-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Rr][Ff]|[Ff][Rr])('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.raw.multi.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.quoted.raw.multi.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.multi.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-raw-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-raw-multi-core\\\"}]},\\\"fstring-raw-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Rr][Ff]|[Ff][Rr])(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.interpolated.python string.quoted.raw.single.python storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python string.quoted.raw.single.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python string.interpolated.python string.quoted.raw.single.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.fstring.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-raw-guts\\\"},{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"include\\\":\\\"#fstring-raw-single-core\\\"}]},\\\"fstring-raw-single-core\\\":{\\\"match\\\":\\\"(.+?)($(\\\\\\\\n?)|(?=[\\\\\\\\\\\\\\\\{}]|([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)))|\\\\\\\\n\\\",\\\"name\\\":\\\"string.interpolated.python string.quoted.raw.single.python\\\"},\\\"fstring-single-brace\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"end\\\":\\\"(})|(?=\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-terminator-single\\\"},{\\\"include\\\":\\\"#f-expression\\\"}]},\\\"fstring-single-core\\\":{\\\"match\\\":\\\"(.+?)($(\\\\\\\\n?)|(?=[\\\\\\\\\\\\\\\\{}]|([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)))|\\\\\\\\n\\\",\\\"name\\\":\\\"string.interpolated.python string.quoted.single.python\\\"},\\\"fstring-terminator-multi\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(=(![ars])?)(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(=?![ars])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"(=?(?:![ars])?)(:\\\\\\\\w?[<=>^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)(?=})\\\"},{\\\"include\\\":\\\"#fstring-terminator-multi-tail\\\"}]},\\\"fstring-terminator-multi-tail\\\":{\\\"begin\\\":\\\"(=?(?:![ars])?)(:)(?=.*?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-illegal-multi-brace\\\"},{\\\"include\\\":\\\"#fstring-multi-brace\\\"},{\\\"match\\\":\\\"([%EFGXb-gnosx])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(#)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([- +])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([<=>^])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"}]},\\\"fstring-terminator-single\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(=(![ars])?)(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(=?![ars])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"(=?(?:![ars])?)(:\\\\\\\\w?[<=>^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)(?=})\\\"},{\\\"include\\\":\\\"#fstring-terminator-single-tail\\\"}]},\\\"fstring-terminator-single-tail\\\":{\\\"begin\\\":\\\"(=?(?:![ars])?)(:)(?=.*?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"end\\\":\\\"(?=})|(?=\\\\\\\\n)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#fstring-illegal-single-brace\\\"},{\\\"include\\\":\\\"#fstring-single-brace\\\"},{\\\"match\\\":\\\"([%EFGXb-gnosx])(?=})\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\.\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\d+)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(#)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([- +])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"([<=>^])\\\",\\\"name\\\":\\\"storage.type.format.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\w)\\\",\\\"name\\\":\\\"storage.type.format.python\\\"}]},\\\"function-arguments\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.python\\\",\\\"end\\\":\\\"(?=\\\\\\\\))(?!\\\\\\\\)\\\\\\\\s*\\\\\\\\()\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.separator.arguments.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.unpacking.arguments.python\\\"}},\\\"match\\\":\\\"(?:(?<=[(,])|^)\\\\\\\\s*(\\\\\\\\*{1,2})\\\"},{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function-call.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(=)(?!=)\\\"},{\\\"match\\\":\\\"=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.python\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\))\\\\\\\\s*(\\\\\\\\()\\\"}]},\\\"function-call\\\":{\\\"begin\\\":\\\"\\\\\\\\b(?=([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(\\\\\\\\())\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"name\\\":\\\"meta.function-call.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\b(def)\\\\\\\\s+(?=[_[:alpha:]]\\\\\\\\p{word}*\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.async.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.python\\\"}},\\\"end\\\":\\\"(:|(?=[\\\\\\\\n\\\\\\\"#']))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.begin.python\\\"}},\\\"name\\\":\\\"meta.function.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-def-name\\\"},{\\\"include\\\":\\\"#parameters\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"include\\\":\\\"#return-annotation\\\"}]},\\\"function-def-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.function.python\\\"}]},\\\"function-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.function-call.generic.python\\\"}]},\\\"generator\\\":{\\\"begin\\\":\\\"\\\\\\\\bfor\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"end\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"illegal-anno\\\":{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"invalid.illegal.annotation.python\\\"},\\\"illegal-names\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.import.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?:(and|assert|async|await|break|class|continue|def|del|elif|else|except|finally|for|from|global|if|in|is|(?<=\\\\\\\\.)lambda|lambda(?=\\\\\\\\s*[.=])|nonlocal|not|or|pass|raise|return|try|while|with|yield)|(as|import))\\\\\\\\b\\\"},\\\"illegal-object-name\\\":{\\\"match\\\":\\\"\\\\\\\\b(True|False|None)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.illegal.name.python\\\"},\\\"illegal-operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"&&|\\\\\\\\|\\\\\\\\||--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"},{\\\"match\\\":\\\"[$?]\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"},{\\\"match\\\":\\\"!\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.operator.python\\\"}]},\\\"import\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(from)\\\\\\\\b(?=.+import)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.python\\\"}},\\\"end\\\":\\\"$|(?=import)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.+\\\",\\\"name\\\":\\\"punctuation.separator.period.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(import)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.python\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)as\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.import.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"impossible\\\":{\\\"match\\\":\\\"$.^\\\"},\\\"inheritance-identifier\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\"},\\\"inheritance-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#builtin-possible-callables\\\"},{\\\"include\\\":\\\"#inheritance-identifier\\\"}]},\\\"item-access\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?=[_[:alpha:]]\\\\\\\\w*\\\\\\\\s*\\\\\\\\[)\\\",\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"name\\\":\\\"meta.item-access.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#item-name\\\"},{\\\"include\\\":\\\"#item-index\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"item-index\\\":{\\\"begin\\\":\\\"(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.python\\\"}},\\\"contentName\\\":\\\"meta.item-access.arguments.python\\\",\\\"end\\\":\\\"(?=])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.slice.python\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"item-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-variables\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#special-names\\\"},{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.indexed-name.python\\\"}]},\\\"lambda\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"match\\\":\\\"((?<=\\\\\\\\.)lambda|lambda(?=\\\\\\\\s*[.=]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.lambda.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(lambda)\\\\\\\\s*?(?=[\\\\\\\\n,]|$)\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(lambda)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.lambda.python\\\"}},\\\"contentName\\\":\\\"meta.function.lambda.parameters.python\\\",\\\"end\\\":\\\"(:)|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.lambda.begin.python\\\"}},\\\"name\\\":\\\"meta.lambda-function.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.positional.parameter.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*?)\\\",\\\"name\\\":\\\"keyword.operator.unpacking.parameter.python\\\"},{\\\"include\\\":\\\"#lambda-nested-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(?:(,)|(?=:|$))\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#backticks\\\"},{\\\"include\\\":\\\"#illegal-anno\\\"},{\\\"include\\\":\\\"#lambda-parameter-with-default\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"include\\\":\\\"#illegal-operator\\\"}]}]},\\\"lambda-incomplete\\\":{\\\"match\\\":\\\"\\\\\\\\blambda(?=\\\\\\\\s*[),])\\\",\\\"name\\\":\\\"storage.type.function.lambda.python\\\"},\\\"lambda-nested-incomplete\\\":{\\\"match\\\":\\\"\\\\\\\\blambda(?=\\\\\\\\s*[),:])\\\",\\\"name\\\":\\\"storage.type.function.lambda.python\\\"},\\\"lambda-parameter-with-default\\\":{\\\"begin\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.python\\\"}},\\\"end\\\":\\\"(,)|(?=:|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"line-continuation\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.continuation.line.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.line.continuation.python\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\s*(\\\\\\\\S.*$\\\\\\\\n?)\\\"},{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\)\\\\\\\\s*$\\\\\\\\n?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.continuation.line.python\\\"}},\\\"end\\\":\\\"(?=^\\\\\\\\s*$)|(?!(\\\\\\\\s*[Rr]?('''|\\\\\\\"\\\\\\\"\\\\\\\"|[\\\\\\\"']))|\\\\\\\\G()$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"list\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.python\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.list.end.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(True|False|None|NotImplemented|Ellipsis)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.python\\\"},{\\\"include\\\":\\\"#number\\\"}]},\\\"loose-default\\\":{\\\"begin\\\":\\\"(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.python\\\"}},\\\"end\\\":\\\"(,)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"magic-function-names\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.magic.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(__(?:abs|add|aenter|aexit|aiter|and|anext|await|bool|call|ceil|class_getitem|cmp|coerce|complex|contains|copy|deepcopy|del|delattr|delete|delitem|delslice|dir|div|divmod|enter|eq|exit|float|floor|floordiv|format|get??|getattr|getattribute|getinitargs|getitem|getnewargs|getslice|getstate|gt|hash|hex|iadd|iand|idiv|ifloordiv||ilshift|imod|imul|index|init|instancecheck|int|invert|ior|ipow|irshift|isub|iter|itruediv|ixor|len??|long|lshift|lt|missing|mod|mul|neg??|new|next|nonzero|oct|or|pos|pow|radd|rand|rdiv|rdivmod|reduce|reduce_ex|repr|reversed|rfloordiv||rlshift|rmod|rmul|ror|round|rpow|rrshift|rshift|rsub|rtruediv|rxor|set|setattr|setitem|set_name|setslice|setstate|sizeof|str|sub|subclasscheck|truediv|trunc|unicode|xor|matmul|rmatmul|imatmul|init_subclass|set_name|fspath|bytes|prepare|length_hint)__)\\\\\\\\b\\\"},\\\"magic-names\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#magic-function-names\\\"},{\\\"include\\\":\\\"#magic-variable-names\\\"}]},\\\"magic-variable-names\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.variable.magic.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(__(?:all|annotations|bases|builtins|class|closure|code|debug|defaults|dict|doc|file|func|globals|kwdefaults|match_args|members|metaclass|methods|module|mro|mro_entries|name|qualname|post_init|self|signature|slots|subclasses|version|weakref|wrapped|classcell|spec|path|package|future|traceback)__)\\\\\\\\b\\\"},\\\"member-access\\\":{\\\"begin\\\":\\\"(\\\\\\\\.)\\\\\\\\s*(?!\\\\\\\\.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.python\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(?=\\\\\\\\W)|(^|(?<=\\\\\\\\s))(?=[^\\\\\\\\\\\\\\\\\\\\\\\\w\\\\\\\\s])|$\\\",\\\"name\\\":\\\"meta.member.access.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#member-access-base\\\"},{\\\"include\\\":\\\"#member-access-attribute\\\"}]},\\\"member-access-attribute\\\":{\\\"match\\\":\\\"\\\\\\\\b([_[:alpha:]]\\\\\\\\w*)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.attribute.python\\\"},\\\"member-access-base\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#magic-names\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#special-names\\\"},{\\\"include\\\":\\\"#line-continuation\\\"},{\\\"include\\\":\\\"#item-access\\\"}]},\\\"member-access-class\\\":{\\\"begin\\\":\\\"(\\\\\\\\.)\\\\\\\\s*(?!\\\\\\\\.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.period.python\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(?=\\\\\\\\W)|$\\\",\\\"name\\\":\\\"meta.member.access.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#call-wrapper-inheritance\\\"},{\\\"include\\\":\\\"#member-access-base\\\"},{\\\"include\\\":\\\"#inheritance-identifier\\\"}]},\\\"number\\\":{\\\"name\\\":\\\"constant.numeric.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#number-float\\\"},{\\\"include\\\":\\\"#number-dec\\\"},{\\\"include\\\":\\\"#number-hex\\\"},{\\\"include\\\":\\\"#number-oct\\\"},{\\\"include\\\":\\\"#number-bin\\\"},{\\\"include\\\":\\\"#number-long\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\w+\\\",\\\"name\\\":\\\"invalid.illegal.name.python\\\"}]},\\\"number-bin\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.number.python\\\"}},\\\"match\\\":\\\"(?<![.\\\\\\\\w])(0[Bb])(_?[01])+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.bin.python\\\"},\\\"number-dec\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.imaginary.number.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.dec.python\\\"}},\\\"match\\\":\\\"(?<![.\\\\\\\\w])(?:[1-9](?:_?[0-9])*|0+|[0-9](?:_?[0-9])*([Jj])|0([0-9]+)(?![.Ee]))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.dec.python\\\"},\\\"number-float\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.imaginary.number.python\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\w)(?:(?:\\\\\\\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\\\\\\\.[0-9](?:_?[0-9])*|[0-9](?:_?[0-9])*\\\\\\\\.)(?:[Ee][-+]?[0-9](?:_?[0-9])*)?|[0-9](?:_?[0-9])*[Ee][-+]?[0-9](?:_?[0-9])*)([Jj])?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.python\\\"},\\\"number-hex\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.number.python\\\"}},\\\"match\\\":\\\"(?<![.\\\\\\\\w])(0[Xx])(_?\\\\\\\\h)+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.hex.python\\\"},\\\"number-long\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"storage.type.number.python\\\"}},\\\"match\\\":\\\"(?<![.\\\\\\\\w])([1-9][0-9]*|0)([Ll])\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.bin.python\\\"},\\\"number-oct\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.number.python\\\"}},\\\"match\\\":\\\"(?<![.\\\\\\\\w])(0[Oo])(_?[0-7])+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.oct.python\\\"},\\\"odd-function-call\\\":{\\\"begin\\\":\\\"(?<=[])])\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-arguments\\\"}]},\\\"operator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.bitwise.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.comparison.python\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(?:(and|or|not|in|is)|(for|if|else|await|yield(?:\\\\\\\\s+from)?))(?!\\\\\\\\s*:)\\\\\\\\b|(<<|>>|[\\\\\\\\&^|~])|(\\\\\\\\*\\\\\\\\*|[-%*+]|//|[/@])|(!=|==|>=|<=|[<>])|(:=)\\\"},\\\"parameter-special\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.function.language.special.self.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.function.language.special.cls.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b((self)|(cls))\\\\\\\\b\\\\\\\\s*(?:(,)|(?=\\\\\\\\)))\\\"},\\\"parameters\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.python\\\"}},\\\"name\\\":\\\"meta.function.parameters.python\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.positional.parameter.python\\\"},{\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*?)\\\",\\\"name\\\":\\\"keyword.operator.unpacking.parameter.python\\\"},{\\\"include\\\":\\\"#lambda-incomplete\\\"},{\\\"include\\\":\\\"#illegal-names\\\"},{\\\"include\\\":\\\"#illegal-object-name\\\"},{\\\"include\\\":\\\"#parameter-special\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.function.language.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.parameters.python\\\"}},\\\"match\\\":\\\"([_[:alpha:]]\\\\\\\\w*)\\\\\\\\s*(?:(,)|(?=[\\\\\\\\n#)=]))\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#loose-default\\\"},{\\\"include\\\":\\\"#annotated-parameter\\\"}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.colon.python\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.element.python\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-single-three-line\\\"},{\\\"include\\\":\\\"#regexp-double-three-line\\\"},{\\\"include\\\":\\\"#regexp-single-one-line\\\"},{\\\"include\\\":\\\"#regexp-double-one-line\\\"}]},\\\"regexp-backreference\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.backreference.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.backreference.named.end.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\()(\\\\\\\\?P=\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?)(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.backreference.named.regexp\\\"},\\\"regexp-backreference-number\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.backreference.regexp\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\[1-9]\\\\\\\\d?)\\\",\\\"name\\\":\\\"meta.backreference.regexp\\\"},\\\"regexp-base-common\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"support.other.match.any.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\^\\\",\\\"name\\\":\\\"support.other.match.begin.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\$\\\",\\\"name\\\":\\\"support.other.match.end.regexp\\\"},{\\\"match\\\":\\\"[*+?]\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.disjunction.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-sequence\\\"}]},\\\"regexp-base-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-quantifier\\\"},{\\\"include\\\":\\\"#regexp-base-common\\\"}]},\\\"regexp-charecter-set-escapes\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\abfnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-special\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{1,3})\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},{\\\"include\\\":\\\"#regexp-escape-character\\\"},{\\\"include\\\":\\\"#regexp-escape-unicode\\\"},{\\\"include\\\":\\\"#regexp-escape-catchall\\\"}]},\\\"regexp-double-one-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\")|(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.regexp.quoted.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-one-regexp-expression\\\"}]},\\\"regexp-double-three-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.regexp.quoted.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-three-regexp-expression\\\"}]},\\\"regexp-escape-catchall\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(.|\\\\\\\\n)\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},\\\"regexp-escape-character\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|0[0-7]{1,2}|[0-7]{3})\\\",\\\"name\\\":\\\"constant.character.escape.regexp\\\"},\\\"regexp-escape-sequence\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-escape-special\\\"},{\\\"include\\\":\\\"#regexp-escape-character\\\"},{\\\"include\\\":\\\"#regexp-escape-unicode\\\"},{\\\"include\\\":\\\"#regexp-backreference-number\\\"},{\\\"include\\\":\\\"#regexp-escape-catchall\\\"}]},\\\"regexp-escape-special\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([ABDSWZbdsw])\\\",\\\"name\\\":\\\"support.other.escape.special.regexp\\\"},\\\"regexp-escape-unicode\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(u\\\\\\\\h{4}|U\\\\\\\\h{8})\\\",\\\"name\\\":\\\"constant.character.unicode.regexp\\\"},\\\"regexp-flags\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\\\\\\?[Laimsux]+\\\\\\\\)\\\",\\\"name\\\":\\\"storage.modifier.flag.regexp\\\"},\\\"regexp-quantifier\\\":{\\\"match\\\":\\\"\\\\\\\\{(\\\\\\\\d+|\\\\\\\\d+,(\\\\\\\\d+)?|,\\\\\\\\d+)}\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},\\\"regexp-single-one-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(')\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(')|(?<!\\\\\\\\\\\\\\\\)(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.regexp.quoted.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"regexp-single-three-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([Uu]r)|([Bb]r)|(r[Bb]?))(''')\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(''')\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.regexp.quoted.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"}]},\\\"return-annotation\\\":{\\\"begin\\\":\\\"(->)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.annotation.result.python\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"round-braces\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.begin.python\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.parenthesis.end.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"semicolon\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\";$\\\",\\\"name\\\":\\\"invalid.deprecated.semicolon.python\\\"}]},\\\"single-one-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(]|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"\\\\\\\\N\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"single-one-regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"single-one-regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#single-one-regexp-character-set\\\"},{\\\"include\\\":\\\"#single-one-regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#single-one-regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#single-one-regexp-lookahead\\\"},{\\\"include\\\":\\\"#single-one-regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#single-one-regexp-lookbehind\\\"},{\\\"include\\\":\\\"#single-one-regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#single-one-regexp-conditional\\\"},{\\\"include\\\":\\\"#single-one-regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#single-one-regexp-parentheses\\\"}]},\\\"single-one-regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-one-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='))|((?=(?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-one-regexp-expression\\\"}]},\\\"single-three-regexp-character-set\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\[\\\\\\\\^?](?!.*?])\\\"},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?(])?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.begin.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.set.regexp\\\"}},\\\"end\\\":\\\"(]|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.character.set.end.regexp constant.other.set.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.character.set.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-charecter-set-escapes\\\"},{\\\"match\\\":\\\"\\\\\\\\N\\\",\\\"name\\\":\\\"constant.character.set.regexp\\\"}]}]},\\\"single-three-regexp-comments\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.comment.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.comment.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"comment.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#codetags\\\"}]},\\\"single-three-regexp-conditional\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?\\\\\\\\((\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?|\\\\\\\\d+)\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.conditional.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.conditional.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.conditional.negative.regexp punctuation.parenthesis.conditional.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp-base-expression\\\"},{\\\"include\\\":\\\"#single-three-regexp-character-set\\\"},{\\\"include\\\":\\\"#single-three-regexp-comments\\\"},{\\\"include\\\":\\\"#regexp-flags\\\"},{\\\"include\\\":\\\"#single-three-regexp-named-group\\\"},{\\\"include\\\":\\\"#regexp-backreference\\\"},{\\\"include\\\":\\\"#single-three-regexp-lookahead\\\"},{\\\"include\\\":\\\"#single-three-regexp-lookahead-negative\\\"},{\\\"include\\\":\\\"#single-three-regexp-lookbehind\\\"},{\\\"include\\\":\\\"#single-three-regexp-lookbehind-negative\\\"},{\\\"include\\\":\\\"#single-three-regexp-conditional\\\"},{\\\"include\\\":\\\"#single-three-regexp-parentheses-non-capturing\\\"},{\\\"include\\\":\\\"#single-three-regexp-parentheses\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-lookahead\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-lookahead-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookahead.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookahead.negative.regexp punctuation.parenthesis.lookahead.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-lookbehind\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-lookbehind-negative\\\":{\\\"begin\\\":\\\"(\\\\\\\\()\\\\\\\\?<!\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.parenthesis.lookbehind.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.lookbehind.negative.regexp punctuation.parenthesis.lookbehind.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-named-group\\\":{\\\"begin\\\":\\\"(\\\\\\\\()(\\\\\\\\?P<\\\\\\\\w+(?:\\\\\\\\s+\\\\\\\\p{alnum}+)?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.begin.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.named.group.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.named.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"meta.named.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-parentheses\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"single-three-regexp-parentheses-non-capturing\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\?:\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.begin.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\)|(?='''))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.other.parenthesis.regexp punctuation.parenthesis.non-capturing.end.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#single-three-regexp-expression\\\"},{\\\"include\\\":\\\"#comments-string-single-three\\\"}]},\\\"special-names\\\":{\\\"match\\\":\\\"\\\\\\\\b(_*\\\\\\\\p{upper}[_\\\\\\\\d]*\\\\\\\\p{upper})[[:upper:]\\\\\\\\d]*(_\\\\\\\\w*)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.caps.python\\\"},\\\"special-variables\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.special.self.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.language.special.cls.python\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(?:(self)|(cls))\\\\\\\\b\\\"},\\\"statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#import\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#generator\\\"},{\\\"include\\\":\\\"#statement-keyword\\\"},{\\\"include\\\":\\\"#assignment-operator\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#docstring-statement\\\"},{\\\"include\\\":\\\"#semicolon\\\"}]},\\\"statement-keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((async\\\\\\\\s+)?\\\\\\\\s*def)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.function.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)as\\\\\\\\b(?=.*[:\\\\\\\\\\\\\\\\])\\\",\\\"name\\\":\\\"keyword.control.flow.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)as\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.import.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(async|continue|del|assert|break|finally|for|from|elif|else|if|except|pass|raise|return|try|while|with)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(global|nonlocal)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.declaration.python\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\.)(class)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.python\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(case|match)(?=\\\\\\\\s*([-\\\\\\\"#'(+:\\\\\\\\[{\\\\\\\\w\\\\\\\\d]|$))\\\\\\\\b\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-quoted-multi-line\\\"},{\\\"include\\\":\\\"#string-quoted-single-line\\\"},{\\\"include\\\":\\\"#string-bin-quoted-multi-line\\\"},{\\\"include\\\":\\\"#string-bin-quoted-single-line\\\"},{\\\"include\\\":\\\"#string-raw-quoted-multi-line\\\"},{\\\"include\\\":\\\"#string-raw-quoted-single-line\\\"},{\\\"include\\\":\\\"#string-raw-bin-quoted-multi-line\\\"},{\\\"include\\\":\\\"#string-raw-bin-quoted-single-line\\\"},{\\\"include\\\":\\\"#fstring-fnorm-quoted-multi-line\\\"},{\\\"include\\\":\\\"#fstring-fnorm-quoted-single-line\\\"},{\\\"include\\\":\\\"#fstring-normf-quoted-multi-line\\\"},{\\\"include\\\":\\\"#fstring-normf-quoted-single-line\\\"},{\\\"include\\\":\\\"#fstring-raw-quoted-multi-line\\\"},{\\\"include\\\":\\\"#fstring-raw-quoted-single-line\\\"}]},\\\"string-bin-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Bb])('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.binary.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-bin-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b([Bb])(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.binary.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-brace-formatting\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"(\\\\\\\\{\\\\\\\\{|}}|\\\\\\\\{\\\\\\\\w*(\\\\\\\\.[_[:alpha:]]\\\\\\\\w*|\\\\\\\\[[^]\\\\\\\"']+])*(![ars])?(:\\\\\\\\w?[<=>^]?[- +]?#?\\\\\\\\d*,?(\\\\\\\\.\\\\\\\\d+)?[%EFGXb-gnosx]?)?})\\\",\\\"name\\\":\\\"meta.format.brace.python\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.format.python\\\"}},\\\"match\\\":\\\"(\\\\\\\\{\\\\\\\\w*(\\\\\\\\.[_[:alpha:]]\\\\\\\\w*|\\\\\\\\[[^]\\\\\\\"']+])*(![ars])?(:)[^\\\\\\\\n\\\\\\\"'{}]*(?:\\\\\\\\{[^\\\\\\\\n\\\\\\\"'}]*?}[^\\\\\\\\n\\\\\\\"'{}]*)*})\\\",\\\"name\\\":\\\"meta.format.brace.python\\\"}]},\\\"string-consume-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\\n\\\\\\\"'\\\\\\\\\\\\\\\\]\\\"},\\\"string-entity\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-formatting\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.format.placeholder.other.python\\\"}},\\\"match\\\":\\\"(%(\\\\\\\\([\\\\\\\\w\\\\\\\\s]*\\\\\\\\))?[- #+0]*(\\\\\\\\d+|\\\\\\\\*)?(\\\\\\\\.(\\\\\\\\d+|\\\\\\\\*))?([Lhl])?[%EFGXa-giorsux])\\\",\\\"name\\\":\\\"meta.format.percent.python\\\"},\\\"string-line-continuation\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.language.python\\\"},\\\"string-multi-bad-brace1-formatting-raw\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\"))%})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"}]},\\\"string-multi-bad-brace1-formatting-unicode\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\"))%})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"string-multi-bad-brace2-formatting-raw\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")[^!.:\\\\\\\\[}\\\\\\\\w]).*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-multi-bad-brace2-formatting-unicode\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")[^!.:\\\\\\\\[}\\\\\\\\w]).*?(?!'''|\\\\\\\"\\\\\\\"\\\\\\\")})\\\",\\\"end\\\":\\\"(?='''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-quoted-multi-line\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b([Rr])(?=[Uu]))?([Uu])?('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-multi-bad-brace1-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-multi-bad-brace2-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-unicode-guts\\\"}]},\\\"string-quoted-single-line\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b([Rr])(?=[Uu]))?([Uu])?(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.prefix.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\3)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-single-bad-brace1-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-single-bad-brace2-formatting-unicode\\\"},{\\\"include\\\":\\\"#string-unicode-guts\\\"}]},\\\"string-raw-bin-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-raw-bin-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(R[Bb]|[Bb]R)('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.raw.binary.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-raw-bin-guts\\\"}]},\\\"string-raw-bin-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(R[Bb]|[Bb]R)(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.raw.binary.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-raw-bin-guts\\\"}]},\\\"string-raw-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"},{\\\"include\\\":\\\"#string-brace-formatting\\\"}]},\\\"string-raw-quoted-multi-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([Uu]R)|(R))('''|\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\4)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.raw.multi.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-multi-bad-brace1-formatting-raw\\\"},{\\\"include\\\":\\\"#string-multi-bad-brace2-formatting-raw\\\"},{\\\"include\\\":\\\"#string-raw-guts\\\"}]},\\\"string-raw-quoted-single-line\\\":{\\\"begin\\\":\\\"\\\\\\\\b(([Uu]R)|(R))(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.deprecated.prefix.python\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.string.python\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.python\\\"}},\\\"end\\\":\\\"(\\\\\\\\4)|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.python\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.python\\\"}},\\\"name\\\":\\\"string.quoted.raw.single.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-single-bad-brace1-formatting-raw\\\"},{\\\"include\\\":\\\"#string-single-bad-brace2-formatting-raw\\\"},{\\\"include\\\":\\\"#string-raw-guts\\\"}]},\\\"string-single-bad-brace1-formatting-raw\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)))%})\\\",\\\"end\\\":\\\"(?=([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"}]},\\\"string-single-bad-brace1-formatting-unicode\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\{%(.*?(?!([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n)))%})\\\",\\\"end\\\":\\\"(?=([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#escape-sequence\\\"},{\\\"include\\\":\\\"#string-line-continuation\\\"}]},\\\"string-single-bad-brace2-formatting-raw\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))[^!.:\\\\\\\\[}\\\\\\\\w]).*?(?!([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))})\\\",\\\"end\\\":\\\"(?=([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-consume-escape\\\"},{\\\"include\\\":\\\"#string-formatting\\\"}]},\\\"string-single-bad-brace2-formatting-unicode\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\{\\\\\\\\{)(?=\\\\\\\\{(\\\\\\\\w*?(?!([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))[^!.:\\\\\\\\[}\\\\\\\\w]).*?(?!([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))})\\\",\\\"end\\\":\\\"(?=([\\\\\\\"'])|((?<!\\\\\\\\\\\\\\\\)\\\\\\\\n))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#string-entity\\\"}]},\\\"string-unicode-guts\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#escape-sequence-unicode\\\"},{\\\"include\\\":\\\"#string-entity\\\"},{\\\"include\\\":\\\"#string-brace-formatting\\\"}]}},\\\"scopeName\\\":\\\"source.python\\\",\\\"aliases\\\":[\\\"py\\\"]}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"R\\\",\\\"name\\\":\\\"r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#roxygen\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#accessor\\\"},{\\\"include\\\":\\\"#operators\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#storage-type\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#brackets\\\"},{\\\"include\\\":\\\"#function-declarations\\\"},{\\\"include\\\":\\\"#lambda-functions\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#function-calls\\\"},{\\\"match\\\":\\\"[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`\\\"}],\\\"repository\\\":{\\\"accessor\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\$)(?=[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.accessor.dollar.r\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-calls\\\"}]},{\\\"begin\\\":\\\"(:::?)(?=[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-calls\\\"}]}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.begin.bracket.round.r\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.parameters.end.bracket.round.r\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[(?!\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.single.begin.r\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.single.end.r\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.double.begin.r\\\"}},\\\"contentName\\\":\\\"meta.item-access.arguments.r\\\",\\\"end\\\":\\\"]]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.brackets.double.end.r\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.begin.bracket.curly.r\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.block.end.bracket.curly.r\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]}]},\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(?:(base)(::))?(abbreviate|abs|acosh??|activeBindingFunction|addNA|addTaskCallback|agrepl??|alist|all|all\\\\\\\\.equal|all\\\\\\\\.equal\\\\\\\\.character|all\\\\\\\\.equal\\\\\\\\.default|all\\\\\\\\.equal\\\\\\\\.environment|all\\\\\\\\.equal\\\\\\\\.envRefClass|all\\\\\\\\.equal\\\\\\\\.factor|all\\\\\\\\.equal\\\\\\\\.formula|all\\\\\\\\.equal\\\\\\\\.function|all\\\\\\\\.equal\\\\\\\\.language|all\\\\\\\\.equal\\\\\\\\.list|all\\\\\\\\.equal\\\\\\\\.numeric|all\\\\\\\\.equal\\\\\\\\.POSIXt|all\\\\\\\\.equal\\\\\\\\.raw|all\\\\\\\\.names|all\\\\\\\\.vars|allowInterrupts|any|anyDuplicated|anyDuplicated\\\\\\\\.array|anyDuplicated\\\\\\\\.data\\\\\\\\.frame|anyDuplicated\\\\\\\\.default|anyDuplicated\\\\\\\\.matrix|anyNA|anyNA\\\\\\\\.data\\\\\\\\.frame|anyNA\\\\\\\\.numeric_version|anyNA\\\\\\\\.POSIXlt|aperm|aperm\\\\\\\\.default|aperm\\\\\\\\.table|append|apply|Arg|args|array|array2DF|arrayInd|as\\\\\\\\.array|as\\\\\\\\.array\\\\\\\\.default|as\\\\\\\\.call|as\\\\\\\\.character|as\\\\\\\\.character\\\\\\\\.condition|as\\\\\\\\.character\\\\\\\\.Date|as\\\\\\\\.character\\\\\\\\.default|as\\\\\\\\.character\\\\\\\\.error|as\\\\\\\\.character\\\\\\\\.factor|as\\\\\\\\.character\\\\\\\\.hexmode|as\\\\\\\\.character\\\\\\\\.numeric_version|as\\\\\\\\.character\\\\\\\\.octmode|as\\\\\\\\.character\\\\\\\\.POSIXt|as\\\\\\\\.character\\\\\\\\.srcref|as\\\\\\\\.complex|as\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.array|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.AsIs|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.character|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.complex|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.Date|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.default|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.difftime|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.factor|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.integer|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.list|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.logical|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.matrix|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.model\\\\\\\\.matrix|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.noquote|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.numeric|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.numeric_version|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.ordered|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.POSIXct|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.POSIXlt|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.raw|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.table|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.ts|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.vector|as\\\\\\\\.Date|as\\\\\\\\.Date\\\\\\\\.character|as\\\\\\\\.Date\\\\\\\\.default|as\\\\\\\\.Date\\\\\\\\.factor|as\\\\\\\\.Date\\\\\\\\.numeric|as\\\\\\\\.Date\\\\\\\\.POSIXct|as\\\\\\\\.Date\\\\\\\\.POSIXlt|as\\\\\\\\.difftime|as\\\\\\\\.double|as\\\\\\\\.double\\\\\\\\.difftime|as\\\\\\\\.double\\\\\\\\.POSIXlt|as\\\\\\\\.environment|as\\\\\\\\.expression|as\\\\\\\\.expression\\\\\\\\.default|as\\\\\\\\.factor|as\\\\\\\\.function|as\\\\\\\\.function\\\\\\\\.default|as\\\\\\\\.hexmode|as\\\\\\\\.integer|as\\\\\\\\.list|as\\\\\\\\.list\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.list\\\\\\\\.Date|as\\\\\\\\.list\\\\\\\\.default|as\\\\\\\\.list\\\\\\\\.difftime|as\\\\\\\\.list\\\\\\\\.environment|as\\\\\\\\.list\\\\\\\\.factor|as\\\\\\\\.list\\\\\\\\.function|as\\\\\\\\.list\\\\\\\\.numeric_version|as\\\\\\\\.list\\\\\\\\.POSIXct|as\\\\\\\\.list\\\\\\\\.POSIXlt|as\\\\\\\\.logical|as\\\\\\\\.logical\\\\\\\\.factor|as\\\\\\\\.matrix|as\\\\\\\\.matrix\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.matrix\\\\\\\\.default|as\\\\\\\\.matrix\\\\\\\\.noquote|as\\\\\\\\.matrix\\\\\\\\.POSIXlt|as\\\\\\\\.name|as\\\\\\\\.null|as\\\\\\\\.null\\\\\\\\.default|as\\\\\\\\.numeric|as\\\\\\\\.numeric_version|as\\\\\\\\.octmode|as\\\\\\\\.ordered|as\\\\\\\\.package_version|as\\\\\\\\.pairlist|as\\\\\\\\.POSIXct|as\\\\\\\\.POSIXct\\\\\\\\.Date|as\\\\\\\\.POSIXct\\\\\\\\.default|as\\\\\\\\.POSIXct\\\\\\\\.numeric|as\\\\\\\\.POSIXct\\\\\\\\.POSIXlt|as\\\\\\\\.POSIXlt|as\\\\\\\\.POSIXlt\\\\\\\\.character|as\\\\\\\\.POSIXlt\\\\\\\\.Date|as\\\\\\\\.POSIXlt\\\\\\\\.default|as\\\\\\\\.POSIXlt\\\\\\\\.factor|as\\\\\\\\.POSIXlt\\\\\\\\.numeric|as\\\\\\\\.POSIXlt\\\\\\\\.POSIXct|as\\\\\\\\.qr|as\\\\\\\\.raw|as\\\\\\\\.single|as\\\\\\\\.single\\\\\\\\.default|as\\\\\\\\.symbol|as\\\\\\\\.table|as\\\\\\\\.table\\\\\\\\.default|as\\\\\\\\.vector|as\\\\\\\\.vector\\\\\\\\.data\\\\\\\\.frame|as\\\\\\\\.vector\\\\\\\\.factor|as\\\\\\\\.vector\\\\\\\\.POSIXlt|asinh??|asNamespace|asplit|asS3|asS4|assign|atan2??|atanh|attach|attachNamespace|attr|attr\\\\\\\\.all\\\\\\\\.equal|attributes|autoload|autoloader|backsolve|balancePOSIXlt|baseenv|basename|besselI|besselJ|besselK|besselY|beta|bindingIsActive|bindingIsLocked|bindtextdomain|bitwAnd|bitwNot|bitwOr|bitwShiftL|bitwShiftR|bitwXor|body|bquote|break|browser|browserCondition|browserSetDebug|browserText|builtins|by|by\\\\\\\\.data\\\\\\\\.frame|by\\\\\\\\.default|bzfile|c|c\\\\\\\\.Date|c\\\\\\\\.difftime|c\\\\\\\\.factor|c\\\\\\\\.noquote|c\\\\\\\\.numeric_version|c\\\\\\\\.POSIXct|c\\\\\\\\.POSIXlt|c\\\\\\\\.warnings|call|callCC|capabilities|casefold|cat|cbind|cbind\\\\\\\\.data\\\\\\\\.frame|ceiling|char\\\\\\\\.expand|character|charmatch|charToRaw|chartr|chkDots|chol|chol\\\\\\\\.default|chol2inv|choose|chooseOpsMethod|chooseOpsMethod\\\\\\\\.default|class|clearPushBack|close|close\\\\\\\\.connection|close\\\\\\\\.srcfile|close\\\\\\\\.srcfilealias|closeAllConnections|col|colMeans|colnames|colSums|commandArgs|comment|complex|computeRestarts|conditionCall|conditionCall\\\\\\\\.condition|conditionMessage|conditionMessage\\\\\\\\.condition|conflictRules|conflicts|Conj|contributors|cosh??|cospi|crossprod|Cstack_info|cummax|cummin|cumprod|cumsum|curlGetHeaders|cut|cut\\\\\\\\.Date|cut\\\\\\\\.default|cut\\\\\\\\.POSIXt|data\\\\\\\\.class|data\\\\\\\\.frame|data\\\\\\\\.matrix|date|debug|debuggingState|debugonce|declare|default\\\\\\\\.stringsAsFactors|delayedAssign|deparse1??|det|detach|determinant|determinant\\\\\\\\.matrix|dget|diag|diff|diff\\\\\\\\.Date|diff\\\\\\\\.default|diff\\\\\\\\.difftime|diff\\\\\\\\.POSIXt|difftime|digamma|dim|dim\\\\\\\\.data\\\\\\\\.frame|dimnames|dimnames\\\\\\\\.data\\\\\\\\.frame|dir|dir\\\\\\\\.create|dir\\\\\\\\.exists|dirname|do\\\\\\\\.call|dontCheck|double|dput|dQuote|drop|droplevels|droplevels\\\\\\\\.data\\\\\\\\.frame|droplevels\\\\\\\\.factor|dump|duplicated|duplicated\\\\\\\\.array|duplicated\\\\\\\\.data\\\\\\\\.frame|duplicated\\\\\\\\.default|duplicated\\\\\\\\.matrix|duplicated\\\\\\\\.numeric_version|duplicated\\\\\\\\.POSIXlt|duplicated\\\\\\\\.warnings|dyn\\\\\\\\.load|dyn\\\\\\\\.unload|dynGet|eapply|eigen|emptyenv|enc2native|enc2utf8|encodeString|Encoding|endsWith|enquote|env\\\\\\\\.profile|environment|environmentIsLocked|environmentName|errorCondition|eval|eval\\\\\\\\.parent|evalq|Exec|exists|exp|expand\\\\\\\\.grid|expm1|expression|extSoftVersion|factor|factorial|fifo|file|file\\\\\\\\.access|file\\\\\\\\.append|file\\\\\\\\.choose|file\\\\\\\\.copy|file\\\\\\\\.create|file\\\\\\\\.exists|file\\\\\\\\.info|file\\\\\\\\.link|file\\\\\\\\.mode|file\\\\\\\\.mtime|file\\\\\\\\.path|file\\\\\\\\.remove|file\\\\\\\\.rename|file\\\\\\\\.show|file\\\\\\\\.size|file\\\\\\\\.symlink|Filter|Find|find\\\\\\\\.package|findInterval|findPackageEnv|findRestart|floor|flush|flush\\\\\\\\.connection|for|force|forceAndCall|formals|format|format\\\\\\\\.AsIs|format\\\\\\\\.data\\\\\\\\.frame|format\\\\\\\\.Date|format\\\\\\\\.default|format\\\\\\\\.difftime|format\\\\\\\\.factor|format\\\\\\\\.hexmode|format\\\\\\\\.info|format\\\\\\\\.libraryIQR|format\\\\\\\\.numeric_version|format\\\\\\\\.octmode|format\\\\\\\\.packageInfo|format\\\\\\\\.POSIXct|format\\\\\\\\.POSIXlt|format\\\\\\\\.pval|format\\\\\\\\.summaryDefault|formatC|formatDL|forwardsolve|function|gamma|gc|gc\\\\\\\\.time|gcinfo|gctorture2??|get0??|getAllConnections|getCallingDLLe??|getConnection|getDLLRegisteredRoutines|getDLLRegisteredRoutines\\\\\\\\.character|getDLLRegisteredRoutines\\\\\\\\.DLLInfo|getElement|geterrmessage|getExportedValue|getHook|getLoadedDLLs|getNamespace|getNamespaceExports|getNamespaceImports|getNamespaceInfo|getNamespaceName|getNamespaceUsers|getNamespaceVersion|getNativeSymbolInfo|getOption|getRversion|getSrcLines|getTaskCallbackNames|gettextf??|getwd|gl|globalCallingHandlers|globalenv|gregexec|gregexpr|grepl??|grepRaw|grepv|grouping|gsub|gzcon|gzfile|I|iconv|iconvlist|icuGetCollate|icuSetCollate|identical|identity|if|ifelse|Im|importIntoEnv|infoRDS|inherits|integer|interaction|interactive|intersect|intToBits|intToUtf8|inverse\\\\\\\\.rle|invisible|invokeRestart|invokeRestartInteractively|is\\\\\\\\.array|is\\\\\\\\.atomic|is\\\\\\\\.call|is\\\\\\\\.character|is\\\\\\\\.complex|is\\\\\\\\.data\\\\\\\\.frame|is\\\\\\\\.double|is\\\\\\\\.element|is\\\\\\\\.environment|is\\\\\\\\.expression|is\\\\\\\\.factor|is\\\\\\\\.finite|is\\\\\\\\.finite\\\\\\\\.POSIXlt|is\\\\\\\\.function|is\\\\\\\\.infinite|is\\\\\\\\.infinite\\\\\\\\.POSIXlt|is\\\\\\\\.integer|is\\\\\\\\.language|is\\\\\\\\.list|is\\\\\\\\.loaded|is\\\\\\\\.logical|is\\\\\\\\.matrix|is\\\\\\\\.na|is\\\\\\\\.na\\\\\\\\.data\\\\\\\\.frame|is\\\\\\\\.na\\\\\\\\.numeric_version|is\\\\\\\\.na\\\\\\\\.POSIXlt|is\\\\\\\\.name|is\\\\\\\\.nan|is\\\\\\\\.nan\\\\\\\\.POSIXlt|is\\\\\\\\.null|is\\\\\\\\.numeric|is\\\\\\\\.numeric_version|is\\\\\\\\.numeric\\\\\\\\.Date|is\\\\\\\\.numeric\\\\\\\\.difftime|is\\\\\\\\.numeric\\\\\\\\.POSIXt|is\\\\\\\\.object|is\\\\\\\\.ordered|is\\\\\\\\.package_version|is\\\\\\\\.pairlist|is\\\\\\\\.primitive|is\\\\\\\\.qr|is\\\\\\\\.R|is\\\\\\\\.raw|is\\\\\\\\.recursive|is\\\\\\\\.single|is\\\\\\\\.symbol|is\\\\\\\\.table|is\\\\\\\\.unsorted|is\\\\\\\\.vector|isa|isatty|isBaseNamespace|isdebugged|isFALSE|isIncomplete|isNamespace|isNamespaceLoaded|ISOdate|ISOdatetime|isOpen|isRestart|isS4|isSeekable|isSymmetric|isSymmetric\\\\\\\\.matrix|isTRUE|jitter|julian|julian\\\\\\\\.Date|julian\\\\\\\\.POSIXt|kappa|kappa\\\\\\\\.default|kappa\\\\\\\\.lm|kappa\\\\\\\\.qr|kronecker|l10n_info|La_library|La_version|La\\\\\\\\.svd|labels|labels\\\\\\\\.default|lapply|lazyLoad|lazyLoadDBexec|lazyLoadDBfetch|lbeta|lchoose|length|length\\\\\\\\.POSIXlt|lengths|levels|levels\\\\\\\\.default|lfactorial|lgamma|libcurlVersion|library|library\\\\\\\\.dynam|library\\\\\\\\.dynam\\\\\\\\.unload|licence|license|list|list\\\\\\\\.dirs|list\\\\\\\\.files|list2DF|list2env|load|loadedNamespaces|loadingNamespaceInfo|loadNamespace|local|lockBinding|lockEnvironment|log|log10|log1p|log2|logb|logical|lower\\\\\\\\.tri|ls|make\\\\\\\\.names|make\\\\\\\\.unique|makeActiveBinding|Map|mapply|margin\\\\\\\\.table|marginSums|mat\\\\\\\\.or\\\\\\\\.vec|match|match\\\\\\\\.arg|match\\\\\\\\.call|match\\\\\\\\.fun|Math\\\\\\\\.data\\\\\\\\.frame|Math\\\\\\\\.Date|Math\\\\\\\\.difftime|Math\\\\\\\\.factor|Math\\\\\\\\.POSIXt|matrix|max|max\\\\\\\\.col|mean|mean\\\\\\\\.Date|mean\\\\\\\\.default|mean\\\\\\\\.difftime|mean\\\\\\\\.POSIXct|mean\\\\\\\\.POSIXlt|mem\\\\\\\\.maxNSize|mem\\\\\\\\.maxVSize|memCompress|memDecompress|memory\\\\\\\\.profile|merge|merge\\\\\\\\.data\\\\\\\\.frame|merge\\\\\\\\.default|message|mget|min|missing|Mod|mode|months|months\\\\\\\\.Date|months\\\\\\\\.POSIXt|mtfrm|mtfrm\\\\\\\\.default|mtfrm\\\\\\\\.POSIXct|mtfrm\\\\\\\\.POSIXlt|nameOfClass|nameOfClass\\\\\\\\.default|names|names\\\\\\\\.POSIXlt|namespaceExport|namespaceImport|namespaceImportClasses|namespaceImportFrom|namespaceImportMethods|nargs|nchar|ncol|NCOL|Negate|new\\\\\\\\.env|next|NextMethod|ngettext|nlevels|noquote|norm|normalizePath|nrow|NROW|nullfile|numeric|numeric_version|numToBits|numToInts|nzchar|objects|oldClass|OlsonNames|on\\\\\\\\.exit|open|open\\\\\\\\.connection|open\\\\\\\\.srcfile|open\\\\\\\\.srcfilealias|open\\\\\\\\.srcfilecopy|Ops\\\\\\\\.data\\\\\\\\.frame|Ops\\\\\\\\.Date|Ops\\\\\\\\.difftime|Ops\\\\\\\\.factor|Ops\\\\\\\\.numeric_version|Ops\\\\\\\\.ordered|Ops\\\\\\\\.POSIXt|options|order|ordered|outer|package_version|packageEvent|packageHasNamespace|packageNotFoundError|packageStartupMessage|packBits|pairlist|parent\\\\\\\\.env|parent\\\\\\\\.frame|parse|parseNamespaceFile|paste0??|path\\\\\\\\.expand|path\\\\\\\\.package|pcre_config|pipe|plot|pmatch|pmax|pmax\\\\\\\\.int|pmin|pmin\\\\\\\\.int|polyroot|pos\\\\\\\\.to\\\\\\\\.env|Position|pretty|pretty\\\\\\\\.default|prettyNum|print|print\\\\\\\\.AsIs|print\\\\\\\\.by|print\\\\\\\\.condition|print\\\\\\\\.connection|print\\\\\\\\.data\\\\\\\\.frame|print\\\\\\\\.Date|print\\\\\\\\.default|print\\\\\\\\.difftime|print\\\\\\\\.Dlist|print\\\\\\\\.DLLInfo|print\\\\\\\\.DLLInfoList|print\\\\\\\\.DLLRegisteredRoutines|print\\\\\\\\.eigen|print\\\\\\\\.factor|print\\\\\\\\.function|print\\\\\\\\.hexmode|print\\\\\\\\.libraryIQR|print\\\\\\\\.listof|print\\\\\\\\.NativeRoutineList|print\\\\\\\\.noquote|print\\\\\\\\.numeric_version|print\\\\\\\\.octmode|print\\\\\\\\.packageInfo|print\\\\\\\\.POSIXct|print\\\\\\\\.POSIXlt|print\\\\\\\\.proc_time|print\\\\\\\\.restart|print\\\\\\\\.rle|print\\\\\\\\.simple\\\\\\\\.list|print\\\\\\\\.srcfile|print\\\\\\\\.srcref|print\\\\\\\\.summary\\\\\\\\.table|print\\\\\\\\.summary\\\\\\\\.warnings|print\\\\\\\\.summaryDefault|print\\\\\\\\.table|print\\\\\\\\.warnings|prmatrix|proc\\\\\\\\.time|prod|prop\\\\\\\\.table|proportions|provideDimnames|psigamma|pushBack|pushBackLength|qr??|qr\\\\\\\\.coef|qr\\\\\\\\.default|qr\\\\\\\\.fitted|qr\\\\\\\\.Q|qr\\\\\\\\.qty|qr\\\\\\\\.qy|qr\\\\\\\\.R|qr\\\\\\\\.resid|qr\\\\\\\\.solve|qr\\\\\\\\.X|quarters|quarters\\\\\\\\.Date|quarters\\\\\\\\.POSIXt|quit|quote|R_compiled_by|R_system_version|R\\\\\\\\.home|R\\\\\\\\.Version|range|range\\\\\\\\.Date|range\\\\\\\\.default|range\\\\\\\\.POSIXct|rank|rapply|raw|rawConnection|rawConnectionValue|rawShift|rawToBits|rawToChar|rbind|rbind\\\\\\\\.data\\\\\\\\.frame|rcond|Re|read\\\\\\\\.dcf|readBin|readChar|readline|readLines|readRDS|readRenviron|Recall|Reduce|reg\\\\\\\\.finalizer|regexec|regexpr|registerS3methods??|regmatches|remove|removeTaskCallback|rep|rep_len|rep\\\\\\\\.Date|rep\\\\\\\\.difftime|rep\\\\\\\\.factor|rep\\\\\\\\.int|rep\\\\\\\\.numeric_version|rep\\\\\\\\.POSIXct|rep\\\\\\\\.POSIXlt|repeat|replace|replicate|require|requireNamespace|restartDescription|restartFormals|retracemem|return|returnValue|rev|rev\\\\\\\\.default|rle|rm|RNGkind|RNGversion|round|round\\\\\\\\.Date|round\\\\\\\\.POSIXt|row|row\\\\\\\\.names|row\\\\\\\\.names\\\\\\\\.data\\\\\\\\.frame|row\\\\\\\\.names\\\\\\\\.default|rowMeans|rownames|rowsum|rowsum\\\\\\\\.data\\\\\\\\.frame|rowsum\\\\\\\\.default|rowSums|sample|sample\\\\\\\\.int|sapply|save|save\\\\\\\\.image|saveRDS|scale|scale\\\\\\\\.default|scan|search|searchpaths|seek|seek\\\\\\\\.connection|seq|seq_along|seq_len|seq\\\\\\\\.Date|seq\\\\\\\\.default|seq\\\\\\\\.int|seq\\\\\\\\.POSIXt|sequence|sequence\\\\\\\\.default|serialize|serverSocket|set\\\\\\\\.seed|setdiff|setequal|setHook|setNamespaceInfo|setSessionTimeLimit|setTimeLimit|setwd|showConnections|shQuote|sign|signalCondition|signif|simpleCondition|simpleError|simpleMessage|simpleWarning|simplify2array|sin|single|sinh|sink|sink\\\\\\\\.number|sinpi|slice\\\\\\\\.index|socketAccept|socketConnection|socketSelect|socketTimeout|solve|solve\\\\\\\\.default|solve\\\\\\\\.qr|sort|sort_by|sort_by\\\\\\\\.data\\\\\\\\.frame|sort_by\\\\\\\\.default|sort\\\\\\\\.default|sort\\\\\\\\.int|sort\\\\\\\\.list|sort\\\\\\\\.POSIXlt|source|split|split\\\\\\\\.data\\\\\\\\.frame|split\\\\\\\\.Date|split\\\\\\\\.default|split\\\\\\\\.POSIXct|sprintf|sqrt|sQuote|srcfile|srcfilealias|srcfilecopy|srcref|standardGeneric|startsWith|stderr|stdin|stdout|stop|stopifnot|storage\\\\\\\\.mode|str2expression|str2lang|strftime|strptime|strrep|strsplit|strtoi|strtrim|structure|strwrap|sub|subset|subset\\\\\\\\.data\\\\\\\\.frame|subset\\\\\\\\.default|subset\\\\\\\\.matrix|substitute|substr|substring|sum|summary|summary\\\\\\\\.connection|summary\\\\\\\\.data\\\\\\\\.frame|Summary\\\\\\\\.data\\\\\\\\.frame|summary\\\\\\\\.Date|Summary\\\\\\\\.Date|summary\\\\\\\\.default|summary\\\\\\\\.difftime|Summary\\\\\\\\.difftime|summary\\\\\\\\.factor|Summary\\\\\\\\.factor|summary\\\\\\\\.matrix|Summary\\\\\\\\.numeric_version|Summary\\\\\\\\.ordered|summary\\\\\\\\.POSIXct|Summary\\\\\\\\.POSIXct|summary\\\\\\\\.POSIXlt|Summary\\\\\\\\.POSIXlt|summary\\\\\\\\.proc_time|summary\\\\\\\\.srcfile|summary\\\\\\\\.srcref|summary\\\\\\\\.table|summary\\\\\\\\.warnings|suppressMessages|suppressPackageStartupMessages|suppressWarnings|suspendInterrupts|svd|sweep|switch|sys\\\\\\\\.calls??|Sys\\\\\\\\.chmod|Sys\\\\\\\\.Date|sys\\\\\\\\.frames??|sys\\\\\\\\.function|Sys\\\\\\\\.getenv|Sys\\\\\\\\.getlocale|Sys\\\\\\\\.getpid|Sys\\\\\\\\.glob|Sys\\\\\\\\.info|sys\\\\\\\\.load\\\\\\\\.image|Sys\\\\\\\\.localeconv|sys\\\\\\\\.nframe|sys\\\\\\\\.on\\\\\\\\.exit|sys\\\\\\\\.parents??|Sys\\\\\\\\.readlink|sys\\\\\\\\.save\\\\\\\\.image|Sys\\\\\\\\.setenv|Sys\\\\\\\\.setFileTime|Sys\\\\\\\\.setLanguage|Sys\\\\\\\\.setlocale|Sys\\\\\\\\.sleep|sys\\\\\\\\.source|sys\\\\\\\\.status|Sys\\\\\\\\.time|Sys\\\\\\\\.timezone|Sys\\\\\\\\.umask|Sys\\\\\\\\.unsetenv|Sys\\\\\\\\.which|system|system\\\\\\\\.file|system\\\\\\\\.time|system2|t|t\\\\\\\\.data\\\\\\\\.frame|t\\\\\\\\.default|table|tabulate|Tailcall|tanh??|tanpi|tapply|taskCallbackManager|tcrossprod|tempdir|tempfile|textConnection|textConnectionValue|tolower|topenv|toString|toString\\\\\\\\.default|toupper|trace|traceback|tracemem|tracingState|transform|transform\\\\\\\\.data\\\\\\\\.frame|transform\\\\\\\\.default|trigamma|trimws|trunc|trunc\\\\\\\\.Date|trunc\\\\\\\\.POSIXt|truncate|truncate\\\\\\\\.connection|try|tryCatch|tryInvokeRestart|typeof|unCfillPOSIXlt|unclass|undebug|union|unique|unique\\\\\\\\.array|unique\\\\\\\\.data\\\\\\\\.frame|unique\\\\\\\\.default|unique\\\\\\\\.matrix|unique\\\\\\\\.numeric_version|unique\\\\\\\\.POSIXlt|unique\\\\\\\\.warnings|units|units\\\\\\\\.difftime|unix\\\\\\\\.time|unlink|unlist|unloadNamespace|unlockBinding|unname|unserialize|unsplit|untrace|untracemem|unz|upper\\\\\\\\.tri|url|use|UseMethod|utf8ToInt|validEnc|validUTF8|vapply|vector|Vectorize|warning|warningCondition|warnings|weekdays|weekdays\\\\\\\\.Date|weekdays\\\\\\\\.POSIXt|which|which\\\\\\\\.max|which\\\\\\\\.min|while|with|with\\\\\\\\.default|withAutoprint|withCallingHandlers|within|within\\\\\\\\.data\\\\\\\\.frame|within\\\\\\\\.list|withRestarts|withVisible|write|write\\\\\\\\.dcf|writeBin|writeChar|writeLines|xor|xpdrows\\\\\\\\.data\\\\\\\\.frame|xtfrm|xtfrm\\\\\\\\.AsIs|xtfrm\\\\\\\\.data\\\\\\\\.frame|xtfrm\\\\\\\\.Date|xtfrm\\\\\\\\.default|xtfrm\\\\\\\\.difftime|xtfrm\\\\\\\\.factor|xtfrm\\\\\\\\.numeric_version|xtfrm\\\\\\\\.POSIXct|xtfrm\\\\\\\\.POSIXlt|xzfile|zapsmall|zstdfile)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.namespace.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:(graphics)(::))?(abline|arrows|assocplot|axis|Axis|axis\\\\\\\\.Date|Axis\\\\\\\\.Date|Axis\\\\\\\\.default|axis\\\\\\\\.POSIXct|Axis\\\\\\\\.POSIXt|Axis\\\\\\\\.table|axTicks|barplot|barplot\\\\\\\\.default|barplot\\\\\\\\.formula|box|boxplot|boxplot\\\\\\\\.default|boxplot\\\\\\\\.formula|boxplot\\\\\\\\.matrix|bxp|cdplot|cdplot\\\\\\\\.default|cdplot\\\\\\\\.formula|clip|close\\\\\\\\.screen|co\\\\\\\\.intervals|contour|contour\\\\\\\\.default|coplot|curve|dotchart|erase\\\\\\\\.screen|extendDateTimeFormat|filled\\\\\\\\.contour|fourfoldplot|frame|grconvertX|grconvertY|grid|hist|hist\\\\\\\\.Date|hist\\\\\\\\.default|hist\\\\\\\\.POSIXt|identify|identify\\\\\\\\.default|image|image\\\\\\\\.default|layout|layout\\\\\\\\.show|lcm|legend|lines|lines\\\\\\\\.default|lines\\\\\\\\.formula|lines\\\\\\\\.histogram|lines\\\\\\\\.table|locator|matlines|matplot|matpoints|mosaicplot|mosaicplot\\\\\\\\.default|mosaicplot\\\\\\\\.formula|mtext|pairs|pairs\\\\\\\\.default|pairs\\\\\\\\.formula|panel\\\\\\\\.smooth|par|persp|persp\\\\\\\\.default|pie|piechart|plot\\\\\\\\.data\\\\\\\\.frame|plot\\\\\\\\.default|plot\\\\\\\\.design|plot\\\\\\\\.factor|plot\\\\\\\\.formula|plot\\\\\\\\.function|plot\\\\\\\\.histogram|plot\\\\\\\\.new|plot\\\\\\\\.raster|plot\\\\\\\\.table|plot\\\\\\\\.window|plot\\\\\\\\.xy|plotHclust|points|points\\\\\\\\.default|points\\\\\\\\.formula|points\\\\\\\\.table|polygon|polypath|rasterImage|rect|rug|screen|segments|smoothScatter|spineplot|spineplot\\\\\\\\.default|spineplot\\\\\\\\.formula|split\\\\\\\\.screen|stars|stem|strheight|stripchart|stripchart\\\\\\\\.default|stripchart\\\\\\\\.formula|strwidth|sunflowerplot|sunflowerplot\\\\\\\\.default|sunflowerplot\\\\\\\\.formula|symbols|text|text\\\\\\\\.default|text\\\\\\\\.formula|title|xinch|xspline|xyinch|yinch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.namespace.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:(grDevices)(::))?(adjustcolor|anyNA\\\\\\\\.raster|as\\\\\\\\.graphicsAnnot|as\\\\\\\\.matrix\\\\\\\\.raster|as\\\\\\\\.raster|as\\\\\\\\.raster\\\\\\\\.array|as\\\\\\\\.raster\\\\\\\\.character|as\\\\\\\\.raster\\\\\\\\.logical|as\\\\\\\\.raster\\\\\\\\.matrix|as\\\\\\\\.raster\\\\\\\\.numeric|as\\\\\\\\.raster\\\\\\\\.raster|as\\\\\\\\.raster\\\\\\\\.raw|axisTicks|bitmap|bmp|boxplot\\\\\\\\.stats|c2to3|cairo_pdf|cairo_ps|cairoFT|cairoSymbolFont|cairoVersion|check_gs_type|check\\\\\\\\.options|checkFont|checkFont\\\\\\\\.CIDFont|checkFont\\\\\\\\.default|checkFont\\\\\\\\.Type1Font|checkFontInUse|checkIntFormat|checkQuartzFont|checkSymbolFont|checkX11Font|chromaticAdaptation|chull|CIDFont|cm|cm\\\\\\\\.colors|col2rgb|colorConverter|colorRamp|colorRampPalette|colors|colours|comparePangoVersion|contourLines|convertColor|densCols|dev\\\\\\\\.capabilities|dev\\\\\\\\.capture|dev\\\\\\\\.control|dev\\\\\\\\.copy|dev\\\\\\\\.copy2eps|dev\\\\\\\\.copy2pdf|dev\\\\\\\\.cur|dev\\\\\\\\.displaylist|dev\\\\\\\\.flush|dev\\\\\\\\.hold|dev\\\\\\\\.interactive|dev\\\\\\\\.list|dev\\\\\\\\.new|dev\\\\\\\\.next|dev\\\\\\\\.off|dev\\\\\\\\.prev|dev\\\\\\\\.print|dev\\\\\\\\.set|dev\\\\\\\\.size|dev2bitmap|devAskNewPage|deviceIsInteractive|embedFonts|embedGlyphs|extendrange|getGraphicsEvent|getGraphicsEventEnv|glyphAnchor|glyphFont|glyphFontList|glyphHeight|glyphHeightBottom|glyphInfo|glyphJust|glyphJust\\\\\\\\.character|glyphJust\\\\\\\\.GlyphJust|glyphJust\\\\\\\\.numeric|glyphWidth|glyphWidthLeft|graphics\\\\\\\\.off|gray|gray\\\\\\\\.colors|grey|grey\\\\\\\\.colors|grSoftVersion|guessEncoding|hcl|hcl\\\\\\\\.colors|hcl\\\\\\\\.pals|heat\\\\\\\\.colors|hsv|initPSandPDFfonts|invertStyle|is\\\\\\\\.na\\\\\\\\.raster|is\\\\\\\\.raster|isPDF|jpeg|make\\\\\\\\.rgb|mapCharWeight|mapStyle|mapWeight|matchEncoding|matchEncoding\\\\\\\\.CIDFont|matchEncoding\\\\\\\\.Type1Font|matchFont|n2mfrow|nclass\\\\\\\\.FD|nclass\\\\\\\\.scott|nclass\\\\\\\\.Sturges|Ops\\\\\\\\.raster|optionSymbolFont|palette|palette\\\\\\\\.colors|palette\\\\\\\\.match|palette\\\\\\\\.pals|pangoVersion|pattern|pdf|pdf\\\\\\\\.options|pdfFonts|pictex|png|postscript|postscriptFonts|pow3|prettyDate|print\\\\\\\\.colorConverter|print\\\\\\\\.raster|print\\\\\\\\.recordedplot|print\\\\\\\\.RGBcolorConverter|print\\\\\\\\.RGlyphFont|printFont|printFont\\\\\\\\.CIDFont|printFont\\\\\\\\.Type1Font|printFonts|ps\\\\\\\\.options|quartz|quartz\\\\\\\\.options|quartz\\\\\\\\.save|quartzFonts??|rainbow|recordGraphics|recordPalette|recordPlot|replayPlot|restoreRecordedPlot|rgb|rgb2hsv|RGBcolorConverter|savePlot|seqDtime|setEPS|setFonts|setGraphicsEventEnv|setGraphicsEventHandlers|setPS|setQuartzFonts|setX11Fonts|svg|symbolfamilyDefault|symbolType1support|terrain\\\\\\\\.colors|tiff|topo\\\\\\\\.colors|trans3d|trunc_POSIXt|Type1Font|vectorizeConverter|warnLogCoords|x11|X11|X11\\\\\\\\.options|X11Font|X11FontError|X11Fonts|xfig|xy\\\\\\\\.coords|xyTable|xyz\\\\\\\\.coords)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.namespace.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:(methods)(::))?(addNextMethod|allNames|Arith|as|asMethodDefinition|assignClassDef|assignMethodsMetaData|balanceMethodsList|bind_activation|cacheGenericsMetaData|cacheMetaData|cacheMethod|cacheOnAssign|callGeneric|callNextMethod|canCoerce|cbind2??|checkAtAssignment|checkSlotAssignment|classesToAM|classGeneratorFunction|classLabel|classMetaName|className|coerce|Compare|completeClassDefinition|completeExtends|completeSubclasses|Complex|conformMethod|defaultDumpName|defaultPrototype|dispatchIsInternal|doPrimitiveMethod|dumpMethods??|el|elNamed|empty\\\\\\\\.dump|emptyMethodsList|envRefInferField|envRefSetField|evalOnLoad|evalqOnLoad|evalSource|existsFunction|existsMethod|extends|externalRefMethod|finalDefaultMethod|findClass|findFunction|findMethods??|findMethodSignatures|findUnique|fixPre1\\\\\\\\.8|formalArgs|fromNextMethod|functionBody|generic\\\\\\\\.skeleton|genericForBasic|getAllSuperClasses|getClass|getClassDef|getClasses|getDataPart|getFunction|getGeneric|getGenericFromCall|getGenerics|getGroup|getGroupMembers|getLoadActions|getMethods??|getMethodsAndAccessors|getMethodsForDispatch|getMethodsMetaData|getPackageName|getRefClass|getRefSuperClasses|getSlots|getValidity|hasArg|hasLoadAction|hasMethods??|implicitGeneric|inBasicFuns|inferProperties|inheritedSlotNames|inheritedSubMethodLists|initFieldArgs|initialize|initMethodDispatch|initRefFields|insertClassMethods|insertMethod|insertMethodInEmptyList|insertSource|installClassMethod|is|isBaseFun|isClass|isClassDef|isClassUnion|isGeneric|isGrammarSymbol|isGroup|isMixin|isRematched|isS3Generic|isSealedClass|isSealedMethod|isVirtualClass|isXS3Class|kronecker|languageEl|listFromMethods|loadMethod|Logic|makeClassMethod|makeClassRepresentation|makeEnvRefMethods|makeExtends|makeGeneric|makeMethodsList|makePrototypeFromClassDef|makeStandardGeneric|matchDefaults|matchSignature|Math2??|matrixOps|mergeMethods|metaNameUndo|method\\\\\\\\.skeleton|MethodAddCoerce|methodSignatureMatrix|MethodsList|MethodsListSelect|methodsPackageMetaName|missingArg|multipleClasses|new|newBasic|newClassRepresentation|newEmptyObject|Ops|outerLabels|packageSlot|possibleExtends|printClassRepresentation|printPropertiesList|prohibitGeneric|promptClass|promptMethods|prototype|Quote|rbind2??|reconcilePropertiesAndPrototype|refClassFields|refClassInformation|refClassMethods|refClassPrompt|refObjectClass|registerImplicitGenerics|rematchDefinition|removeClass|removeGeneric|removeMethods??|representation|requireMethods|resetClass|resetGeneric|S3Class|S3forS4Methods|S3Part|sealClass|selectMethod|selectSuperClasses|setAs|setCacheOnAssign|setClass|setClassUnion|setDataPart|setGeneric|setGenericImplicit|setGroupGeneric|setIs|setLoadActions??|setMethod|setNames|setOldClass|setPackageName|setPackageSlot|setPrimitiveMethods|setRefClass|setReplaceMethod|setValidity|show|showClass|showClassMethod|showDefault|showExtends|showExtraSlots|showMethods|showRefClassDef|signature|SignatureMethod|sigToEnv|slot|slotNames|slotsFromS3|substituteDirect|substituteFunctionArgs|Summary|superClassDepth|superClassMethodName|tableNames|testInheritedMethods|testVirtual|tryNew|unRematchDefinition|useMTable|validObject|validSlotNames)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.namespace.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:(stats)(::))?(acf|acf2AR|add\\\\\\\\.scope|add1|add1\\\\\\\\.default|add1\\\\\\\\.glm|add1\\\\\\\\.lm|add1\\\\\\\\.mlm|addmargins|aggregate|aggregate\\\\\\\\.data\\\\\\\\.frame|aggregate\\\\\\\\.default|aggregate\\\\\\\\.formula|aggregate\\\\\\\\.ts|AIC|AIC\\\\\\\\.default|AIC\\\\\\\\.logLik|alias|alias\\\\\\\\.formula|alias\\\\\\\\.lm|anova|anova\\\\\\\\.glm|anova\\\\\\\\.glmlist|anova\\\\\\\\.lm|anova\\\\\\\\.lmlist|anova\\\\\\\\.loess|anova\\\\\\\\.mlm|anova\\\\\\\\.mlmlist|anova\\\\\\\\.nls|anovalist\\\\\\\\.nls|ansari\\\\\\\\.test|ansari\\\\\\\\.test\\\\\\\\.default|ansari\\\\\\\\.test\\\\\\\\.formula|aov|approx|approxfun|ar|ar\\\\\\\\.burg|ar\\\\\\\\.burg\\\\\\\\.default|ar\\\\\\\\.burg\\\\\\\\.mts|ar\\\\\\\\.mle|ar\\\\\\\\.ols|ar\\\\\\\\.yw|ar\\\\\\\\.yw\\\\\\\\.default|ar\\\\\\\\.yw\\\\\\\\.mts|arima|arima\\\\\\\\.sim|arima0|arima0\\\\\\\\.diag|ARMAacf|ARMAtoMA|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.aovproj|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.ftable|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.logLik|as\\\\\\\\.dendrogram|as\\\\\\\\.dendrogram\\\\\\\\.dendrogram|as\\\\\\\\.dendrogram\\\\\\\\.hclust|as\\\\\\\\.dist|as\\\\\\\\.dist\\\\\\\\.default|as\\\\\\\\.formula|as\\\\\\\\.hclust|as\\\\\\\\.hclust\\\\\\\\.default|as\\\\\\\\.hclust\\\\\\\\.dendrogram|as\\\\\\\\.hclust\\\\\\\\.twins|as\\\\\\\\.matrix\\\\\\\\.dist|as\\\\\\\\.matrix\\\\\\\\.ftable|as\\\\\\\\.stepfun|as\\\\\\\\.stepfun\\\\\\\\.default|as\\\\\\\\.stepfun\\\\\\\\.isoreg|as\\\\\\\\.table\\\\\\\\.ftable|as\\\\\\\\.ts|as\\\\\\\\.ts\\\\\\\\.default|asOneSidedFormula|assert_NULL_or_prob|ave|bandwidth\\\\\\\\.kernel|bartlett\\\\\\\\.test|bartlett\\\\\\\\.test\\\\\\\\.default|bartlett\\\\\\\\.test\\\\\\\\.formula|BIC|BIC\\\\\\\\.default|BIC\\\\\\\\.logLik|binom\\\\\\\\.test|binomial|binomInitialize|biplot|biplot\\\\\\\\.default|biplot\\\\\\\\.prcomp|biplot\\\\\\\\.princomp|Box\\\\\\\\.test|bw_pair_cnts|bw\\\\\\\\.bcv|bw\\\\\\\\.nrd0??|bw\\\\\\\\.SJ|bw\\\\\\\\.ucv|C|cancor|case\\\\\\\\.names|case\\\\\\\\.names\\\\\\\\.default|case\\\\\\\\.names\\\\\\\\.lm|cbind\\\\\\\\.ts|ccf|check_exact|chisq\\\\\\\\.test|cmdscale|coef|coef\\\\\\\\.aov|coef\\\\\\\\.Arima|coef\\\\\\\\.default|coef\\\\\\\\.listof|coef\\\\\\\\.maov|coef\\\\\\\\.nls|coefficients|complete\\\\\\\\.cases|confint|confint\\\\\\\\.default|confint\\\\\\\\.glm|confint\\\\\\\\.lm|confint\\\\\\\\.nls|confint\\\\\\\\.profile\\\\\\\\.glm|confint\\\\\\\\.profile\\\\\\\\.nls|constrOptim|contr\\\\\\\\.helmert|contr\\\\\\\\.poly|contr\\\\\\\\.SAS|contr\\\\\\\\.sum|contr\\\\\\\\.treatment|contrasts|convolve|cooks\\\\\\\\.distance|cooks\\\\\\\\.distance\\\\\\\\.glm|cooks\\\\\\\\.distance\\\\\\\\.lm|cophenetic|cophenetic\\\\\\\\.default|cophenetic\\\\\\\\.dendrogram|cor|cor\\\\\\\\.test|cor\\\\\\\\.test\\\\\\\\.default|cor\\\\\\\\.test\\\\\\\\.formula|cov|cov\\\\\\\\.wt|cov2cor|covratio|cpgram|cut\\\\\\\\.dendrogram|cutree|cycle|cycle\\\\\\\\.default|cycle\\\\\\\\.ts|D|dbeta|dbinom|dcauchy|dchisq|decompose|delete\\\\\\\\.response|deltat|deltat\\\\\\\\.default|dendrapply|density|density\\\\\\\\.default|deparse2|deriv|deriv\\\\\\\\.default|deriv\\\\\\\\.formula|deriv3|deriv3\\\\\\\\.default|deriv3\\\\\\\\.formula|deviance|deviance\\\\\\\\.default|deviance\\\\\\\\.glm|deviance\\\\\\\\.lm|deviance\\\\\\\\.mlm|deviance\\\\\\\\.nls|dexp|df|df\\\\\\\\.kernel|df\\\\\\\\.residual|df\\\\\\\\.residual\\\\\\\\.default|df\\\\\\\\.residual\\\\\\\\.nls|DF2formula|dfbeta|dfbeta\\\\\\\\.lm|dfbetas|dfbetas\\\\\\\\.lm|dffits|dgamma|dgeom|dhyper|diff\\\\\\\\.ts|diffinv|diffinv\\\\\\\\.default|diffinv\\\\\\\\.ts|diffinv\\\\\\\\.vector|dist|dlnorm|dlogis|dmultinom|dnbinom|dnorm|dpois|drop\\\\\\\\.scope|drop\\\\\\\\.terms|drop1|drop1\\\\\\\\.default|drop1\\\\\\\\.glm|drop1\\\\\\\\.lm|drop1\\\\\\\\.mlm|dsignrank|dt|dummy\\\\\\\\.coef|dummy\\\\\\\\.coef\\\\\\\\.aovlist|dummy\\\\\\\\.coef\\\\\\\\.lm|dunif|dweibull|dwilcox|ecdf|eff\\\\\\\\.aovlist|effects|effects\\\\\\\\.glm|effects\\\\\\\\.lm|embed|end|end\\\\\\\\.default|estVar|estVar\\\\\\\\.mlm|estVar\\\\\\\\.SSD|expand\\\\\\\\.model\\\\\\\\.frame|extractAIC|extractAIC\\\\\\\\.aov|extractAIC\\\\\\\\.coxph|extractAIC\\\\\\\\.glm|extractAIC\\\\\\\\.lm|extractAIC\\\\\\\\.negbin|extractAIC\\\\\\\\.survreg|factanal|factanal\\\\\\\\.fit\\\\\\\\.mle|factor\\\\\\\\.scope|family|family\\\\\\\\.glm|family\\\\\\\\.lm|fft|filter|fisher\\\\\\\\.test|fitted|fitted\\\\\\\\.default|fitted\\\\\\\\.isoreg|fitted\\\\\\\\.kmeans|fitted\\\\\\\\.nls|fitted\\\\\\\\.smooth\\\\\\\\.spline|fitted\\\\\\\\.values|fivenum|fligner\\\\\\\\.test|fligner\\\\\\\\.test\\\\\\\\.default|fligner\\\\\\\\.test\\\\\\\\.formula|format_perc|format\\\\\\\\.dist|format\\\\\\\\.ftable|formula|formula\\\\\\\\.character|formula\\\\\\\\.data\\\\\\\\.frame|formula\\\\\\\\.default|formula\\\\\\\\.formula|formula\\\\\\\\.glm|formula\\\\\\\\.lm|formula\\\\\\\\.nls|formula\\\\\\\\.terms|frequency|frequency\\\\\\\\.default|friedman\\\\\\\\.test|friedman\\\\\\\\.test\\\\\\\\.default|friedman\\\\\\\\.test\\\\\\\\.formula|ftable|ftable\\\\\\\\.default|ftable\\\\\\\\.formula|Gamma|gaussian|get_all_vars|getCall|getCall\\\\\\\\.default|getInitial|getInitial\\\\\\\\.default|getInitial\\\\\\\\.formula|getInitial\\\\\\\\.selfStart|glm|glm\\\\\\\\.control|glm\\\\\\\\.fit|hasTsp|hat|hatvalues|hatvalues\\\\\\\\.lm|hatvalues\\\\\\\\.smooth\\\\\\\\.spline|hclust|head\\\\\\\\.ts|heatmap|HL|HoltWinters|hyman_filter|identify\\\\\\\\.hclust|influence|influence\\\\\\\\.glm|influence\\\\\\\\.lm|influence\\\\\\\\.measures|integrate|interaction\\\\\\\\.plot|inverse\\\\\\\\.gaussian|IQR|is\\\\\\\\.empty\\\\\\\\.model|is\\\\\\\\.leaf|is\\\\\\\\.mts|is\\\\\\\\.stepfun|is\\\\\\\\.ts|is\\\\\\\\.tskernel|isoreg|KalmanForecast|KalmanLike|KalmanRun|KalmanSmooth|kernapply|kernapply\\\\\\\\.default|kernapply\\\\\\\\.ts|kernapply\\\\\\\\.tskernel|kernapply\\\\\\\\.vector|kernel|kmeans|knots|knots\\\\\\\\.stepfun|kruskal\\\\\\\\.test|kruskal\\\\\\\\.test\\\\\\\\.default|kruskal\\\\\\\\.test\\\\\\\\.formula|ks\\\\\\\\.test|ks\\\\\\\\.test\\\\\\\\.default|ks\\\\\\\\.test\\\\\\\\.formula|ksmooth|labels\\\\\\\\.dendrogram|labels\\\\\\\\.dist|labels\\\\\\\\.lm|labels\\\\\\\\.terms|lag|lag\\\\\\\\.default|lag\\\\\\\\.plot|line|lines\\\\\\\\.isoreg|lines\\\\\\\\.stepfun|lines\\\\\\\\.ts|lm|lm\\\\\\\\.fit|lm\\\\\\\\.influence|lm\\\\\\\\.wfit|loadings|loess|loess\\\\\\\\.control|loess\\\\\\\\.smooth|logLik|logLik\\\\\\\\.Arima|logLik\\\\\\\\.glm|logLik\\\\\\\\.lm|logLik\\\\\\\\.logLik|logLik\\\\\\\\.nls|loglin|lowess|ls\\\\\\\\.diag|ls\\\\\\\\.print|lsfit|mad|mahalanobis|make\\\\\\\\.link|make\\\\\\\\.tables\\\\\\\\.aovproj|make\\\\\\\\.tables\\\\\\\\.aovprojlist|makeARIMA|makepredictcall|makepredictcall\\\\\\\\.default|makepredictcall\\\\\\\\.poly|manova|mantelhaen\\\\\\\\.test|mauchly\\\\\\\\.test|mauchly\\\\\\\\.test\\\\\\\\.mlm|mauchly\\\\\\\\.test\\\\\\\\.SSD|mcnemar\\\\\\\\.test|median|median\\\\\\\\.default|medpolish|merge\\\\\\\\.dendrogram|midcache\\\\\\\\.dendrogram|model\\\\\\\\.extract|model\\\\\\\\.frame|model\\\\\\\\.frame\\\\\\\\.aovlist|model\\\\\\\\.frame\\\\\\\\.default|model\\\\\\\\.frame\\\\\\\\.glm|model\\\\\\\\.frame\\\\\\\\.lm|model\\\\\\\\.matrix|model\\\\\\\\.matrix\\\\\\\\.default|model\\\\\\\\.matrix\\\\\\\\.lm|model\\\\\\\\.offset|model\\\\\\\\.response|model\\\\\\\\.tables|model\\\\\\\\.tables\\\\\\\\.aov|model\\\\\\\\.tables\\\\\\\\.aovlist|model\\\\\\\\.weights|monthplot|monthplot\\\\\\\\.default|monthplot\\\\\\\\.stl|monthplot\\\\\\\\.StructTS|monthplot\\\\\\\\.ts|mood\\\\\\\\.test|mood\\\\\\\\.test\\\\\\\\.default|mood\\\\\\\\.test\\\\\\\\.formula|mvfft|na\\\\\\\\.action|na\\\\\\\\.action\\\\\\\\.default|na\\\\\\\\.contiguous|na\\\\\\\\.contiguous\\\\\\\\.default|na\\\\\\\\.exclude|na\\\\\\\\.exclude\\\\\\\\.data\\\\\\\\.frame|na\\\\\\\\.exclude\\\\\\\\.default|na\\\\\\\\.fail|na\\\\\\\\.fail\\\\\\\\.default|na\\\\\\\\.omit|na\\\\\\\\.omit\\\\\\\\.data\\\\\\\\.frame|na\\\\\\\\.omit\\\\\\\\.default|na\\\\\\\\.omit\\\\\\\\.ts|na\\\\\\\\.pass|napredict|napredict\\\\\\\\.default|napredict\\\\\\\\.exclude|naprint|naprint\\\\\\\\.default|naprint\\\\\\\\.exclude|naprint\\\\\\\\.omit|naresid|naresid\\\\\\\\.default|naresid\\\\\\\\.exclude|nextn|nleaves|nlm|nlminb|nls|nls_port_fit|nls\\\\\\\\.control|nlsModel|nlsModel\\\\\\\\.plinear|NLSstAsymptotic|NLSstAsymptotic\\\\\\\\.sortedXyData|NLSstClosestX|NLSstClosestX\\\\\\\\.sortedXyData|NLSstLfAsymptote|NLSstLfAsymptote\\\\\\\\.sortedXyData|NLSstRtAsymptote|NLSstRtAsymptote\\\\\\\\.sortedXyData|nobs|nobs\\\\\\\\.default|nobs\\\\\\\\.dendrogram|nobs\\\\\\\\.glm|nobs\\\\\\\\.lm|nobs\\\\\\\\.logLik|nobs\\\\\\\\.nls|numericDeriv|offset|oneway\\\\\\\\.test|Ops\\\\\\\\.ts|optim|optimHess|optimise|optimize|order\\\\\\\\.dendrogram|p\\\\\\\\.adjust|pacf|pacf\\\\\\\\.default|Pair|pairs\\\\\\\\.profile|pairwise\\\\\\\\.prop\\\\\\\\.test|pairwise\\\\\\\\.t\\\\\\\\.test|pairwise\\\\\\\\.table|pairwise\\\\\\\\.wilcox\\\\\\\\.test|pbeta|pbinom|pbirthday|pcauchy|pchisq|pexp|pf|pgamma|pgeom|phyper|Pillai|pkolmogorov|pkolmogorov_one_asymp|pkolmogorov_one_exact|pkolmogorov_two_asymp|pkolmogorov_two_exact|plclust|plnorm|plogis|plot\\\\\\\\.acf|plot\\\\\\\\.decomposed\\\\\\\\.ts|plot\\\\\\\\.dendrogram|plot\\\\\\\\.density|plot\\\\\\\\.ecdf|plot\\\\\\\\.hclust|plot\\\\\\\\.HoltWinters|plot\\\\\\\\.isoreg|plot\\\\\\\\.lm|plot\\\\\\\\.medpolish|plot\\\\\\\\.mlm|plot\\\\\\\\.ppr|plot\\\\\\\\.prcomp|plot\\\\\\\\.princomp|plot\\\\\\\\.profile|plot\\\\\\\\.profile\\\\\\\\.nls|plot\\\\\\\\.spec|plot\\\\\\\\.spec\\\\\\\\.coherency|plot\\\\\\\\.spec\\\\\\\\.phase|plot\\\\\\\\.stepfun|plot\\\\\\\\.stl|plot\\\\\\\\.ts|plot\\\\\\\\.tskernel|plot\\\\\\\\.TukeyHSD|plotNode|plotNodeLimit|pnbinom|pnorm|pointwise|poisson|poisson\\\\\\\\.test|polym??|port_get_named_v|port_msg|power|power\\\\\\\\.anova\\\\\\\\.test|power\\\\\\\\.prop\\\\\\\\.test|power\\\\\\\\.t\\\\\\\\.test|PP\\\\\\\\.test|ppoints|ppois|ppr|ppr\\\\\\\\.default|ppr\\\\\\\\.formula|prcomp|prcomp\\\\\\\\.default|prcomp\\\\\\\\.formula|predict|predict\\\\\\\\.ar|predict\\\\\\\\.Arima|predict\\\\\\\\.arima0|predict\\\\\\\\.glm|predict\\\\\\\\.HoltWinters|predict\\\\\\\\.lm|predict\\\\\\\\.loess|predict\\\\\\\\.mlm|predict\\\\\\\\.nls|predict\\\\\\\\.poly|predict\\\\\\\\.ppr|predict\\\\\\\\.prcomp|predict\\\\\\\\.princomp|predict\\\\\\\\.smooth\\\\\\\\.spline|predict\\\\\\\\.smooth\\\\\\\\.spline\\\\\\\\.fit|predict\\\\\\\\.StructTS|predLoess|preplot|princomp|princomp\\\\\\\\.default|princomp\\\\\\\\.formula|print\\\\\\\\.acf|print\\\\\\\\.anova|print\\\\\\\\.aov|print\\\\\\\\.aovlist|print\\\\\\\\.ar|print\\\\\\\\.Arima|print\\\\\\\\.arima0|print\\\\\\\\.dendrogram|print\\\\\\\\.density|print\\\\\\\\.dist|print\\\\\\\\.dummy_coef|print\\\\\\\\.dummy_coef_list|print\\\\\\\\.ecdf|print\\\\\\\\.factanal|print\\\\\\\\.family|print\\\\\\\\.formula|print\\\\\\\\.ftable|print\\\\\\\\.glm|print\\\\\\\\.hclust|print\\\\\\\\.HoltWinters|print\\\\\\\\.htest|print\\\\\\\\.infl|print\\\\\\\\.integrate|print\\\\\\\\.isoreg|print\\\\\\\\.kmeans|print\\\\\\\\.lm|print\\\\\\\\.loadings|print\\\\\\\\.loess|print\\\\\\\\.logLik|print\\\\\\\\.medpolish|print\\\\\\\\.mtable|print\\\\\\\\.nls|print\\\\\\\\.pairwise\\\\\\\\.htest|print\\\\\\\\.power\\\\\\\\.htest|print\\\\\\\\.ppr|print\\\\\\\\.prcomp|print\\\\\\\\.princomp|print\\\\\\\\.smooth\\\\\\\\.spline|print\\\\\\\\.stepfun|print\\\\\\\\.stl|print\\\\\\\\.StructTS|print\\\\\\\\.summary\\\\\\\\.aov|print\\\\\\\\.summary\\\\\\\\.aovlist|print\\\\\\\\.summary\\\\\\\\.ecdf|print\\\\\\\\.summary\\\\\\\\.glm|print\\\\\\\\.summary\\\\\\\\.lm|print\\\\\\\\.summary\\\\\\\\.loess|print\\\\\\\\.summary\\\\\\\\.manova|print\\\\\\\\.summary\\\\\\\\.nls|print\\\\\\\\.summary\\\\\\\\.ppr|print\\\\\\\\.summary\\\\\\\\.prcomp|print\\\\\\\\.summary\\\\\\\\.princomp|print\\\\\\\\.tables_aov|print\\\\\\\\.terms|print\\\\\\\\.ts|print\\\\\\\\.tskernel|print\\\\\\\\.TukeyHSD|print\\\\\\\\.tukeyline|print\\\\\\\\.tukeysmooth|print\\\\\\\\.xtabs|printCoefmat|profile|profile\\\\\\\\.glm|profile\\\\\\\\.nls|profiler|profiler\\\\\\\\.nls|proj|Proj|proj\\\\\\\\.aov|proj\\\\\\\\.aovlist|proj\\\\\\\\.default|proj\\\\\\\\.lm|promax|prop\\\\\\\\.test|prop\\\\\\\\.trend\\\\\\\\.test|psignrank|psmirnov|psmirnov_asymp|psmirnov_exact|psmirnov_simul|pt|ptukey|punif|pweibull|pwilcox|qbeta|qbinom|qbirthday|qcauchy|qchisq|qexp|qf|qgamma|qgeom|qhyper|qlnorm|qlogis|qnbinom|qnorm|qpois|qqline|qqnorm|qqnorm\\\\\\\\.default|qqplot|qr\\\\\\\\.influence|qr\\\\\\\\.lm|qsignrank|qsmirnov|qt|qtukey|quade\\\\\\\\.test|quade\\\\\\\\.test\\\\\\\\.default|quade\\\\\\\\.test\\\\\\\\.formula|quantile|quantile\\\\\\\\.default|quantile\\\\\\\\.ecdf|quantile\\\\\\\\.POSIXt|quasi|quasibinomial|quasipoisson|qunif|qweibull|qwilcox|r2dtable|Rank|rbeta|rbinom|rcauchy|rchisq|read\\\\\\\\.ftable|rect\\\\\\\\.hclust|reformulate|regularize\\\\\\\\.values|relevel|relevel\\\\\\\\.default|relevel\\\\\\\\.factor|relevel\\\\\\\\.ordered|reorder|reorder\\\\\\\\.default|reorder\\\\\\\\.dendrogram|replications|reshape|resid|residuals|residuals\\\\\\\\.default|residuals\\\\\\\\.glm|residuals\\\\\\\\.HoltWinters|residuals\\\\\\\\.isoreg|residuals\\\\\\\\.lm|residuals\\\\\\\\.nls|residuals\\\\\\\\.smooth\\\\\\\\.spline|residuals\\\\\\\\.tukeyline|rev\\\\\\\\.dendrogram|rexp|rf|rgamma|rgeom|rhyper|rlnorm|rlogis|rmultinom|rnbinom|rnorm|Roy|rpois|rsignrank|rsmirnov|rstandard|rstandard\\\\\\\\.glm|rstandard\\\\\\\\.lm|rstudent|rstudent\\\\\\\\.glm|rstudent\\\\\\\\.lm|rt|runif|runmed|rweibull|rwilcox|rWishart|safe_pchisq|safe_pf|scatter\\\\\\\\.smooth|screeplot|screeplot\\\\\\\\.default|sd|se\\\\\\\\.aov|se\\\\\\\\.aovlist|se\\\\\\\\.contrast|se\\\\\\\\.contrast\\\\\\\\.aov|se\\\\\\\\.contrast\\\\\\\\.aovlist|selfStart|selfStart\\\\\\\\.default|selfStart\\\\\\\\.formula|setNames|shapiro\\\\\\\\.test|sigma|sigma\\\\\\\\.default|sigma\\\\\\\\.glm|sigma\\\\\\\\.mlm|simpleLoess|simulate|simulate\\\\\\\\.lm|smooth|smooth\\\\\\\\.spline|smoothEnds|sortedXyData|sortedXyData\\\\\\\\.default|spec\\\\\\\\.ar|spec\\\\\\\\.pgram|spec\\\\\\\\.taper|spectrum|sphericity|spl_coef_conv|spline|splinefunH??|splinefunH0|SSasymp|SSasympOff|SSasympOrig|SSbiexp|SSD|SSD\\\\\\\\.mlm|SSfol|SSfpl|SSgompertz|SSlogis|SSmicmen|SSweibull|start|start\\\\\\\\.default|stat\\\\\\\\.anova|step|stepfun|stl|str\\\\\\\\.dendrogram|str\\\\\\\\.logLik|StructTS|summary\\\\\\\\.aov|summary\\\\\\\\.aovlist|summary\\\\\\\\.ecdf|summary\\\\\\\\.glm|summary\\\\\\\\.infl|summary\\\\\\\\.lm|summary\\\\\\\\.loess|summary\\\\\\\\.manova|summary\\\\\\\\.mlm|summary\\\\\\\\.nls|summary\\\\\\\\.ppr|summary\\\\\\\\.prcomp|summary\\\\\\\\.princomp|summary\\\\\\\\.stepfun|summary\\\\\\\\.stl|summary\\\\\\\\.tukeysmooth|supsmu|symnum|t\\\\\\\\.test|t\\\\\\\\.test\\\\\\\\.default|t\\\\\\\\.test\\\\\\\\.formula|t\\\\\\\\.ts|tail\\\\\\\\.ts|termplot|terms|terms\\\\\\\\.aovlist|terms\\\\\\\\.default|terms\\\\\\\\.formula|terms\\\\\\\\.terms|Thin\\\\\\\\.col|Thin\\\\\\\\.row|time|time\\\\\\\\.default|time\\\\\\\\.ts|toeplitz2??|Tr|ts|ts\\\\\\\\.intersect|ts\\\\\\\\.plot|ts\\\\\\\\.union|tsdiag|tsdiag\\\\\\\\.Arima|tsdiag\\\\\\\\.arima0|tsdiag\\\\\\\\.StructTS|tsp|tsSmooth|tsSmooth\\\\\\\\.StructTS|TukeyHSD|TukeyHSD\\\\\\\\.aov|uniroot|update|update\\\\\\\\.default|update\\\\\\\\.formula|update\\\\\\\\.packageStatus|var|var\\\\\\\\.test|var\\\\\\\\.test\\\\\\\\.default|var\\\\\\\\.test\\\\\\\\.formula|variable\\\\\\\\.names|variable\\\\\\\\.names\\\\\\\\.default|variable\\\\\\\\.names\\\\\\\\.lm|varimax|vcov|vcov\\\\\\\\.aov|vcov\\\\\\\\.Arima|vcov\\\\\\\\.glm|vcov\\\\\\\\.lm|vcov\\\\\\\\.mlm|vcov\\\\\\\\.nls|vcov\\\\\\\\.summary\\\\\\\\.glm|vcov\\\\\\\\.summary\\\\\\\\.lm|weighted\\\\\\\\.mean|weighted\\\\\\\\.mean\\\\\\\\.Date|weighted\\\\\\\\.mean\\\\\\\\.default|weighted\\\\\\\\.mean\\\\\\\\.difftime|weighted\\\\\\\\.mean\\\\\\\\.POSIXct|weighted\\\\\\\\.mean\\\\\\\\.POSIXlt|weighted\\\\\\\\.residuals|weights|weights\\\\\\\\.default|weights\\\\\\\\.glm|weights\\\\\\\\.nls|wilcox\\\\\\\\.test|wilcox\\\\\\\\.test\\\\\\\\.default|wilcox\\\\\\\\.test\\\\\\\\.formula|Wilks|window|window\\\\\\\\.default|window\\\\\\\\.ts|write\\\\\\\\.ftable|xtabs)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.namespace.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:(utils)(::))?(adist|alarm|apropos|aregexec|argNames|argsAnywhere|as\\\\\\\\.bibentry|as\\\\\\\\.bibentry\\\\\\\\.bibentry|as\\\\\\\\.bibentry\\\\\\\\.citation|as\\\\\\\\.character\\\\\\\\.person|as\\\\\\\\.character\\\\\\\\.roman|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.bibentry|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.citation|as\\\\\\\\.data\\\\\\\\.frame\\\\\\\\.person|as\\\\\\\\.environment\\\\\\\\.hashtab|as\\\\\\\\.person|as\\\\\\\\.person\\\\\\\\.default|as\\\\\\\\.personList|as\\\\\\\\.personList\\\\\\\\.default|as\\\\\\\\.personList\\\\\\\\.person|as\\\\\\\\.relistable|as\\\\\\\\.roman|asDateBuilt|askYesNo|aspell|aspell_filter_LaTeX_commands_from_Aspell_tex_filter_info|aspell_filter_LaTeX_worker|aspell_find_dictionaries|aspell_find_program|aspell_inspect_context|aspell_package|aspell_package_C_files|aspell_package_description|aspell_package_pot_files|aspell_package_R_files|aspell_package_Rd_files|aspell_package_vignettes|aspell_query_wiktionary_categories|aspell_R_C_files|aspell_R_manuals|aspell_R_R_files|aspell_R_Rd_files|aspell_R_vignettes|aspell_update_dictionary|aspell_write_personal_dictionary_file|assignInMyNamespace|assignInNamespace|attachedPackageCompletions|available\\\\\\\\.packages|bibentry|blank_out_character_ranges|blank_out_ignores_in_lines|blank_out_regexp_matches|browseEnv|browseURL|browseVignettes|bug\\\\\\\\.report|bug\\\\\\\\.report\\\\\\\\.info|c\\\\\\\\.bibentry|c\\\\\\\\.person|capture\\\\\\\\.output|changedFiles|charClass|check_for_XQuartz|check_screen_device|checkCRAN|checkHT|chooseBioCmirror|chooseCRANmirror|citation|cite|citeNatbib|citEntry|citFooter|citHeader|close\\\\\\\\.socket|close\\\\\\\\.txtProgressBar|clrhash|combn|compareVersion|conformToProto|contrib\\\\\\\\.url|correctFilenameToken|count\\\\\\\\.fields|create\\\\\\\\.post|data|data\\\\\\\\.entry|dataentry|de|de\\\\\\\\.ncols|de\\\\\\\\.restore|de\\\\\\\\.setup|debugcall|debugger|defaultUserAgent|demo|download\\\\\\\\.file|download\\\\\\\\.packages|dump\\\\\\\\.frames|edit|edit\\\\\\\\.data\\\\\\\\.frame|edit\\\\\\\\.default|edit\\\\\\\\.matrix|edit\\\\\\\\.vignette|emacs|example|expr2token|file_test|file\\\\\\\\.edit|fileCompletionPreferred|fileCompletions|fileSnapshot|filter_packages_by_depends_predicates|find|find_files_in_directories|findCRANmirror|findExactMatches|findFuzzyMatches|findGeneric|findLineNum|findMatches|fix|fixInNamespace|flush\\\\\\\\.console|fnLineNum|format\\\\\\\\.aspell|format\\\\\\\\.aspell_inspect_context|format\\\\\\\\.bibentry|format\\\\\\\\.citation|format\\\\\\\\.hashtab|format\\\\\\\\.MethodsFunction|format\\\\\\\\.news_db|format\\\\\\\\.object_size|format\\\\\\\\.person|format\\\\\\\\.roman|formatOL|formatUL|functionArgs|fuzzyApropos|get_parse_data_for_message_strings|getAnywhere|getCRANmirrors|getDependencies|getFromNamespace|gethash|getIsFirstArg|getKnownS3generics|getParseData|getParseText|getRcode|getRcode\\\\\\\\.vignette|getS3method|getSrcByte|getSrcDirectory|getSrcfile|getSrcFilename|getSrcLocation|getSrcref|getTxtProgressBar|glob2rx|globalVariables|hashtab|hasName|head|head\\\\\\\\.array|head\\\\\\\\.default|head\\\\\\\\.ftable|head\\\\\\\\.function|head\\\\\\\\.matrix|help|help\\\\\\\\.request|help\\\\\\\\.search|help\\\\\\\\.start|helpCompletions|history|hsearch_db|hsearch_db_concepts|hsearch_db_keywords|index\\\\\\\\.search|inFunction|install\\\\\\\\.packages|installed\\\\\\\\.packages|is\\\\\\\\.hashtab|is\\\\\\\\.relistable|isBasePkg|isInsideQuotes|isS3method|isS3stdGeneric|keywordCompletions|length\\\\\\\\.hashtab|limitedLabels|loadedPackageCompletions|loadhistory|localeToCharset|ls\\\\\\\\.str|lsf\\\\\\\\.str|macDynLoads|maintainer|make_sysdata_rda|make\\\\\\\\.packages\\\\\\\\.html|make\\\\\\\\.socket|makeRegexpSafe|makeRweaveLatexCodeRunner|makeUserAgent|maphash|matchAvailableTopics|memory\\\\\\\\.limit|memory\\\\\\\\.size|menu|merge_demo_index|merge_vignette_index|methods|mirror2html|modifyList|new\\\\\\\\.packages|news|normalCompletions|nsl|numhash|object\\\\\\\\.size|offline_help_helper|old\\\\\\\\.packages|Ops\\\\\\\\.roman|package\\\\\\\\.skeleton|packageDate|packageDescription|packageName|packageStatus|packageVersion|page|person|personList|pico|print\\\\\\\\.aspell|print\\\\\\\\.aspell_inspect_context|print\\\\\\\\.bibentry|print\\\\\\\\.Bibtex|print\\\\\\\\.browseVignettes|print\\\\\\\\.changedFiles|print\\\\\\\\.citation|print\\\\\\\\.fileSnapshot|print\\\\\\\\.findLineNumResult|print\\\\\\\\.getAnywhere|print\\\\\\\\.hashtab|print\\\\\\\\.help_files_with_topic|print\\\\\\\\.hsearch|print\\\\\\\\.hsearch_db|print\\\\\\\\.Latex|print\\\\\\\\.ls_str|print\\\\\\\\.MethodsFunction|print\\\\\\\\.news_db|print\\\\\\\\.object_size|print\\\\\\\\.packageDescription|print\\\\\\\\.packageIQR|print\\\\\\\\.packageStatus|print\\\\\\\\.person|print\\\\\\\\.roman|print\\\\\\\\.sessionInfo|print\\\\\\\\.socket|print\\\\\\\\.summary\\\\\\\\.packageStatus|print\\\\\\\\.vignette|printhsearchInternal|process\\\\\\\\.events|prompt|prompt\\\\\\\\.data\\\\\\\\.frame|prompt\\\\\\\\.default|promptData|promptImport|promptPackage|rc\\\\\\\\.getOption|rc\\\\\\\\.options|rc\\\\\\\\.settings|rc\\\\\\\\.status|read\\\\\\\\.csv2??|read\\\\\\\\.delim2??|read\\\\\\\\.DIF|read\\\\\\\\.fortran|read\\\\\\\\.fwf|read\\\\\\\\.socket|read\\\\\\\\.table|readCitationFile|recover|registerNames|regquote|relist|relist\\\\\\\\.default|relist\\\\\\\\.factor|relist\\\\\\\\.list|relist\\\\\\\\.matrix|remhash|remove\\\\\\\\.packages|removeSource|rep\\\\\\\\.bibentry|rep\\\\\\\\.person|rep\\\\\\\\.roman|resolvePkgType|Rprof|Rprof_memory_summary|Rprofmem|RShowDoc|RSiteSearch|rtags|rtags\\\\\\\\.file|Rtangle|RtangleFinish|RtangleRuncode|RtangleSetup|RtangleWritedoc|RweaveChunkPrefix|RweaveEvalWithOpt|RweaveLatex|RweaveLatexFinish|RweaveLatexOptions|RweaveLatexRuncode|RweaveLatexSetup|RweaveLatexWritedoc|RweaveTryStop|savehistory|select\\\\\\\\.list|sessionInfo|setBreakpoint|sethash|setIsFirstArg|setRepositories|setTxtProgressBar|shorten\\\\\\\\.to\\\\\\\\.string|simplifyRepos|sort\\\\\\\\.bibentry|specialCompletions|specialFunctionArgs|specialOpCompletionsHelper|specialOpLocs|stack|stack\\\\\\\\.data\\\\\\\\.frame|stack\\\\\\\\.default|Stangle|str|str\\\\\\\\.data\\\\\\\\.frame|str\\\\\\\\.Date|str\\\\\\\\.default|str\\\\\\\\.hashtab|str\\\\\\\\.POSIXt|str2logical|strcapture|strextract|strOptions|strslice|subset\\\\\\\\.news_db|substr_with_tabs|summary\\\\\\\\.aspell|summary\\\\\\\\.packageStatus|Summary\\\\\\\\.roman|summaryRprof|suppressForeignCheck|Sweave|SweaveGetSyntax|SweaveHooks|SweaveParseOptions|SweaveReadFile|SweaveSyntConv|tail|tail\\\\\\\\.array|tail\\\\\\\\.default|tail\\\\\\\\.ftable|tail\\\\\\\\.function|tail\\\\\\\\.matrix|tar|timestamp|toBibtex|toBibtex\\\\\\\\.bibentry|toBibtex\\\\\\\\.person|toLatex|toLatex\\\\\\\\.sessionInfo|toLatexPDlist|topicName|transform\\\\\\\\.bibentry|txtProgressBar|type\\\\\\\\.convert|type\\\\\\\\.convert\\\\\\\\.data\\\\\\\\.frame|type\\\\\\\\.convert\\\\\\\\.default|type\\\\\\\\.convert\\\\\\\\.list|typhash|undebugcall|unique\\\\\\\\.bibentry|unique\\\\\\\\.person|unlist\\\\\\\\.relistable|unstack|unstack\\\\\\\\.data\\\\\\\\.frame|unstack\\\\\\\\.default|untar2??|unzip|update\\\\\\\\.packages|update\\\\\\\\.packageStatus|upgrade|upgrade\\\\\\\\.packageStatus|url\\\\\\\\.show|URLdecode|URLencode|vi|View|vignette|warnErrList|write\\\\\\\\.csv2??|write\\\\\\\\.ctags|write\\\\\\\\.etags|write\\\\\\\\.socket|write\\\\\\\\.table|wsbrowser|xedit|xemacs|zip)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.namespace.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.r\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line.pragma.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.pragma.name.r\\\"}},\\\"match\\\":\\\"^(#pragma[\\\\\\\\t ]+mark)[\\\\\\\\t ](.*)\\\",\\\"name\\\":\\\"comment.line.pragma-mark.r\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.r\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.r\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.r\\\"}]}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(pi|letters|LETTERS|month\\\\\\\\.abb|month\\\\\\\\.name)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.misc.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b(TRUE|FALSE|NULL|NA|NA_integer_|NA_real_|NA_complex_|NA_character_|Inf|NaN)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b0([Xx])\\\\\\\\h+i\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.imaginary.hexadecimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?i\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.imaginary.decimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\.[0-9]+(?:([Ee])([-+])?[0-9]+)?i\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.imaginary.decimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b0([Xx])\\\\\\\\h+L\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?L\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.decimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b0([Xx])\\\\\\\\h+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.hexadecimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\b[0-9]+\\\\\\\\.?[0-9]*(?:([Ee])([-+])?[0-9]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.decimal.r\\\"},{\\\"match\\\":\\\"\\\\\\\\.[0-9]+(?:([Ee])([-+])?[0-9]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.decimal.r\\\"}]},\\\"function-call-arguments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)(?=\\\\\\\\s*=[^=])\\\",\\\"name\\\":\\\"variable.parameter.function-call.r\\\"},{\\\"begin\\\":\\\"(?==)\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.r\\\"},{\\\"include\\\":\\\"source.r\\\"}]},\\\"function-calls\\\":{\\\"begin\\\":\\\"(?:[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]},\\\"function-declarations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\\\\\\s*(<?<-|=(?!=))\\\\\\\\s*\\\\\\\\b(function)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.r\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.r\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.r\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.r\\\"}},\\\"name\\\":\\\"meta.function.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`\\\",\\\"name\\\":\\\"variable.parameter.function.language.r\\\"},{\\\"begin\\\":\\\"(?==)\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.r\\\"}]}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bif\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.control.conditional.if.r\\\"},{\\\"match\\\":\\\"\\\\\\\\belse\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.conditional.else.r\\\"},{\\\"match\\\":\\\"\\\\\\\\bbreak\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.break.r\\\"},{\\\"match\\\":\\\"\\\\\\\\bnext\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.flow.continue.r\\\"},{\\\"match\\\":\\\"\\\\\\\\breturn(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.control.flow.return.r\\\"},{\\\"match\\\":\\\"\\\\\\\\brepeat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.loop.repeat.r\\\"},{\\\"match\\\":\\\"\\\\\\\\bfor\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.control.loop.for.r\\\"},{\\\"match\\\":\\\"\\\\\\\\bwhile\\\\\\\\b(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.control.loop.while.r\\\"},{\\\"match\\\":\\\"\\\\\\\\bin\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.r\\\"}]},\\\"lambda-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(function)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.r\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.r\\\"}},\\\"name\\\":\\\"meta.function.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\"[.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`\\\",\\\"name\\\":\\\"variable.parameter.function.language.r\\\"},{\\\"begin\\\":\\\"(?==)\\\",\\\"end\\\":\\\"(?=[),])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}]},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameters.r\\\"}]}]},\\\"operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"%[*/ox]%\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.r\\\"},{\\\"match\\\":\\\"(<<-|->>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.r\\\"},{\\\"match\\\":\\\"%(between|chin|do|dopar|in|like|\\\\\\\\+replace|[+:]|T>|<>|[$>])%\\\",\\\"name\\\":\\\"keyword.operator.other.r\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.other.r\\\"},{\\\"match\\\":\\\":::?\\\",\\\"name\\\":\\\"punctuation.accessor.colons.r\\\"},{\\\"match\\\":\\\"(%%|\\\\\\\\*\\\\\\\\*)\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.r\\\"},{\\\"match\\\":\\\"(<-|->)\\\",\\\"name\\\":\\\"keyword.operator.assignment.r\\\"},{\\\"match\\\":\\\"\\\\\\\\|>\\\",\\\"name\\\":\\\"keyword.operator.pipe.r\\\"},{\\\"match\\\":\\\"(==|!=|<>|<=?|>=?)\\\",\\\"name\\\":\\\"keyword.operator.comparison.r\\\"},{\\\"match\\\":\\\"(&&?|\\\\\\\\|\\\\\\\\|?)\\\",\\\"name\\\":\\\"keyword.operator.logical.r\\\"},{\\\"match\\\":\\\":=\\\",\\\"name\\\":\\\"keyword.operator.other.r\\\"},{\\\"match\\\":\\\"[-*+/^]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.r\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.r\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.logical.r\\\"},{\\\"match\\\":\\\"[:@~]\\\",\\\"name\\\":\\\"keyword.other.r\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.semicolon.r\\\"}]},\\\"roxygen\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(#')\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.r\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.roxygen.r\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.r\\\"}},\\\"match\\\":\\\"(@param)\\\\\\\\s*([.A-Z_a-z][.\\\\\\\\w]*|`[^`]+`)\\\"},{\\\"match\\\":\\\"@[0-9A-Za-z]+\\\",\\\"name\\\":\\\"keyword.other.r\\\"}]}]},\\\"storage-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(character|complex|double|expression|integer|list|logical|numeric|single|raw|pairlist)\\\\\\\\b\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.r\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.r\\\"}},\\\"contentName\\\":\\\"meta.function-call.arguments.r\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.r\\\"}},\\\"name\\\":\\\"meta.function-call.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-arguments\\\"}]}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"[Rr]\\\\\\\"(-*)\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"]\\\\\\\\1\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]'(-*)\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"]\\\\\\\\1'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.single.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]\\\\\\\"(-*)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"}\\\\\\\\1\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]'(-*)\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"}\\\\\\\\1'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.single.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]\\\\\\\"(-*)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\1\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.double.raw.r\\\"},{\\\"begin\\\":\\\"[Rr]'(-*)\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.begin.r\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\\\\\\1'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.raw.end.r\\\"}},\\\"name\\\":\\\"string.quoted.single.raw.r\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.r\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.r\\\"}},\\\"name\\\":\\\"string.quoted.double.r\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.r\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.r\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.r\\\"}},\\\"name\\\":\\\"string.quoted.single.r\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.r\\\"}]}]}},\\\"scopeName\\\":\\\"source.r\\\"}\"))\n\nexport default [\nlang\n]\n","import cpp from './cpp.mjs'\nimport python from './python.mjs'\nimport javascript from './javascript.mjs'\nimport r from './r.mjs'\nimport sql from './sql.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Julia\\\",\\\"name\\\":\\\"julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#function_decl\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"#for_block\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type_decl\\\"},{\\\"include\\\":\\\"#symbol\\\"},{\\\"include\\\":\\\"#punctuation\\\"}],\\\"repository\\\":{\\\"array\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"}},\\\"end\\\":\\\"(])(\\\\\\\\.?'*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transpose.julia\\\"}},\\\"name\\\":\\\"meta.array.julia\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bbegin\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\bend\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.julia\\\"},{\\\"include\\\":\\\"#self_no_for_block\\\"}]}]},\\\"bracket\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"}},\\\"end\\\":\\\"(})(\\\\\\\\.?'*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transpose.julia\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#self_no_for_block\\\"}]}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_block\\\"},{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.julia\\\"}},\\\"end\\\":\\\"\\\\\\\\n\\\",\\\"name\\\":\\\"comment.line.number-sign.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_tags\\\"}]}]},\\\"comment_block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"#=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.julia\\\"}},\\\"end\\\":\\\"=#\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.julia\\\"}},\\\"name\\\":\\\"comment.block.number-sign-equals.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_tags\\\"},{\\\"include\\\":\\\"#comment_block\\\"}]}]},\\\"comment_tags\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bTODO\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.comment-annotation.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\bFIXME\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.comment-annotation.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\bCHANGED\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.comment-annotation.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\bXXX\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.comment-annotation.julia\\\"}]},\\\"for_block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(for)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.julia\\\"}},\\\"end\\\":\\\"(?<![,\\\\\\\\s])(\\\\\\\\s*\\\\\\\\n)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bouter\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.julia\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"function_call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)(\\\\\\\\{(?:[^{}]|\\\\\\\\{(?:[^{}]|\\\\\\\\{[^{}]*})*})*})?\\\\\\\\.?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.julia\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"}},\\\"end\\\":\\\"\\\\\\\\)(('|(\\\\\\\\.'))*\\\\\\\\.?')?\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.transposed-func.julia\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#self_no_for_block\\\"}]}]},\\\"function_decl\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.julia\\\"}},\\\"match\\\":\\\"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)(\\\\\\\\{(?:[^{}]|\\\\\\\\{(?:[^{}]|\\\\\\\\{[^{}]*})*})*})?(?=\\\\\\\\([^#]*\\\\\\\\)(::\\\\\\\\S+)?(\\\\\\\\s*\\\\\\\\bwhere\\\\\\\\b\\\\\\\\s+.+?)?\\\\\\\\s*?=(?![=>]))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.dots.julia\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.julia\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.type.julia\\\"}},\\\"match\\\":\\\"\\\\\\\\b(function|macro)(?:\\\\\\\\s+(?:[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*(\\\\\\\\.))?([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)(\\\\\\\\{(?:[^{}]|\\\\\\\\{(?:[^{}]|\\\\\\\\{[^{}]*})*})*})?|\\\\\\\\s*)(?=\\\\\\\\()\\\"}]},\\\"keyword\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<![.:_])(?:function|mutable\\\\\\\\s+struct|struct|macro|quote|abstract\\\\\\\\s+type|primitive\\\\\\\\s+type|module|baremodule|where)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<![:_])(?:if|else|elseif|for|while|begin|let|do|try|catch|finally|return|break|continue)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<![:_])end\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.end.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<![:_])(?:global|local|const)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.storage.modifier.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<![:_])export\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.export.julia\\\"},{\\\"match\\\":\\\"^public\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.public.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<![:_])import\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.import.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?<![:_])using\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.using.julia\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\S\\\\\\\\s+)\\\\\\\\b(as)\\\\\\\\b(?=\\\\\\\\s+\\\\\\\\S)\\\",\\\"name\\\":\\\"keyword.control.as.julia\\\"},{\\\"match\\\":\\\"@(\\\\\\\\.|[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*|[[\\\\\\\\p{S}\\\\\\\\p{P}]&&[^@\\\\\\\\s]]+)\\\",\\\"name\\\":\\\"support.function.macro.julia\\\"}]},\\\"number\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.conjugate-number.julia\\\"}},\\\"match\\\":\\\"((?<![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]])\\\\\\\\b(?:0[Xx]\\\\\\\\h(?:_?\\\\\\\\h)*|0o[0-7](?:_?[0-7])*|0b[01](?:_?[01])*|(?:[0-9](?:_?[0-9])*\\\\\\\\.?(?!\\\\\\\\.)[0-9_]*|\\\\\\\\.[0-9](?:_?[0-9])*)(?:[Eef][-+]?[0-9](?:_?[0-9])*)?(?:(?:im|Inf(?:16|32|64)?|NaN(?:16|32|64)?|π|pi|ℯ)\\\\\\\\b)?|[0-9]+|Inf(?:16|32|64)?\\\\\\\\b|NaN(?:16|32|64)?\\\\\\\\b|π\\\\\\\\b|pi\\\\\\\\b|ℯ\\\\\\\\b))('*)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:ARGS|C_NULL|DEPOT_PATH|ENDIAN_BOM|ENV|LOAD_PATH|PROGRAM_FILE|stdin|stdout|stderr|VERSION|devnull)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.global.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:true|false|nothing|missing)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.julia\\\"}]},\\\"operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.?(?:<-->|->|-->|<--|[←→↔↚-↞↠↢↣↤↦↩-↬↮↶↷↺-↽⇀⇁⇄⇆⇇⇉⇋-⇐⇒⇔⇚-⇝⇠⇢⇴⇶-⇿⟵⟶⟷⟹-⟿⤀-⤇⤌-⤑⤔-⤘⤝-⤠⥄-⥈⥊⥋⥎⥐⥒⥓⥖⥗⥚⥛⥞⥟⥢⥤⥦-⥭⥰⥷⥺⧴⬰-⭄⭇-⭌￩￫]|=>)\\\",\\\"name\\\":\\\"keyword.operator.arrow.julia\\\"},{\\\"match\\\":\\\":=|\\\\\\\\+=|-=|\\\\\\\\*=|//=|/=|\\\\\\\\.//=|\\\\\\\\./=|\\\\\\\\.\\\\\\\\*=|\\\\\\\\\\\\\\\\=|\\\\\\\\.\\\\\\\\\\\\\\\\=|\\\\\\\\^=|\\\\\\\\.\\\\\\\\^=|%=|\\\\\\\\.%=|÷=|\\\\\\\\.÷=|\\\\\\\\|=|&=|\\\\\\\\.&=|⊻=|\\\\\\\\.⊻=|\\\\\\\\$=|<<=|>>=|>>>=|=(?!=)\\\",\\\"name\\\":\\\"keyword.operator.update.julia\\\"},{\\\"match\\\":\\\"<<|>>>?|\\\\\\\\.>>>?|\\\\\\\\.<<\\\",\\\"name\\\":\\\"keyword.operator.shift.julia\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.relation.types.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.julia\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.transpose.julia\\\"}},\\\"match\\\":\\\"\\\\\\\\s*([:<>]:)\\\\\\\\s*((?:Union)?\\\\\\\\([^)]*\\\\\\\\)|[$_∇[:alpha:]][!.′⁺-ₜ[:word:]]*(?:\\\\\\\\{(?:[^{}]|\\\\\\\\{(?:[^{}]|\\\\\\\\{[^{}]*})*})*}|\\\\\\\".+?(?<!\\\\\\\\\\\\\\\\)\\\\\\\")?)(?:\\\\\\\\.\\\\\\\\.\\\\\\\\.)?(\\\\\\\\.?'*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\.?((?<!<)<=|(?<!>)>=|[<>≤≥]|===?|≡|!=|≠|!==|[∈-∍∝∥∦∷∺∻∽∾≁-≎≐-≓≖-≟≢≣≦-⊋⊏-⊒⊜⊢⊣⊩⊬⊮⊰-⊷⋍⋐⋑⋕-⋭⋲-⋿⟂⟈⟉⟒⦷⧀⧁⧡⧣⧤⧥⩦⩧⩪-⩳⩵-⫙⫪⫫⫷-⫺]|<:|>:))\\\",\\\"name\\\":\\\"keyword.operator.relation.julia\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)\\\\\\\\?(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.ternary.julia\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s):(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.ternary.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\\\\\\||&&|(?<![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]])!\\\",\\\"name\\\":\\\"keyword.operator.boolean.julia\\\"},{\\\"match\\\":\\\"(?<=[]!)}′⁺-ₜ∇[:word:]]):\\\",\\\"name\\\":\\\"keyword.operator.range.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\|>\\\",\\\"name\\\":\\\"keyword.operator.applies.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\||\\\\\\\\.\\\\\\\\||&|\\\\\\\\.&|[~¬]|\\\\\\\\.~|⊻|\\\\\\\\.⊻\\\",\\\"name\\\":\\\"keyword.operator.bitwise.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\.?(?:\\\\\\\\+\\\\\\\\+|--|[-*+|¦±−∓∔∨∪∸≏⊎⊔⊕⊖⊞⊟⊻⊽⋎⋓⟇⧺⧻⨈⨢-⨮⨹⨺⩁⩂⩅⩊⩌⩏⩐⩒⩔⩖⩗⩛⩝⩡⩢⩣]|//?|[%\\\\\\\\&\\\\\\\\\\\\\\\\^±·×÷·⅋↑↓⇵∓∗-∜∤∧∩≀⊍⊓⊗-⊛⊠⊡⊼⋄-⋇⋉-⋌⋏⋒⌿▷⟑⟕⟖⟗⟰⟱⤈-⤋⤒⤓⥉⥌⥍⥏⥑⥔⥕⥘⥙⥜⥝⥠⥡⥣⥥⥮⥯⦸⦼⦾⦿⧶⧷⨇⨝⨟⨰-⨸⨻⨼⨽⩀⩃⩄⩋⩍⩎⩑⩓⩕⩘⩚⩜⩞⩟⩠⫛￪￬])\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.julia\\\"},{\\\"match\\\":\\\"∘\\\",\\\"name\\\":\\\"keyword.operator.compose.julia\\\"},{\\\"match\\\":\\\"::|(?<=\\\\\\\\s)isa(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.isa.julia\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\s)in(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"keyword.operator.relation.in.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\.(?=[@_\\\\\\\\p{L}])|\\\\\\\\.\\\\\\\\.+|[…⁝⋮-⋱]\\\",\\\"name\\\":\\\"keyword.operator.dots.julia\\\"},{\\\"match\\\":\\\"\\\\\\\\$(?=.+)\\\",\\\"name\\\":\\\"keyword.operator.interpolation.julia\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transposed-variable.julia\\\"}},\\\"match\\\":\\\"([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)(('|(\\\\\\\\.'))*\\\\\\\\.?')\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"bracket.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transposed-matrix.julia\\\"}},\\\"match\\\":\\\"(])((?:\\\\\\\\.??')*\\\\\\\\.?')\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"bracket.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transposed-parens.julia\\\"}},\\\"match\\\":\\\"(\\\\\\\\))((?:\\\\\\\\.??')*\\\\\\\\.?')\\\"}]},\\\"parentheses\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(\\\\\\\\.?'*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.transpose.julia\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#self_no_for_block\\\"}]}]},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.julia\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.separator.semicolon.julia\\\"}]},\\\"self_no_for_block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#array\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#parentheses\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#function_decl\\\"},{\\\"include\\\":\\\"#function_call\\\"},{\\\"include\\\":\\\"#keyword\\\"},{\\\"include\\\":\\\"#number\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type_decl\\\"},{\\\"include\\\":\\\"#symbol\\\"},{\\\"include\\\":\\\"#punctuation\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@doc)\\\\\\\\s((?:doc)?\\\\\\\"\\\\\\\"\\\\\\\")|(doc\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\") ?(->)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arrow.julia\\\"}},\\\"name\\\":\\\"string.docstring.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(i?cxx)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.cpp\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.cxx.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp#root_context\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(py)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.python\\\",\\\"end\\\":\\\"([\\\\\\\\s\\\\\\\\w]*)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.python.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(js)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.javascript\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.js.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(R)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.r\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.R.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(raw)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.other.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(raw)(\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.other.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(sql)(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"contentName\\\":\\\"meta.embedded.inline.sql\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"embed.sql.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"var\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.other.symbol.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"var\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"constant.other.symbol.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s?(doc)?(\\\\\\\"\\\\\\\"\\\\\\\")\\\\\\\\s?$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.docstring.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"'(?!')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.single.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.multiline.begin.julia\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.multiline.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.triple.double.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"(?!\\\\\\\"\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"}},\\\"name\\\":\\\"string.quoted.double.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"r\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.begin.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")([imsx]{0,4})?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.option-toggle.regexp.julia\\\"}},\\\"name\\\":\\\"string.regexp.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"r\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.begin.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\")([imsx]{0,4})?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.regexp.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.option-toggle.regexp.julia\\\"}},\\\"name\\\":\\\"string.regexp.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(?<!\\\\\\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)\\\\\\\"\\\\\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"},\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"}},\\\"end\\\":\\\"(\\\\\\\"\\\\\\\"\\\\\\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"}},\\\"name\\\":\\\"string.quoted.other.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(?<!\\\\\\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"},\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"}},\\\"end\\\":\\\"(?<![^\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\)(\\\\\\\")([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"}},\\\"name\\\":\\\"string.quoted.other.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"}]},{\\\"begin\\\":\\\"(?<!`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)?```\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"},\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"}},\\\"end\\\":\\\"(```)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"}},\\\"name\\\":\\\"string.interpolated.backtick.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]},{\\\"begin\\\":\\\"(?<!`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)?`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.julia\\\"},\\\"1\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"}},\\\"end\\\":\\\"(?<![^\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\)(`)([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.function.macro.julia\\\"}},\\\"name\\\":\\\"string.interpolated.backtick.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string_escaped_char\\\"},{\\\"include\\\":\\\"#string_dollar_sign_interpolate\\\"}]}]},\\\"string_dollar_sign_interpolate\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\$[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}[^←-⇿\\\\\\\\P{So}][^$\\\\\\\\P{Sc}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}][^$\\\\\\\\P{Sc}]]*\\\",\\\"name\\\":\\\"variable.interpolation.julia\\\"},{\\\"begin\\\":\\\"\\\\\\\\$(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.bracket.julia\\\"}},\\\"name\\\":\\\"variable.interpolation.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#self_no_for_block\\\"}]}]},\\\"string_escaped_char\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\\\\\\\\\|[0-3]\\\\\\\\d{0,2}|[4-7]\\\\\\\\d?|x\\\\\\\\h{0,2}|u\\\\\\\\h{0,4}|U\\\\\\\\h{0,8}|.)\\\",\\\"name\\\":\\\"constant.character.escape.julia\\\"}]},\\\"symbol\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![]!)}′⁺-ₜ∇[:word:]]):[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*(?![!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]])(?![\\\\\\\"`])\\\",\\\"name\\\":\\\"constant.other.symbol.julia\\\"}]},\\\"type_decl\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.julia\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.inherited-class.julia\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.julia\\\"}},\\\"match\\\":\\\"!:_(?:struct|mutable\\\\\\\\s+struct|abstract\\\\\\\\s+type|primitive\\\\\\\\s+type)\\\\\\\\s+([_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*)(\\\\\\\\s*(<:)\\\\\\\\s*[_ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:alpha:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^←-⇿\\\\\\\\P{So}]][!_′-‷⁗ⁱ-⁾₁-₎℘℮⅀-⅄∂∅∆∇∎-∑∞-∢∫-∳∿⊤⊥⊾-⋃◸-◿♯⟀⟁⟘⟙⦛-⦴⨀-⨆⨉-⨖⨛⨜゛゜𝛁𝛛𝛻𝜕𝜵𝝏𝝯𝞉𝞩𝟃𝟎-𝟡[:word:]\\\\\\\\p{Lu}\\\\\\\\p{Ll}\\\\\\\\p{Lt}\\\\\\\\p{Lm}\\\\\\\\p{Lo}\\\\\\\\p{Nl}\\\\\\\\p{Sc}[^\\\\\\\\x01-¡\\\\\\\\P{Mn}][^\\\\\\\\x01-¡\\\\\\\\P{Mc}][^\\\\\\\\x01-¡\\\\\\\\D][^\\\\\\\\x01-¡\\\\\\\\P{Pc}][^\\\\\\\\x01-¡\\\\\\\\P{Sk}][^\\\\\\\\x01-¡\\\\\\\\P{Me}][^\\\\\\\\x01-¡\\\\\\\\P{No}][^←-⇿\\\\\\\\P{So}]]*(?:\\\\\\\\{.*})?)?\\\",\\\"name\\\":\\\"meta.type.julia\\\"}]}},\\\"scopeName\\\":\\\"source.julia\\\",\\\"embeddedLangs\\\":[\\\"cpp\\\",\\\"python\\\",\\\"javascript\\\",\\\"r\\\",\\\"sql\\\"],\\\"aliases\\\":[\\\"jl\\\"]}\"))\n\nexport default [\n...cpp,\n...python,\n...javascript,\n...r,\n...sql,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Less\\\",\\\"name\\\":\\\"less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#less-namespace-accessors\\\"},{\\\"include\\\":\\\"#less-extend\\\"},{\\\"include\\\":\\\"#at-rules\\\"},{\\\"include\\\":\\\"#less-variable-assignment\\\"},{\\\"include\\\":\\\"#property-list\\\"},{\\\"include\\\":\\\"#selector\\\"}],\\\"repository\\\":{\\\"angle-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"(?i:[-+]?(?:\\\\\\\\d*\\\\\\\\.\\\\\\\\d+(?:[Ee][-+]?\\\\\\\\d+)*|[-+]?\\\\\\\\d+)(deg|grad|rad|turn))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"arbitrary-repetition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(,)\\\"},\\\"at-charset\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)charset)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$))\\\",\\\"name\\\":\\\"meta.at-rule.charset.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"}]},\\\"at-container\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*@container)\\\",\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"((@)container)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.container.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.container.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.container.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(?=[^;{])\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=[;{])\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(not|and|or)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.comparison.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.at-rule.container-query.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"match\\\":\\\"\\\\\\\\b(aspect-ratio|block-size|height|inline-size|orientation|width)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.size-feature.less\\\"},{\\\"match\\\":\\\"(([<>])=?)|[/=]\\\",\\\"name\\\":\\\"keyword.operator.comparison.less\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},{\\\"match\\\":\\\"portrait|landscape\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"match\\\":\\\"/\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},{\\\"include\\\":\\\"#style-function\\\"},{\\\"match\\\":\\\"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*\\\",\\\"name\\\":\\\"variable.parameter.container-name.css\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"},{\\\"include\\\":\\\"#less-variables\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"at-counter-style\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)counter-style)\\\\\\\\b\\\\\\\\s+(?:(?i:\\\\\\\\b(decimal|none)\\\\\\\\b)|(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*))\\\\\\\\s*(?=\\\\\\\\{|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.counter-style.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.counter-style-name.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.counter-style-name.css\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"name\\\":\\\"meta.at-rule.counter-style.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]},\\\"at-custom-media\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*@custom-media\\\\\\\\b)\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"name\\\":\\\"meta.at-rule.custom-media.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.property-list.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*;\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.custom-media.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.custom-media.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((@)custom-media)(?=.*?)\\\"},{\\\"include\\\":\\\"#media-query-list\\\"}]},\\\"at-font-face\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)font-face)\\\\\\\\s*(?=\\\\\\\\{|$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.font-face.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"name\\\":\\\"meta.at-rule.font-face.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]},\\\"at-import\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)import)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.at-rule.import.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#url-function\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"begin\\\":\\\"(?<=([\\\\\\\"'])|([\\\\\\\"']\\\\\\\\)))\\\\\\\\s*\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=;)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"reference|inline|less|css|once|multiple|optional\\\",\\\"name\\\":\\\"constant.language.import-directive.less\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]},{\\\"include\\\":\\\"#literal-string\\\"}]},\\\"at-keyframes\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)keyframes)(?=.*?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframe.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.keyframe.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.keyframe-selector.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(?:(from|to)|((?:\\\\\\\\.[0-9]+|[0-9]+(?:\\\\\\\\.[0-9]*)?)(%)))\\\\\\\\s*,?\\\\\\\\s*\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(?=[^;{])\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.keyframe.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#keyframe-name\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"}]}]},\\\"at-media\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*@media\\\\\\\\b)\\\",\\\"end\\\":\\\"\\\\\\\\s*(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)media)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.media.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.media.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query-list\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"at-namespace\\\":{\\\"begin\\\":\\\"\\\\\\\\s*((@)namespace)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.namespace.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"end\\\":\\\";\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.at-rule.namespace.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#url-function\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"match\\\":\\\"(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"name\\\":\\\"entity.name.constant.namespace-prefix.less\\\"}]},\\\"at-page\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.page.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*((@)page)\\\\\\\\s*(?:(:)(first|left|right))?\\\\\\\\s*(?=\\\\\\\\{|$)\\\",\\\"name\\\":\\\"meta.at-rule.page.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#rule-list\\\"}]},\\\"at-rules\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#at-charset\\\"},{\\\"include\\\":\\\"#at-container\\\"},{\\\"include\\\":\\\"#at-counter-style\\\"},{\\\"include\\\":\\\"#at-custom-media\\\"},{\\\"include\\\":\\\"#at-font-face\\\"},{\\\"include\\\":\\\"#at-media\\\"},{\\\"include\\\":\\\"#at-import\\\"},{\\\"include\\\":\\\"#at-keyframes\\\"},{\\\"include\\\":\\\"#at-namespace\\\"},{\\\"include\\\":\\\"#at-page\\\"},{\\\"include\\\":\\\"#at-supports\\\"},{\\\"include\\\":\\\"#at-viewport\\\"}]},\\\"at-supports\\\":{\\\"begin\\\":\\\"(?=\\\\\\\\s*@supports\\\\\\\\b)\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*)(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)supports)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.supports.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.constant.supports.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.at-rule.supports.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#at-supports-operators\\\"},{\\\"include\\\":\\\"#at-supports-parens\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"at-supports-operators\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:and|or|not)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logic.less\\\"},\\\"at-supports-parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#at-supports-operators\\\"},{\\\"include\\\":\\\"#at-supports-parens\\\"},{\\\"include\\\":\\\"#rule-list-body\\\"}]},\\\"attr-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(attr)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#qualified-name\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"begin\\\":\\\"(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"entity.other.attribute-name.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.unit.less\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#property-value-constants\\\"},{\\\"include\\\":\\\"#numeric-values\\\"}]},{\\\"include\\\":\\\"#color-values\\\"}]}]},\\\"builtin-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attr-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#color-functions\\\"},{\\\"include\\\":\\\"#counter-functions\\\"},{\\\"include\\\":\\\"#cross-fade-function\\\"},{\\\"include\\\":\\\"#cubic-bezier-function\\\"},{\\\"include\\\":\\\"#filter-function\\\"},{\\\"include\\\":\\\"#fit-content-function\\\"},{\\\"include\\\":\\\"#format-function\\\"},{\\\"include\\\":\\\"#gradient-functions\\\"},{\\\"include\\\":\\\"#grid-repeat-function\\\"},{\\\"include\\\":\\\"#image-function\\\"},{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#local-function\\\"},{\\\"include\\\":\\\"#minmax-function\\\"},{\\\"include\\\":\\\"#regexp-function\\\"},{\\\"include\\\":\\\"#shape-functions\\\"},{\\\"include\\\":\\\"#steps-function\\\"},{\\\"include\\\":\\\"#symbols-function\\\"},{\\\"include\\\":\\\"#transform-functions\\\"},{\\\"include\\\":\\\"#url-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]},\\\"calc-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(calc)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.calc.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#attr-function\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#relative-color\\\"}]}]},\\\"color-adjuster-operators\\\":{\\\"match\\\":\\\"[-*+](?=\\\\\\\\s+)\\\",\\\"name\\\":\\\"keyword.operator.less\\\"},\\\"color-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(rgba?)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#value-separator\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(hsla?|hwb|oklab|oklch|lab|lch)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#value-separator\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(light-dark)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]},{\\\"include\\\":\\\"#less-color-functions\\\"}]},\\\"color-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#color-functions\\\"},{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"match\\\":\\\"\\\\\\\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.color.w3c-standard-color-name.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rebeccapurple|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.color.w3c-extended-color-keywords.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?i)currentColor|transparent)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.color.w3c-special-color-keyword.less\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.less\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\h{3}|\\\\\\\\h{4}|\\\\\\\\h{6}|\\\\\\\\h{8})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.color.rgb-value.less\\\"},{\\\"include\\\":\\\"#relative-color\\\"}]},\\\"comma-delimiter\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\"},\\\"comment-block\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.less\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.less\\\"}},\\\"name\\\":\\\"comment.block.less\\\"},{\\\"include\\\":\\\"#comment-line\\\"}]},\\\"comment-line\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.less\\\"}},\\\"match\\\":\\\"(//).*$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.double-slash.less\\\"},\\\"counter-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(counter)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"match\\\":\\\"--(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))+|-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*\\\",\\\"name\\\":\\\"entity.other.counter-name.less\\\"},{\\\"begin\\\":\\\"(?=,)\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.counter-style.less\\\"}]}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(counters)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"name\\\":\\\"entity.other.counter-name.less string.unquoted.less\\\"},{\\\"begin\\\":\\\"(?=,)\\\",\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?i:arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)|none)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.counter-style.less\\\"}]}]}]}]},\\\"cross-fade-function\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(cross-fade)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.image.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#image-type\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]}]},\\\"cubic-bezier-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(cubic-bezier)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"contentName\\\":\\\"meta.group.less\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#number-type\\\"}]},\\\"custom-property-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.custom-property.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.custom-property.name.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(--)((?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))+)\\\",\\\"name\\\":\\\"support.type.custom-property.less\\\"},\\\"dimensions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#frequency-type\\\"},{\\\"include\\\":\\\"#time-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"}]},\\\"filter-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(filter)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#image-type\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#filter-functions\\\"}]}]},\\\"filter-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#less-functions\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(blur)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#length-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(brightness|contrast|grayscale|invert|opacity|saturate|sepia)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-functions\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(drop-shadow)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#color-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(hue-rotate)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle-type\\\"}]}]}]},\\\"fit-content-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(fit-content)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.grid.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"}]}]},\\\"format-function\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(format)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.format.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"}]}]}]},\\\"frequency-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"(?i:[-+]?(?:\\\\\\\\d*\\\\\\\\.\\\\\\\\d+(?:[Ee][-+]?\\\\\\\\d+)*|[-+]?\\\\\\\\d+)(k??Hz))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"global-property-values\\\":{\\\"match\\\":\\\"\\\\\\\\b(?:initial|inherit|unset|revert-layer|revert)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},\\\"gradient-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?:repeating-)?linear-gradient)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.gradient.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\bto\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(top|right|bottom|left)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b((?:repeating-)?radial-gradient)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.gradient.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b(at|circle|ellipse)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(top|right|bottom|left|center|((?:farth|clos)est)-(corner|side))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]}]},\\\"grid-repeat-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(repeat)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.grid.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#minmax-function\\\"},{\\\"include\\\":\\\"#integer-type\\\"},{\\\"match\\\":\\\"\\\\\\\\b(auto-(fi(?:ll|t)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.keyword.repetitions.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(((m(?:ax|in))-content)|auto)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]},\\\"image-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(image)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.image.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#image-type\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},\\\"image-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#cross-fade-function\\\"},{\\\"include\\\":\\\"#gradient-functions\\\"},{\\\"include\\\":\\\"#image-function\\\"},{\\\"include\\\":\\\"#url-function\\\"}]},\\\"important\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.less\\\"}},\\\"match\\\":\\\"(!)\\\\\\\\s*important\\\",\\\"name\\\":\\\"keyword.other.important.less\\\"},\\\"integer-type\\\":{\\\"match\\\":\\\"[-+]?\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"keyframe-name\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(-?(?:[_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|(?:(:?\\\\\\\\\\\\\\\\[0-9a-f]{1,6}(\\\\\\\\r\\\\\\\\n|[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\r\\\\\\\\s])?)|\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\\f\\\\\\\\r0-9a-f]))(?:[-0-9_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|(?:(:?\\\\\\\\\\\\\\\\[0-9a-f]{1,6}(\\\\\\\\r\\\\\\\\n|[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\r])?)|\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\\f\\\\\\\\r0-9a-f]))*)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.animation-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?:(,)|(?=[;{]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.less\\\"}}},\\\"length-type\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"[-+]?(?:\\\\\\\\d+\\\\\\\\.\\\\\\\\d+|\\\\\\\\.?\\\\\\\\d+)(?:[Ee][-+]?\\\\\\\\d+)?(em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|[mq]|in|pt|pc|px|fr|dpi|dpcm|dppx|x)\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b[-+]?0\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.less\\\"}]},\\\"less-boolean-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(boolean)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.boolean.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-logical-comparisons\\\"}]}]},\\\"less-color-blend-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(multiply|screen|overlay|(soft|hard)light|difference|exclusion|negation|average)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-blend.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#color-values\\\"}]}]}]},\\\"less-color-channel-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(hue|saturation|lightness|hsv(hue|saturation|value)|red|green|blue|alpha|luma|luminance)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-definition.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"}]}]}]},\\\"less-color-definition-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(argb)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-definition.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#color-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(hsva?)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#integer-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]}]},\\\"less-color-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#less-color-blend-functions\\\"},{\\\"include\\\":\\\"#less-color-channel-functions\\\"},{\\\"include\\\":\\\"#less-color-definition-functions\\\"},{\\\"include\\\":\\\"#less-color-operation-functions\\\"}]},\\\"less-color-operation-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(fade|shade|tint)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(spin)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#number-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(((de)?saturate)|((light|dark)en)|(fade(in|out)))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"match\\\":\\\"\\\\\\\\brelative\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.relative.less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(contrast)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(greyscale)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(mix)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color-operation.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]}]},\\\"less-extend\\\":{\\\"begin\\\":\\\"(:)(extend)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.extend.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\ball\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.all.less\\\"},{\\\"include\\\":\\\"#selectors\\\"}]}]},\\\"less-functions\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#less-boolean-function\\\"},{\\\"include\\\":\\\"#less-color-functions\\\"},{\\\"include\\\":\\\"#less-if-function\\\"},{\\\"include\\\":\\\"#less-list-functions\\\"},{\\\"include\\\":\\\"#less-math-functions\\\"},{\\\"include\\\":\\\"#less-misc-functions\\\"},{\\\"include\\\":\\\"#less-string-functions\\\"},{\\\"include\\\":\\\"#less-type-functions\\\"}]},\\\"less-if-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(if)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.if.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-mixin-guards\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},\\\"less-list-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(length)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.length.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(extract)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.extract.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#integer-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(range)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.range.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#integer-type\\\"}]}]}]},\\\"less-logical-comparisons\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(=|(([<>])=?))\\\\\\\\s*\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-logical-comparisons\\\"}]},{\\\"match\\\":\\\"\\\\\\\\btrue|false\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.less\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.less\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]},\\\"less-math\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[-*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-math\\\"}]},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#less-variables\\\"}]},\\\"less-math-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(ceil|floor|percentage|round|sqrt|abs|a?(sin|cos|tan))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.math.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#numeric-values\\\"}]}]},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"support.function.math.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"match\\\":\\\"((pi)(\\\\\\\\()(\\\\\\\\)))\\\",\\\"name\\\":\\\"meta.function-call.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(pow|m(od|in|ax))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.math.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]}]},\\\"less-misc-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(color)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(image-(size|width|height))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.image.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(convert|unit)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.convert.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"(([cm])?m|in|p([ctx])|m?s|g?rad|deg|turn|%|r?em|ex|ch)\\\",\\\"name\\\":\\\"keyword.other.unit.less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(data-uri)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.data-uri.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(,)\\\"}]}]},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"match\\\":\\\"\\\\\\\\b(default(\\\\\\\\()(\\\\\\\\)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.default.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(get-unit)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.get-unit.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#dimensions\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(svg-gradient)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.svg-gradient.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"match\\\":\\\"\\\\\\\\bto\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(top|right|bottom|left|center)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(at|circle|ellipse)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"}]}]}]},\\\"less-mixin-guards\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(and|not|or)?\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-comparison\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.group.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"match\\\":\\\"default((\\\\\\\\()(\\\\\\\\)))\\\",\\\"name\\\":\\\"support.function.default.less\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#less-logical-comparisons\\\"},{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"less-namespace-accessors\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=\\\\\\\\s*when\\\\\\\\b)\\\",\\\"end\\\":\\\"\\\\\\\\s*(?:(,)|(?=[;{]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"name\\\":\\\"meta.conditional.guarded-namespace.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(when)(?=.*?)\\\"},{\\\"include\\\":\\\"#less-mixin-guards\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.less\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.block.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"}]},{\\\"include\\\":\\\"#selectors\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-assignment\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#rule-list-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"match\\\":\\\"(;)|(?=[)}])\\\"}]},\\\"less-string-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(e(scape)?)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.escape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(%)(?=\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.format.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(replace)(?=\\\\\\\\()\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.replace.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]}]},\\\"less-strings\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(~)([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.escape.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.less\\\"}},\\\"contentName\\\":\\\"markup.raw.inline.less\\\",\\\"end\\\":\\\"([\\\\\\\"'])|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.less\\\"}},\\\"name\\\":\\\"string.quoted.other.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-content\\\"}]}]},\\\"less-type-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(is(number|string|color|keyword|url|pixel|em|percentage|ruleset))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.type.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(isunit)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.type.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b((?i:em|ex|ch|rem)|(?i:v(?:[hw]|min|max))|(?i:cm|mm|q|in|pt|pc|px|fr)|(?i:deg|grad|rad|turn)|(?i:m??s)|(?i:k??Hz)|(?i:dp(?:i|cm|px)))\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.unit.less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(isdefined)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.type.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"}]}]}]},\\\"less-variable-assignment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@)(-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.less\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.variable.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;|(\\\\\\\\.{3})|(?=\\\\\\\\)))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.spread.less\\\"}},\\\"name\\\":\\\"meta.property-value.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#property-list\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},\\\"less-variable-comparison\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(@{1,2})(-?([_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.readwrite.less\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.variable.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(=|(([<>])=?))\\\\\\\\s*\\\"},{\\\"match\\\":\\\"\\\\\\\\btrue\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.less\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.less\\\"}]}]},\\\"less-variable-interpolation\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.expression.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.other.variable.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.expression.less\\\"}},\\\"match\\\":\\\"(@)(\\\\\\\\{)([-\\\\\\\\w]+)(})\\\",\\\"name\\\":\\\"variable.other.readwrite.less\\\"},\\\"less-variables\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.variable.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(@@?)([-\\\\\\\\w]+)\\\",\\\"name\\\":\\\"variable.other.readwrite.less\\\"},{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},\\\"literal-string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.less\\\"}},\\\"end\\\":\\\"(')|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.less\\\"}},\\\"name\\\":\\\"string.quoted.single.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-content\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.less\\\"}},\\\"end\\\":\\\"(\\\\\\\")|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.less\\\"}},\\\"name\\\":\\\"string.quoted.double.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-content\\\"}]},{\\\"include\\\":\\\"#less-strings\\\"}]},\\\"local-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(local)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.font-face.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},\\\"media-query\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(only|not)?\\\\\\\\s*(all|aural|braille|embossed|handheld|print|projection|screen|tty|tv)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logic.media.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.constant.media.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(?:(,)|(?=[;{]))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.less\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*(and)?\\\\\\\\s*(\\\\\\\\()\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logic.media.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*)\\\\\\\\s*(?=[):])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.media.less\\\"}},\\\"end\\\":\\\"(((\\\\\\\\+_?)?):)|(?=\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}}},{\\\"match\\\":\\\"\\\\\\\\b(portrait|landscape|progressive|interlace)\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\d+)(/)(\\\\\\\\d+)\\\"},{\\\"include\\\":\\\"#less-math\\\"}]}]},\\\"media-query-list\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(?=[^;{])\\\",\\\"end\\\":\\\"\\\\\\\\s*(?=[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#media-query\\\"}]},\\\"minmax-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(minmax)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.grid.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"match\\\":\\\"\\\\\\\\b(m(?:ax|in)-content)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]},\\\"number-type\\\":{\\\"match\\\":\\\"[-+]?(?:\\\\\\\\d+\\\\\\\\.\\\\\\\\d+|\\\\\\\\.?\\\\\\\\d+)(?:[Ee][-+]?\\\\\\\\d+)?\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"numeric-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#dimensions\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#number-type\\\"}]},\\\"percentage-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"[-+]?(?:\\\\\\\\d+\\\\\\\\.\\\\\\\\d+|\\\\\\\\.?\\\\\\\\d+)(?:[Ee][-+]?\\\\\\\\d+)?(%)\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"property-list\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?=[^;]*)\\\\\\\\{)\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.less\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list\\\"}]}]},\\\"property-value-constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(flex-start|flex-end|start|end|space-between|space-around|space-evenly|stretch|baseline|safe|unsafe|legacy|anchor-center|first|last|self-start|self-end)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(text-before-edge|before-edge|middle|central|text-after-edge|after-edge|ideographic|alphabetic|hanging|mathematical|top|center|bottom)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#global-property-values\\\"},{\\\"include\\\":\\\"#cubic-bezier-function\\\"},{\\\"include\\\":\\\"#steps-function\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:replace|add|accumulate)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:normal|alternate-reverse|alternate|reverse)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:forwards|backwards|both)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\binfinite\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:running|paused)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\be(?:ntry|xit)(?:-crossing|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(linear|ease-in-out|ease-in|ease-out|ease|step-start|step-end)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(absolute|active|add|all-petite-caps|all-small-caps|all-scroll|all|alphabetic|alpha|alternate-reverse|alternate|always|annotation|antialiased|at|autohiding-scrollbar|auto|avoid-column|avoid-page|avoid-region|avoid|background-color|background-image|background-position|background-size|background-repeat|background|backwards|balance|baseline|below|bevel|bicubic|bidi-override|blink|block-line-height|block-start|block-end|block|blur|bolder|bold|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|both|bottom|box-shadow|box|break-all|break-word|break-spaces|brightness|butt(on)?|capitalize|central|center|char(acter-variant)?|cjk-ideographic|clip|clone|close-quote|closest-corner|closest-side|col-resize|collapse|color-stop|color-burn|color-dodge|color|column-count|column-gap|column-reverse|column-rule-color|column-rule-width|column-rule|column-width|columns?|common-ligatures|condensed|consider-shifts|contain|content-box|contents?|contextual|contrast|cover|crisp-edges|crispEdges|crop|crosshair|cross|darken|dashed|default|dense|device-width|diagonal-fractions|difference|disabled|discard|discretionary-ligatures|disregard-shifts|distribute-all-lines|distribute-letter|distribute-space|distribute|dotted|double|drop-shadow|[ensw]{1,4}-resize|ease-in-out|ease-in|ease-out|ease|element|ellipsis|embed|end|EndColorStr|evenodd|exclude-ruby|exclusion|expanded|extra-condensed|extra-expanded|farthest-corner|farthest-side|farthest|fill-box|fill-opacity|fill|filter|fit-content|fixed|flat|flex-basis|flex-end|flex-grow|flex-shrink|flex-start|flexbox|flex|flip|flood-color|font-size-adjust|font-size|font-stretch|font-weight|font|forwards|from-image|from|full-width|gap|geometricPrecision|glyphs|gradient|grayscale|grid-column-gap|grid-column|grid-row-gap|grid-row|grid-gap|grid-height|grid|groove|hand|hanging|hard-light|height|help|hidden|hide|historical-forms|historical-ligatures|horizontal-tb|horizontal|hue|ideographic|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space|inactive|include-ruby|infinite|inherit|initial|inline-end|inline-size|inline-start|inline-table|inline-line-height|inline-flexbox|inline-flex|inline-box|inline-block|inline|inset|inside|inter-ideograph|inter-word|intersect|invert|isolate|isolation|italic|jis(04|78|83|90)|justify-all|justify|keep-all|larger?|last|layout|left|letter-spacing|lighten|lighter|lighting-color|linear-gradient|linearRGB|linear|line-edge|line-height|line-through|line|lining-nums|list-item|local|loose|lowercase|lr-tb|ltr|luminosity|luminance|manual|manipulation|margin-bottom|margin-box|margin-left|margin-right|margin-top|margin|marker(-offset|s)?|match-parent|mathematical|max-(content|height|lines|size|width)|medium|middle|min-(content|height|width)|miter|mixed|move|multiply|newspaper|no-change|no-clip|no-close-quote|no-open-quote|no-common-ligatures|no-discretionary-ligatures|no-historical-ligatures|no-contextual|no-drop|no-repeat|none|nonzero|normal|not-allowed|nowrap|oblique|offset-after|offset-before|offset-end|offset-start|offset|oldstyle-nums|opacity|open-quote|optimize(Legibility|Precision|Quality|Speed)|order|ordinal|ornaments|outline-color|outline-offset|outline-width|outline|outset|outside|overline|over-edge|overlay|padding(-(?:bottom|box|left|right|top|box))?|page|paint(ed)?|paused|pan-(x|left|right|y|up|down)|perspective-origin|petite-caps|pixelated|pointer|pinch-zoom|pretty|pre(-(?:line|wrap))?|preserve-3d|preserve-breaks|preserve-spaces|preserve|progid:DXImageTransform\\\\\\\\.Microsoft\\\\\\\\.(Alpha|Blur|dropshadow|gradient|Shadow)|progress|proportional-nums|proportional-width|radial-gradient|recto|region|relative|repeating-linear-gradient|repeating-radial-gradient|repeat-x|repeat-y|repeat|replaced|reset-size|reverse|revert-layer|revert|ridge|right|round|row-gap|row-resize|row-reverse|row|rtl|ruby|running|saturate|saturation|screen|scrollbar|scroll-position|scroll|separate|sepia|scale-down|semi-condensed|semi-expanded|shape-image-threshold|shape-margin|shape-outside|show|sideways-lr|sideways-rl|sideways|simplified|size|slashed-zero|slice|small-caps|smaller|small|smooth|snap|solid|soft-light|space-around|space-between|space|span|sRGB|stable|stacked-fractions|stack|startColorStr|start|static|step-end|step-start|sticky|stop-color|stop-opacity|stretch|strict|stroke-box|stroke-dasharray|stroke-dashoffset|stroke-miterlimit|stroke-opacity|stroke-width|stroke|styleset|style|stylistic|subgrid|subpixel-antialiased|subtract|super|swash|table-caption|table-cell|table-column-group|table-footer-group|table-header-group|table-row-group|table-column|table-row|table|tabular-nums|tb-rl|text((-(?:bottom|(decoration|emphasis)-color|indent|(over|under)-edge|shadow|size(-adjust)?|top))|field)?|thick|thin|titling-caps|titling-case|top|touch|to|traditional|transform-origin|transform-style|transform|ultra-condensed|ultra-expanded|under-edge|underline|unicase|unset|uppercase|upright|use-glyph-orientation|use-script|verso|vertical(-(?:align|ideographic|lr|rl|text))?|view-box|viewport-fill-opacity|viewport-fill|visibility|visibleFill|visiblePainted|visibleStroke|visible|wait|wavy|weight|whitespace|width|word-spacing|wrap-reverse|wrap|xx?-(large|small)|z-index|zero|zoom-in|zoom-out|zoom|arabic-indic|armenian|bengali|cambodian|circle|cjk-decimal|cjk-earthly-branch|cjk-heavenly-stem|decimal-leading-zero|decimal|devanagari|disclosure-closed|disclosure-open|disc|ethiopic-numeric|georgian|gujarati|gurmukhi|hebrew|hiragana-iroha|hiragana|japanese-formal|japanese-informal|kannada|katakana-iroha|katakana|khmer|korean-hangul-formal|korean-hanja-formal|korean-hanja-informal|lao|lower-alpha|lower-armenian|lower-greek|lower-latin|lower-roman|malayalam|mongolian|myanmar|oriya|persian|simp-chinese-formal|simp-chinese-informal|square|tamil|telugu|thai|tibetan|trad-chinese-formal|trad-chinese-informal|upper-alpha|upper-armenian|upper-latin|upper-roman)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(sans-serif|serif|monospace|fantasy|cursive)\\\\\\\\b(?=\\\\\\\\s*[\\\\\\\\n,;}])\\\",\\\"name\\\":\\\"support.constant.font-name.less\\\"}]},\\\"property-values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#color-functions\\\"},{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#unicode-range\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#color-values\\\"},{\\\"include\\\":\\\"#property-value-constants\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#important\\\"}]},\\\"pseudo-selectors\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(dir)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"ltr|rtl\\\",\\\"name\\\":\\\"variable.parameter.dir.less\\\"},{\\\"include\\\":\\\"#less-variables\\\"}]}]},{\\\"begin\\\":\\\"(:)(lang)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"}]}]},{\\\"begin\\\":\\\"(:)(not)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selectors\\\"}]}]},{\\\"begin\\\":\\\"(:)(nth(-last)?-(child|of-type))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\"}},\\\"contentName\\\":\\\"meta.function-call.less\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(even|odd)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.pseudo-class.less\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.less\\\"}},\\\"match\\\":\\\"([-+])?\\\\\\\\d+{0,1}(n)(\\\\\\\\s*([-+])\\\\\\\\s*\\\\\\\\d+)?|[-+]?\\\\\\\\s*\\\\\\\\d+\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#less-strings\\\"},{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]}]},{\\\"begin\\\":\\\"(:)(host-context|host|has|is|not|where)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selectors\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.less\\\"}},\\\"match\\\":\\\"(:)(active|any-link|autofill|blank|buffering|checked|current|default|defined|disabled|empty|enabled|first-child|first-of-type|first|focus-visible|focus-within|focus|fullscreen|future|host|hover|in-range|indeterminate|invalid|last-child|last-of-type|left|local-link|link|modal|muted|only-child|only-of-type|optional|out-of-range|past|paused|picture-in-picture|placeholder-shown|playing|popover-open|read-only|read-write|required|right|root|scope|seeking|stalled|target-within|target|user-invalid|user-valid|valid|visited|volume-locked)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.function-call.less\\\"},{\\\"begin\\\":\\\"(::?)(highlight|part|state)(?=\\\\\\\\s*(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*\\\",\\\"name\\\":\\\"variable.parameter.less\\\"},{\\\"include\\\":\\\"#less-variables\\\"}]}]},{\\\"begin\\\":\\\"(::?)slotted(?=\\\\\\\\s*(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"contentName\\\":\\\"meta.function-call.less\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.group.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selectors\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"match\\\":\\\"(::?)(after|backdrop|before|cue|file-selector-button|first-letter|first-line|grammar-error|marker|placeholder|selection|spelling-error|target-text|view-transition-group|view-transition-image-pair|view-transition-new|view-transition-old|view-transition)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.less\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.namespace.vendor-prefix.less\\\"}},\\\"match\\\":\\\"(::?)(-\\\\\\\\w+-)(--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.less\\\"}]},\\\"qualified-name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.constant.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.namespace.wildcard.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.less\\\"}},\\\"match\\\":\\\"(?:(-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)|(\\\\\\\\*))?(\\\\\\\\|)(?!=)\\\"},\\\"regexp-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(regexp)(?=\\\\\\\\()\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"support.function.regexp.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#literal-string\\\"}]}]},\\\"relative-color\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"from\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b[abchlsw]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"}]},\\\"rule-list\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*})\\\",\\\"name\\\":\\\"meta.property-list.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\"},{\\\"include\\\":\\\"#rule-list-body\\\"},{\\\"include\\\":\\\"#less-extend\\\"}]}]},\\\"rule-list-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#comment-line\\\"},{\\\"include\\\":\\\"#at-rules\\\"},{\\\"include\\\":\\\"#less-variable-assignment\\\"},{\\\"begin\\\":\\\"(?=[-\\\\\\\\w]*?@\\\\\\\\{.*}[-\\\\\\\\w]*?\\\\\\\\s*:[^(;{]*(?=[);}]))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^:\\\\\\\\s])\\\",\\\"end\\\":\\\"(?=(((\\\\\\\\+_?)?):)[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"name\\\":\\\"support.type.property-name.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"support.type.property-name.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"begin\\\":\\\"(?=[-a-z])\\\",\\\"end\\\":\\\"$|(?![-a-z])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"begin\\\":\\\"(-[-\\\\\\\\w]+?-)((?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.namespace.vendor-prefix.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"},{\\\"match\\\":\\\"[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"}]}]},{\\\"include\\\":\\\"#filter-function\\\"},{\\\"begin\\\":\\\"\\\\\\\\b(border((-(bottom|top)-(left|right))|((-(start|end)){2}))?-radius|(border-image(?!-)))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#value-separator\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.custom-property.prefix.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.custom-property.name.less\\\"}},\\\"match\\\":\\\"\\\\\\\\b(var-)(-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"invalid.deprecated.custom-property.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\bfont(-family)?(?!-)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.property-name.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"match\\\":\\\"-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*(\\\\\\\\s+-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)*\\\",\\\"name\\\":\\\"string.unquoted.less\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.less\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\banimation-timeline\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"include\\\":\\\"#scroll-function\\\"},{\\\"include\\\":\\\"#view-function\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"},{\\\"include\\\":\\\"#important\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\banimation(?:-name)?(?=(?:\\\\\\\\+_?)?:)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-block\\\"},{\\\"include\\\":\\\"#builtin-functions\\\"},{\\\"include\\\":\\\"#less-functions\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#numeric-values\\\"},{\\\"include\\\":\\\"#property-value-constants\\\"},{\\\"match\\\":\\\"-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|(?:(:?\\\\\\\\\\\\\\\\[0-9a-f]{1,6}(\\\\\\\\r\\\\\\\\n|[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\r\\\\\\\\s])?)|\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\\f\\\\\\\\r0-9a-f]))(?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|(?:(:?\\\\\\\\\\\\\\\\[0-9a-f]{1,6}(\\\\\\\\r\\\\\\\\n|[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\r])?)|\\\\\\\\\\\\\\\\[^\\\\\\\\n\\\\\\\\f\\\\\\\\r0-9a-f]))*\\\",\\\"name\\\":\\\"variable.other.constant.animation-name.less string.unquoted.less\\\"},{\\\"include\\\":\\\"#less-math\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"},{\\\"include\\\":\\\"#important\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(transition(-(property|duration|delay|timing-function))?)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#time-type\\\"},{\\\"include\\\":\\\"#property-values\\\"},{\\\"include\\\":\\\"#cubic-bezier-function\\\"},{\\\"include\\\":\\\"#steps-function\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(?:backdrop-)?filter\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.property-name.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"match\\\":\\\"\\\\\\\\b(inherit|initial|unset|none)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.property-value.less\\\"},{\\\"include\\\":\\\"#filter-functions\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\bwill-change\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.property-name.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"match\\\":\\\"unset|initial|inherit|will-change|auto|scroll-position|contents\\\",\\\"name\\\":\\\"invalid.illegal.property-value.less\\\"},{\\\"match\\\":\\\"-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\bcounter-(increment|(re)?set)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.type.property-name.less\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"meta.property-name.less\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"match\\\":\\\"(((\\\\\\\\+_?)?):)([\\\\\\\\t\\\\\\\\s]*)\\\"},{\\\"match\\\":\\\"-?(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*\\\",\\\"name\\\":\\\"entity.name.constant.counter-name.less\\\"},{\\\"include\\\":\\\"#integer-type\\\"},{\\\"match\\\":\\\"unset|initial|inherit|auto\\\",\\\"name\\\":\\\"invalid.illegal.property-value.less\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\bcontainer(?:-name)?(?=\\\\\\\\s*?:)\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"name\\\":\\\"support.type.property-name.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(((\\\\\\\\+_?)?):)(?=[\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(;)|(?=[)}]))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bdefault\\\\\\\\b\\\",\\\"name\\\":\\\"invalid.illegal.property-value.less\\\"},{\\\"include\\\":\\\"#global-property-values\\\"},{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"contentName\\\":\\\"variable.other.constant.container-name.less\\\",\\\"match\\\":\\\"--|-?(?:[A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))(?:[-A-Z_a-z·À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}\\\\\\\\d]|\\\\\\\\\\\\\\\\(?:\\\\\\\\N|\\\\\\\\H|\\\\\\\\h{1,6}[R\\\\\\\\s]))*\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},{\\\"match\\\":\\\"\\\\\\\\b(accent-height|align-content|align-items|align-self|alignment-baseline|all|animation-timing-function|animation-range-start|animation-range-end|animation-range|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation-composition|animation|appearance|ascent|aspect-ratio|azimuth|backface-visibility|background-size|background-repeat-y|background-repeat-x|background-repeat|background-position-y|background-position-x|background-position|background-origin|background-image|background-color|background-clip|background-blend-mode|background-attachment|background|baseline-shift|begin|bias|blend-mode|border-top-left-radius|border-top-right-radius|border-bottom-left-radius|border-bottom-right-radius|border-end-end-radius|border-end-start-radius|border-start-end-radius|border-start-start-radius|border-block-start-color|border-block-start-style|border-block-start-width|border-block-start|border-block-end-color|border-block-end-style|border-block-end-width|border-block-end|border-block-color|border-block-style|border-block-width|border-block|border-inline-start-color|border-inline-start-style|border-inline-start-width|border-inline-start|border-inline-end-color|border-inline-end-style|border-inline-end-width|border-inline-end|border-inline-color|border-inline-style|border-inline-width|border-inline|border-top-color|border-top-style|border-top-width|border-top|border-right-color|border-right-style|border-right-width|border-right|border-bottom-color|border-bottom-style|border-bottom-width|border-bottom|border-left-color|border-left-style|border-left-width|border-left|border-image-outset|border-image-repeat|border-image-slice|border-image-source|border-image-width|border-image|border-color|border-style|border-width|border-radius|border-collapse|border-spacing|border|bottom|box-(align|decoration-break|direction|flex|ordinal-group|orient|pack|shadow|sizing)|break-(after|before|inside)|caption-side|clear|clip-path|clip-rule|clip|color(-(interpolation(-filters)?|profile|rendering))?|columns|column-(break-before|count|fill|gap|(rule(-(color|style|width))?)|span|width)|container-name|container-type|container|contain-intrinsic-block-size|contain-intrinsic-inline-size|contain-intrinsic-height|contain-intrinsic-size|contain-intrinsic-width|contain|content|counter-(increment|reset)|cursor|[cdf][xy]|direction|display|divisor|dominant-baseline|dur|elevation|empty-cells|enable-background|end|fallback|fill(-(opacity|rule))?|filter|flex(-(align|basis|direction|flow|grow|item-align|line-pack|negative|order|pack|positive|preferred-size|shrink|wrap))?|float|flood-(color|opacity)|font-display|font-family|font-feature-settings|font-kerning|font-language-override|font-size(-adjust)?|font-smoothing|font-stretch|font-style|font-synthesis|font-variant(-(alternates|caps|east-asian|ligatures|numeric|position))?|font-weight|font|fr|((column|row)-)?gap|glyph-orientation-(horizontal|vertical)|grid-(area|gap)|grid-auto-(columns|flow|rows)|grid-(column|row)(-(end|gap|start))?|grid-template(-(areas|columns|rows))?|grid|height|hyphens|image-(orientation|rendering|resolution)|inset(-(block|inline))?(-(start|end))?|isolation|justify-content|justify-items|justify-self|kerning|left|letter-spacing|lighting-color|line-(box-contain|break|clamp|height)|list-style(-(image|position|type))?|(margin|padding)(-(bottom|left|right|top)|(-(block|inline)?(-(end|start))?))?|marker(-(end|mid|start))?|mask(-(clip||composite|image|origin|position|repeat|size|type))?|(m(?:ax|in))-(height|width)|mix-blend-mode|nbsp-mode|negative|object-(fit|position)|opacity|operator|order|orphans|outline(-(color|offset|style|width))?|overflow(-((inline|block)|scrolling|wrap|[xy]))?|overscroll-behavior(-(?:block|(inline|[xy])))?|pad(ding(-(bottom|left|right|top))?)?|page(-break-(after|before|inside))?|paint-order|pause(-(after|before))?|perspective(-origin(-([xy]))?)?|pitch(-range)?|place-content|place-self|pointer-events|position|prefix|quotes|range|resize|right|rotate|scale|scroll-behavior|shape-(image-threshold|margin|outside|rendering)|size|speak(-as)?|src|stop-(color|opacity)|stroke(-(dash(array|offset)|line(cap|join)|miterlimit|opacity|width))?|suffix|symbols|system|tab-size|table-layout|tap-highlight-color|text-align(-last)?|text-decoration(-(color|line|style))?|text-emphasis(-(color|position|style))?|text-(anchor|fill-color|height|indent|justify|orientation|overflow|rendering|size-adjust|shadow|transform|underline-position|wrap)|top|touch-action|transform(-origin(-([xy]))?)|transform(-style)?|transition(-(delay|duration|property|timing-function))?|translate|unicode-(bidi|range)|user-(drag|select)|vertical-align|visibility|white-space(-collapse)?|widows|width|will-change|word-(break|spacing|wrap)|writing-mode|z-index|zoom)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.property-name.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(((contain-intrinsic|max|min)-)?(block|inline)?-size)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.property-name.less\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b((?:\\\\\\\\+_?)?:)([\\\\\\\\t\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.less\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.property-value.less\\\"}},\\\"contentName\\\":\\\"meta.property-value.less\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)|(?=[)}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.less\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property-values\\\"}]},{\\\"include\\\":\\\"$self\\\"}]},\\\"scroll-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(scroll)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.scroll.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"root|nearest|self\\\",\\\"name\\\":\\\"support.constant.scroller.less\\\"},{\\\"match\\\":\\\"block|inline|[xy]\\\",\\\"name\\\":\\\"support.constant.axis.less\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"}]},\\\"selector\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[#\\\\\\\\&*+./>A-\\\\\\\\[a-z~]|(:{1,2}\\\\\\\\S)|@\\\\\\\\{)\\\",\\\"contentName\\\":\\\"meta.selector.less\\\",\\\"end\\\":\\\"(?=@(?!\\\\\\\\{)|[;{])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-line\\\"},{\\\"include\\\":\\\"#selectors\\\"},{\\\"include\\\":\\\"#less-namespace-accessors\\\"},{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"include\\\":\\\"#important\\\"}]}]},\\\"selectors\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b([a-z](?:[-0-9_a-z·]|\\\\\\\\\\\\\\\\\\\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}])*-(?:[-0-9_a-z·]|\\\\\\\\\\\\\\\\\\\\\\\\.|[À-ÖØ-öø-ͽͿ-῿‌‍‿⁀⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-\\\\\\\\x{EFFFF}])*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.tag.custom.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|basefont|bdi|bdo|big|blockquote|body|br|button|canvas|caption|circle|cite|clipPath|code|col|colgroup|content|data|dataList|dd|defs|del|details|dfn|dialog|dir|div|dl|dt|element|ellipse|em|embed|eventsource|fieldset|figcaption|figure|filter|footer|foreignObject|form|frame|frameset|g|glyph|glyphRef|h1|h2|h3|h4|h5|h6|head|header|hgroup|hr|html|i|iframe|image|img|input|ins|isindex|kbd|keygen|label|legend|li|line|linearGradient|link|main|map|mark|marker|mask|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|path|pattern|picture|polygon|polyline|pre|progress|q|radialGradient|rect|rp|ruby|rtc??|s|samp|script|section|select|shadow|small|source|span|stop|strike|strong|style|sub|summary|sup|svg|switch|symbol|table|tbody|td|template|textarea|textPath|tfoot|th|thead|time|title|tr|track|tref|tspan|tt|ul??|use|var|video|wbr|xmp)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.tag.less\\\"},{\\\"begin\\\":\\\"(\\\\\\\\.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"(?![-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6} ?|\\\\\\\\H)|(@(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},{\\\"begin\\\":\\\"(#)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"end\\\":\\\"(?![-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6} ?|\\\\\\\\H)|(@(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"}]},{\\\"begin\\\":\\\"(&)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}},\\\"contentName\\\":\\\"entity.other.attribute-name.parent.less\\\",\\\"end\\\":\\\"(?![-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x{9F}]]|\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6} ?|\\\\\\\\H)|(@(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"entity.other.attribute-name.parent.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"include\\\":\\\"#selectors\\\"}]},{\\\"include\\\":\\\"#pseudo-selectors\\\"},{\\\"include\\\":\\\"#less-extend\\\"},{\\\"match\\\":\\\"(?!\\\\\\\\+_?:)(?:>{1,3}|[+~])(?![+;>}~])\\\",\\\"name\\\":\\\"punctuation.separator.combinator.less\\\"},{\\\"match\\\":\\\"(>{1,3}|[+~]){2,}\\\",\\\"name\\\":\\\"invalid.illegal.combinator.less\\\"},{\\\"match\\\":\\\"/deep/\\\",\\\"name\\\":\\\"invalid.illegal.combinator.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.begin.less\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.braces.end.less\\\"}},\\\"name\\\":\\\"meta.attribute-selector.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"include\\\":\\\"#qualified-name\\\"},{\\\"match\\\":\\\"(-?(?:[A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))(?:[-\\\\\\\\w[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}[\\\\\\\\t\\\\\\\\n\\\\\\\\f\\\\\\\\s]?|[^\\\\\\\\n\\\\\\\\f\\\\\\\\h]))*)\\\",\\\"name\\\":\\\"entity.other.attribute-name.less\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*([$*^|~]?=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.attribute-selector.less\\\"}},\\\"end\\\":\\\"(?=([]\\\\\\\\s]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"match\\\":\\\"[^]\\\\\\\"'\\\\\\\\[\\\\\\\\s]\\\",\\\"name\\\":\\\"string.unquoted.less\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.less\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\s+([Ii]))?\\\"},{\\\"match\\\":\\\"]\\\",\\\"name\\\":\\\"punctuation.definition.entity.less\\\"}]}]},{\\\"include\\\":\\\"#arbitrary-repetition\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"entity.name.tag.wildcard.less\\\"}]},\\\"shape-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(rect)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.shape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bauto\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(inset)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.shape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bround\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(circle|ellipse)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.shape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.less\\\"},{\\\"match\\\":\\\"\\\\\\\\b(top|right|bottom|left|center|closest-side|farthest-side)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(polygon)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.shape.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(nonzero|evenodd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#percentage-type\\\"}]}]}]},\\\"steps-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(steps)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"contentName\\\":\\\"meta.group.less\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"jump-start|jump-end|jump-none|jump-both|start|end\\\",\\\"name\\\":\\\"support.constant.step-position.less\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#integer-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"}]},\\\"string-content\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variable-interpolation\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\\s*\\\\\\\\n\\\",\\\"name\\\":\\\"constant.character.escape.newline.less\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.less\\\"}]},\\\"style-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(style)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.style.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#rule-list-body\\\"}]}]},\\\"symbols-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(symbols)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.counter.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(cyclic|numeric|alphabetic|symbolic|fixed)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.symbol-type.less\\\"},{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#image-type\\\"}]}]},\\\"time-type\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.less\\\"}},\\\"match\\\":\\\"(?i:[-+]?(?:\\\\\\\\d*\\\\\\\\.\\\\\\\\d+(?:[Ee][-+]?\\\\\\\\d+)*|[-+]?\\\\\\\\d+)(m??s))\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.less\\\"},\\\"transform-functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b((?:matrix|scale)(?:3d|))(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(translate(3d)?)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(translate[XY])(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(rotate[XYZ]?|skew[XY])(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(skew)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(translateZ|perspective)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(rotate3d)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#angle-type\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\b(scale[XYZ])(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"support.function.transform.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#number-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]}]},\\\"unicode-range\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.constant.unicode-range.prefix.less\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.codepoint-range.less\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.range.less\\\"}},\\\"match\\\":\\\"(?i)(u\\\\\\\\+)([0-9?a-f]{1,6}(?:(-)[0-9a-f]{1,6})?)\\\",\\\"name\\\":\\\"support.unicode-range.less\\\"},\\\"unquoted-string\\\":{\\\"match\\\":\\\"[^\\\\\\\"'\\\\\\\\s]\\\",\\\"name\\\":\\\"string.unquoted.less\\\"},\\\"url-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(url)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.url.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#literal-string\\\"},{\\\"include\\\":\\\"#unquoted-string\\\"},{\\\"include\\\":\\\"#var-function\\\"}]}]},\\\"value-separator\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.less\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(/)\\\\\\\\s*\\\"},\\\"var-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(var)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.var.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comma-delimiter\\\"},{\\\"include\\\":\\\"#custom-property-name\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#property-values\\\"}]}]},\\\"view-function\\\":{\\\"begin\\\":\\\"\\\\\\\\b(view)(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.view.less\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.end.less\\\"}},\\\"name\\\":\\\"meta.function-call.less\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.begin.less\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"block|inline|[xy]|auto\\\",\\\"name\\\":\\\"support.constant.property-value.less\\\"},{\\\"include\\\":\\\"#percentage-type\\\"},{\\\"include\\\":\\\"#length-type\\\"},{\\\"include\\\":\\\"#less-variables\\\"},{\\\"include\\\":\\\"#var-function\\\"},{\\\"include\\\":\\\"#calc-function\\\"},{\\\"include\\\":\\\"#arbitrary-repetition\\\"}]}]}},\\\"scopeName\\\":\\\"source.css.less\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Markdown\\\",\\\"name\\\":\\\"markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#frontMatter\\\"},{\\\"include\\\":\\\"#block\\\"}],\\\"repository\\\":{\\\"ampersand\\\":{\\\"match\\\":\\\"&(?!([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+);)\\\",\\\"name\\\":\\\"meta.other.valid-ampersand.markdown\\\"},\\\"block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#separator\\\"},{\\\"include\\\":\\\"#heading\\\"},{\\\"include\\\":\\\"#blockquote\\\"},{\\\"include\\\":\\\"#lists\\\"},{\\\"include\\\":\\\"#fenced_code_block\\\"},{\\\"include\\\":\\\"#raw_block\\\"},{\\\"include\\\":\\\"#link-def\\\"},{\\\"include\\\":\\\"#html\\\"},{\\\"include\\\":\\\"#table\\\"},{\\\"include\\\":\\\"#paragraph\\\"}]},\\\"blockquote\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G) {0,3}(>) ?\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.markdown\\\"}},\\\"name\\\":\\\"markup.quote.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(>) ?\\\"},\\\"bold\\\":{\\\"begin\\\":\\\"(?<open>(\\\\\\\\*\\\\\\\\*(?=\\\\\\\\w)|(?<!\\\\\\\\w)\\\\\\\\*\\\\\\\\*|(?<!\\\\\\\\w)\\\\\\\\b__))(?=\\\\\\\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\\\\\\\k<raw>(?!`))`)*+\\\\\\\\k<raw>|\\\\\\\\\\\\\\\\[-\\\\\\\\]!#(-+.>\\\\\\\\[\\\\\\\\\\\\\\\\_`{}]?+|\\\\\\\\[((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+](( ?\\\\\\\\[[^]]*+])|(\\\\\\\\([\\\\\\\\t ]*+<?(.*?)>?[\\\\\\\\t ]*+((?<title>[\\\\\\\"'])(.*?)\\\\\\\\k<title>)?\\\\\\\\))))|(?!(?<=\\\\\\\\S)\\\\\\\\k<open>).)++(?<=\\\\\\\\S)(?=__\\\\\\\\b|\\\\\\\\*\\\\\\\\*)\\\\\\\\k<open>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bold.markdown\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\1)\\\",\\\"name\\\":\\\"markup.bold.markdown\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"},{\\\"include\\\":\\\"#strikethrough\\\"}]},\\\"bracket\\\":{\\\"match\\\":\\\"<(?![!$/?A-Za-z])\\\",\\\"name\\\":\\\"meta.other.valid-bracket.markdown\\\"},\\\"escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[-\\\\\\\\]!#(-+.>\\\\\\\\[\\\\\\\\\\\\\\\\_`{}]\\\",\\\"name\\\":\\\"constant.character.escape.markdown\\\"},\\\"fenced_code_block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#fenced_code_block_css\\\"},{\\\"include\\\":\\\"#fenced_code_block_basic\\\"},{\\\"include\\\":\\\"#fenced_code_block_ini\\\"},{\\\"include\\\":\\\"#fenced_code_block_java\\\"},{\\\"include\\\":\\\"#fenced_code_block_lua\\\"},{\\\"include\\\":\\\"#fenced_code_block_makefile\\\"},{\\\"include\\\":\\\"#fenced_code_block_perl\\\"},{\\\"include\\\":\\\"#fenced_code_block_r\\\"},{\\\"include\\\":\\\"#fenced_code_block_ruby\\\"},{\\\"include\\\":\\\"#fenced_code_block_php\\\"},{\\\"include\\\":\\\"#fenced_code_block_sql\\\"},{\\\"include\\\":\\\"#fenced_code_block_vs_net\\\"},{\\\"include\\\":\\\"#fenced_code_block_xml\\\"},{\\\"include\\\":\\\"#fenced_code_block_xsl\\\"},{\\\"include\\\":\\\"#fenced_code_block_yaml\\\"},{\\\"include\\\":\\\"#fenced_code_block_dosbatch\\\"},{\\\"include\\\":\\\"#fenced_code_block_clojure\\\"},{\\\"include\\\":\\\"#fenced_code_block_coffee\\\"},{\\\"include\\\":\\\"#fenced_code_block_c\\\"},{\\\"include\\\":\\\"#fenced_code_block_cpp\\\"},{\\\"include\\\":\\\"#fenced_code_block_diff\\\"},{\\\"include\\\":\\\"#fenced_code_block_dockerfile\\\"},{\\\"include\\\":\\\"#fenced_code_block_git_commit\\\"},{\\\"include\\\":\\\"#fenced_code_block_git_rebase\\\"},{\\\"include\\\":\\\"#fenced_code_block_go\\\"},{\\\"include\\\":\\\"#fenced_code_block_groovy\\\"},{\\\"include\\\":\\\"#fenced_code_block_pug\\\"},{\\\"include\\\":\\\"#fenced_code_block_ignore\\\"},{\\\"include\\\":\\\"#fenced_code_block_js\\\"},{\\\"include\\\":\\\"#fenced_code_block_js_regexp\\\"},{\\\"include\\\":\\\"#fenced_code_block_json\\\"},{\\\"include\\\":\\\"#fenced_code_block_jsonc\\\"},{\\\"include\\\":\\\"#fenced_code_block_jsonl\\\"},{\\\"include\\\":\\\"#fenced_code_block_less\\\"},{\\\"include\\\":\\\"#fenced_code_block_objc\\\"},{\\\"include\\\":\\\"#fenced_code_block_swift\\\"},{\\\"include\\\":\\\"#fenced_code_block_scss\\\"},{\\\"include\\\":\\\"#fenced_code_block_perl6\\\"},{\\\"include\\\":\\\"#fenced_code_block_powershell\\\"},{\\\"include\\\":\\\"#fenced_code_block_python\\\"},{\\\"include\\\":\\\"#fenced_code_block_julia\\\"},{\\\"include\\\":\\\"#fenced_code_block_regexp_python\\\"},{\\\"include\\\":\\\"#fenced_code_block_rust\\\"},{\\\"include\\\":\\\"#fenced_code_block_scala\\\"},{\\\"include\\\":\\\"#fenced_code_block_shell\\\"},{\\\"include\\\":\\\"#fenced_code_block_ts\\\"},{\\\"include\\\":\\\"#fenced_code_block_tsx\\\"},{\\\"include\\\":\\\"#fenced_code_block_csharp\\\"},{\\\"include\\\":\\\"#fenced_code_block_fsharp\\\"},{\\\"include\\\":\\\"#fenced_code_block_dart\\\"},{\\\"include\\\":\\\"#fenced_code_block_handlebars\\\"},{\\\"include\\\":\\\"#fenced_code_block_markdown\\\"},{\\\"include\\\":\\\"#fenced_code_block_log\\\"},{\\\"include\\\":\\\"#fenced_code_block_erlang\\\"},{\\\"include\\\":\\\"#fenced_code_block_elixir\\\"},{\\\"include\\\":\\\"#fenced_code_block_latex\\\"},{\\\"include\\\":\\\"#fenced_code_block_bibtex\\\"},{\\\"include\\\":\\\"#fenced_code_block_twig\\\"},{\\\"include\\\":\\\"#fenced_code_block_yang\\\"},{\\\"include\\\":\\\"#fenced_code_block_abap\\\"},{\\\"include\\\":\\\"#fenced_code_block_restructuredtext\\\"},{\\\"include\\\":\\\"#fenced_code_block_unknown\\\"}]},\\\"fenced_code_block_abap\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(abap)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.abap\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.abap\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_basic\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(html?|shtml|xhtml|inc|tmpl|tpl)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_bibtex\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(bibtex)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.bibtex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.bibtex\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_c\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:([ch])((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_clojure\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(cl(?:js??|ojure))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_coffee\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(coffee|Cakefile|coffee.erb)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_cpp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(c(?:pp|\\\\\\\\+\\\\\\\\+|xx))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.cpp source.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_csharp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(c(?:s|sharp|#))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.csharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_css\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(css(?:|.erb))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dart\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(dart)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dart\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dart\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_diff\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(patch|diff|rej)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dockerfile\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:([Dd]ockerfile)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_dosbatch\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(bat(?:|ch))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.dosbatch\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.batchfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_elixir\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(elixir)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_erlang\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(erlang)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_fsharp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(f(?:s|sharp|#))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.fsharp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.fsharp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_git_commit\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:((?:COMMIT_EDIT|MERGE_)MSG)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.git_commit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.git-commit\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_git_rebase\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(git-rebase-todo)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.git_rebase\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.git-rebase\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_go\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(go(?:|lang))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_groovy\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(g(?:roovy|vy))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.groovy\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.groovy\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_handlebars\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(h(?:andlebars|bs))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.handlebars\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.handlebars\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ignore\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:((?:git|)ignore)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.ignore\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ignore\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ini\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(ini|conf)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_java\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(java|bsh)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_js\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jsx??|javascript|es6|mjs|cjs|dataviewjs|\\\\\\\\{\\\\\\\\.js.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.javascript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_js_regexp\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(regexp)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.js_regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js.regexp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_json\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(json5??|sublime-settings|sublime-menu|sublime-keymap|sublime-mousemap|sublime-theme|sublime-build|sublime-project|sublime-completions)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_jsonc\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jsonc)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.jsonc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json.comments\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_jsonl\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jsonl(?:|ines))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.jsonl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json.lines\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_julia\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(julia|\\\\\\\\{\\\\\\\\.julia.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_latex\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:((?:la|)tex)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.latex\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.tex.latex\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_less\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(less)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_log\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(log)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.log\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.log\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_lua\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(lua)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_makefile\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:((?:[Mm]|GNUm|OCamlM)akefile)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_markdown\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(m(?:arkdown|d))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_objc\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(objectivec|objective-c|mm|objc|obj-c|[hm])((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_perl\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(perl|pl|pm|pod|t|PL|psgi|vcl)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_perl6\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(perl6|p6|pl6|pm6|nqp)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.perl6\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl.6\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_php\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(php3??|php4|php5|phpt|phtml|aw|ctp)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"source.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_powershell\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(p(?:owershell|s1|sm1|sd1|wsh))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.powershell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.powershell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_pug\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(jade|pug)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.pug\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_python\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(python|py3??|rpy|pyw|cpy|SConstruct|Sconstruct|sconstruct|SConscript|gypi??|\\\\\\\\{\\\\\\\\.python.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_r\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:([RSrs]|Rprofile|\\\\\\\\{\\\\\\\\.r.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_regexp_python\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(re)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.regexp_python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.regexp.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_restructuredtext\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(r(?:estructuredtext|st))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.restructuredtext\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rst\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ruby\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(ruby|rbx??|rjs|Rakefile|rake|cgi|fcgi|gemspec|irbrc|Capfile|ru|prawn|Cheffile|Gemfile|Guardfile|Hobofile|Vagrantfile|Appraisals|Rantfile|Berksfile|Berksfile.lock|Thorfile|Puppetfile)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_rust\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(rust|rs|\\\\\\\\{\\\\\\\\.rust.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_scala\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(s(?:cala|bt))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_scss\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(scss)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_shell\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(shell|sh|bash|zsh|bashrc|bash_profile|bash_login|profile|bash_logout|.textmate_init|\\\\\\\\{\\\\\\\\.bash.+?})((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.shellscript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_sql\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(sql|ddl|dml)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_swift\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(swift)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_ts\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(t(?:ypescript|s))((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.typescript\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_tsx\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(tsx)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.typescriptreact\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_twig\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(twig)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.twig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.twig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_unknown\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?=([^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\"},\\\"fenced_code_block_vs_net\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(vb)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.vs_net\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.asp.vb.net\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_xml\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(xml|xsd|tld|jsp|pt|cpt|dtml|rss|opml)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_xsl\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(xslt??)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.xsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.xsl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_yaml\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(ya?ml)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"fenced_code_block_yang\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(yang)((\\\\\\\\s+|[,:?{])[^`]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\"}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.block.yang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*([`~]{3,})\\\\\\\\s*$)\\\"}]},\\\"frontMatter\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\A(?=(-{3,}))\\\",\\\"end\\\":\\\"^(?: {0,3}\\\\\\\\1-*[\\\\\\\\t ]*|[\\\\\\\\t ]*\\\\\\\\.{3})$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.frontmatter\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\A(-{3,})(.*)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.begin.frontmatter\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.frontmatter\\\"}},\\\"contentName\\\":\\\"meta.embedded.block.frontmatter\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"^(?!(?: {0,3}\\\\\\\\1-*[\\\\\\\\t ]*|[\\\\\\\\t ]*\\\\\\\\.{3})$)\\\"}]},\\\"heading\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{6})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.6.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{5})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.5.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{4})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.4.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{3})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.3.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{2})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.2.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{1})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.1.markdown\\\"}]}},\\\"match\\\":\\\"(?:^|\\\\\\\\G) {0,3}(#{1,6}\\\\\\\\s+(.*?)(\\\\\\\\s+#{1,6})?\\\\\\\\s*)$\\\",\\\"name\\\":\\\"markup.heading.markdown\\\"},\\\"heading-setext\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(={3,})(?=[\\\\\\\\t ]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.1.markdown\\\"},{\\\"match\\\":\\\"^(-{3,})(?=[\\\\\\\\t ]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.2.markdown\\\"}]},\\\"html\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(<!--)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"(-->)\\\",\\\"name\\\":\\\"comment.block.html\\\"},{\\\"begin\\\":\\\"(?i)(^|\\\\\\\\G)\\\\\\\\s*(?=<(script|style|pre)(\\\\\\\\s|$|>)(?!.*?</(script|style|pre)>))\\\",\\\"end\\\":\\\"(?i)(.*)((</)(script|style|pre)(>))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.structure.$4.end.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\s*|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"(?i)^(?!.*</(script|style|pre)>)\\\"}]},{\\\"begin\\\":\\\"(?i)(^|\\\\\\\\G)\\\\\\\\s*(?=</?[A-Za-z]+[^\\\\\\\\&/;gt\\\\\\\\s]*(\\\\\\\\s|$|/?>))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"^(?!\\\\\\\\s*$)\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(?=(<(?:[-0-9A-Za-z](/?>|\\\\\\\\s.*?>)|/[-0-9A-Za-z]>))\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}],\\\"while\\\":\\\"^(?!\\\\\\\\s*$)\\\"}]},\\\"image-inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.description.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.image.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"markup.underline.link.image.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"18\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"19\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"21\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"}},\\\"match\\\":\\\"(!\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(])(\\\\\\\\()[\\\\\\\\t ]*((<)((?:\\\\\\\\\\\\\\\\[<>]|[^\\\\\\\\n<>])*)(>)|((?<url>(?>[^()\\\\\\\\s]+)|\\\\\\\\(\\\\\\\\g<url>*\\\\\\\\))*))[\\\\\\\\t ]*(?:((\\\\\\\\().+?(\\\\\\\\)))|((\\\\\\\").+?(\\\\\\\"))|((').+?(')))?\\\\\\\\s*(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.image.inline.markdown\\\"},\\\"image-ref\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.description.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.description.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"}},\\\"match\\\":\\\"(!\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(]) ?(\\\\\\\\[)(.*?)(])\\\",\\\"name\\\":\\\"meta.image.reference.markdown\\\"},\\\"inline\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"}]},\\\"italic\\\":{\\\"begin\\\":\\\"(?<open>(\\\\\\\\*(?=\\\\\\\\w)|(?<!\\\\\\\\w)\\\\\\\\*|(?<!\\\\\\\\w)\\\\\\\\b_))(?=\\\\\\\\S)(?=(<[^>]*+>|(?<raw>`+)([^`]|(?!(?<!`)\\\\\\\\k<raw>(?!`))`)*+\\\\\\\\k<raw>|\\\\\\\\\\\\\\\\[-\\\\\\\\]!#(-+.>\\\\\\\\[\\\\\\\\\\\\\\\\_`{}]?+|\\\\\\\\[((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+](( ?\\\\\\\\[[^]]*+])|(\\\\\\\\([\\\\\\\\t ]*+<?(.*?)>?[\\\\\\\\t ]*+((?<title>[\\\\\\\"'])(.*?)\\\\\\\\k<title>)?\\\\\\\\))))|\\\\\\\\k<open>\\\\\\\\k<open>|(?!(?<=\\\\\\\\S)\\\\\\\\k<open>).)++(?<=\\\\\\\\S)(?=_\\\\\\\\b|\\\\\\\\*)\\\\\\\\k<open>)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.italic.markdown\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\S)(\\\\\\\\1)((?!\\\\\\\\1)|(?=\\\\\\\\1\\\\\\\\1))\\\",\\\"name\\\":\\\"markup.italic.markdown\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"},{\\\"include\\\":\\\"#strikethrough\\\"}]},\\\"link-def\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.constant.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(\\\\\\\\[)([^]]+?)(])(:)[\\\\\\\\t ]*(?:(<)((?:\\\\\\\\\\\\\\\\[<>]|[^\\\\\\\\n<>])*)(>)|(\\\\\\\\S+?))[\\\\\\\\t ]*(?:((\\\\\\\\().+?(\\\\\\\\)))|((\\\\\\\").+?(\\\\\\\"))|((').+?(')))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"meta.link.reference.def.markdown\\\"},\\\"link-email\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"}},\\\"match\\\":\\\"(<)((?:mailto:)?[!#-'*+\\\\\\\\--9=?A-Z^-~]+@[-0-9A-Za-z]+(?:\\\\\\\\.[-0-9A-Za-z]+)*)(>)\\\",\\\"name\\\":\\\"meta.link.email.lt-gt.markdown\\\"},\\\"link-inet\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"}},\\\"match\\\":\\\"(<)((?:https?|ftp)://.*?)(>)\\\",\\\"name\\\":\\\"meta.link.inet.markdown\\\"},\\\"link-inline\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#image-inline\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"8\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.link.markdown\\\"},\\\"10\\\":{\\\"name\\\":\\\"markup.underline.link.markdown\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"13\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"14\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"16\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"17\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"18\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"19\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.markdown\\\"},\\\"20\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.markdown\\\"},\\\"21\\\":{\\\"name\\\":\\\"punctuation.definition.metadata.markdown\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(])(\\\\\\\\()[\\\\\\\\t ]*((<)((?:\\\\\\\\\\\\\\\\[<>]|[^\\\\\\\\n<>])*)(>)|((?<url>(?>[^()\\\\\\\\s]+)|\\\\\\\\(\\\\\\\\g<url>*\\\\\\\\))*))[\\\\\\\\t ]*(?:((\\\\\\\\()[^()]*(\\\\\\\\)))|((\\\\\\\")[^\\\\\\\"]*(\\\\\\\"))|((')[^']*(')))?\\\\\\\\s*(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.link.inline.markdown\\\"},\\\"link-ref\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#strikethrough\\\"},{\\\"include\\\":\\\"#image-inline\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.begin.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.other.reference.link.markdown\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.constant.end.markdown\\\"}},\\\"match\\\":\\\"(?<![]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(])(\\\\\\\\[)([^]]*+)(])\\\",\\\"name\\\":\\\"meta.link.reference.markdown\\\"},\\\"link-ref-literal\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.constant.begin.markdown\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.constant.end.markdown\\\"}},\\\"match\\\":\\\"(?<![]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?<square>[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[\\\\\\\\g<square>*+])*+)(]) ?(\\\\\\\\[)(])\\\",\\\"name\\\":\\\"meta.link.reference.literal.markdown\\\"},\\\"link-ref-shortcut\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.begin.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.title.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.link.title.end.markdown\\\"}},\\\"match\\\":\\\"(?<![]\\\\\\\\\\\\\\\\])(\\\\\\\\[)((?:[^]\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\s]|\\\\\\\\\\\\\\\\[]\\\\\\\\[])+?)((?<!\\\\\\\\\\\\\\\\)])\\\",\\\"name\\\":\\\"meta.link.reference.markdown\\\"},\\\"list_paragraph\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\S)(?![*->]\\\\\\\\s|[0-9]+\\\\\\\\.\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.paragraph.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"#heading-setext\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?!\\\\\\\\s*$|#| {0,3}([-*>_] {2,}){3,}[\\\\\\\\t ]*$\\\\\\\\n?| {0,3}[*->]| {0,3}[0-9]+\\\\\\\\.)\\\"},\\\"lists\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)( {0,3})([-*+])([\\\\\\\\t ])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.unnumbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)( {2,4}|\\\\\\\\t))|^([\\\\\\\\t ]*)$\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)( {0,3})([0-9]+[).])([\\\\\\\\t ])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.numbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)( {2,4}|\\\\\\\\t))|^([\\\\\\\\t ]*)$\\\"}]},\\\"paragraph\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G) {0,3}(?=[^\\\\\\\\t\\\\\\\\n ])\\\",\\\"name\\\":\\\"meta.paragraph.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"#heading-setext\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)((?=\\\\\\\\s*[-=]{3,}\\\\\\\\s*$)| {4,}(?=[^\\\\\\\\t\\\\\\\\n ]))\\\"},\\\"raw\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.raw.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.raw.markdown\\\"}},\\\"match\\\":\\\"(`+)((?:[^`]|(?!(?<!`)\\\\\\\\1(?!`))`)*+)(\\\\\\\\1)\\\",\\\"name\\\":\\\"markup.inline.raw.string.markdown\\\"},\\\"raw_block\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)( {4}|\\\\\\\\t)\\\",\\\"name\\\":\\\"markup.raw.block.markdown\\\",\\\"while\\\":\\\"(^|\\\\\\\\G)( {4}|\\\\\\\\t)\\\"},\\\"separator\\\":{\\\"match\\\":\\\"(^|\\\\\\\\G) {0,3}([-*_])( {0,2}\\\\\\\\2){2,}[\\\\\\\\t ]*$\\\\\\\\n?\\\",\\\"name\\\":\\\"meta.separator.markdown\\\"},\\\"strikethrough\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.strikethrough.markdown\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<[^>]*?>)\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.derivative\\\"}]},{\\\"include\\\":\\\"#escape\\\"},{\\\"include\\\":\\\"#ampersand\\\"},{\\\"include\\\":\\\"#bracket\\\"},{\\\"include\\\":\\\"#raw\\\"},{\\\"include\\\":\\\"#bold\\\"},{\\\"include\\\":\\\"#italic\\\"},{\\\"include\\\":\\\"#image-inline\\\"},{\\\"include\\\":\\\"#link-inline\\\"},{\\\"include\\\":\\\"#link-inet\\\"},{\\\"include\\\":\\\"#link-email\\\"},{\\\"include\\\":\\\"#image-ref\\\"},{\\\"include\\\":\\\"#link-ref-literal\\\"},{\\\"include\\\":\\\"#link-ref\\\"},{\\\"include\\\":\\\"#link-ref-shortcut\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.strikethrough.markdown\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(~{2,})(?!(?<=\\\\\\\\w~~)_)((?:[^~]|(?!(?<![\\\\\\\\\\\\\\\\~])\\\\\\\\1(?!~))~)*+)(\\\\\\\\1)(?!(?<=_\\\\\\\\1)\\\\\\\\w)\\\",\\\"name\\\":\\\"markup.strikethrough.markdown\\\"},\\\"table\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\|)(?=[^|].+\\\\\\\\|\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.table.markdown\\\"}},\\\"name\\\":\\\"markup.table.markdown\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.definition.table.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.table.markdown\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\|)\\\\\\\\s*(:?-+:?)\\\\\\\\s*(?=\\\\\\\\|)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"}]}},\\\"match\\\":\\\"(?<=\\\\\\\\|)\\\\\\\\s*(?=\\\\\\\\S)((\\\\\\\\\\\\\\\\\\\\\\\\||[^|])+)(?<=\\\\\\\\S)\\\\\\\\s*(?=\\\\\\\\|)\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?=\\\\\\\\|)\\\"}},\\\"scopeName\\\":\\\"text.html.markdown\\\",\\\"embeddedLangs\\\":[],\\\"aliases\\\":[\\\"md\\\"],\\\"embeddedLangsLazy\\\":[\\\"css\\\",\\\"html\\\",\\\"ini\\\",\\\"java\\\",\\\"lua\\\",\\\"make\\\",\\\"perl\\\",\\\"r\\\",\\\"ruby\\\",\\\"php\\\",\\\"sql\\\",\\\"vb\\\",\\\"xml\\\",\\\"xsl\\\",\\\"yaml\\\",\\\"bat\\\",\\\"clojure\\\",\\\"coffee\\\",\\\"c\\\",\\\"cpp\\\",\\\"diff\\\",\\\"docker\\\",\\\"git-commit\\\",\\\"git-rebase\\\",\\\"go\\\",\\\"groovy\\\",\\\"pug\\\",\\\"javascript\\\",\\\"json\\\",\\\"jsonc\\\",\\\"jsonl\\\",\\\"less\\\",\\\"objective-c\\\",\\\"swift\\\",\\\"scss\\\",\\\"raku\\\",\\\"powershell\\\",\\\"python\\\",\\\"julia\\\",\\\"regexp\\\",\\\"rust\\\",\\\"scala\\\",\\\"shellscript\\\",\\\"typescript\\\",\\\"tsx\\\",\\\"csharp\\\",\\\"fsharp\\\",\\\"dart\\\",\\\"handlebars\\\",\\\"log\\\",\\\"erlang\\\",\\\"elixir\\\",\\\"latex\\\",\\\"bibtex\\\",\\\"abap\\\",\\\"rst\\\",\\\"html-derivative\\\"]}\"))\n\nexport default [\nlang\n]\n","import css from './css.mjs'\nimport less from './less.mjs'\nimport scss from './scss.mjs'\nimport typescript from './typescript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Marko\\\",\\\"fileTypes\\\":[\\\"marko\\\"],\\\"name\\\":\\\"marko\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^\\\\\\\\s*(style)(\\\\\\\\b\\\\\\\\S*\\\\\\\\.css)?\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.builtin.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.marko.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko.css\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko.css\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(style)\\\\\\\\b(\\\\\\\\S*\\\\\\\\.less)\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.builtin.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.marko.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko.css\\\"}},\\\"contentName\\\":\\\"source.less\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko.css\\\"}},\\\"name\\\":\\\"meta.embedded.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(style)\\\\\\\\b(\\\\\\\\S*\\\\\\\\.scss)\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.builtin.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.marko.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko.css\\\"}},\\\"contentName\\\":\\\"source.scss\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko.css\\\"}},\\\"name\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(style)\\\\\\\\b(\\\\\\\\S*\\\\\\\\.[jt]s)\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.builtin.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.marko.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko.css\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko.css\\\"}},\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"^\\\\\\\\s*(?:(static|server|client)\\\\\\\\b|(?=(?:class|import|export)\\\\\\\\b))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.static.marko\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?=\\\\\\\\n|$)\\\",\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"include\\\":\\\"#content-concise-mode\\\"}],\\\"repository\\\":{\\\"attr-value\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(:?=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?=[],;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\\\\\&*:?^|~]|[-!%\\\\\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\\\\\.|[^-]-|[^+]\\\\\\\\+|[]%).0-9<A-Za-z}]\\\\\\\\s/|[^$.\\\\\\\\w]await|[^$.\\\\\\\\w]async|[^$.\\\\\\\\w]class|[^$.\\\\\\\\w]function|[^$.\\\\\\\\w]keyof|[^$.\\\\\\\\w]new|[^$.\\\\\\\\w]readonly|[^$.\\\\\\\\w]infer|[^$.\\\\\\\\w]typeof|[^$.\\\\\\\\w]void)\\\\\\\\s+(?![\\\\\\\\n!%\\\\\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\\\\\s+[^,/:;=>]))\\\",\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-expression\\\"}]},\\\"attrs\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-comments\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?:(key|on[-$0-9A-Z_a-z]+|[$0-9A-Z_a-z]+Change|no-update(?:-body)?(?:-if)?)|([$0-9A-Z_a-z][-$0-9A-Z_a-z]*)|(#[$0-9A-Z_a-z][-$0-9A-Z_a-z]*))(:[$0-9A-Z_a-z][-$0-9A-Z_a-z]*)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.attribute-name.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.marko\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.attribute-name.marko\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.function.attribute-name.marko\\\"}},\\\"end\\\":\\\"(?=.|$)\\\",\\\"name\\\":\\\"meta.marko-attribute\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#html-args-or-method\\\"},{\\\"include\\\":\\\"#attr-value\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.spread.marko\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?=[],;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\\\\\&*:?^|~]|[-!%\\\\\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\\\\\.|[^-]-|[^+]\\\\\\\\+|[]%).0-9<A-Za-z}]\\\\\\\\s/|[^$.\\\\\\\\w]await|[^$.\\\\\\\\w]async|[^$.\\\\\\\\w]class|[^$.\\\\\\\\w]function|[^$.\\\\\\\\w]keyof|[^$.\\\\\\\\w]new|[^$.\\\\\\\\w]readonly|[^$.\\\\\\\\w]infer|[^$.\\\\\\\\w]typeof|[^$.\\\\\\\\w]void)\\\\\\\\s+(?![\\\\\\\\n!%\\\\\\\\&(*+:?^{|~]|[-/<=>]=|[=>]>|\\\\\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\\\\\s+[^,/:;=>]))\\\",\\\"name\\\":\\\"meta.marko-spread-attribute\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(,(?!,))\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.marko\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#invalid\\\"}]},\\\"cdata\\\":{\\\"begin\\\":\\\"\\\\\\\\s*<!\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"contentName\\\":\\\"string.other.inline-data.marko\\\",\\\"end\\\":\\\"]]>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"name\\\":\\\"meta.tag.metadata.cdata.marko\\\"},\\\"concise-attr-group\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-attr-group\\\"},{\\\"begin\\\":\\\"\\\\\\\\s+\\\",\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#attrs\\\"},{\\\"include\\\":\\\"#invalid\\\"}]},\\\"concise-comment-block\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-comment-block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-comment\\\"}]},\\\"concise-comment-line\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-comment-line\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-comment\\\"}]},\\\"concise-html-block\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-html-block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-html-mode\\\"}]},\\\"concise-html-line\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#javascript-comments-after-whitespace\\\"},{\\\"include\\\":\\\"#html-comment\\\"},{\\\"include\\\":\\\"#tag-html\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"text.marko\\\"},{\\\"include\\\":\\\"#placeholder\\\"},{\\\"match\\\":\\\".+?\\\",\\\"name\\\":\\\"text.marko\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(--+)(?=\\\\\\\\s+\\\\\\\\S)(.*)$()\\\",\\\"name\\\":\\\"meta.section.marko-html-line\\\"},\\\"concise-open-tag-content\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#invalid-close-tag\\\"},{\\\"include\\\":\\\"#tag-before-attrs\\\"},{\\\"include\\\":\\\"#concise-semi-eol\\\"},{\\\"begin\\\":\\\"(?!^)[\\\\\\\\t ,]\\\",\\\"end\\\":\\\"(?=--)|(?=\\\\\\\\n)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-semi-eol\\\"},{\\\"include\\\":\\\"#concise-attr-group\\\"},{\\\"begin\\\":\\\"[\\\\\\\\t ]+\\\",\\\"end\\\":\\\"(?=[\\\\\\\\n\\\\\\\\S])\\\"},{\\\"include\\\":\\\"#attrs\\\"},{\\\"include\\\":\\\"#invalid\\\"}]}]},\\\"concise-script-block\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-script-block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-script\\\"}]},\\\"concise-script-line\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-script-line\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-script\\\"}]},\\\"concise-semi-eol\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(;)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.marko\\\"}},\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-comments\\\"},{\\\"include\\\":\\\"#html-comment\\\"},{\\\"include\\\":\\\"#invalid\\\"}]},\\\"concise-style-block\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-style-block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style\\\"}]},\\\"concise-style-block-less\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"contentName\\\":\\\"source.less\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-style-block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style-less\\\"}]},\\\"concise-style-block-scss\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\\\\\\s*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"contentName\\\":\\\"source.scss\\\",\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-style-block\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style-scss\\\"}]},\\\"concise-style-line\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-style-line\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style\\\"}]},\\\"concise-style-line-less\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"contentName\\\":\\\"source.less\\\",\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-style-line\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style-less\\\"}]},\\\"concise-style-line-scss\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\s*(--+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.begin.marko\\\"}},\\\"contentName\\\":\\\"source.scss\\\",\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.scope.end.marko\\\"}},\\\"name\\\":\\\"meta.section.marko-style-line\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style-scss\\\"}]},\\\"content-concise-mode\\\":{\\\"name\\\":\\\"meta.marko-concise-content\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#scriptlet\\\"},{\\\"include\\\":\\\"#javascript-comments\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#html-comment\\\"},{\\\"include\\\":\\\"#concise-html-block\\\"},{\\\"include\\\":\\\"#concise-html-line\\\"},{\\\"include\\\":\\\"#invalid-close-tag\\\"},{\\\"include\\\":\\\"#tag-html\\\"},{\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=html-comment\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-open-tag-content\\\"},{\\\"include\\\":\\\"#concise-comment-block\\\"},{\\\"include\\\":\\\"#concise-comment-line\\\"}],\\\"while\\\":\\\"(?=^(?:\\\\\\\\s*[])`}]|\\\\\\\\*/|\\\\\\\\s*$|\\\\\\\\1\\\\\\\\s+(\\\\\\\\S|$)))\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=(?:html-)?style\\\\\\\\b\\\\\\\\S*\\\\\\\\.less\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-open-tag-content\\\"},{\\\"include\\\":\\\"#concise-style-block-less\\\"},{\\\"include\\\":\\\"#concise-style-line-less\\\"}],\\\"while\\\":\\\"(?=^(?:\\\\\\\\s*[])`}]|\\\\\\\\*/|\\\\\\\\s*$|\\\\\\\\1\\\\\\\\s+(\\\\\\\\S|$)))\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=(?:html-)?style\\\\\\\\b\\\\\\\\S*\\\\\\\\.scss\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-open-tag-content\\\"},{\\\"include\\\":\\\"#concise-style-block-scss\\\"},{\\\"include\\\":\\\"#concise-style-line-scss\\\"}],\\\"while\\\":\\\"(?=^(?:\\\\\\\\s*[])`}]|\\\\\\\\*/|\\\\\\\\s*$|\\\\\\\\1\\\\\\\\s+(\\\\\\\\S|$)))\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=(?:html-)?style\\\\\\\\b\\\\\\\\S*\\\\\\\\.[jt]s\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-open-tag-content\\\"},{\\\"include\\\":\\\"#concise-script-block\\\"},{\\\"include\\\":\\\"#concise-script-line\\\"}],\\\"while\\\":\\\"(?=^(?:\\\\\\\\s*[])`}]|\\\\\\\\*/|\\\\\\\\s*$|\\\\\\\\1\\\\\\\\s+(\\\\\\\\S|$)))\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=(?:html-)?style\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-open-tag-content\\\"},{\\\"include\\\":\\\"#concise-style-block\\\"},{\\\"include\\\":\\\"#concise-style-line\\\"}],\\\"while\\\":\\\"(?=^(?:\\\\\\\\s*[])`}]|\\\\\\\\*/|\\\\\\\\s*$|\\\\\\\\1\\\\\\\\s+(\\\\\\\\S|$)))\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?=(?:html-)?script\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-open-tag-content\\\"},{\\\"include\\\":\\\"#concise-script-block\\\"},{\\\"include\\\":\\\"#concise-script-line\\\"}],\\\"while\\\":\\\"(?=^(?:\\\\\\\\s*[])`}]|\\\\\\\\*/|\\\\\\\\s*$|\\\\\\\\1\\\\\\\\s+(\\\\\\\\S|$)))\\\"},{\\\"begin\\\":\\\"^([\\\\\\\\t ]*)(?=[#$.0-9@-Z_a-z])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#concise-open-tag-content\\\"},{\\\"include\\\":\\\"#content-concise-mode\\\"}],\\\"while\\\":\\\"(?=^(?:\\\\\\\\s*[])`}]|\\\\\\\\*/|\\\\\\\\s*$|\\\\\\\\1\\\\\\\\s+(\\\\\\\\S|$)))\\\"}]}]},\\\"content-embedded-comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#placeholder\\\"},{\\\"match\\\":\\\".\\\",\\\"name\\\":\\\"comment.block.marko\\\"}]},\\\"content-embedded-script\\\":{\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#placeholder\\\"},{\\\"include\\\":\\\"source.ts\\\"}]},\\\"content-embedded-style\\\":{\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#placeholder\\\"},{\\\"include\\\":\\\"source.css\\\"}]},\\\"content-embedded-style-less\\\":{\\\"name\\\":\\\"meta.embedded.css.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#placeholder\\\"},{\\\"include\\\":\\\"source.css.less\\\"}]},\\\"content-embedded-style-scss\\\":{\\\"name\\\":\\\"meta.embedded.css.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#placeholder\\\"},{\\\"include\\\":\\\"source.css.scss\\\"}]},\\\"content-html-mode\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#scriptlet\\\"},{\\\"include\\\":\\\"#cdata\\\"},{\\\"include\\\":\\\"#doctype\\\"},{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#javascript-comments-after-whitespace\\\"},{\\\"include\\\":\\\"#html-comment\\\"},{\\\"include\\\":\\\"#invalid-close-tag\\\"},{\\\"include\\\":\\\"#tag-html\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"text.marko\\\"},{\\\"include\\\":\\\"#placeholder\\\"},{\\\"match\\\":\\\".+?\\\",\\\"name\\\":\\\"text.marko\\\"}]},\\\"declaration\\\":{\\\"begin\\\":\\\"(<\\\\\\\\?)\\\\\\\\s*([-$0-9A-Z_a-z]*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.marko\\\"}},\\\"end\\\":\\\"(\\\\\\\\??>)\\\",\\\"name\\\":\\\"meta.tag.metadata.processing.xml.marko\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.quoted.double.marko\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.quoted.single.marko\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.unquoted.marko\\\"}},\\\"match\\\":\\\"((?:[^=>?\\\\\\\\s]|\\\\\\\\?(?!>))+)(=)(?:(\\\\\\\"(?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|('(?:[^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|((?:[^>?\\\\\\\\s]|\\\\\\\\?(?!>))+))\\\"}]},\\\"doctype\\\":{\\\"begin\\\":\\\"\\\\\\\\s*<!(?=(?i:DOCTYPE\\\\\\\\s))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"name\\\":\\\"meta.tag.metadata.doctype.marko\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G(?i:DOCTYPE)\\\",\\\"name\\\":\\\"entity.name.tag.marko\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.marko\\\"},{\\\"match\\\":\\\"[^>\\\\\\\\s]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.marko\\\"}]},\\\"html-args-or-method\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-type-params\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},\\\"html-comment\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(<!(--)?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\2>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.marko\\\"}},\\\"name\\\":\\\"comment.block.marko\\\"},\\\"invalid\\\":{\\\"match\\\":\\\"\\\\\\\\S\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.marko\\\"},\\\"invalid-close-tag\\\":{\\\"begin\\\":\\\"\\\\\\\\s*</.*?\\\",\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"invalid.illegal.character-not-allowed-here.marko\\\"},\\\"javascript-comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(?=/\\\\\\\\*)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?<=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"contentName\\\":\\\"source.ts\\\",\\\"match\\\":\\\"\\\\\\\\s*//.*$\\\"}]},\\\"javascript-comments-after-whitespace\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\s+)(?=/\\\\\\\\*)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?<=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"contentName\\\":\\\"source.ts\\\",\\\"match\\\":\\\"(?:^|\\\\\\\\s+)//.*$\\\"}]},\\\"javascript-expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-comments\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"contentName\\\":\\\"source.ts\\\",\\\"match\\\":\\\"(?:\\\\\\\\s*\\\\\\\\b(?:as|await|extends|in|instanceof|satisfies|keyof|new|typeof|void))+\\\\\\\\s+(?![,/:;=>])[#$0-9@-Z_a-z]*\\\"},{\\\"applyEndPatternLast\\\":1,\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.regexp.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#regexp\\\"},{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"contentName\\\":\\\"source.ts\\\",\\\"match\\\":\\\"(?<![]%).0-9<A-Za-z}])\\\\\\\\s*/(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[(?:[^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])*/[A-Za-z]*\\\"},{\\\"include\\\":\\\"source.ts\\\"}]},\\\"javascript-placeholder\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},\\\"open-tag-content\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#invalid-close-tag\\\"},{\\\"include\\\":\\\"#tag-before-attrs\\\"},{\\\"begin\\\":\\\"(?!/?>)\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attrs\\\"}]}]},\\\"placeholder\\\":{\\\"begin\\\":\\\"\\\\\\\\$!?\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.ts\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.ts\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},\\\"scriptlet\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*(\\\\\\\\$)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.scriptlet.marko\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},\\\"tag-before-attrs\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"},{\\\"include\\\":\\\"#tag-shorthand-class-or-id\\\"},{\\\"begin\\\":\\\"/(?![*/])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.tag-variable.marko\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?=[(,/;<>|]|:?=|\\\\\\\\s+[^:]|$)\\\",\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[$A-Z_a-z][$0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.other.constant.object.ts\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.ts\\\"}},\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#object-binding-element\\\"},{\\\"include\\\":\\\"#javascript-expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.ts\\\"}},\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#array-binding-element\\\"},{\\\"include\\\":\\\"#javascript-expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(:)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?=[](,;]|/>|(?<=[^=>])>|(?<!^|[!%\\\\\\\\&*:?^|~]|[-!%\\\\\\\\&*+/<-?^|~]=|[=>]>|[^.]\\\\\\\\.|[^-]-|[^+]\\\\\\\\+|[]%).0-9<A-Za-z}]\\\\\\\\s/|[^$.\\\\\\\\w]await|[^$.\\\\\\\\w]async|[^$.\\\\\\\\w]class|[^$.\\\\\\\\w]function|[^$.\\\\\\\\w]keyof|[^$.\\\\\\\\w]new|[^$.\\\\\\\\w]readonly|[^$.\\\\\\\\w]infer|[^$.\\\\\\\\w]typeof|[^$.\\\\\\\\w]void)\\\\\\\\s+(?![\\\\\\\\n!%\\\\\\\\&*+:?^{|~]|[-/<=>]=|[=>]>|\\\\\\\\.[^.]|-[^-]|/[^>]|(?:in|instanceof|satisfies|as|extends)\\\\\\\\s+[^,/:;=>]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#type\\\"},{\\\"include\\\":\\\"#javascript-expression\\\"}]},{\\\"include\\\":\\\"#javascript-expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*\\\\\\\\|\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.begin.marko\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"\\\\\\\\|\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.scope.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#comment\\\"},{\\\"include\\\":\\\"source.ts#string\\\"},{\\\"include\\\":\\\"source.ts#decorator\\\"},{\\\"include\\\":\\\"source.ts#destructuring-parameter\\\"},{\\\"include\\\":\\\"source.ts#parameter-name\\\"},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.ts\\\"}},\\\"end\\\":\\\"(?=[,|])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#type\\\"}]},{\\\"include\\\":\\\"source.ts#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.ts\\\"},{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"include\\\":\\\"#html-args-or-method\\\"},{\\\"include\\\":\\\"#attr-value\\\"}]},\\\"tag-html\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr|const|debug|id|let|lifecycle|log|return)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=html-comment\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=</(?:>|html-comment>))\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\s*</(?:>|html-comment>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-comment\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=((?:html-)?style)\\\\\\\\b\\\\\\\\S*\\\\\\\\.less\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=</\\\\\\\\2??>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.less\\\",\\\"end\\\":\\\"\\\\\\\\s*(</)((?:html-)?style)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style-less\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=((?:html-)?style)\\\\\\\\b\\\\\\\\S*\\\\\\\\.scss\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=</\\\\\\\\2??>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.scss\\\",\\\"end\\\":\\\"\\\\\\\\s*(</)((?:html-)?style)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style-scss\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=((?:html-)?style)\\\\\\\\b\\\\\\\\S*\\\\\\\\.[jt]s\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=</\\\\\\\\2??>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"\\\\\\\\s*(</)((?:html-)?style)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-script\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=((?:html-)?style)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=</\\\\\\\\2??>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"\\\\\\\\s*(</)((?:html-)?style)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-style\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=((?:html-)?script)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=</\\\\\\\\2??>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"\\\\\\\\s*(</)((?:html-)?script)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-embedded-script\\\"}]}]},{\\\"begin\\\":\\\"\\\\\\\\s*(<)(?=[#$.]|([-$0-9@-Z_a-z]+))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"}},\\\"end\\\":\\\"/>|(?<=</\\\\\\\\2??>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#open-tag-content\\\"},{\\\"begin\\\":\\\">\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(</)([-#$.0-:@-Z_a-z]+)?(.*?)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.marko\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-name\\\"},{\\\"include\\\":\\\"#tag-shorthand-class-or-id\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#invalid\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.marko\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#content-html-mode\\\"}]}]}]},\\\"tag-name\\\":{\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\G(style)\\\\\\\\b(\\\\\\\\.[-$0-9A-Z_a-z]+(?:\\\\\\\\.[-$0-9A-Z_a-z]+)*)|([0-9@-Z_a-z](?:[-0-9@-Z_a-z]|:(?!=))*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.builtin.marko\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.marko.css\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(script|style|html-script|html-style|html-comment)(?=\\\\\\\\b)(?![-:@])\\\",\\\"name\\\":\\\"support.type.builtin.marko\\\"},{\\\"match\\\":\\\"(for|if|while|else-if|else|try|await|return)(?=\\\\\\\\b)(?![-:@])\\\",\\\"name\\\":\\\"keyword.control.flow.marko\\\"},{\\\"match\\\":\\\"(const|context|debug|define|id|let|log|lifecycle)(?=\\\\\\\\b)(?![-:@])\\\",\\\"name\\\":\\\"support.function.marko\\\"},{\\\"match\\\":\\\"@.+\\\",\\\"name\\\":\\\"entity.other.attribute-name.marko\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"entity.name.tag.marko\\\"}]}},\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-type-args\\\"}]},{\\\"begin\\\":\\\"(?=[$0-9A-Z_a-z]|-[^-])\\\",\\\"end\\\":\\\"(?=[^-$0-9A-Z_a-z]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-placeholder\\\"},{\\\"match\\\":\\\"(?:[-0-9A-Z_a-z]|\\\\\\\\$(?!\\\\\\\\{))+\\\",\\\"name\\\":\\\"entity.name.tag.marko\\\"}]}]},\\\"tag-shorthand-class-or-id\\\":{\\\"begin\\\":\\\"(?=[#.])\\\",\\\"end\\\":\\\"$|(?=--|[^-#$.0-9A-Z_a-z])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#javascript-placeholder\\\"},{\\\"match\\\":\\\"(?:[-#.0-9A-Z_a-z]|\\\\\\\\$(?!\\\\\\\\{))+\\\",\\\"name\\\":\\\"entity.other.attribute-name.marko\\\"}]},\\\"tag-type-args\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?=<)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?<=>)(?=[\\\\\\\\t ]*<)\\\",\\\"end\\\":\\\"(?=.)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-type-params\\\"}]},{\\\"include\\\":\\\"source.ts#type-arguments\\\"}]},\\\"tag-type-params\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(?!^)[\\\\\\\\t ]*(?=<)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?<=>)\\\",\\\"name\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#type-parameters\\\"}]}},\\\"scopeName\\\":\\\"text.marko\\\",\\\"embeddedLangs\\\":[\\\"css\\\",\\\"less\\\",\\\"scss\\\",\\\"typescript\\\"]}\"))\n\nexport default [\n...css,\n...less,\n...scss,\n...typescript,\nlang\n]\n","import markdown from './markdown.mjs'\nimport yaml from './yaml.mjs'\nimport html_derivative from './html-derivative.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"MDC\\\",\\\"injectionSelector\\\":\\\"L:text.html.markdown\\\",\\\"name\\\":\\\"mdc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#frontMatter\\\"},{\\\"include\\\":\\\"#block\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-interior\\\"}]}},\\\"match\\\":\\\"(([^<=>\\\\\\\\s]*)(=\\\\\\\"([^\\\\\\\"]*)(\\\\\\\")|'([^']*)(')|=[^\\\\\\\"'}\\\\\\\\s]*)?\\\\\\\\s*)\\\"}]},\\\"attribute-interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#entities\\\"}]},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"invalid.illegal.unexpected-equals-sign.html\\\"}]}]},\\\"attributes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.start.component\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.component\\\"}},\\\"match\\\":\\\"((\\\\\\\\{)([^{]*)(}))\\\",\\\"name\\\":\\\"attributes.mdc\\\"},\\\"block\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#inline\\\"},{\\\"include\\\":\\\"#component_block\\\"},{\\\"include\\\":\\\"text.html.markdown#separator\\\"},{\\\"include\\\":\\\"#heading\\\"},{\\\"include\\\":\\\"#blockquote\\\"},{\\\"include\\\":\\\"#lists\\\"},{\\\"include\\\":\\\"text.html.markdown#fenced_code_block\\\"},{\\\"include\\\":\\\"text.html.markdown#link-def\\\"},{\\\"include\\\":\\\"text.html.markdown#html\\\"},{\\\"include\\\":\\\"#paragraph\\\"}]},\\\"blockquote\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G) *(>) ?\\\",\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.markdown\\\"}},\\\"name\\\":\\\"markup.quote.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(>) ?\\\"},\\\"component_block\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(:{2,})(?i:(\\\\\\\\w[-\\\\\\\\w\\\\\\\\d]+)(\\\\\\\\s*|\\\\\\\\s*(\\\\\\\\{[^{]*}))$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.start.mdc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.mdc\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2)(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.mdc\\\"}},\\\"name\\\":\\\"block.component.mdc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.mdc\\\"}},\\\"match\\\":\\\"(^|\\\\\\\\G)\\\\\\\\s*(:{2,})$\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(-{3})(\\\\\\\\s*)$\\\",\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*(-{3})(\\\\\\\\s*))$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"comment.block.html\\\"}},\\\"match\\\":\\\"^(\\\\\\\\s*)(#[-_\\\\\\\\w]*)\\\\\\\\s*(<!--(.*)-->)?$\\\"},{\\\"include\\\":\\\"#block\\\"}]},\\\"component_inline\\\":{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.start.component\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.component\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"6\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#span\\\"}]},\\\"7\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#span\\\"}]},\\\"8\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]}},\\\"match\\\":\\\"(^|\\\\\\\\G|\\\\\\\\s+)(:)(?i:(\\\\\\\\w[-\\\\\\\\w\\\\\\\\d]*))((\\\\\\\\{[^}]*})(\\\\\\\\[[^]]*])?|(\\\\\\\\[[^]]*])(\\\\\\\\{[^}]*})?)?\\\\\\\\s\\\",\\\"name\\\":\\\"inline.component.mdc\\\"},\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"912\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)(?=[A-Za-z])((a(s(ymp(eq)?|cr|t)|n(d(slope|[dv]|and)?|g(s(t|ph)|zarr|e|le|rt(vb(d)?)?|msd(a([a-h]))?)?)|c(y|irc|d|ute|E)?|tilde|o(pf|gon)|uml|p(id|os|prox(eq)?|[Ee]|acir)?|elig|f(r)?|w((?:con|)int)|l(pha|e(ph|fsym))|acute|ring|grave|m(p|a(cr|lg))|breve)|A(s(sign|cr)|nd|MP|c(y|irc)|tilde|o(pf|gon)|uml|pplyFunction|fr|Elig|lpha|acute|ring|grave|macr|breve))|(B(scr|cy|opf|umpeq|e(cause|ta|rnoullis)|fr|a(ckslash|r(v|wed))|reve)|b(s(cr|im(e)?|ol(hsub|b)?|emi)|n(ot|e(quiv)?)|c(y|ong)|ig(s(tar|qcup)|c(irc|up|ap)|triangle(down|up)|o(times|dot|plus)|uplus|vee|wedge)|o(t(tom)?|pf|wtie|x(h([DUdu])?|times|H([DUdu])?|d([LRlr])|u([LRlr])|plus|D([LRlr])|v([HLRhlr])?|U([LRlr])|V([HLRhlr])?|minus|box))|Not|dquo|u(ll(et)?|mp(e(q)?|E)?)|prime|e(caus(e)?|t(h|ween|a)|psi|rnou|mptyv)|karow|fr|l(ock|k(1([24])|34)|a(nk|ck(square|triangle(down|left|right)?|lozenge)))|a(ck(sim(eq)?|cong|prime|epsilon)|r(vee|wed(ge)?))|r(eve|vbar)|brk(tbrk)?))|(c(s(cr|u(p(e)?|b(e)?))|h(cy|i|eck(mark)?)|ylcty|c(irc|ups(sm)?|edil|a(ps|ron))|tdot|ir(scir|c(eq|le(d(R|circ|S|dash|ast)|arrow(left|right)))?|e|fnint|E|mid)?|o(n(int|g(dot)?)|p(y(sr)?|f|rod)|lon(e(q)?)?|m(p(fn|le(xes|ment))?|ma(t)?))|dot|u(darr([lr])|p(s|c([au]p)|or|dot|brcap)?|e(sc|pr)|vee|wed|larr(p)?|r(vearrow(left|right)|ly(eq(succ|prec)|vee|wedge)|arr(m)?|ren))|e(nt(erdot)?|dil|mptyv)|fr|w((?:con|)int)|lubs(uit)?|a(cute|p(s|c([au]p)|dot|and|brcup)?|r(on|et))|r(oss|arr))|C(scr|hi|c(irc|onint|edil|aron)|ircle(Minus|Times|Dot|Plus)|Hcy|o(n(tourIntegral|int|gruent)|unterClockwiseContourIntegral|p(f|roduct)|lon(e)?)|dot|up(Cap)?|OPY|e(nterDot|dilla)|fr|lo(seCurly((?:Double|)Quote)|ckwiseContourIntegral)|a(yleys|cute|p(italDifferentialD)?)|ross))|(d(s(c([ry])|trok|ol)|har([lr])|c(y|aron)|t(dot|ri(f)?)|i(sin|e|v(ide(ontimes)?|onx)?|am(s|ond(suit)?)?|gamma)|Har|z(cy|igrarr)|o(t(square|plus|eq(dot)?|minus)?|ublebarwedge|pf|wn(harpoon(left|right)|downarrows|arrow)|llar)|d(otseq|a(rr|gger))?|u(har|arr)|jcy|e(lta|g|mptyv)|f(isht|r)|wangle|lc(orn|rop)|a(sh(v)?|leth|rr|gger)|r(c(orn|rop)|bkarow)|b(karow|lac)|Arr)|D(s(cr|trok)|c(y|aron)|Scy|i(fferentialD|a(critical(Grave|Tilde|Do(t|ubleAcute)|Acute)|mond))|o(t(Dot|Equal)?|uble(Right(Tee|Arrow)|ContourIntegral|Do(t|wnArrow)|Up((?:Down|)Arrow)|VerticalBar|L(ong(RightArrow|Left((?:Right|)Arrow))|eft(RightArrow|Tee|Arrow)))|pf|wn(Right(TeeVector|Vector(Bar)?)|Breve|Tee(Arrow)?|arrow|Left(RightVector|TeeVector|Vector(Bar)?)|Arrow(Bar|UpArrow)?))|Zcy|el(ta)?|D(otrahd)?|Jcy|fr|a(shv|rr|gger)))|(e(s(cr|im|dot)|n(sp|g)|c(y|ir(c)?|olon|aron)|t([ah])|o(pf|gon)|dot|u(ro|ml)|p(si(v|lon)?|lus|ar(sl)?)|e|D(D??ot)|q(s(im|lant(less|gtr))|c(irc|olon)|u(iv(DD)?|est|als)|vparsl)|f(Dot|r)|l(s(dot)?|inters|l)?|a(ster|cute)|r(Dot|arr)|g(s(dot)?|rave)?|x(cl|ist|p(onentiale|ectation))|m(sp(1([34]))?|pty(set|v)?|acr))|E(s(cr|im)|c(y|irc|aron)|ta|o(pf|gon)|NG|dot|uml|TH|psilon|qu(ilibrium|al(Tilde)?)|fr|lement|acute|grave|x(ists|ponentialE)|m(pty((?:|Very)SmallSquare)|acr)))|(f(scr|nof|cy|ilig|o(pf|r(k(v)?|all))|jlig|partint|emale|f(ilig|l(l??ig)|r)|l(tns|lig|at)|allingdotseq|r(own|a(sl|c(1([2-68])|78|2([35])|3([458])|45|5([68])))))|F(scr|cy|illed((?:|Very)SmallSquare)|o(uriertrf|pf|rAll)|fr))|(G(scr|c(y|irc|edil)|t|opf|dot|T|Jcy|fr|amma(d)?|reater(Greater|SlantEqual|Tilde|Equal(Less)?|FullEqual|Less)|g|breve)|g(s(cr|im([el])?)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|irc)|t(c(c|ir)|dot|quest|lPar|r(sim|dot|eq(q?less)|less|a(pprox|rr)))?|imel|opf|dot|jcy|e(s(cc|dot(o(l)?)?|l(es)?)?|q(slant|q)?|l)?|v(nE|ertneqq)|fr|E(l)?|l([Eaj])?|a(cute|p|mma(d)?)|rave|g(g)?|breve))|(h(s(cr|trok|lash)|y(phen|bull)|circ|o(ok((?:lef|righ)tarrow)|pf|arr|rbar|mtht)|e(llip|arts(uit)?|rcon)|ks([ew]arow)|fr|a(irsp|lf|r(dcy|r(cir|w)?)|milt)|bar|Arr)|H(s(cr|trok)|circ|ilbertSpace|o(pf|rizontalLine)|ump(DownHump|Equal)|fr|a(cek|t)|ARDcy))|(i(s(cr|in(s(v)?|dot|[Ev])?)|n(care|t(cal|prod|e(rcal|gers)|larhk)?|odot|fin(tie)?)?|c(y|irc)?|t(ilde)?|i(nfin|i(i??nt)|ota)?|o(cy|ta|pf|gon)|u(kcy|ml)|jlig|prod|e(cy|xcl)|quest|f([fr])|acute|grave|m(of|ped|a(cr|th|g(part|e|line))))|I(scr|n(t(e(rsection|gral))?|visible(Comma|Times))|c(y|irc)|tilde|o(ta|pf|gon)|dot|u(kcy|ml)|Ocy|Jlig|fr|Ecy|acute|grave|m(plies|a(cr|ginaryI))?))|(j(s(cr|ercy)|c(y|irc)|opf|ukcy|fr|math)|J(s(cr|ercy)|c(y|irc)|opf|ukcy|fr))|(k(scr|hcy|c(y|edil)|opf|jcy|fr|appa(v)?|green)|K(scr|c(y|edil)|Hcy|opf|Jcy|fr|appa))|(l(s(h|cr|trok|im([eg])?|q(uo(r)?|b)|aquo)|h(ar(d|u(l)?)|blk)|n(sim|e(q(q)?)?|E|ap(prox)?)|c(y|ub|e(d??il)|aron)|Barr|t(hree|c(c|ir)|imes|dot|quest|larr|r(i([ef])?|Par))?|Har|o(ng(left((?:|right)arrow)|rightarrow|mapsto)|times|z(enge|f)?|oparrow(left|right)|p(f|lus|ar)|w(ast|bar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|r((?:d|us)har))|ur((?:ds|u)har)|jcy|par(lt)?|e(s(s(sim|dot|eq(q?gtr)|approx|gtr)|cc|dot(o(r)?)?|g(es)?)?|q(slant|q)?|ft(harpoon(down|up)|threetimes|leftarrows|arrow(tail)?|right(squigarrow|harpoons|arrow(s)?))|g)?|v(nE|ertneqq)|f(isht|loor|r)|E(g)?|l(hard|corner|tri|arr)?|a(ng(d|le)?|cute|t(e(s)?|ail)?|p|emptyv|quo|rr(sim|hk|tl|pl|fs|lp|b(fs)?)?|gran|mbda)|r(har(d)?|corner|tri|arr|m)|g(E)?|m(idot|oust(ache)?)|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr))|L(s(h|cr|trok)|c(y|edil|aron)|t|o(ng(RightArrow|left((?:|right)arrow)|rightarrow|Left((?:Right|)Arrow))|pf|wer((?:Righ|Lef)tArrow))|T|e(ss(Greater|SlantEqual|Tilde|EqualGreater|FullEqual|Less)|ft(Right(Vector|Arrow)|Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|rightarrow|Floor|A(ngleBracket|rrow(RightArrow|Bar)?)))|Jcy|fr|l(eftarrow)?|a(ng|cute|placetrf|rr|mbda)|midot))|(M(scr|cy|inusPlus|opf|u|e(diumSpace|llintrf)|fr|ap)|m(s(cr|tpos)|ho|nplus|c(y|omma)|i(nus(d(u)?|b)?|cro|d(cir|dot|ast)?)|o(dels|pf)|dash|u((?:lti|)map)?|p|easuredangle|DDot|fr|l(cp|dr)|a(cr|p(sto(down|up|left)?)?|l(t(ese)?|e)|rker)))|(n(s(hort(parallel|mid)|c(cue|[er])?|im(e(q)?)?|u(cc(eq)?|p(set(eq(q)?)?|[Ee])?|b(set(eq(q)?)?|[Ee])?)|par|qsu([bp]e)|mid)|Rightarrow|h(par|arr|Arr)|G(t(v)?|g)|c(y|ong(dot)?|up|edil|a(p|ron))|t(ilde|lg|riangle(left(eq)?|right(eq)?)|gl)|i(s(d)?|v)?|o(t(ni(v([abc]))?|in(dot|v([abc])|E)?)?|pf)|dash|u(m(sp|ero)?)?|jcy|p(olint|ar(sl|t|allel)?|r(cue|e(c(eq)?)?)?)|e(s(im|ear)|dot|quiv|ar(hk|r(ow)?)|xist(s)?|Arr)?|v(sim|infin|Harr|dash|Dash|l(t(rie)?|e|Arr)|ap|r(trie|Arr)|g([et]))|fr|w(near|ar(hk|r(ow)?)|Arr)|V([Dd]ash)|l(sim|t(ri(e)?)?|dr|e(s(s)?|q(slant|q)?|ft((?:|right)arrow))?|E|arr|Arr)|a(ng|cute|tur(al(s)?)?|p(id|os|prox|E)?|bla)|r(tri(e)?|ightarrow|arr([cw])?|Arr)|g(sim|t(r)?|e(s|q(slant|q)?)?|E)|mid|L(t(v)?|eft((?:|right)arrow)|l)|b(sp|ump(e)?))|N(scr|c(y|edil|aron)|tilde|o(nBreakingSpace|Break|t(R(ightTriangle(Bar|Equal)?|everseElement)|Greater(Greater|SlantEqual|Tilde|Equal|FullEqual|Less)?|S(u(cceeds(SlantEqual|Tilde|Equal)?|perset(Equal)?|bset(Equal)?)|quareSu(perset(Equal)?|bset(Equal)?))|Hump(DownHump|Equal)|Nested(GreaterGreater|LessLess)|C(ongruent|upCap)|Tilde(Tilde|Equal|FullEqual)?|DoubleVerticalBar|Precedes((?:Slant|)Equal)?|E(qual(Tilde)?|lement|xists)|VerticalBar|Le(ss(Greater|SlantEqual|Tilde|Equal|Less)?|ftTriangle(Bar|Equal)?))?|pf)|u|e(sted(GreaterGreater|LessLess)|wLine|gative(MediumSpace|Thi((?:n|ck)Space)|VeryThinSpace))|Jcy|fr|acute))|(o(s(cr|ol|lash)|h(m|bar)|c(y|ir(c)?)|ti(lde|mes(as)?)|S|int|opf|d(sold|iv|ot|ash|blac)|uml|p(erp|lus|ar)|elig|vbar|f(cir|r)|l(c(ir|ross)|t|ine|arr)|a(st|cute)|r(slope|igof|or|d(er(of)?|[fm])?|v|arr)?|g(t|on|rave)|m(i(nus|cron|d)|ega|acr))|O(s(cr|lash)|c(y|irc)|ti(lde|mes)|opf|dblac|uml|penCurly((?:Double|)Quote)|ver(B(ar|rac(e|ket))|Parenthesis)|fr|Elig|acute|r|grave|m(icron|ega|acr)))|(p(s(cr|i)|h(i(v)?|one|mmat)|cy|i(tchfork|v)?|o(intint|und|pf)|uncsp|er(cnt|tenk|iod|p|mil)|fr|l(us(sim|cir|two|d([ou])|e|acir|mn|b)?|an(ck(h)?|kv))|ar(s(im|l)|t|a(llel)?)?|r(sim|n(sim|E|ap)|cue|ime(s)?|o(d|p(to)?|f(surf|line|alar))|urel|e(c(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?)?|E|ap)?|m)|P(s(cr|i)|hi|cy|i|o(incareplane|pf)|fr|lusMinus|artialD|r(ime|o(duct|portion(al)?)|ecedes(SlantEqual|Tilde|Equal)?)?))|(q(scr|int|opf|u(ot|est(eq)?|at(int|ernions))|prime|fr)|Q(scr|opf|UOT|fr))|(R(s(h|cr)|ho|c(y|edil|aron)|Barr|ight(Ceiling|T(ee(Vector|Arrow)?|riangle(Bar|Equal)?)|Do(ubleBracket|wn(TeeVector|Vector(Bar)?))|Up(TeeVector|DownVector|Vector(Bar)?)|Vector(Bar)?|arrow|Floor|A(ngleBracket|rrow(Bar|LeftArrow)?))|o(undImplies|pf)|uleDelayed|e(verse(UpEquilibrium|E(quilibrium|lement)))?|fr|EG|a(ng|cute|rr(tl)?)|rightarrow)|r(s(h|cr|q(uo(r)?|b)|aquo)|h(o(v)?|ar(d|u(l)?))|nmid|c(y|ub|e(d??il)|aron)|Barr|t(hree|imes|ri([ef]|ltri)?)|i(singdotseq|ng|ght(squigarrow|harpoon(down|up)|threetimes|left(harpoons|arrows)|arrow(tail)?|rightarrows))|Har|o(times|p(f|lus|ar)|a(ng|rr)|brk)|d(sh|ca|quo(r)?|ldhar)|uluhar|p(polint|ar(gt)?)|e(ct|al(s|ine|part)?|g)|f(isht|loor|r)|l(har|arr|m)|a(ng([de]|le)?|c(ute|e)|t(io(nals)?|ail)|dic|emptyv|quo|rr(sim|hk|c|tl|pl|fs|w|lp|ap|b(fs)?)?)|rarr|x|moust(ache)?|b(arr|r(k(sl([du])|e)|ac([ek]))|brk)|A(tail|arr|rr)))|(s(s(cr|tarf|etmn|mile)|h(y|c(hcy|y)|ort(parallel|mid)|arp)|c(sim|y|n(sim|E|ap)|cue|irc|polint|e(dil)?|E|a(p|ron))?|t(ar(f)?|r(ns|aight(phi|epsilon)))|i(gma([fv])?|m(ne|dot|plus|e(q)?|l(E)?|rarr|g(E)?)?)|zlig|o(pf|ftcy|l(b(ar)?)?)|dot([be])?|u(ng|cc(sim|n(sim|eqq|approx)|curlyeq|eq|approx)?|p(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|hs(ol|ub)|1|n([Ee])|2|d(sub|ot)|3|plus|e(dot)?|E|larr|mult)?|m|b(s(im|u([bp])|et(neq(q)?|eq(q)?)?)|n([Ee])|dot|plus|e(dot)?|E|rarr|mult)?)|pa(des(uit)?|r)|e(swar|ct|tm(n|inus)|ar(hk|r(ow)?)|xt|mi|Arr)|q(su(p(set(eq)?|e)?|b(set(eq)?|e)?)|c(up(s)?|ap(s)?)|u(f|ar([ef]))?)|fr(own)?|w(nwar|ar(hk|r(ow)?)|Arr)|larr|acute|rarr|m(t(e(s)?)?|i(d|le)|eparsl|a(shp|llsetminus))|bquo)|S(scr|hort((?:Right|Down|Up|Left)Arrow)|c(y|irc|edil|aron)?|tar|igma|H(cy|CHcy)|opf|u(c(hThat|ceeds(SlantEqual|Tilde|Equal)?)|p(set|erset(Equal)?)?|m|b(set(Equal)?)?)|OFTcy|q(uare(Su(perset(Equal)?|bset(Equal)?)|Intersection|Union)?|rt)|fr|acute|mallCircle))|(t(s(hcy|c([ry])|trok)|h(i(nsp|ck(sim|approx))|orn|e(ta(sym|v)?|re(4|fore))|k(sim|ap))|c(y|edil|aron)|i(nt|lde|mes(d|b(ar)?)?)|o(sa|p(cir|f(ork)?|bot)?|ea)|dot|prime|elrec|fr|w(ixt|ohead((?:lef|righ)tarrow))|a(u|rget)|r(i(sb|time|dot|plus|e|angle(down|q|left(eq)?|right(eq)?)?|minus)|pezium|ade)|brk)|T(s(cr|trok)|RADE|h(i((?:n|ck)Space)|e(ta|refore))|c(y|edil|aron)|S(H??cy)|ilde(Tilde|Equal|FullEqual)?|HORN|opf|fr|a([bu])|ripleDot))|(u(scr|h(ar([lr])|blk)|c(y|irc)|t(ilde|dot|ri(f)?)|Har|o(pf|gon)|d(har|arr|blac)|u(arr|ml)|p(si(h|lon)?|harpoon(left|right)|downarrow|uparrows|lus|arrow)|f(isht|r)|wangle|l(c(orn(er)?|rop)|tri)|a(cute|rr)|r(c(orn(er)?|rop)|tri|ing)|grave|m(l|acr)|br(cy|eve)|Arr)|U(scr|n(ion(Plus)?|der(B(ar|rac(e|ket))|Parenthesis))|c(y|irc)|tilde|o(pf|gon)|dblac|uml|p(si(lon)?|downarrow|Tee(Arrow)?|per((?:Righ|Lef)tArrow)|DownArrow|Equilibrium|arrow|Arrow(Bar|DownArrow)?)|fr|a(cute|rr(ocir)?)|ring|grave|macr|br(cy|eve)))|(v(s(cr|u(pn([Ee])|bn([Ee])))|nsu([bp])|cy|Bar(v)?|zigzag|opf|dash|prop|e(e(eq|bar)?|llip|r(t|bar))|Dash|fr|ltri|a(ngrt|r(s(igma|u(psetneq(q)?|bsetneq(q)?))|nothing|t(heta|riangle(left|right))|p(hi|i|ropto)|epsilon|kappa|r(ho)?))|rtri|Arr)|V(scr|cy|opf|dash(l)?|e(e|r(yThinSpace|t(ical(Bar|Separator|Tilde|Line))?|bar))|Dash|vdash|fr|bar))|(w(scr|circ|opf|p|e(ierp|d(ge(q)?|bar))|fr|r(eath)?)|W(scr|circ|opf|edge|fr))|(X(scr|i|opf|fr)|x(s(cr|qcup)|h([Aa]rr)|nis|c(irc|up|ap)|i|o(time|dot|p(f|lus))|dtri|u(tri|plus)|vee|fr|wedge|l([Aa]rr)|r([Aa]rr)|map))|(y(scr|c(y|irc)|icy|opf|u(cy|ml)|en|fr|ac(y|ute))|Y(scr|c(y|irc)|opf|uml|Icy|Ucy|fr|acute|Acy))|(z(scr|hcy|c(y|aron)|igrarr|opf|dot|e(ta|etrf)|fr|w(n?j)|acute)|Z(scr|c(y|aron)|Hcy|opf|dot|e(ta|roWidthSpace)|fr|acute)))(;)\\\",\\\"name\\\":\\\"constant.character.entity.named.$2.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[0-9]+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.decimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)#[Xx]\\\\\\\\h+(;)\\\",\\\"name\\\":\\\"constant.character.entity.numeric.hexadecimal.html\\\"},{\\\"match\\\":\\\"&(?=[0-9A-Za-z]+;)\\\",\\\"name\\\":\\\"invalid.illegal.ambiguous-ampersand.html\\\"}]},\\\"heading\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{6})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.6.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{5})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.5.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{4})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.4.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{3})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.3.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{2})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.2.markdown\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.markdown\\\"}},\\\"match\\\":\\\"(#{1})\\\\\\\\s+(.*?)(?:\\\\\\\\s+(#+))?\\\\\\\\s*$\\\",\\\"name\\\":\\\"heading.1.markdown\\\"}]}},\\\"match\\\":\\\"(?:^|\\\\\\\\G) *(#{1,6}\\\\\\\\s+(.*?)(\\\\\\\\s+#{1,6})?\\\\\\\\s*)$\\\",\\\"name\\\":\\\"markup.heading.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"}]},\\\"heading-setext\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(={3,})(?=[\\\\\\\\t ]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.1.markdown\\\"},{\\\"match\\\":\\\"^(-{3,})(?=[\\\\\\\\t ]*$\\\\\\\\n?)\\\",\\\"name\\\":\\\"markup.heading.setext.2.markdown\\\"}]},\\\"inline\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#component_inline\\\"},{\\\"include\\\":\\\"#span\\\"},{\\\"include\\\":\\\"#attributes\\\"}]},\\\"lists\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)( *)([-*+])([\\\\\\\\t ])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.unnumbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"text.html.markdown#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)( *|\\\\\\\\t))|^([\\\\\\\\t ]*)$\\\"},{\\\"begin\\\":\\\"(^|\\\\\\\\G)( *)([0-9]+\\\\\\\\.)([\\\\\\\\t ])\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"name\\\":\\\"markup.list.numbered.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block\\\"},{\\\"include\\\":\\\"text.html.markdown#list_paragraph\\\"}],\\\"while\\\":\\\"((^|\\\\\\\\G)( *|\\\\\\\\t))|^([\\\\\\\\t ]*)$\\\"}]},\\\"paragraph\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G) *(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"meta.paragraph.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown#inline\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"#heading-setext\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)((?=\\\\\\\\s*[-=]{3,}\\\\\\\\s*$)| {4,}(?=\\\\\\\\S))\\\"},\\\"span\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.start.component\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.description.title.markdown\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.component\\\"},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\[)([^]]*)(])((\\\\\\\\{)([^{]*)(}))?\\\\\\\\s\\\",\\\"name\\\":\\\"span.component.mdc\\\"}},\\\"scopeName\\\":\\\"text.markdown.mdc.standalone\\\",\\\"embeddedLangs\\\":[\\\"markdown\\\",\\\"yaml\\\",\\\"html-derivative\\\"]}\"))\n\nexport default [\n...markdown,\n...yaml,\n...html_derivative,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"MDX\\\",\\\"fileTypes\\\":[\\\"mdx\\\"],\\\"name\\\":\\\"mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-frontmatter\\\"},{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"repository\\\":{\\\"commonmark-attention\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\*{3,}|\\\\\\\\*{3,}(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"string.other.strong.emphasis.asterisk.mdx\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\p{L}\\\\\\\\p{N}])_{3,}(?![\\\\\\\\p{L}\\\\\\\\p{N}])|(?<=\\\\\\\\p{P})_{3,}|(?<![\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{P}])_{3,}(?!\\\\\\\\s)\\\",\\\"name\\\":\\\"string.other.strong.emphasis.underscore.mdx\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\*{2}|\\\\\\\\*{2}(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"string.other.strong.asterisk.mdx\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\p{L}\\\\\\\\p{N}])_{2}(?![\\\\\\\\p{L}\\\\\\\\p{N}])|(?<=\\\\\\\\p{P})_{2}|(?<![\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{P}])_{2}(?!\\\\\\\\s)\\\",\\\"name\\\":\\\"string.other.strong.underscore.mdx\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\S)\\\\\\\\*|\\\\\\\\*(?=\\\\\\\\S)\\\",\\\"name\\\":\\\"string.other.emphasis.asterisk.mdx\\\"},{\\\"match\\\":\\\"(?<=[\\\\\\\\p{L}\\\\\\\\p{N}])_(?![\\\\\\\\p{L}\\\\\\\\p{N}])|(?<=\\\\\\\\p{P})_|(?<![\\\\\\\\p{L}\\\\\\\\p{N}\\\\\\\\p{P}])_(?!\\\\\\\\s)\\\",\\\"name\\\":\\\"string.other.emphasis.underscore.mdx\\\"}]},\\\"commonmark-block-quote\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(>) ?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.quote.mdx\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.mdx\\\"}},\\\"name\\\":\\\"markup.quote.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"(>) ?\\\",\\\"whileCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"markup.quote.mdx\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.mdx\\\"}}},\\\"commonmark-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[!-/:-@\\\\\\\\[-`{-~]\\\",\\\"name\\\":\\\"constant.language.character-escape.mdx\\\"},\\\"commonmark-character-reference\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#whatwg-html-data-character-reference-named-terminated\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.hexadecimal.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.integer.hexadecimal.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)(#)([Xx])(\\\\\\\\h{1,6})(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.numeric.hexadecimal.html\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.numeric.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.numeric.integer.decimal.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)(#)([0-9]{1,7})(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.numeric.decimal.html\\\"}]},\\\"commonmark-code-fenced\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-code-fenced-apib\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-asciidoc\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-c\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-clojure\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-coffee\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-console\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-cpp\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-cs\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-css\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-diff\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-dockerfile\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-elixir\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-elm\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-erlang\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-gitconfig\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-go\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-graphql\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-haskell\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-html\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ini\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-java\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-js\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-json\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-julia\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-kotlin\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-less\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-less\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-lua\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-makefile\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-md\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-mdx\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-objc\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-perl\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-php\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-php\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-python\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-r\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-raku\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ruby\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-rust\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-scala\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-scss\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-shell\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-shell-session\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-sql\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-svg\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-swift\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-toml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-ts\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-tsx\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-vbnet\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-xml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-yaml\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced-unknown\\\"}]},\\\"commonmark-code-fenced-apib\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:api-blueprint|(?:.*\\\\\\\\.)?apib))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.apib.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.apib\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown.source.gfm.apib\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:api-blueprint|(?:.*\\\\\\\\.)?apib))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.apib.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.apib\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown.source.gfm.apib\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-asciidoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?a(?:|scii)doc))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.asciidoc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.asciidoc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?a(?:|scii)doc))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.asciidoc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.asciidoc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.asciidoc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-c\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:dtrace|dtrace-script|oncrpc|rpc|rpcgen|unified-parallel-c|x-bitmap|x-pixmap|xdr|(?:.*\\\\\\\\.)?(?:c|cats|h|idc|opencl|upc|xbm|xpm|xs)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.c.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:dtrace|dtrace-script|oncrpc|rpc|rpcgen|unified-parallel-c|x-bitmap|x-pixmap|xdr|(?:.*\\\\\\\\.)?(?:c|cats|h|idc|opencl|upc|xbm|xpm|xs)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.c.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.c\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-clojure\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:clojure|rouge|(?:.*\\\\\\\\.)?(?:boot|cl2|cljc??|cljs|cljs\\\\\\\\.hl|cljscm|cljx|edn|hic|rg|wisp)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.clojure.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:clojure|rouge|(?:.*\\\\\\\\.)?(?:boot|cl2|cljc??|cljs|cljs\\\\\\\\.hl|cljscm|cljx|edn|hic|rg|wisp)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.clojure.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.clojure\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.clojure\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-coffee\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:coffee-script|coffeescript|(?:.*\\\\\\\\.)?(?:_coffee|cjsx|coffee|cson|em|emberscript|iced)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.coffee.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:coffee-script|coffeescript|(?:.*\\\\\\\\.)?(?:_coffee|cjsx|coffee|cson|em|emberscript|iced)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.coffee.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-console\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:py(?:con|thon-console)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.console.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.console\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.python.console\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:py(?:con|thon-console)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.console.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.console\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.python.console\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-cpp\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:ags|ags-script|asymptote|c\\\\\\\\+\\\\\\\\+|edje-data-collection|game-maker-language|swig|(?:.*\\\\\\\\.)?(?:asc|ash|asy|c\\\\\\\\+\\\\\\\\+|cc|cpp??|cppm|cxx|edc|gml|h\\\\\\\\+\\\\\\\\+|hh|hpp|hxx|inl|ino|ipp|ixx|metal|re|tcc|tpp|txx)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cpp.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:ags|ags-script|asymptote|c\\\\\\\\+\\\\\\\\+|edje-data-collection|game-maker-language|swig|(?:.*\\\\\\\\.)?(?:asc|ash|asy|c\\\\\\\\+\\\\\\\\+|cc|cpp??|cppm|cxx|edc|gml|h\\\\\\\\+\\\\\\\\+|hh|hpp|hxx|inl|ino|ipp|ixx|metal|re|tcc|tpp|txx)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cpp.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cpp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.c++\\\"},{\\\"include\\\":\\\"source.cpp\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-cs\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:beef|c#|cakescript|csharp|(?:.*\\\\\\\\.)?(?:bf|cake|cs|cs\\\\\\\\.pp|csx|eq|linq|uno)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cs.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:beef|c#|cakescript|csharp|(?:.*\\\\\\\\.)?(?:bf|cake|cs|cs\\\\\\\\.pp|csx|eq|linq|uno)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.cs.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.cs\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.cs\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-css\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?css))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.css.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?css))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.css.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-diff\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:udiff|(?:.*\\\\\\\\.)?(?:diff|patch)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.diff.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:udiff|(?:.*\\\\\\\\.)?(?:diff|patch)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.diff.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.diff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.diff\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-dockerfile\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:contain|(?:.*\\\\\\\\.)?dock)erfile))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.dockerfile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:contain|(?:.*\\\\\\\\.)?dock)erfile))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.dockerfile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.dockerfile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.dockerfile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-elixir\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:elixir|(?:.*\\\\\\\\.)?exs??))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elixir.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:elixir|(?:.*\\\\\\\\.)?exs??))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elixir.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elixir\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elixir\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-elm\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?elm))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elm.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elm\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?elm))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.elm.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.elm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.elm\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-erlang\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:erlang|(?:.*\\\\\\\\.)?(?:app|app\\\\\\\\.src|erl|es|escript|hrl|xrl|yrl)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.erlang.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:erlang|(?:.*\\\\\\\\.)?(?:app|app\\\\\\\\.src|erl|es|escript|hrl|xrl|yrl)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.erlang.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.erlang\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.erlang\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-gitconfig\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:git-config|gitmodules|(?:.*\\\\\\\\.)?gitconfig))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.gitconfig.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.gitconfig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gitconfig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:git-config|gitmodules|(?:.*\\\\\\\\.)?gitconfig))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.gitconfig.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.gitconfig\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.gitconfig\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-go\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:golang|(?:.*\\\\\\\\.)?go))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.go.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:golang|(?:.*\\\\\\\\.)?go))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.go.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.go\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.go\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-graphql\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?g(?:ql|raphqls??)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.graphql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?g(?:ql|raphqls??)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.graphql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-haskell\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:c2hs|c2hs-haskell|frege|haskell|(?:.*\\\\\\\\.)?(?:chs|dhall|hs|hs-boot|hsc)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.haskell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.haskell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:c2hs|c2hs-haskell|frege|haskell|(?:.*\\\\\\\\.)?(?:chs|dhall|hs|hs-boot|hsc)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.haskell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.haskell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.haskell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-html\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:html|(?:.*\\\\\\\\.)?(?:hta|htm|html\\\\\\\\.hl|kit|mtml|xht|xhtml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.html.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:html|(?:.*\\\\\\\\.)?(?:hta|htm|html\\\\\\\\.hl|kit|mtml|xht|xhtml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.html.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ini\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:altium|altium-designer|dosini|(?:.*\\\\\\\\.)?(?:cnf|dof|ini|lektorproject|outjob|pcbdoc|prefs|prjpcb|properties|schdoc|url)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ini.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:altium|altium-designer|dosini|(?:.*\\\\\\\\.)?(?:cnf|dof|ini|lektorproject|outjob|pcbdoc|prefs|prjpcb|properties|schdoc|url)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ini.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ini\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ini\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-java\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:chuck|unrealscript|(?:.*\\\\\\\\.)?(?:ck|java??|jsh|uc)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.java.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:chuck|unrealscript|(?:.*\\\\\\\\.)?(?:ck|java??|jsh|uc)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.java.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.java\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.java\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-js\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:cycript|javascript\\\\\\\\+erb|json-with-comments|node|qt-script|(?:.*\\\\\\\\.)?(?:_js|bones|cjs|code-snippets|code-workspace|cy|es6|jake|javascript|js|js\\\\\\\\.erb|jsb|jscad|jsfl|jslib|jsm|json5|jsonc|jsonld|jspre|jss|jsx|mjs|njs|pac|sjs|ssjs|sublime-build|sublime-color-scheme|sublime-commands|sublime-completions|sublime-keymap|sublime-macro|sublime-menu|sublime-mousemap|sublime-project|sublime-settings|sublime-theme|sublime-workspace|sublime_metrics|sublime_session|xsjs|xsjslib)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.js.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:cycript|javascript\\\\\\\\+erb|json-with-comments|node|qt-script|(?:.*\\\\\\\\.)?(?:_js|bones|cjs|code-snippets|code-workspace|cy|es6|jake|javascript|js|js\\\\\\\\.erb|jsb|jscad|jsfl|jslib|jsm|json5|jsonc|jsonld|jspre|jss|jsx|mjs|njs|pac|sjs|ssjs|sublime-build|sublime-color-scheme|sublime-commands|sublime-completions|sublime-keymap|sublime-macro|sublime-menu|sublime-mousemap|sublime-project|sublime-settings|sublime-theme|sublime-workspace|sublime_metrics|sublime_session|xsjs|xsjslib)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.js.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-json\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:ecere-projects|ipython-notebook|jupyter-notebook|max|max/msp|maxmsp|oasv2-json|oasv3-json|(?:.*\\\\\\\\.)?(?:4dform|4dproject|avsc|epj|geojson|gltf|har|ice|ipynb|json|json-tmlanguage|jsonl|maxhelp|maxpat|maxproj|mcmeta|mxt|pat|sarif|tfstate|tfstate\\\\\\\\.backup|topojson|webapp|webmanifest|yyp??)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.json.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:ecere-projects|ipython-notebook|jupyter-notebook|max|max/msp|maxmsp|oasv2-json|oasv3-json|(?:.*\\\\\\\\.)?(?:4dform|4dproject|avsc|epj|geojson|gltf|har|ice|ipynb|json|json-tmlanguage|jsonl|maxhelp|maxpat|maxproj|mcmeta|mxt|pat|sarif|tfstate|tfstate\\\\\\\\.backup|topojson|webapp|webmanifest|yyp??)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.json.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-julia\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:julia|(?:.*\\\\\\\\.)?jl))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.julia.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:julia|(?:.*\\\\\\\\.)?jl))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.julia.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.julia\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.julia\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-kotlin\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:gradle-kotlin-dsl|kotlin|(?:.*\\\\\\\\.)?(?:gradle\\\\\\\\.kts|ktm??|kts)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.kotlin.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.kotlin\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.kotlin\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:gradle-kotlin-dsl|kotlin|(?:.*\\\\\\\\.)?(?:gradle\\\\\\\\.kts|ktm??|kts)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.kotlin.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.kotlin\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.kotlin\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-less\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:less-css|(?:.*\\\\\\\\.)?less))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.less.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:less-css|(?:.*\\\\\\\\.)?less))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.less.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-lua\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:fcgi|lua|nse|p8|pd_lua|rbxs|rockspec|wlua)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.lua.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:fcgi|lua|nse|p8|pd_lua|rbxs|rockspec|wlua)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.lua.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.lua\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.lua\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-makefile\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:bsdmake|mf|(?:.*\\\\\\\\.)?m(?:ake??|akefile|k|kfile)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.makefile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:bsdmake|mf|(?:.*\\\\\\\\.)?m(?:ake??|akefile|k|kfile)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.makefile.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.makefile\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.makefile\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-md\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:md|pandoc|rmarkdown|(?:.*\\\\\\\\.)?(?:livemd|markdown|mdown|mdwn|mkdn??|mkdown|qmd|rmd|ronn|scd|workbook)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.md.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.md\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.md\\\"},{\\\"include\\\":\\\"source.gfm\\\"},{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:md|pandoc|rmarkdown|(?:.*\\\\\\\\.)?(?:livemd|markdown|mdown|mdwn|mkdn??|mkdown|qmd|rmd|ronn|scd|workbook)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.md.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.md\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.md\\\"},{\\\"include\\\":\\\"source.gfm\\\"},{\\\"include\\\":\\\"text.html.markdown\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-mdx\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?mdx))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.mdx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.mdx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?mdx))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.mdx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.mdx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-objc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:obj(?:-?|ective-?)c))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.objc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:obj(?:-?|ective-?)c))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.objc.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.objc\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.objc\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-perl\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:cperl|(?:.*\\\\\\\\.)?(?:cgi|perl|ph|plx??|pm|psgi|t)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.perl.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:cperl|(?:.*\\\\\\\\.)?(?:cgi|perl|ph|plx??|pm|psgi|t)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.perl.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.perl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.perl\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-php\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:html\\\\\\\\+php|inc|php|(?:.*\\\\\\\\.)?(?:aw|ctp|php3|php4|php5|phps|phpt|phtml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.php.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:html\\\\\\\\+php|inc|php|(?:.*\\\\\\\\.)?(?:aw|ctp|php3|php4|php5|phps|phpt|phtml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.php.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.php\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-python\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:bazel|easybuild|python3??|rusthon|snakemake|starlark|xonsh|(?:.*\\\\\\\\.)?(?:bzl|eb|gypi??|lmi|py3??|pyde|pyi|pyp|pyt|pyw|rpy|sage|sagews|smk|snakefile|spec|tac|wsgi|xpy|xsh)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.python.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:bazel|easybuild|python3??|rusthon|snakemake|starlark|xonsh|(?:.*\\\\\\\\.)?(?:bzl|eb|gypi??|lmi|py3??|pyde|pyi|pyp|pyt|pyw|rpy|sage|sagews|smk|snakefile|spec|tac|wsgi|xpy|xsh)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.python.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.python\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.python\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-r\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:rscript|splus|(?:.*\\\\\\\\.)?r(?:|d|sx)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.r.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:rscript|splus|(?:.*\\\\\\\\.)?r(?:|d|sx)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.r.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.r\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.r\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-raku\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:perl-6|perl6|pod-6|(?:.*\\\\\\\\.)?(?:6pl|6pm|nqp|p6l??|p6m|pl6|pm6|pod6??|raku|rakumod)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.raku.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.raku\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.raku\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:perl-6|perl6|pod-6|(?:.*\\\\\\\\.)?(?:6pl|6pm|nqp|p6l??|p6m|pl6|pm6|pod6??|raku|rakumod)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.raku.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.raku\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.raku\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ruby\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:jruby|macruby|(?:.*\\\\\\\\.)?(?:builder|druby|duby|eye|gemspec|god|jbuilder|mirah|mspec|pluginspec|podspec|prawn|rabl|rake|rbi??|rbuild|rbw|rbx|ru|ruby|thor|watchr)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ruby.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:jruby|macruby|(?:.*\\\\\\\\.)?(?:builder|druby|duby|eye|gemspec|god|jbuilder|mirah|mspec|pluginspec|podspec|prawn|rabl|rake|rbi??|rbuild|rbw|rbx|ru|ruby|thor|watchr)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ruby.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ruby\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ruby\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-rust\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:rust|(?:.*\\\\\\\\.)?rs(?:|\\\\\\\\.in)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.rust.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:rust|(?:.*\\\\\\\\.)?rs(?:|\\\\\\\\.in)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.rust.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.rust\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.rust\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-scala\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:kojo|sbt|sc|scala)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scala.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?(?:kojo|sbt|sc|scala)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scala.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scala\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.scala\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-scss\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?scss))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scss.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?scss))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.scss.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-shell\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:abuild|alpine-abuild|apkbuild|envrc|gentoo-ebuild|gentoo-eclass|openrc|openrc-runscript|shell|shell-script|(?:.*\\\\\\\\.)?(?:bash|bats|command|csh|ebuild|eclass|ksh|sh|sh\\\\\\\\.in|tcsh|tmux|tool|zsh|zsh-theme)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:abuild|alpine-abuild|apkbuild|envrc|gentoo-ebuild|gentoo-eclass|openrc|openrc-runscript|shell|shell-script|(?:.*\\\\\\\\.)?(?:bash|bats|command|csh|ebuild|eclass|ksh|sh|sh\\\\\\\\.in|tcsh|tmux|tool|zsh|zsh-theme)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.shell\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-shell-session\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:bash-session|console|shellsession|(?:.*\\\\\\\\.)?sh-session))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell-session.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell-session\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.shell-session\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:bash-session|console|shellsession|(?:.*\\\\\\\\.)?sh-session))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.shell-session.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.shell-session\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.shell-session\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-sql\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:plpgsql|sqlpl|(?:.*\\\\\\\\.)?(?:cql|db2|ddl|mysql|pgsql|prc|sql|tab|udf|viw)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.sql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:plpgsql|sqlpl|(?:.*\\\\\\\\.)?(?:cql|db2|ddl|mysql|pgsql|prc|sql|tab|udf|viw)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.sql.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-svg\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?svg))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.svg.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.svg\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.svg\\\"},{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?svg))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.svg.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.svg\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml.svg\\\"},{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-swift\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?swift))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.swift.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?swift))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.swift.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.swift\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.swift\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-toml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?toml))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.toml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?toml))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.toml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-ts\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:typescript|(?:.*\\\\\\\\.)?(?:c|m?)ts))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ts.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:typescript|(?:.*\\\\\\\\.)?(?:c|m?)ts))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.ts.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-tsx\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?tsx))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.tsx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:(?:.*\\\\\\\\.)?tsx))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.tsx.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-unknown\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})(?:[\\\\\\\\t ]*([^\\\\\\\\t\\\\\\\\n\\\\\\\\r `]+)(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?)?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"contentName\\\":\\\"markup.raw.code.fenced.mdx\\\",\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.other.mdx\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})(?:[\\\\\\\\t ]*([^\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+)(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?)?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"contentName\\\":\\\"markup.raw.code.fenced.mdx\\\",\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.other.mdx\\\"}]},\\\"commonmark-code-fenced-vbnet\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:fb|freebasic|realbasic|vb-\\\\\\\\.net|vb\\\\\\\\.net|vbnet|vbscript|visual-basic|visual-basic-\\\\\\\\.net|(?:.*\\\\\\\\.)?(?:bi|rbbas|rbfrm|rbmnu|rbres|rbtbar|rbuistate|vb|vbhtml|vbs)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.vbnet.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.vbnet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vbnet\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:fb|freebasic|realbasic|vb-\\\\\\\\.net|vb\\\\\\\\.net|vbnet|vbscript|visual-basic|visual-basic-\\\\\\\\.net|(?:.*\\\\\\\\.)?(?:bi|rbbas|rbfrm|rbmnu|rbres|rbtbar|rbuistate|vb|vbhtml|vbs)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.vbnet.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.vbnet\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vbnet\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-xml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:collada|eagle|labview|web-ontology-language|xpages|(?:.*\\\\\\\\.)?(?:adml|admx|ant|axaml|axml|brd|builds|ccproj|ccxml|clixml|cproject|cscfg|csdef|csproj|ct|dae|depproj|dita|ditamap|ditaval|dll\\\\\\\\.config|dotsettings|filters|fsproj|fxml|glade|gmx|grxml|hzp|iml|ivy|jelly|jsproj|kml|launch|lvclass|lvlib|lvproj|mdpolicy|mjml|mxml|natvis|ndproj|nproj|nuspec|odd|osm|owl|pkgproj|proj|props|ps1xml|psc1|pt|qhelp|rdf|resx|rss|sch|scxml|sfproj|shproj|srdf|storyboard|sublime-snippet|targets|tml|ui|urdf|ux|vbproj|vcxproj|vsixmanifest|vssettings|vstemplate|vxml|wixproj|wsdl|wsf|wxi|wxl|wxs|x3d|xacro|xaml|xib|xlf|xliff|xmi|xml|xml\\\\\\\\.dist|xmp|xpl|xproc|xproj|xsd|xsp-config|xsp\\\\\\\\.metadata|xspec|xul|zcml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.xml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:collada|eagle|labview|web-ontology-language|xpages|(?:.*\\\\\\\\.)?(?:adml|admx|ant|axaml|axml|brd|builds|ccproj|ccxml|clixml|cproject|cscfg|csdef|csproj|ct|dae|depproj|dita|ditamap|ditaval|dll\\\\\\\\.config|dotsettings|filters|fsproj|fxml|glade|gmx|grxml|hzp|iml|ivy|jelly|jsproj|kml|launch|lvclass|lvlib|lvproj|mdpolicy|mjml|mxml|natvis|ndproj|nproj|nuspec|odd|osm|owl|pkgproj|proj|props|ps1xml|psc1|pt|qhelp|rdf|resx|rss|sch|scxml|sfproj|shproj|srdf|storyboard|sublime-snippet|targets|tml|ui|urdf|ux|vbproj|vcxproj|vsixmanifest|vssettings|vstemplate|vxml|wixproj|wsdl|wsf|wxi|wxl|wxs|x3d|xacro|xaml|xib|xlf|xliff|xmi|xml|xml\\\\\\\\.dist|xmp|xpl|xproc|xproj|xsd|xsp-config|xsp\\\\\\\\.metadata|xspec|xul|zcml)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.xml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-fenced-yaml\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(`{3,})[\\\\\\\\t ]*((?i:jar-manifest|kaitai-struct|oasv2-yaml|oasv3-yaml|unity3d-asset|yaml|yml|(?:.*\\\\\\\\.)?(?:anim|asset|ksy|lkml|lookml|mat|meta|mir|prefab|raml|reek|rviz|sublime-syntax|syntax|unity|yaml-tmlanguage|yaml\\\\\\\\.sed|yml\\\\\\\\.mysql)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r`]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.yaml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(~{3,})[\\\\\\\\t ]*((?i:jar-manifest|kaitai-struct|oasv2-yaml|oasv3-yaml|unity3d-asset|yaml|yml|(?:.*\\\\\\\\.)?(?:anim|asset|ksy|lkml|lookml|mat|meta|mir|prefab|raml|reek|rviz|sublime-syntax|syntax|unity|yaml-tmlanguage|yaml\\\\\\\\.sed|yml\\\\\\\\.mysql)))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+))?[\\\\\\\\t ]*$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.fenced.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"end\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.code.fenced.mdx\\\"}},\\\"name\\\":\\\"markup.code.yaml.mdx\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(.*)\\\",\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}],\\\"while\\\":\\\"(^|\\\\\\\\G)(?![\\\\\\\\t ]*([`~]{3,})[\\\\\\\\t ]*$)\\\"}]}]},\\\"commonmark-code-text\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.code.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.raw.code.mdx markup.inline.raw.code.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.end.code.mdx\\\"}},\\\"match\\\":\\\"(?<!`)(`+)(?!`)(.+?)(?<!`)(\\\\\\\\1)(?!`)\\\",\\\"name\\\":\\\"markup.code.other.mdx\\\"},\\\"commonmark-definition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.begin.destination.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"string.other.end.destination.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"10\\\":{\\\"name\\\":\\\"string.quoted.double.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"11\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"12\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"13\\\":{\\\"name\\\":\\\"string.quoted.single.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"14\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"15\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"16\\\":{\\\"name\\\":\\\"string.quoted.paren.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"17\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\[)((?:[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[]\\\\\\\\[\\\\\\\\\\\\\\\\]?)+?)(])(:)[\\\\\\\\t ]*(?:(<)((?:[^\\\\\\\\n<>\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[<>\\\\\\\\\\\\\\\\]?)*)(>)|(\\\\\\\\g<destination_raw>))(?:[\\\\\\\\t ]+(?:(\\\\\\\")((?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]?)*)(\\\\\\\")|(')((?:[^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?)*)(')|(\\\\\\\\()((?:[^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]?)*)(\\\\\\\\))))?$(?<destination_raw>(?!<)(?:(?:[^ ()\\\\\\\\\\\\\\\\\\\\\\\\p{Cc}]|\\\\\\\\\\\\\\\\[()\\\\\\\\\\\\\\\\]?)|\\\\\\\\(\\\\\\\\g<destination_raw>*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"meta.link.reference.def.mdx\\\"},\\\"commonmark-hard-break-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\$\\\",\\\"name\\\":\\\"constant.language.character-escape.line-ending.mdx\\\"},\\\"commonmark-hard-break-trailing\\\":{\\\"match\\\":\\\"( ){2,}$\\\",\\\"name\\\":\\\"carriage-return constant.language.character-escape.line-ending.mdx\\\"},\\\"commonmark-heading-atx\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{1}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.1.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{2}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.2.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{3}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.3.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{4}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.4.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{5}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.5.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.section.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.heading.mdx\\\"}},\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(#{6}(?!#))(?:[\\\\\\\\t ]+([^\\\\\\\\n\\\\\\\\r]+?)(?:[\\\\\\\\t ]+(#+?))?)?[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.atx.6.mdx\\\"}]},\\\"commonmark-heading-setext\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(=+)[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.setext.1.mdx\\\"},{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(-+)[\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"markup.heading.setext.2.mdx\\\"}]},\\\"commonmark-label-end\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.begin.destination.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"string.other.end.destination.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"string.other.link.destination.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"7\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"string.quoted.double.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"9\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"10\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"11\\\":{\\\"name\\\":\\\"string.quoted.single.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"12\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"13\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"14\\\":{\\\"name\\\":\\\"string.quoted.paren.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"15\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"16\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(])(\\\\\\\\()[\\\\\\\\t ]*(?:(?:(<)((?:[^\\\\\\\\n<>\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[<>\\\\\\\\\\\\\\\\]?)*)(>)|(\\\\\\\\g<destination_raw>))(?:[\\\\\\\\t ]+(?:(\\\\\\\")((?:[^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[\\\\\\\"\\\\\\\\\\\\\\\\]?)*)(\\\\\\\")|(')((?:[^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?)*)(')|(\\\\\\\\()((?:[^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[)\\\\\\\\\\\\\\\\]?)*)(\\\\\\\\))))?)?[\\\\\\\\t ]*(\\\\\\\\))(?<destination_raw>(?!<)(?:(?:[^ ()\\\\\\\\\\\\\\\\\\\\\\\\p{Cc}]|\\\\\\\\\\\\\\\\[()\\\\\\\\\\\\\\\\]?)|\\\\\\\\(\\\\\\\\g<destination_raw>*\\\\\\\\))+){0}\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(])(\\\\\\\\[)((?:[^]\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[]\\\\\\\\[\\\\\\\\\\\\\\\\]?)+?)(])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.mdx\\\"}},\\\"match\\\":\\\"(])\\\"}]},\\\"commonmark-label-start\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"!\\\\\\\\[(?!\\\\\\\\^)\\\",\\\"name\\\":\\\"string.other.begin.image.mdx\\\"},{\\\"match\\\":\\\"\\\\\\\\[\\\",\\\"name\\\":\\\"string.other.begin.link.mdx\\\"}]},\\\"commonmark-list-item\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*+])(?: {4}(?! )|\\\\\\\\t)(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t) {1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*+]) {3}(?! )(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t)\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*+]) {2}(?! )(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G) {3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*+])(?: {1}|(?=\\\\\\\\n))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.unordered.list.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G) {2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([0-9]{9})([).])(?: {4}(?! )|\\\\\\\\t(?![\\\\\\\\t ]))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){3} {2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{9})([).]) {3}(?! )|([0-9]{8})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){3} {1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{9})([).]) {2}(?! )|([0-9]{8})([).]) {3}(?! )|([0-9]{7})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{9})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{8})([).]) {2}(?! )|([0-9]{7})([).]) {3}(?! )|([0-9]{6})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){2} {3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{8})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{7})([).]) {2}(?! )|([0-9]{6})([).]) {3}(?! )|([0-9]{5})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){2} {2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{7})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{6})([).]) {2}(?! )|([0-9]{5})([).]) {3}(?! )|([0-9]{4})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){2} {1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{6})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{5})([).]) {2}(?! )|([0-9]{4})([).]) {3}(?! )|([0-9]{3})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t){2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{5})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{4})([).]) {2}(?! )|([0-9]{3})([).]) {3}(?! )|([0-9]{2})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t) {3}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{4})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{3})([).]) {2}(?! )|([0-9]{2})([).]) {3}(?! )|([0-9]{1})([).]) {4}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"9\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t) {2}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{3})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9]{2})([).]) {2}(?! )|([0-9]{1})([).]) {3}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"6\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t) {1}\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?:([0-9]{2})([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))|([0-9])([).]) {2}(?! ))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t)\\\"},{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([0-9])([).])(?: {1}|(?=[\\\\\\\\t ]*\\\\\\\\n))(\\\\\\\\[[\\\\\\\\t Xx]](?=[\\\\\\\\t\\\\\\\\n\\\\\\\\r ]+(?:$|[^\\\\\\\\t\\\\\\\\n\\\\\\\\r ])))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.number.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.ordered.list.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.other.tasklist.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G) {3}\\\"}]},\\\"commonmark-paragraph\\\":{\\\"begin\\\":\\\"(?![\\\\\\\\t ]*$)\\\",\\\"name\\\":\\\"meta.paragraph.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}],\\\"while\\\":\\\"(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t)\\\"},\\\"commonmark-thematic-break\\\":{\\\"match\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*([-*_])[\\\\\\\\t ]*(?:\\\\\\\\1[\\\\\\\\t ]*){2,}$\\\",\\\"name\\\":\\\"meta.separator.mdx\\\"},\\\"extension-gfm-autolink-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=^|[]\\\\\\\\t\\\\\\\\n\\\\\\\\r (*\\\\\\\\[_~])(?=(?i:www)\\\\\\\\.[^\\\\\\\\n\\\\\\\\r])(?:(?:[-\\\\\\\\p{L}\\\\\\\\p{N}]|[._](?![!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))+\\\\\\\\g<path>?)?(?<path>(?:(?:[^]\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"\\\\\\\\&-*,.:;<?_~]|&(?![A-Za-z]*;[!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[]))|[!\\\\\\\"')*,.:;?_~](?![!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))|\\\\\\\\(\\\\\\\\g<path>*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"string.other.link.autolink.literal.www.mdx\\\"},{\\\"match\\\":\\\"(?<=^|[^A-Za-z])(?i:https?://)(?=[\\\\\\\\p{L}\\\\\\\\p{N}])(?:(?:[-\\\\\\\\p{L}\\\\\\\\p{N}]|[._](?![!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))+\\\\\\\\g<path>?)?(?<path>(?:(?:[^]\\\\\\\\t\\\\\\\\n\\\\\\\\r !\\\\\\\"\\\\\\\\&-*,.:;<?_~]|&(?![A-Za-z]*;[!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[]))|[!\\\\\\\"')*,.:;?_~](?![!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))|\\\\\\\\(\\\\\\\\g<path>*\\\\\\\\))+){0}\\\",\\\"name\\\":\\\"string.other.link.autolink.literal.http.mdx\\\"},{\\\"match\\\":\\\"(?<=^|[^/A-Za-z])(?i:mailto:|xmpp:)?[-+.0-9A-Z_a-z]+@(?:(?:[0-9A-Za-z]|[-_](?![!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))+\\\\\\\\.(?![!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))+(?:[A-Za-z]|[-_](?![!\\\\\\\"')*,.:;<?_~]*(?:[<\\\\\\\\s]|][\\\\\\\\t\\\\\\\\n (\\\\\\\\[])))+\\\",\\\"name\\\":\\\"string.other.link.autolink.literal.email.mdx\\\"}]},\\\"extension-gfm-footnote-call\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.link.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.footnote.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"string.other.end.footnote.mdx\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)((?:[^]\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[]\\\\\\\\[\\\\\\\\\\\\\\\\]?)+)(])\\\"},\\\"extension-gfm-footnote-definition\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\[)(\\\\\\\\^)((?:[^]\\\\\\\\t\\\\\\\\n\\\\\\\\r \\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\[]\\\\\\\\[\\\\\\\\\\\\\\\\]?)+)(])(:)[\\\\\\\\t ]*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.link.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.begin.footnote.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.identifier.mdx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"string.other.end.footnote.mdx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-sections\\\"}],\\\"while\\\":\\\"^(?=[\\\\\\\\t ]*$)|(?:^|\\\\\\\\G)(?: {4}|\\\\\\\\t)\\\"},\\\"extension-gfm-strikethrough\\\":{\\\"match\\\":\\\"(?<=\\\\\\\\S)(?<!~)~{1,2}(?!~)|(?<!~)~{1,2}(?=\\\\\\\\S)(?!~)\\\",\\\"name\\\":\\\"string.other.strikethrough.mdx\\\"},\\\"extension-gfm-table\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(?=\\\\\\\\|[^\\\\\\\\n\\\\\\\\r]+\\\\\\\\|[\\\\\\\\t ]*$)\\\",\\\"end\\\":\\\"^(?=[\\\\\\\\t ]*$)|$\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-text\\\"}]}},\\\"match\\\":\\\"(?<=\\\\\\\\||(?:^|\\\\\\\\G))[\\\\\\\\t ]*((?:[^\\\\\\\\n\\\\\\\\r\\\\\\\\\\\\\\\\|]|\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\|]?)+?)[\\\\\\\\t ]*(?=\\\\\\\\||$)\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"markup.list.table-delimiter.mdx\\\"}]},\\\"extension-github-gemoji\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.gemoji.begin.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.gemoji.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.gemoji.end.mdx\\\"}},\\\"match\\\":\\\"(:)((?:(?:(?:hand_with_index_finger_and_thumb_cros|mailbox_clo|fist_rai|confu)s|r(?:aised_hand_with_fingers_splay|e(?:gister|l(?:iev|ax)))|disappointed_reliev|confound|(?:a(?:ston|ngu)i|flu)sh|unamus|hush)e|(?:chart_with_(?:down|up)wards_tre|large_orange_diamo|small_(?:orang|blu)e_diamo|large_blue_diamo|parasol_on_grou|loud_sou|rewi)n|(?:rightwards_pushing_h|hourglass_flowing_s|leftwards_(?:pushing_)?h|(?:raised_back_of|palm_(?:down|up)|call_me)_h|(?:(?:(?:clippert|ascensi)on|norfolk)_is|christmas_is|desert_is|bouvet_is|new_zea|thai|eng|fin|ire)l|rightwards_h|pinching_h|writing_h|s(?:w(?:itzer|azi)|cot)l|magic_w|ok_h|icel)an|s(?:un_behind_(?:large|small|rain)_clou|hallow_pan_of_foo|tar_of_davi|leeping_be|kateboar|a(?:tisfie|uropo)|hiel|oun|qui)|(?:ear_with_hearing_a|pouring_liqu)i|(?:identification_c|(?:arrow_(?:back|for)|fast_for)w|credit_c|woman_be|biohaz|man_be|l(?:eop|iz))ar|m(?:usical_key|ortar_)boar|(?:drop_of_bl|canned_f)oo|c(?:apital_abc|upi)|person_bal|(?:black_bi|(?:cust|plac)a)r|(?:clip|key)boar|mermai|pea_po|worrie|po(?:la|u)n|threa|dv)d|(?:(?:(?:face_with_open_eyes_and_hand_over|face_with_diagonal|open|no)_mou|h(?:and_over_mou|yacin)|mammo)t|running_shirt_with_sas|(?:(?:fishing_pole_and_|blow)fi|(?:tropical_f|petri_d)i|(?:paint|tooth)bru|banglade|jellyfi)s|(?:camera_fl|wavy_d)as|triump|menora|pouc|blus|watc|das|has)h|(?:s(?:o(?:(?:uth_georgia_south_sandwich|lomon)_island|ck)|miling_face_with_three_heart|t_kitts_nevi|weat_drop|agittariu|c(?:orpiu|issor)|ymbol|hort)|twisted_rightwards_arrow|(?:northern_mariana|heard_mcdonald|(?:british_virgi|us_virgi|pitcair|cayma)n|turks_caicos|us_outlying|(?:falk|a)land|marshall|c(?:anary|ocos)|faroe)_island|(?:face_holding_back_tea|(?:c(?:ard_index_divid|rossed_fing)|pinched_fing)e|night_with_sta)r|(?:two_(?:wo)?men_holding|people_holding|heart|open)_hand|(?:sunrise_over_mountai|(?:congratul|united_n)atio|jea)n|(?:caribbean_)?netherland|(?:f(?:lower_playing_car|ace_in_clou)|crossed_swor|prayer_bea)d|(?:money_with_win|nest_with_eg|crossed_fla|hotsprin)g|revolving_heart|(?:high_brightne|(?:expression|wire)le|(?:tumbler|wine)_gla|milk_gla|compa|dre)s|performing_art|earth_america|orthodox_cros|l(?:ow_brightnes|a(?:tin_cros|o)|ung)|no_pedestrian|c(?:ontrol_kno|lu)b|b(?:ookmark_tab|rick|ean)|nesting_doll|cook_island|(?:fleur_de_l|tenn)i|(?:o(?:ncoming_b|phiuch|ctop)|hi(?:ppopotam|bisc)|trolleyb|m(?:(?:rs|x)_cla|auriti|inib)|belar|cact|abac|(?:cyp|tau)r)u|medal_sport|(?:chopstic|firewor)k|rhinocero|(?:p(?:aw_prin|eanu)|footprin)t|two_heart|princes|(?:hondur|baham)a|barbado|aquariu|c(?:ustom|hain)|maraca|comoro|flag|wale|hug|vh)s|(?:(?:diamond_shape_with_a_dot_ins|playground_sl)id|(?:(?:first_quarter|last_quarter|full|new)_moon_with|(?:zipper|money)_mouth|dotted_line|upside_down|c(?:rying_c|owboy_h)at|(?:disguis|nauseat)ed|neutral|monocle|panda|tired|woozy|clown|nerd|zany|fox)_fac|s(?:t(?:uck_out_tongue_winking_ey|eam_locomotiv)|(?:lightly_(?:frown|smil)|neez|h(?:ush|ak))ing_fac|(?:tudio_micropho|(?:hinto_shr|lot_mach)i|ierra_leo|axopho)n|mall_airplan|un_with_fac|a(?:luting_fac|tellit|k)|haved_ic|y(?:nagogu|ring)|n(?:owfl)?ak|urinam|pong)|(?:black_(?:medium_)?small|white_(?:(?:medium_)?small|large)|(?:black|white)_medium|black_large|orange|purple|yellow|b(?:rown|lue)|red)_squar|(?:(?:(?:perso|woma)|ma)n_with_)?probing_can|(?:p(?:ut_litter_in_its_pl|outing_f)|frowning_f|cold_f|wind_f|hot_f)ac|(?:arrows_c(?:ounterc)?lockwi|computer_mou|derelict_hou|carousel_hor|c(?:ity_sunri|hee)|heartpul|briefca|racehor|pig_no|lacros)s|(?:(?:face_with_head_band|ideograph_advant|adhesive_band|under|pack)a|currency_exchan|l(?:eft_l)?ugga|woman_jud|name_bad|man_jud|jud)g|face_with_peeking_ey|(?:(?:e(?:uropean_post_off|ar_of_r)|post_off)i|information_sour|ambulan)c|artificial_satellit|(?:busts?_in_silhouet|(?:vulcan_sal|parach)u|m(?:usical_no|ayot)|ro(?:ller_ska|set)|timor_les|ice_ska)t|(?:(?:incoming|red)_envelo|s(?:ao_tome_princi|tethosco)|(?:micro|tele)sco|citysca)p|(?:(?:(?:convenience|department)_st|musical_sc)o|f(?:light_depar|ramed_pic)tu|love_you_gestu|heart_on_fi|japanese_og|cote_divoi|perseve|singapo)r|b(?:ullettrain_sid|eliz|on)|(?:(?:(?:fe|)male_)?dete|radioa)ctiv|(?:christmas|deciduous|evergreen|tanabata|palm)_tre|(?:vibration_mo|cape_ver)d|(?:fortune_cook|neckt|self)i|(?:fork_and_)?knif|athletic_sho|(?:p(?:lead|arty)|drool|curs|melt|yawn|ly)ing_fac|vomiting_fac|(?:(?:c(?:urling_st|ycl)|meat_on_b|repeat_|headst)o|(?:fire_eng|tanger|ukra)i|rice_sce|(?:micro|i)pho|champag|pho)n|(?:cricket|video)_gam|(?:boxing_glo|oli)v|(?:d(?:ragon|izzy)|monkey)_fac|(?:m(?:artin|ozamb)iq|fond)u|wind_chim|test_tub|flat_sho|m(?:a(?:ns_sho|t)|icrob|oos|ut)|(?:handsh|fish_c|moon_c|cupc)ak|nail_car|zimbabw|ho(?:neybe|l)|ice_cub|airplan|pensiv|c(?:a(?:n(?:dl|o)|k)|o(?:ffe|oki))|tongu|purs|f(?:lut|iv)|d(?:at|ov)|n(?:iu|os)|kit|rag|ax)e|(?:(?:british_indian_ocean_territo|(?:plate_with_cutl|batt)e|medal_milita|low_batte|hunga|wea)r|family_(?:woman_(?:woman_(?:girl|boy)|girl|boy)|man_(?:woman_(?:girl|boy)|man_(?:girl|boy)|girl|boy))_bo|person_feeding_bab|woman_feeding_bab|s(?:u(?:spension_railwa|nn)|t(?:atue_of_libert|_barthelem|rawberr))|(?:m(?:ountain_cable|ilky_)|aerial_tram)wa|articulated_lorr|man_feeding_bab|mountain_railwa|partly_sunn|(?:vatican_c|infin)it|(?:outbox_tr|inbox_tr|birthd|motorw|paragu|urugu|norw|x_r)a|butterfl|ring_buo|t(?:urke|roph)|angr|fogg)y|(?:(?:perso|woma)n_in_motorized_wheelchai|(?:(?:notebook_with_decorative_c|four_leaf_cl)ov|(?:index_pointing_at_the_vie|white_flo)w|(?:face_with_thermome|non-potable_wa|woman_firefigh|desktop_compu|m(?:an_firefigh|otor_scoo)|(?:ro(?:ller_coa|o)|oy)s|potable_wa|kick_scoo|thermome|firefigh|helicop|ot)t|(?:woman_factory_wor|(?:woman_office|woman_health|health)_wor|man_(?:factory|office|health)_wor|(?:factory|office)_wor|rice_crac|black_jo|firecrac)k|telephone_receiv|(?:palms_up_toget|f(?:ire_extinguis|eat)|teac)h|(?:(?:open_)?file_fol|level_sli)d|police_offic|f(?:lying_sauc|arm)|woman_teach|roll_of_pap|(?:m(?:iddle_f|an_s)in|woman_sin|hambur|plun|dag)g|do_not_litt|wilted_flow|woman_farm|man_(?:teach|farm)|(?:bell_pe|hot_pe|fli)pp|l(?:o(?:udspeak|ve_lett|bst)|edg|add)|tokyo_tow|c(?:ucumb|lapp|anc)|b(?:e(?:ginn|av)|adg)|print|hamst)e|(?:perso|woma)n_in_manual_wheelchai|m(?:an(?:_in_motorized|(?:_in_man)?ual)|otorized)_wheelchai|(?:person_(?:white|curly|red)_|wheelc)hai|triangular_rule|(?:film_project|e(?:l_salv|cu)ad|elevat|tract|anch)o|s(?:traight_rul|pace_invad|crewdriv|nowboard|unflow|peak|wimm|ing|occ|how|urf|ki)e|r(?:ed_ca|unne|azo)|d(?:o(?:lla|o)|ee)|barbe)r|(?:(?:cloud_with_(?:lightning_and_)?ra|japanese_gobl|round_pushp|liechtenste|mandar|pengu|dolph|bahra|pushp|viol)i|(?:couple(?:_with_heart_wo|kiss_)man|construction_worker|(?:mountain_bik|bow|row)ing|lotus_position|(?:w(?:eight_lift|alk)|climb)ing|white_haired|curly_haired|raising_hand|super(?:villain|hero)|red_haired|basketball|s(?:(?:wimm|urf)ing|assy)|haircut|no_good|(?:vampir|massag)e|b(?:iking|ald)|zombie|fairy|mage|elf|ng)_(?:wo)?ma|(?:(?:couple_with_heart_man|isle_of)_m|(?:couplekiss_woman_|(?:b(?:ouncing_ball|lond_haired)|tipping_hand|pregnant|kneeling|deaf)_|frowning_|s(?:tanding|auna)_|po(?:uting_|lice)|running_|blonde_|o(?:lder|k)_)wom|(?:perso|woma)n_with_turb|(?:b(?:ouncing_ball|lond_haired)|tipping_hand|pregnant|kneeling|deaf)_m|f(?:olding_hand_f|rowning_m)|man_with_turb|(?:turkmen|afghan|pak)ist|s(?:tanding_m|(?:outh_s)?ud|auna_m)|po(?:uting_|lice)m|running_m|azerbaij|k(?:yrgyz|azakh)st|tajikist|uzbekist|o(?:lder_m|k_m|ce)|(?:orang|bh)ut|taiw|jord)a|s(?:mall_red_triangle_dow|(?:valbard_jan_may|int_maart|ev)e|afety_pi|top_sig|t_marti|(?:corpi|po|o)o|wede)|(?:heavy_(?:d(?:ivision|ollar)|equals|minus|plus)|no_entry|female|male)_sig|(?:arrow_(?:heading|double)_d|p(?:erson_with_cr|oint_d)|arrow_up_d|thumbsd)ow|(?:house_with_gard|l(?:ock_with_ink_p|eafy_gre)|dancing_(?:wo)?m|fountain_p|keycap_t|chick|ali|yem|od)e|(?:izakaya|jack_o)_lanter|(?:funeral_u|(?:po(?:stal_h|pc)|capric)o|unico)r|chess_paw|b(?:a(?:llo|c)o|eni|rai)|l(?:anter|io)|c(?:o(?:ff)?i|row)|melo|rame|oma|yar)n|(?:s(?:t(?:uck_out_tongue_closed_ey|_vincent_grenadin)|kull_and_crossbon|unglass|pad)|(?:french_souther|palestinia)n_territori|(?:face_with_spiral|kissing_smiling)_ey|united_arab_emirat|kissing_closed_ey|(?:clinking_|dark_sun|eye)glass|(?:no_mobile_|head)phon|womans_cloth|b(?:allet_sho|lueberri)|philippin|(?:no_bicyc|seychel)l|roll_ey|(?:cher|a)ri|p(?:ancak|isc)|maldiv|leav)es|(?:f(?:amily_(?:woman_(?:woman_)?|man_(?:(?:wo|)man_)?)girl_gir|earfu)|(?:woman_playing_hand|m(?:an_playing_hand|irror_)|c(?:onfetti|rystal)_|volley|track|base|8)bal|(?:(?:m(?:ailbox_with_(?:no_)?m|onor)|cockt|e-m)a|(?:person|bride|woman)_with_ve|man_with_ve|light_ra|braz|ema)i|(?:transgender|baby)_symbo|passport_contro|(?:arrow_(?:down|up)_sm|rice_b|footb)al|(?:dromedary_cam|ferris_whe|love_hot|high_he|pretz|falaf|isra)e|page_with_cur|me(?:dical_symbo|ta)|(?:n(?:ewspaper_ro|o_be)|bellhop_be)l|rugby_footbal|s(?:chool_satche|(?:peak|ee)_no_evi|oftbal|crol|anda|nai|hel)|(?:peace|atom)_symbo|hear_no_evi|cora|hote|bage|labe|rof|ow)l|(?:(?:negative_squared_cross|heavy_exclamation|part_alternation)_mar|(?:eight_spoked_)?asteris|(?:ballot_box_with_che|(?:(?:mantelpiece|alarm|timer)_c|un)lo|(?:ha(?:(?:mmer_and|ir)_p|tch(?:ing|ed)_ch)|baby_ch|joyst)i|railway_tra|lipsti|peaco)c|heavy_check_mar|white_check_mar|tr(?:opical_drin|uc)|national_par|pickup_truc|diving_mas|floppy_dis|s(?:tar_struc|hamroc|kun|har)|chipmun|denmar|duc|hoo|lin)k|(?:leftwards_arrow_with_h|arrow_right_h|(?:o(?:range|pen)|closed|blue)_b)ook|(?:woman_playing_water_pol|m(?:an(?:_(?:playing_water_pol|with_gua_pi_ma|in_tuxed)|g)|ontenegr|o(?:roc|na)c|e(?:xic|tr|m))|(?:perso|woma)n_in_tuxed|(?:trinidad_toba|vir)g|water_buffal|b(?:urkina_fas|a(?:mbo|nj)|ent)|puerto_ric|water_pol|flaming|kangaro|(?:mosqu|burr)it|(?:avoc|torn)ad|curaca|lesoth|potat|ko(?:sov|k)|tomat|d(?:ang|od)|yo_y|hoch|t(?:ac|og)|zer)o|(?:c(?:entral_african|zech)|dominican)_republic|(?:eight_pointed_black_s|six_pointed_s|qa)tar|(?:business_suit_levitat|(?:classical_buil|breast_fee)d|(?:woman_cartwhee|m(?:an_(?:cartwhee|jugg)|en_wrest)|women_wrest|woman_jugg|face_exha|cartwhee|wrest|dump)l|c(?:hildren_cross|amp)|woman_facepalm|woman_shrugg|man_(?:facepalm|shrugg)|people_hugg|(?:person_fe|woman_da|man_da)nc|fist_oncom|horse_rac|(?:no_smo|thin)k|laugh|s(?:eedl|mok)|park|w(?:arn|edd))ing|f(?:a(?:mily(?:_(?:woman_(?:woman_(?:girl|boy)|girl|boy)|man_(?:woman_(?:girl|boy)|man_(?:girl|boy)|girl|boy)))?|ctory)|o(?:u(?:ntain|r)|ot|g)|r(?:owning)?|i(?:re|s[ht])|ly|u)|(?:(?:(?:information_desk|handball|bearded)_|(?:frowning|ok)_|juggling_|mer)pers|(?:previous_track|p(?:lay_or_p)?ause|black_square|white_square|next_track|r(?:ecord|adio)|eject)_butt|(?:wa[nx]ing_(?:crescent|gibbous)_m|bowl_with_sp|crescent_m|racc)o|(?:b(?:ouncing_ball|lond_haired)|tipping_hand|pregnant|kneeling|deaf)_pers|s(?:t(?:_pierre_miquel|op_butt|ati)|tanding_pers|peech_ballo|auna_pers)|r(?:eminder_r)?ibb|thought_ballo|watermel|badmint|c(?:amero|ray)|le(?:ban|m)|oni|bis)on|(?:heavy_heart_exclama|building_construc|heart_decora|exclama)tion|(?:(?:triangular_flag_on_po|(?:(?:woman_)?technolog|m(?:ountain_bicycl|an_technolog)|bicycl)i|(?:wo)?man_scienti|(?:wo)?man_arti|s(?:afety_ve|cienti)|empty_ne)s|(?:vertical_)?traffic_ligh|(?:rescue_worker_helm|military_helm|nazar_amul|city_suns|wastebask|dropl|t(?:rump|oil)|bouqu|buck|magn|secr)e|one_piece_swimsui|(?:(?:arrow_(?:low|upp)er|point)_r|bridge_at_n|copyr|mag_r)igh|(?:bullettrain_fro|(?:potted_pl|croiss|e(?:ggpl|leph))a)n|s(?:t(?:ar_and_cresc|ud)en|cream_ca|mi(?:ley?|rk)_ca|(?:peed|ail)boa|hir)|(?:arrow_(?:low|upp)er|point)_lef|woman_astronau|r(?:o(?:tating_ligh|cke)|eceip)|heart_eyes_ca|man_astronau|(?:woman_stud|circus_t|man_stud|trid)en|(?:ringed_pla|file_cabi)ne|nut_and_bol|(?:older_)?adul|k(?:i(?:ssing_ca|wi_frui)|uwai|no)|(?:pouting_c|c(?:ut_of_m|old_sw)e|womans_h|montserr|(?:(?:motor_|row)b|lab_c)o|heartbe|toph)a|(?:woman_pil|honey_p|man_pil|[cp]arr|teap|rob)o|hiking_boo|arrow_lef|fist_righ|flashligh|f(?:ist_lef|ee)|black_ca|astronau|(?:c(?:hest|oco)|dough)nu|innocen|joy_ca|artis|(?:acce|egy)p|co(?:me|a)|pilo)t|(?:heavy_multiplication_|t-re)x|(?:s(?:miling_face_with_te|piral_calend)|oncoming_police_c|chocolate_b|ra(?:ilway|cing)_c|police_c|polar_be|teddy_be|madagasc|blue_c|calend|myanm)ar|c(?:l(?:o(?:ud(?:_with_lightning)?|ck(?:1[012]?|[2-9]))|ap)?|o(?:uple(?:_with_heart|kiss)?|nstruction|mputer|ok|[pw])|a(?:r(?:d_index)?|mera)|r(?:icket|y)|h(?:art|ild))|(?:m(?:artial_arts_unifo|echanical_a)r|(?:cherry_)?blosso|b(?:aggage_clai|roo)|ice_?crea|facepal|mushroo|restroo|vietna|dru|yu)m|(?:woman_with_headscar|m(?:obile_phone_of|aple_lea)|fallen_lea|wol)f|(?:(?:closed_lock_with|old)_|field_hoc|ice_hoc|han|don)key|g(?:lobe_with_meridians|r(?:e(?:y_(?:exclama|ques)tion|e(?:n(?:_(?:square|circle|salad|apple|heart|book)|land)|ce)|y_heart|nada)|i(?:mac|nn)ing|apes)|u(?:inea_bissau|ernsey|am|n)|(?:(?:olfing|enie)_(?:wo)?|uards(?:wo)?)man|(?:inger_roo|oal_ne|hos)t|(?:uadeloup|ame_di|iraff|oos)e|ift_heart|i(?:braltar|rl)|(?:uatemal|(?:eorg|amb)i|orill|uyan|han)a|uide_dog|(?:oggl|lov)es|arlic|emini|uitar|abon|oat|ear|b)|construction_worker|(?:(?:envelope_with|bow_and)_ar|left_right_ar|raised_eyeb)row|(?:(?:oncoming_automob|crocod)i|right_anger_bubb|l(?:eft_speech_bubb|otion_bott|ady_beet)|congo_brazzavil|eye_speech_bubb|(?:large_blue|orange|purple|yellow|brown)_circ|(?:(?:european|japanese)_cas|baby_bot)t|b(?:alance_sca|eet)|s(?:ewing_need|weat_smi)|(?:black|white|red)_circ|(?:motor|re)cyc|pood|turt|tama|waff|musc|eag)le|first_quarter_moon|s(?:m(?:all_red_triangle|i(?:ley?|rk))|t(?:uck_out_tongue|ar)|hopping|leeping|p(?:arkle|ider)|unrise|nowman|chool|cream|k(?:ull|i)|weat|ix|a)|(?:(?:b(?:osnia_herzegovi|ana)|wallis_futu|(?:french_gui|botsw)a|argenti|st_hele)n|(?:(?:equatorial|papua_new)_guin|north_kor|eritr)e|t(?:ristan_da_cunh|ad)|(?:(?:(?:french_poly|indo)ne|tuni)s|(?:new_caledo|ma(?:urita|cedo)|lithua|(?:tanz|alb|rom)a|arme|esto)n|diego_garc|s(?:audi_arab|t_luc|lov(?:ak|en)|omal|erb)|e(?:arth_as|thiop)|m(?:icrone|alay)s|(?:austra|mongo)l|c(?:ambod|roat)|(?:bulga|alge)r|(?:colom|nami|zam)b|boliv|l(?:iber|atv))i|(?:wheel_of_dhar|cine|pana)m|(?:(?:(?:closed|beach|open)_)?umbrel|ceuta_melil|venezue|ang(?:uil|o)|koa)l|c(?:ongo_kinshas|anad|ub)|(?:western_saha|a(?:mpho|ndor)|zeb)r|american_samo|video_camer|m(?:o(?:vie_camer|ldov)|alt|eg)|(?:earth_af|costa_)ric|s(?:outh_afric|ri_lank|a(?:mo|nt))|bubble_te|(?:antarct|jama)ic|ni(?:caragu|geri|nj)|austri|pi(?:nat|zz)|arub|k(?:eny|aab)|indi|u7a7|l(?:lam|ib[ry])|dn)a|l(?:ast_quarter_moon|o(?:tus|ck)|ips|eo)|(?:hammer_and_wren|c(?:ockroa|hur)|facepun|wren|crut|pun)ch|s(?:nowman_with_snow|ignal_strength|weet_potato|miling_imp|p(?:ider_web|arkle[rs])|w(?:im_brief|an)|a(?:n(?:_marino|dwich)|lt)|topwatch|t(?:a(?:dium|r[2s])|ew)|l(?:e(?:epy|d)|oth)|hrimp|yria|carf|(?:hee|oa)p|ea[lt]|h(?:oe|i[pt])|o[bs])|(?:s(?:tuffed_flatbre|p(?:iral_notep|eaking_he))|(?:exploding_h|baguette_br|flatbr)e)ad|(?:arrow_(?:heading|double)_u|(?:p(?:lace_of_wor|assenger_)sh|film_str|tul)i|page_facing_u|biting_li|(?:billed_c|world_m)a|mouse_tra|(?:curly_lo|busst)o|thumbsu|lo(?:llip)?o|clam|im)p|(?:anatomical|light_blue|sparkling|kissing|mending|orange|purple|yellow|broken|b(?:rown|l(?:ack|ue))|pink)_heart|(?:(?:transgender|black)_fla|mechanical_le|(?:checkered|pirate)_fla|electric_plu|rainbow_fla|poultry_le|service_do|white_fla|luxembour|fried_eg|moneyba|h(?:edgeh|otd)o|shru)g|(?:cloud_with|mountain)_snow|(?:(?:antigua_barb|berm)u|(?:kh|ug)an|rwan)da|(?:3r|2n)d_place_medal|1(?:st_place_medal|234|00)|lotus_position|(?:w(?:eight_lift|alk)|climb)ing|(?:(?:cup_with_str|auto_ricksh)a|carpentry_sa|windo|jigsa)w|(?:(?:couch_and|diya)_la|f(?:ried_shri|uelpu))mp|(?:woman_mechan|man_mechan|alemb)ic|(?:european_un|accord|collis|reun)ion|(?:flight_arriv|hospit|portug|seneg|nep)al|card_file_box|(?:(?:oncoming_)?tax|m(?:o(?:unt_fuj|ya)|alaw)|s(?:paghett|ush|ar)|b(?:r(?:occol|une)|urund)|(?:djibou|kiriba)t|hait|fij)i|(?:shopping_c|white_he|bar_ch)art|d(?:isappointed|ominica|e(?:sert)?)|raising_hand|super(?:villain|hero)|b(?:e(?:verage_box|ers|d)|u(?:bbles|lb|g)|i(?:k(?:ini|e)|rd)|o(?:o(?:ks|t)|a[rt]|y)|read|a[cn]k)|ra(?:ised_hands|bbit2|t)|(?:hindu_tem|ap)ple|thong_sandal|a(?:r(?:row_(?:right|down|up)|t)|bc?|nt)?|r(?:a(?:i(?:sed_hand|nbow)|bbit|dio|m)|u(?:nning)?|epeat|i(?:ng|ce)|o(?:ck|se))|takeout_box|(?:flying_|mini)disc|(?:(?:interrob|yin_y)a|b(?:o(?:omera|wli)|angba)|(?:ping_p|hong_k)o|calli|mahjo)ng|b(?:a(?:llot_box|sket|th?|by)|o(?:o(?:k(?:mark)?|m)|w)|u(?:tter|s)|e(?:ll|er?|ar))?|heart_eyes|basketball|(?:paperclip|dancer|ticket)s|point_up_2|(?:wo)?man_cook|n(?:ew(?:spaper)?|o(?:tebook|_entry)|iger)|t(?:e(?:lephone|a)|o(?:oth|p)|r(?:oll)?|wo)|h(?:o(?:u(?:rglass|se)|rse)|a(?:mmer|nd)|eart)|paperclip|full_moon|(?:b(?:lack_ni|athtu|om)|her)b|(?:long|oil)_drum|pineapple|(?:clock(?:1[012]?|[2-9])3|u6e8)0|p(?:o(?:int_up|ut)|r(?:ince|ay)|i(?:ck|g)|en)|e(?:nvelope|ight|u(?:ro)?|gg|ar|ye|s)|m(?:o(?:u(?:ntain|se)|nkey|on)|echanic|a(?:ilbox|[gn])|irror)?|new_moon|d(?:iamonds|olls|art)|question|k(?:iss(?:ing)?|ey)|haircut|no_good|(?:vampir|massag)e|g(?:olf(?:ing)?|u(?:inea|ard)|e(?:nie|m)|ift|rin)|h(?:a(?:ndbag|msa)|ouses|earts|ut)|postbox|toolbox|(?:pencil|t(?:rain|iger)|whale|cat|dog)2|belgium|(?:volca|kimo)no|(?:vanuat|tuval|pala|naur|maca)u|tokelau|o(?:range|ne?|[km])?|office|dancer|ticket|dragon|pencil|zombie|w(?:o(?:mens|rm|od)|ave|in[gk]|c)|m(?:o(?:sque|use2)|e(?:rman|ns)|a(?:li|sk))|jersey|tshirt|w(?:heel|oman)|dizzy|j(?:apan|oy)|t(?:rain|iger)|whale|fairy|a(?:nge[lr]|bcd|tm)|c(?:h(?:a(?:ir|d)|ile)|a(?:ndy|mel)|urry|rab|o(?:rn|ol|w2)|[dn])|p(?:ager|e(?:a(?:ch|r)|ru)|i(?:g2|ll|e)|oop)|n(?:otes|ine)|t(?:onga|hree|ent|ram|[mv])|f(?:erry|r(?:ies|ee|og)|ax)|u(?:7(?:533|981|121)|5(?:5b6|408|272)|6(?:307|70[89]))|mage|e(?:yes|nd)|i(?:ra[nq]|t)|cat|dog|elf|z(?:zz|ap)|yen|j(?:ar|p)|leg|id|u[kps]|ng|o[2x]|vs|kr|[-+]1|[vx])(:)\\\",\\\"name\\\":\\\"string.emoji.mdx\\\"},\\\"extension-github-mention\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.mention.begin.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.mention.mdx\\\"}},\\\"match\\\":\\\"(?<![0-9A-Z_-z])(@)([0-9A-Za-z][-0-9A-Za-z]{0,38}(?:/[0-9A-Za-z][-0-9A-Za-z]{0,38})?)(?![0-9A-Z_-z])\\\",\\\"name\\\":\\\"string.mention.mdx\\\"},\\\"extension-github-reference\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.other.link.reference.security-advisory.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.mdx\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.other.link.reference.issue-or-pr.mdx\\\"}},\\\"match\\\":\\\"(?<![0-9A-Z_a-z])(?:((?i:ghsa-|cve-))([0-9A-Za-z]+)|((?i:gh-|#))([0-9]+))(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"string.reference.mdx\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.link.reference.user.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.reference.begin.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.link.reference.issue-or-pr.mdx\\\"}},\\\"match\\\":\\\"(?<![^\\\\\\\\t\\\\\\\\n\\\\\\\\r (@\\\\\\\\[{])([0-9A-Za-z][-0-9A-Za-z]{0,38}(?:/(?:\\\\\\\\.git[-0-9A-Z_a-z]|\\\\\\\\.(?!git)|[-0-9A-Z_a-z])+)?)(#)([0-9]+)(?![0-9A-Z_a-z])\\\",\\\"name\\\":\\\"string.reference.mdx\\\"}]},\\\"extension-math-flow\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\${2,})([^\\\\\\\\n\\\\\\\\r$]*)$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.math.flow.mdx\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown-string\\\"}]}},\\\"contentName\\\":\\\"markup.raw.math.flow.mdx\\\",\\\"end\\\":\\\"(\\\\\\\\1)[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.end.math.flow.mdx\\\"}},\\\"name\\\":\\\"markup.code.other.mdx\\\"},\\\"extension-math-text\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.math.mdx\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.raw.math.mdx markup.inline.raw.math.mdx\\\"},\\\"3\\\":{\\\"name\\\":\\\"string.other.end.math.mdx\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(\\\\\\\\${2,})(?!\\\\\\\\$)(.+?)(?<!\\\\\\\\$)(\\\\\\\\1)(?!\\\\\\\\$)\\\"},\\\"extension-mdx-esm\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)(?=(?i:(?:ex|im)port) )\\\",\\\"end\\\":\\\"^(?=[\\\\\\\\t ]*$)|$\\\",\\\"name\\\":\\\"meta.embedded.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#statements\\\"}]},\\\"extension-mdx-expression-flow\\\":{\\\"begin\\\":\\\"(?:^|\\\\\\\\G)[\\\\\\\\t ]*(\\\\\\\\{)(?!.*}[\\\\\\\\t ]*.)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.expression.mdx.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"end\\\":\\\"(})[\\\\\\\\t ]*$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"string.other.begin.expression.mdx.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#expression\\\"}]},\\\"extension-mdx-expression-text\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.expression.mdx.js\\\"}},\\\"contentName\\\":\\\"meta.embedded.tsx\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.expression.mdx.js\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#expression\\\"}]},\\\"extension-mdx-jsx-flow\\\":{\\\"begin\\\":\\\"(?<=^|\\\\\\\\G|>)[\\\\\\\\t ]*(<)(?=(?![\\\\\\\\t\\\\\\\\n\\\\\\\\r ]))(?:\\\\\\\\s*(/))?(?:\\\\\\\\s*(?:([$_[:alpha:]][-$_[:alnum:]]*)\\\\\\\\s*(:)\\\\\\\\s*([$_[:alpha:]][-$_[:alnum:]]*)|([$_[:alpha:]][$_[:alnum:]]*(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][-$_[:alnum:]]*)+)|([$_[:upper:]][$_[:alnum:]]*)|([$_[:alpha:]][-$_[:alnum:]]*))(?=[/>{\\\\\\\\s]))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.closing.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.local.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.jsx\\\"}},\\\"end\\\":\\\"(?:(/)\\\\\\\\s*)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.self-closing.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attributes-illegal\\\"}]},\\\"extension-mdx-jsx-text\\\":{\\\"begin\\\":\\\"(<)(?=(?![\\\\\\\\t\\\\\\\\n\\\\\\\\r ]))(?:\\\\\\\\s*(/))?(?:\\\\\\\\s*(?:([$_[:alpha:]][-$_[:alnum:]]*)\\\\\\\\s*(:)\\\\\\\\s*([$_[:alpha:]][-$_[:alnum:]]*)|([$_[:alpha:]][$_[:alnum:]]*(?:\\\\\\\\s*\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][-$_[:alnum:]]*)+)|([$_[:upper:]][$_[:alnum:]]*)|([$_[:alpha:]][-$_[:alnum:]]*))(?=[/>{\\\\\\\\s]))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.closing.jsx\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.namespace.jsx\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.separator.namespace.jsx\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.tag.local.jsx\\\"},\\\"6\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"7\\\":{\\\"name\\\":\\\"support.class.component.jsx\\\"},\\\"8\\\":{\\\"name\\\":\\\"entity.name.tag.jsx\\\"}},\\\"end\\\":\\\"(?:(/)\\\\\\\\s*)?(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.self-closing.jsx\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.jsx\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-name\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attribute-assignment\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-double-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-string-single-quoted\\\"},{\\\"include\\\":\\\"source.tsx#jsx-evaluated-code\\\"},{\\\"include\\\":\\\"source.tsx#jsx-tag-attributes-illegal\\\"}]},\\\"extension-toml\\\":{\\\"begin\\\":\\\"\\\\\\\\A\\\\\\\\+{3}$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.toml\\\"}},\\\"contentName\\\":\\\"meta.embedded.toml\\\",\\\"end\\\":\\\"^\\\\\\\\+{3}$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.end.toml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}]},\\\"extension-yaml\\\":{\\\"begin\\\":\\\"\\\\\\\\A-{3}$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.begin.yaml\\\"}},\\\"contentName\\\":\\\"meta.embedded.yaml\\\",\\\"end\\\":\\\"^-{3}$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.other.end.yaml\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]},\\\"markdown-frontmatter\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#extension-toml\\\"},{\\\"include\\\":\\\"#extension-yaml\\\"}]},\\\"markdown-sections\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-block-quote\\\"},{\\\"include\\\":\\\"#commonmark-code-fenced\\\"},{\\\"include\\\":\\\"#extension-gfm-footnote-definition\\\"},{\\\"include\\\":\\\"#commonmark-definition\\\"},{\\\"include\\\":\\\"#commonmark-heading-atx\\\"},{\\\"include\\\":\\\"#commonmark-thematic-break\\\"},{\\\"include\\\":\\\"#commonmark-heading-setext\\\"},{\\\"include\\\":\\\"#commonmark-list-item\\\"},{\\\"include\\\":\\\"#extension-gfm-table\\\"},{\\\"include\\\":\\\"#extension-math-flow\\\"},{\\\"include\\\":\\\"#extension-mdx-esm\\\"},{\\\"include\\\":\\\"#extension-mdx-expression-flow\\\"},{\\\"include\\\":\\\"#extension-mdx-jsx-flow\\\"},{\\\"include\\\":\\\"#commonmark-paragraph\\\"}]},\\\"markdown-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-character-escape\\\"},{\\\"include\\\":\\\"#commonmark-character-reference\\\"}]},\\\"markdown-text\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#commonmark-attention\\\"},{\\\"include\\\":\\\"#commonmark-character-escape\\\"},{\\\"include\\\":\\\"#commonmark-character-reference\\\"},{\\\"include\\\":\\\"#commonmark-code-text\\\"},{\\\"include\\\":\\\"#commonmark-hard-break-trailing\\\"},{\\\"include\\\":\\\"#commonmark-hard-break-escape\\\"},{\\\"include\\\":\\\"#commonmark-label-end\\\"},{\\\"include\\\":\\\"#extension-gfm-footnote-call\\\"},{\\\"include\\\":\\\"#commonmark-label-start\\\"},{\\\"include\\\":\\\"#extension-gfm-autolink-literal\\\"},{\\\"include\\\":\\\"#extension-gfm-strikethrough\\\"},{\\\"include\\\":\\\"#extension-github-gemoji\\\"},{\\\"include\\\":\\\"#extension-github-mention\\\"},{\\\"include\\\":\\\"#extension-github-reference\\\"},{\\\"include\\\":\\\"#extension-math-text\\\"},{\\\"include\\\":\\\"#extension-mdx-expression-text\\\"},{\\\"include\\\":\\\"#extension-mdx-jsx-text\\\"}]},\\\"whatwg-html-data-character-reference-named-terminated\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.character-reference.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.character-reference.end.html\\\"}},\\\"match\\\":\\\"(&)((?:C(?:(?:o(?:unterClockwiseCo)?|lockwiseCo)ntourIntegra|cedi)|(?:(?:Not(?:S(?:quareSu(?:per|b)set|u(?:cceeds|(?:per|b)set))|Precedes|Greater|Tilde|Less)|Not(?:Righ|Lef)tTriangle|(?:Not(?:(?:Succeed|Precede|Les)s|Greater)|(?:Precede|Succeed)s|Less)Slant|SquareSu(?:per|b)set|(?:Not(?:Greater|Tilde)|Tilde|Less)Full|RightTriangle|LeftTriangle|Greater(?:Slant|Full)|Precedes|Succeeds|Superset|NotHump|Subset|Tilde|Hump)Equ|int(?:er)?c|DotEqu)a|DoubleContourIntegra|(?:n(?:short)?parall|shortparall|p(?:arall|rur))e|(?:rightarrowta|l(?:eftarrowta|ced|ata|Ata)|sced|rata|perm|rced|rAta|ced)i|Proportiona|smepars|e(?:qvpars|pars|xc|um)|Integra|suphso|rarr[pt]|n(?:pars|tg)|l(?:arr[pt]|cei)|Rarrt|(?:hybu|fora)l|ForAl|[GKLNRSTcknt]cedi|rcei|iexc|gime|fras|[uy]um|oso|dso|ium|Ium)l|D(?:o(?:uble(?:(?:L(?:ong(?:Left)?R|eftR)ight|L(?:ongL)?eft|UpDown|Right|Up)Arrow|Do(?:wnArrow|t))|wn(?:ArrowUpA|TeeA|a)rrow)|iacriticalDot|strok|ashv|cy)|(?:(?:(?:N(?:(?:otN)?estedGreater|ot(?:Greater|Less))|Less(?:Equal)?)Great|GreaterGreat|l[lr]corn|mark|east)e|Not(?:Double)?VerticalBa|(?:Not(?:Righ|Lef)tTriangleB|(?:(?:Righ|Lef)tDown|Right(?:Up)?|Left(?:Up)?)VectorB|RightTriangleB|Left(?:Triangle|Arrow)B|RightArrowB|V(?:er(?:ticalB|b)|b)|UpArrowB|l(?:ur(?:ds|u)h|dr(?:us|d)h|trP|owb|H)|profal|r(?:ulu|dld)h|b(?:igst|rvb)|(?:wed|ve[er])b|s(?:wn|es)w|n(?:wne|ese|sp|hp)|gtlP|d(?:oll|uh|H)|(?:hor|ov)b|u(?:dh|H)|r(?:lh|H)|ohb|hb|St)a|D(?:o(?:wn(?:(?:Left(?:Right|Tee)|RightTee)Vecto|(?:(?:Righ|Lef)tVector|Arrow)Ba)|ubleVerticalBa)|a(?:gge|r)|sc|f)|(?:(?:(?:Righ|Lef)tDown|(?:Righ|Lef)tUp)Tee|(?:Righ|Lef)tUpDown)Vecto|VerticalSeparato|(?:Left(?:Right|Tee)|RightTee)Vecto|less(?:eqq?)?gt|e(?:qslantgt|sc)|(?:RightF|LeftF|[lr]f)loo|u(?:[lr]corne|ar)|timesba|(?:plusa|cirs|apa)ci|U(?:arroci|f)|(?:dzigr|s(?:u(?:pl|br)|imr|[lr])|zigr|angz|nvH|l(?:tl|B)|r[Br])ar|UnderBa|(?:plus|harr|top|mid|of)ci|O(?:verBa|sc|f)|dd?agge|s(?:olba|sc)|g(?:t(?:rar|ci)|sc|f)|c(?:opys|u(?:po|ep)|sc|f)|(?:n(?:(?:v[lr]|[rw])A|l[Aa]|h[Aa]|eA)|x[hlr][Aa]|u(?:ua|da|A)|s[ew]A|rla|o[lr]a|rba|rAa|l[Ablr]a|h(?:oa|A)|era|d(?:ua|A)|cra|vA)r|o(?:lci|sc|ro|pa)|ropa|roar|l(?:o(?:pa|ar)|sc|Ar)|i(?:ma|s)c|ltci|dd?ar|a(?:ma|s)c|R(?:Bar|sc|f)|I(?:mac|f)|(?:u(?:ma|s)|oma|ema|Oma|Ema|[wyz]s|qs|ks|fs|Zs|Ys|Xs|Ws|Vs|Us|Ss|Qs|Ns|Ms|Ks|Is|Gs|Fs|Cs|Bs)c|Umac|x(?:sc|f)|v(?:sc|f)|rsc|n(?:ld|f)|m(?:sc|ld|ac|f)|rAr|h(?:sc|f)|b(?:sc|f)|psc|P(?:sc|f)|L(?:sc|ar|f)|jsc|J(?:sc|f)|E(?:sc|f)|[HT]sc|[yz]f|wf|tf|qf|pf|kf|jf|Zf|Yf|Xf|Wf|Vf|Tf|Sf|Qf|Nf|Mf|Kf|Hf|Gf|Ff|Cf|Bf)r|(?:Diacritical(?:Double)?A|[EINOSYZaisz]a)cute|(?:(?:N(?:egative(?:VeryThin|Thi(?:ck|n))|onBreaking)|NegativeMedium|ZeroWidth|VeryThin|Medium|Thi(?:ck|n))Spac|Filled(?:Very)?SmallSquar|Empty(?:Very)?SmallSquar|(?:N(?:ot(?:Succeeds|Greater|Tilde|Less)T|t)|DiacriticalT|VerticalT|PrecedesT|SucceedsT|NotEqualT|GreaterT|TildeT|EqualT|LessT|at|Ut|It)ild|(?:(?:DiacriticalG|[EIOUaiu]g)ra|[Uu]?bre|[eo]?gra)v|(?:doublebar|curly|big|x)wedg|H(?:orizontalLin|ilbertSpac)|Double(?:Righ|Lef)tTe|(?:(?:measured|uw)ang|exponentia|dwang|ssmi|fema)l|(?:Poincarepla|reali|pho|oli)n|(?:black)?lozeng|(?:VerticalL|(?:prof|imag)l)in|SmallCircl|(?:black|dot)squar|rmoustach|l(?:moustach|angl)|(?:b(?:ack)?pr|(?:tri|xo)t|[qt]pr)im|[Tt]herefor|(?:DownB|[Gag]b)rev|(?:infint|nv[lr]tr)i|b(?:arwedg|owti)|an(?:dslop|gl)|(?:cu(?:rly)?v|rthr|lthr|b(?:ig|ar)v|xv)e|n(?:s(?:qsu[bp]|ccu)|prcu)|orslop|NewLin|maltes|Becaus|rangl|incar|(?:otil|Otil|t(?:ra|il))d|[inu]tild|s(?:mil|imn)|(?:sc|pr)cu|Wedg|Prim|Brev)e|(?:CloseCurly(?:Double)?Quo|OpenCurly(?:Double)?Quo|[ry]?acu)te|(?:Reverse(?:Up)?|Up)Equilibrium|C(?:apitalDifferentialD|(?:oproduc|(?:ircleD|enterD|d)o)t|on(?:grue|i)nt|conint|upCap|o(?:lone|pf)|OPY|hi)|(?:(?:(?:left)?rightsquig|(?:longleftr|twoheadr|nleftr|nLeftr|longr|hookr|nR|Rr)ight|(?:twohead|hook)left|longleft|updown|Updown|nright|Right|nleft|nLeft|down|up|Up)a|L(?:(?:ong(?:left)?righ|(?:ong)?lef)ta|eft(?:(?:right)?a|RightA|TeeA))|RightTeeA|LongLeftA|UpTeeA)rrow|(?:(?:RightArrow|Short|Upper|Lower)Left|(?:L(?:eftArrow|o(?:wer|ng))|LongLeft|Short|Upper)Right|ShortUp)Arrow|(?:b(?:lacktriangle(?:righ|lef)|ulle|no)|RightDoubleBracke|RightAngleBracke|Left(?:Doub|Ang)leBracke|(?:vartriangle|downharpoon|c(?:ircl|urv)earrow|upharpoon|looparrow)righ|(?:vartriangle|downharpoon|c(?:ircl|urv)earrow|upharpoon|looparrow|mapsto)lef|(?:UnderBrack|OverBrack|emptys|targ|Sups)e|diamondsui|c(?:ircledas|lubsui|are)|(?:spade|heart)sui|(?:(?:c(?:enter|t)|lmi|ino)d|(?:Triple|mD)D|n(?:otin|e)d|(?:ncong|doteq|su[bp]e|e[gl]s)d|l(?:ess|t)d|isind|c(?:ong|up|ap)?d|b(?:igod|N)|t(?:(?:ri)?d|opb)|s(?:ub|im)d|midd|g(?:tr?)?d|Lmid|DotD|(?:xo|ut|z)d|e(?:s?d|rD|fD|DD)|dtd|Zd|Id|Gd|Ed)o|realpar|i(?:magpar|iin)|S(?:uchTha|qr)|su[bp]mul|(?:(?:lt|i)que|gtque|(?:mid|low)a|e(?:que|xi))s|Produc|s(?:updo|e[cx])|r(?:parg|ec)|lparl|vangr|hamil|(?:homt|[lr]fis|ufis|dfis)h|phmma|t(?:wix|in)|quo|o(?:do|as)|fla|eDo)t|(?:(?:Square)?Intersecti|(?:straight|back|var)epsil|SquareUni|expectati|upsil|epsil|Upsil|eq?col|Epsil|(?:omic|Omic|rca|lca|eca|Sca|[NRTt]ca|Lca|Eca|[Zdz]ca|Dca)r|scar|ncar|herc|ccar|Ccar|iog|Iog)on|Not(?:S(?:quareSu(?:per|b)set|u(?:cceeds|(?:per|b)set))|Precedes|Greater|Tilde|Less)?|(?:(?:(?:Not(?:Reverse)?|Reverse)E|comp|E)leme|NotCongrue|(?:n[gl]|l)eqsla|geqsla|q(?:uat)?i|perc|iiii|coni|cwi|awi|oi)nt|(?:(?:rightleftharpo|leftrightharpo|quaterni)on|(?:(?:N(?:ot(?:NestedLess|Greater|Less)|estedLess)L|(?:eqslant|gtr(?:eqq?)?)l|LessL)e|Greater(?:Equal)?Le|cro)s|(?:rightright|leftleft|upup)arrow|rightleftarrow|(?:(?:(?:righ|lef)tthree|divideon|b(?:igo|ox)|[lr]o)t|InvisibleT)ime|downdownarrow|(?:(?:smallset|tri|dot|box)m|PlusM)inu|(?:RoundImpli|complex|Impli|Otim)e|C(?:ircle(?:Time|Minu|Plu)|ayley|ros)|(?:rationa|mode)l|NotExist|(?:(?:UnionP|MinusP|(?:b(?:ig[ou]|ox)|tri|s(?:u[bp]|im)|dot|xu|mn)p)l|(?:xo|u)pl|o(?:min|pl)|ropl|lopl|epl)u|otimesa|integer|e(?:linter|qual)|setminu|rarrbf|larrb?f|olcros|rarrf|mstpo|lesge|gesle|Exist|[lr]time|strn|napo|fltn|ccap|apo)s|(?:b(?:(?:lack|ig)triangledow|etwee)|(?:righ|lef)tharpoondow|(?:triangle|mapsto)dow|(?:nv|i)infi|ssetm|plusm|lagra|d(?:[lr]cor|isi)|c(?:ompf|aro)|s?frow|(?:hyph|curr)e|kgree|thor|ogo|ye)n|Not(?:Righ|Lef)tTriangle|(?:Up(?:Arrow)?|Short)DownArrow|(?:(?:n(?:triangle(?:righ|lef)t|succ|prec)|(?:trianglerigh|trianglelef|sqsu[bp]se|ques)t|backsim)e|lvertneq|gvertneq|(?:suc|pre)cneq|a(?:pprox|symp)e|(?:succ|prec|vee)e|circe)q|(?:UnderParenthes|OverParenthes|xn)is|(?:(?:Righ|Lef)tDown|Right(?:Up)?|Left(?:Up)?)Vector|D(?:o(?:wn(?:RightVector|LeftVector|Arrow|Tee)|t)|el|D)|l(?:eftrightarrows|br(?:k(?:sl[du]|e)|ac[ek])|tri[ef]|s(?:im[eg]|qb|h)|hard|a(?:tes|ngd|p)|o[pz]f|rm|gE|fr|eg|cy)|(?:NotHumpDownHum|(?:righ|lef)tharpoonu|big(?:(?:triangle|sqc)u|c[au])|HumpDownHum|m(?:apstou|lc)|(?:capbr|xsq)cu|smash|rarr[al]|(?:weie|sha)r|larrl|velli|(?:thin|punc)s|h(?:elli|airs)|(?:u[lr]c|vp)ro|d[lr]cro|c(?:upc[au]|apc[au])|thka|scna|prn?a|oper|n(?:ums|va|cu|bs)|ens|xc[au]|Ma)p|l(?:eftrightarrow|e(?:ftarrow|s(?:dot)?)?|moust|a(?:rrb?|te?|ng)|t(?:ri)?|sim|par|oz|[gl])|n(?:triangle(?:righ|lef)t|succ|prec)|SquareSu(?:per|b)set|(?:I(?:nvisibleComm|ot)|(?:varthe|iio)t|varkapp|(?:vars|S)igm|(?:diga|mco)mm|Cedill|lambd|Lambd|delt|Thet|omeg|Omeg|Kapp|Delt|nabl|zet|to[es]|rdc|ldc|iot|Zet|Bet|Et)a|b(?:lacktriangle|arwed|u(?:mpe?|ll)|sol|o(?:x[HVhv]|t)|brk|ne)|(?:trianglerigh|trianglelef|sqsu[bp]se|ques)t|RightT(?:riangl|e)e|(?:(?:varsu[bp]setn|su(?:psetn?|bsetn?))eq|nsu[bp]seteq|colone|(?:wedg|sim)e|nsime|lneq|gneq)q|DifferentialD|(?:(?:fall|ris)ingdots|(?:suc|pre)ccurly|ddots)eq|A(?:pplyFunction|ssign|(?:tild|grav|brev)e|acute|o(?:gon|pf)|lpha|(?:mac|sc|f)r|c(?:irc|y)|ring|Elig|uml|nd|MP)|(?:varsu[bp]setn|su(?:psetn?|bsetn?))eq|L(?:eft(?:T(?:riangl|e)e|Arrow)|l)|G(?:reaterEqual|amma)|E(?:xponentialE|quilibrium|sim|cy|TH|NG)|(?:(?:RightCeil|LeftCeil|varnoth|ar|Ur)in|(?:b(?:ack)?co|uri)n|vzigza|roan|loan|ffli|amal|sun|rin|n(?:tl|an)|Ran|Lan)g|(?:thick|succn?|precn?|less|g(?:tr|n)|ln|n)approx|(?:s(?:traightph|em)|(?:rtril|xu|u[lr]|xd|v[lr])tr|varph|l[lr]tr|b(?:sem|eps)|Ph)i|(?:circledd|osl|n(?:v[Dd]|V[Dd]|d)|hsl|V(?:vd|D)|Osl|v[Dd]|md)ash|(?:(?:RuleDelay|imp|cuw)e|(?:n(?:s(?:hort)?)?|short|rn)mi|D(?:Dotrah|iamon)|(?:i(?:nt)?pr|peri)o|odsol|llhar|c(?:opro|irmi)|(?:capa|anda|pou)n|Barwe|napi|api)d|(?:cu(?:rlyeq(?:suc|pre)|es)|telre|[ou]dbla|Udbla|Odbla|radi|lesc|gesc|dbla)c|(?:circled|big|eq|[CEGHSWachiswx])circ|rightarrow|R(?:ightArrow|arr|e)|Pr(?:oportion)?|(?:longmapst|varpropt|p(?:lustw|ropt)|varrh|numer|(?:rsa|lsa|sb)qu|m(?:icr|h)|[lr]aqu|bdqu|eur)o|UnderBrace|ImaginaryI|B(?:ernoullis|a(?:ckslash|rv)|umpeq|cy)|(?:(?:Laplace|Mellin|zee)tr|Fo(?:uriertr|p)|(?:profsu|ssta)r|ordero|origo|[ps]op|nop|mop|i(?:op|mo)|h(?:op|al)|f(?:op|no)|dop|bop|Rop|Pop|Nop|Lop|Iop|Hop|Dop|[GJKMOQSTV-Zgjkoqvwyz]op|Bop)f|nsu[bp]seteq|t(?:ri(?:angleq|e)|imesd|he(?:tav|re4)|au)|O(?:verBrace|r)|(?:(?:pitchfo|checkma|t(?:opfo|b)|rob|rbb|l[bo]b)r|intlarh|b(?:brktbr|l(?:oc|an))|perten|NoBrea|rarrh|s[ew]arh|n[ew]arh|l(?:arrh|hbl)|uhbl|Hace)k|(?:NotCupC|(?:mu(?:lti)?|x)m|cupbrc)ap|t(?:riangle|imes|heta|opf?)|Precedes|Succeeds|Superset|NotEqual|(?:n(?:atural|exist|les)|s(?:qc[au]p|mte)|prime)s|c(?:ir(?:cled[RS]|[Ee])|u(?:rarrm|larrp|darr[lr]|ps)|o(?:mmat|pf)|aps|hi)|b(?:sol(?:hsu)?b|ump(?:eq|E)|ox(?:box|[Vv][HLRhlr]|[Hh][DUdu]|[DUdu][LRlr])|e(?:rnou|t[ah])|lk(?:34|1[24])|cy)|(?:l(?:esdot|squ|dqu)o|rsquo|rdquo|ngt)r|a(?:n(?:g(?:msda[a-h]|st|e)|d[dv])|st|p[Ee]|mp|fr|c[Edy])|(?:g(?:esdoto|E)|[lr]haru)l|(?:angrtvb|lrhar|nis)d|(?:(?:th(?:ic)?k|succn?|p(?:r(?:ecn?|n)?|lus)|rarr|l(?:ess|arr)|su[bp]|par|scn|g(?:tr|n)|ne|sc|n[glv]|ln|eq?)si|thetasy|ccupss|alefsy|botto)m|trpezium|(?:hks[ew]|dr?bk|bk)arow|(?:(?:[lr]a|[cd])empty|b(?:nequi|empty)|plank|nequi|odi)v|(?:(?:sc|rp|n)pol|point|fpart)int|(?:c(?:irf|wco)|awco)nint|PartialD|n(?:s(?:u[bp](?:set)?|c)|rarr|ot(?:ni|in)?|warr|e(?:arr)?|a(?:tur|p)|vlt|p(?:re?|ar)|um?|l[et]|ge|i)|n(?:atural|exist|les)|d(?:i(?:am(?:ond)?|v(?:ide)?)|tri|ash|ot|d)|backsim|l(?:esdot|squ|dqu)o|g(?:esdoto|E)|U(?:p(?:Arrow|si)|nion|arr)|angrtvb|p(?:l(?:anckh|us(?:d[ou]|[be]))|ar(?:sl|t)|r(?:od|nE|E)|erp|iv|m)|n(?:ot(?:niv[abc]|in(?:v[abc]|E))|rarr[cw]|s(?:u[bp][Ee]|c[er])|part|v(?:le|g[et])|g(?:es|E)|c(?:ap|y)|apE|lE|iv|Ll|Gg)|m(?:inus(?:du|b)|ale|cy|p)|rbr(?:k(?:sl[du]|e)|ac[ek])|(?:suphsu|tris|rcu|lcu)b|supdsub|(?:s[ew]a|n[ew]a)rrow|(?:b(?:ecaus|sim)|n(?:[lr]tri|bump)|csu[bp])e|equivDD|u(?:rcorn|lcorn|psi)|timesb|s(?:u(?:p(?:set)?|b(?:set)?)|q(?:su[bp]|u)|i(?:gma|m)|olb?|dot|mt|fr|ce?)|p(?:l(?:anck|us)|r(?:op|ec?)?|ara?|i)|o(?:times|r(?:d(?:er)?)?)|m(?:i(?:nusd?|d)|a(?:p(?:sto)?|lt)|u)|rmoust|g(?:e(?:s(?:dot|l)?|q)?|sim|n(?:ap|e)|[glt])|(?:spade|heart)s|c(?:u(?:rarr|larr|p)|o(?:m(?:ma|p)|lon|py|ng)|lubs|heck|cups|irc?|ent|ap)|colone|a(?:p(?:prox)?|n(?:g(?:msd|rt)?|d)|symp|[cf])|S(?:quare|u[bp]|c)|Subset|b(?:ecaus|sim)|vsu[bp]n[Ee]|s(?:u(?:psu[bp]|b(?:su[bp]|n[Ee]|E)|pn[Ee]|p[123E]|m)|q(?:u(?:ar[ef]|f)|su[bp]e)|igma[fv]|etmn|dot[be]|par|mid|hc?y|c[Ey])|f(?:rac(?:78|5[68]|45|3[458]|2[35]|1[2-68])|fr)|e(?:m(?:sp1[34]|ptyv)|psiv|c(?:irc|y)|t[ah]|ng|ll|fr|e)|(?:kappa|isins|vBar|fork|rho|phi|n[GL]t)v|divonx|V(?:dashl|ee)|gammad|G(?:ammad|cy|[Tgt])|[Ldhlt]strok|[HT]strok|(?:c(?:ylct|hc)|(?:s(?:oft|hch)|hard|S(?:OFT|HCH)|jser|J(?:ser|uk)|HARD|tsh|TSH|juk|iuk|I(?:uk|[EO])|zh|yi|nj|lj|k[hj]|gj|dj|ZH|Y[AIU]|NJ|LJ|K[HJ]|GJ|D[JSZ])c|ubrc|Ubrc|(?:yu|i[eo]|dz|[fpv])c|TSc|SHc|CHc|Vc|Pc|Mc|Fc)y|(?:(?:wre|jm)at|dalet|a(?:ngs|le)p|imat|[lr]ds)h|[CLRUceglnou]acute|ff?llig|(?:f(?:fi|[ij])|sz|oe|ij|ae|OE|IJ)lig|r(?:a(?:tio|rr|ng)|tri|par|eal)|s[ew]arr|s(?:qc[au]p|mte)|prime|rarrb|i(?:n(?:fin|t)?|sin|[cit])|e(?:quiv|m(?:pty|sp)|p(?:si|ar)|cir|[gl])|kappa|isins|ncong|doteq|(?:wedg|sim)e|nsime|rsquo|rdquo|[lr]haru|V(?:dash|ert)|Tilde|lrhar|gamma|Equal|UpTee|n(?:[lr]tri|bump)|C(?:olon|up|ap)|v(?:arpi|ert)|u(?:psih|ml)|vnsu[bp]|r(?:tri[ef]|e(?:als|g)|a(?:rr[cw]|ng[de]|ce)|sh|lm|x)|rhard|sim[gl]E|i(?:sin[Ev]|mage|f[fr]|cy)|harrw|(?:n[gl]|l)eqq|g(?:sim[el]|tcc|e(?:qq|l)|nE|l[Eaj]|gg|ap)|ocirc|starf|utrif|d(?:trif|i(?:ams|e)|ashv|sc[ry]|fr|eg)|[du]har[lr]|T(?:HORN|a[bu])|(?:TRAD|[gl]vn)E|odash|[EUaeu]o(?:gon|pf)|alpha|[IJOUYgjuy]c(?:irc|y)|v(?:arr|ee)|succ|sim[gl]|harr|ln(?:ap|e)|lesg|(?:n[gl]|l)eq|ocir|star|utri|vBar|fork|su[bp]e|nsim|lneq|gneq|csu[bp]|zwn?j|yacy|x(?:opf|i)|scnE|o(?:r(?:d[fm]|v)|mid|lt|hm|gt|fr|cy|S)|scap|rsqb|ropf|ltcc|tsc[ry]|QUOT|[EOUYao]uml|rho|phi|n[GL]t|e[gl]s|ngt|I(?:nt|m)|nis|rfr|rcy|lnE|lEg|ufr|S(?:um|cy)|R(?:sh|ho)|psi|Ps?i|[NRTt]cy|L(?:sh|cy|[Tt])|kcy|Kcy|Hat|REG|[Zdz]cy|wr|lE|wp|Xi|Nu|Mu)(;)\\\",\\\"name\\\":\\\"constant.language.character-reference.named.html\\\"}},\\\"scopeName\\\":\\\"source.mdx\\\",\\\"embeddedLangs\\\":[],\\\"embeddedLangsLazy\\\":[\\\"tsx\\\",\\\"toml\\\",\\\"yaml\\\",\\\"c\\\",\\\"clojure\\\",\\\"coffee\\\",\\\"cpp\\\",\\\"csharp\\\",\\\"css\\\",\\\"diff\\\",\\\"docker\\\",\\\"elixir\\\",\\\"elm\\\",\\\"erlang\\\",\\\"go\\\",\\\"graphql\\\",\\\"haskell\\\",\\\"html\\\",\\\"ini\\\",\\\"java\\\",\\\"javascript\\\",\\\"json\\\",\\\"julia\\\",\\\"kotlin\\\",\\\"less\\\",\\\"lua\\\",\\\"make\\\",\\\"markdown\\\",\\\"objective-c\\\",\\\"perl\\\",\\\"python\\\",\\\"r\\\",\\\"ruby\\\",\\\"rust\\\",\\\"scala\\\",\\\"scss\\\",\\\"shellscript\\\",\\\"shellsession\\\",\\\"sql\\\",\\\"xml\\\",\\\"swift\\\",\\\"typescript\\\"]}\"))\n\nexport default [\nlang\n]\n","import html from './html.mjs'\nimport xml from './xml.mjs'\nimport sql from './sql.mjs'\nimport javascript from './javascript.mjs'\nimport json from './json.mjs'\nimport css from './css.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"PHP\\\",\\\"name\\\":\\\"php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]}},\\\"match\\\":\\\"(?i)(?:^|(?<=<\\\\\\\\?php))\\\\\\\\s*(namespace)\\\\\\\\s+([0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)(?=\\\\\\\\s*;)\\\",\\\"name\\\":\\\"meta.namespace.php\\\"},{\\\"begin\\\":\\\"(?i)(?:^|(?<=<\\\\\\\\?php))\\\\\\\\s*(namespace)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.namespace.php\\\"}},\\\"end\\\":\\\"(?<=})|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.namespace.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]}},\\\"match\\\":\\\"(?i)[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+\\\",\\\"name\\\":\\\"entity.name.type.namespace.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.namespace.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.namespace.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"\\\\\\\\S+\\\",\\\"name\\\":\\\"invalid.illegal.identifier.php\\\"}]},{\\\"match\\\":\\\"\\\\\\\\s+(?=use\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\buse\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.use.php\\\"}},\\\"end\\\":\\\"(?<=})|(?=;)|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.use.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(const|function)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.${1:/downcase}.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.use.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.use.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#scope-resolution\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.alias.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+(final|abstract|public|private|protected|static)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(?:final|abstract|public|private|protected|static)$\\\",\\\"name\\\":\\\"storage.modifier.php\\\"},{\\\"match\\\":\\\".+\\\",\\\"name\\\":\\\"entity.other.alias.php\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-insteadof.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(insteadof)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.expression.php\\\"},{\\\"include\\\":\\\"#use-inner\\\"}]},{\\\"include\\\":\\\"#use-inner\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(trait)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.trait.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.trait.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.trait.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.trait.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.trait.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.trait.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(interface)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.interface.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.interface.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interface.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.interface.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#interface-extends\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.interface.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.interface.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-constant\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(enum)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?:\\\\\\\\s*(:)\\\\\\\\s*(int|string)\\\\\\\\b)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.enum.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.enum.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.type.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.enum.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.enum.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#class-implements\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.enum.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.enum.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.enum.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(case)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"include\\\":\\\"#class-constant\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(?:((?:(?:final|abstract|readonly)\\\\\\\\s+)*)(class)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)|(new)\\\\\\\\b\\\\\\\\s*(#\\\\\\\\[.*])?\\\\\\\\s*(?:(readonly)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"final|abstract\\\",\\\"name\\\":\\\"storage.modifier.${0:/downcase}.php\\\"},{\\\"match\\\":\\\"readonly\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.class.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.other.new.php\\\"},\\\"5\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"}]},\\\"6\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.class.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.class.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=class)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#class-extends\\\"},{\\\"include\\\":\\\"#class-implements\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.class.begin.bracket.curly.php\\\"}},\\\"contentName\\\":\\\"meta.class.body.php\\\",\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-constant\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},{\\\"include\\\":\\\"#match_statement\\\"},{\\\"include\\\":\\\"#switch_statement\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.yield-from.php\\\"}},\\\"match\\\":\\\"\\\\\\\\s*\\\\\\\\b(yield\\\\\\\\s+from)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.${1:/downcase}.php\\\"}},\\\"match\\\":\\\"\\\\\\\\b(break|case|continue|declare|default|die|do|else(if)?|end(declare|for(each)?|if|switch|while)|exit|for(each)?|if|return|switch|use|while|yield)\\\\\\\\b\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b((?:require|include)(?:_once)?)(\\\\\\\\s+|(?=\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.include.php\\\"}},\\\"end\\\":\\\"(?=[;\\\\\\\\s]|$|\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.include.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\b(catch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.exception.catch.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.catch.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"begin\\\":\\\"(?i)(?=[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.exception.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)([0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*\\\\\\\\|\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)*)\\\\\\\\s*((\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?\\\"}]},{\\\"match\\\":\\\"\\\\\\\\b(catch|try|throw|exception|finally)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.exception.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(function)\\\\\\\\s*(?=&?\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"name\\\":\\\"meta.function.closure.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(&)?\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"(?i)(use)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.function.use.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function.closure.use.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((?:(&)\\\\\\\\s*)?(\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(?=[),])\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]}},\\\"match\\\":\\\"(?i)(:)\\\\\\\\s*((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)(?=\\\\\\\\s*(?:\\\\\\\\{|/[*/]|#|$))\\\"}]},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(fn)\\\\\\\\s*(?=&?\\\\\\\\s*\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"}},\\\"end\\\":\\\"=>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arrow.php\\\"}},\\\"name\\\":\\\"meta.function.closure.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?:(&)\\\\\\\\s*)?(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]}},\\\"match\\\":\\\"(?i)(:)\\\\\\\\s*((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)(?=\\\\\\\\s*(?:=>|/[*/]|#|$))\\\"}]},{\\\"begin\\\":\\\"((?:(?:final|abstract|public|private|protected)\\\\\\\\s+)*)(function)\\\\\\\\s+(__construct)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"final|abstract|public|private|protected\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.constructor.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"(?i)(\\\\\\\\))\\\\\\\\s*(:\\\\\\\\s*(?:\\\\\\\\?\\\\\\\\s*)?(?!\\\\\\\\s)[\\\\\\\\&()0-9\\\\\\\\\\\\\\\\_a-z|\\\\\\\\x7F-\\\\\\\\x{10FFFF}\\\\\\\\s]+(?<!\\\\\\\\s))?(?=\\\\\\\\s*(?:\\\\\\\\{|/[*/]|#|$|;))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.return-type.php\\\"}},\\\"name\\\":\\\"meta.function.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"begin\\\":\\\"(?i)((?:(?:p(?:ublic|rivate|rotected)(?:\\\\\\\\(set\\\\\\\\))?|readonly)(?:\\\\\\\\s+|(?=\\\\\\\\?)))++)(?:((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)\\\\\\\\s+)?((?:(&)\\\\\\\\s*)?(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"p(?:ublic|rivate|rotected)(?:\\\\\\\\(set\\\\\\\\))?|readonly\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:[),]|/[*/]|#))\\\",\\\"name\\\":\\\"meta.function.parameter.promoted-property.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:[),]|/[*/]|#))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]}]},{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?:(?:final|abstract|public|private|protected|static)\\\\\\\\s+)*)(function)\\\\\\\\s+(?i:(__(?:call|construct|debugInfo|destruct|get|set|isset|unset|toString|clone|set_state|sleep|wakeup|autoload|invoke|callStatic|serialize|unserialize))|(&)?\\\\\\\\s*([A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*))\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"final|abstract|public|private|protected|static\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.magic.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function.parameters.php\\\",\\\"end\\\":\\\"(?i)(\\\\\\\\))(?:\\\\\\\\s*(:)\\\\\\\\s*((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+))?(?=\\\\\\\\s*(?:\\\\\\\\{|/[*/]|#|$|;))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.bracket.round.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.return-value.php\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(static)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\b(never)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.never.php\\\"},{\\\"include\\\":\\\"#php-types\\\"}]}},\\\"name\\\":\\\"meta.function.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"p(?:ublic|rivate|rotected)(?:\\\\\\\\(set\\\\\\\\))?|static|readonly\\\",\\\"name\\\":\\\"storage.modifier.php\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((?:(?:p(?:ublic|rivate|rotected)(?:\\\\\\\\(set\\\\\\\\))?|static|readonly)(?:\\\\\\\\s+|(?=\\\\\\\\?)))++)((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)?\\\\\\\\s+((\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"include\\\":\\\"#invoke-call\\\"},{\\\"include\\\":\\\"#scope-resolution\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"match\\\":\\\"(array)(\\\\\\\\()(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.array.empty.php\\\"},{\\\"begin\\\":\\\"(array)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.storage-type.begin.bracket.round.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.storage-type.end.bracket.round.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\()\\\\\\\\s*(array|real|double|float|int(?:eger)?|bool(?:ean)?|string|object|binary|unset)\\\\\\\\s*(\\\\\\\\))\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(array|real|double|float|int(eger)?|bool(ean)?|string|class|var|function|interface|trait|parent|self|object|mixed)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bconst\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.const.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(global|abstract|final|private|protected|public|static)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.php\\\"},{\\\"include\\\":\\\"#object\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.expression.php\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.terminator.statement.php\\\"},{\\\"include\\\":\\\"#heredoc\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bclone\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.clone.php\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.php\\\"},{\\\"match\\\":\\\"\\\\\\\\.=?\\\",\\\"name\\\":\\\"keyword.operator.string.php\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.key.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"}},\\\"match\\\":\\\"(?i)(=)(&)|(&)(?=[$_a-z])\\\"},{\\\"match\\\":\\\"@\\\",\\\"name\\\":\\\"keyword.operator.error-control.php\\\"},{\\\"match\\\":\\\"===?|!==?|<>\\\",\\\"name\\\":\\\"keyword.operator.comparison.php\\\"},{\\\"match\\\":\\\"(?:|[-+]|\\\\\\\\*\\\\\\\\*?|[%\\\\\\\\&/^|]|<<|>>|\\\\\\\\?\\\\\\\\?)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},{\\\"match\\\":\\\"<=>?|>=|[<>]\\\",\\\"name\\\":\\\"keyword.operator.comparison.php\\\"},{\\\"match\\\":\\\"--|\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment-decrement.php\\\"},{\\\"match\\\":\\\"[-+]|\\\\\\\\*\\\\\\\\*?|[%/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.php\\\"},{\\\"match\\\":\\\"(?i)(!|&&|\\\\\\\\|\\\\\\\\|)|\\\\\\\\b(and|or|xor|as)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.logical.php\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"match\\\":\\\"<<|>>|[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.php\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(instanceof)\\\\\\\\s+(?=[$\\\\\\\\\\\\\\\\_a-z])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.php\\\"}},\\\"end\\\":\\\"(?i)(?=[^$0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]},{\\\"include\\\":\\\"#instantiation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.goto.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.other.php\\\"}},\\\"match\\\":\\\"(?i)(goto)\\\\\\\\s+([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.goto-label.php\\\"}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*(?<!default|else))\\\\\\\\s*:(?!:)\\\"},{\\\"include\\\":\\\"#string-backtick\\\"},{\\\"include\\\":\\\"#ternary_shorthand\\\"},{\\\"include\\\":\\\"#null_coalescing\\\"},{\\\"include\\\":\\\"#ternary_expression\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.curly.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"}},\\\"end\\\":\\\"]|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#constants\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}],\\\"repository\\\":{\\\"attribute\\\":{\\\"begin\\\":\\\"#\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"meta.attribute.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"begin\\\":\\\"([0-9A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute-name\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#attribute-name\\\"}]},\\\"attribute-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.attribute.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\\\\\\\\\)?\\\\\\\\b(Attribute|SensitiveParameter|AllowDynamicProperties|ReturnTypeWillChange|Override|Deprecated)\\\\\\\\b\\\",\\\"name\\\":\\\"support.attribute.builtin.php\\\"},{\\\"begin\\\":\\\"(?i)(?=[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.attribute.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]}]},\\\"class-builtin\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\\\\\\\\\)?\\\\\\\\b(Attribute|(A(?:PC|ppend))Iterator|Array(Access|Iterator|Object)|Bad(Function|Method)CallException|(Ca(?:ching|llbackFilter))Iterator|Collator|Collectable|Cond|Countable|CURLFile|Date(Interval|Period|Time(Interface|Immutable|Zone)?)?|Directory(Iterator)?|DomainException|DOM(Attr|CdataSection|CharacterData|Comment|Document(Fragment)?|Element|EntityReference|Implementation|NamedNodeMap|Node(list)?|ProcessingInstruction|Text|XPath)|(Error)?Exception|EmptyIterator|finfo|Ev(Check|Child|Embed|Fork|Idle|Io|Loop|Periodic|Prepare|Signal|Stat|Timer|Watcher)?|Event(Base|Buffer(Event)?|SslContext|Http(Request|Connection)?|Config|DnsBase|Util|Listener)?|FANNConnection|(Fil(?:ter|esystem))Iterator|Gender\\\\\\\\\\\\\\\\Gender|GlobIterator|Gmagick(Draw|Pixel)?|Haru(Annotation|Destination|Doc|Encoder|Font|Image|Outline|Page)|Http(((?:In|De)flate)?Stream|Message|Request(Pool)?|Response|QueryString)|HRTime\\\\\\\\\\\\\\\\(PerformanceCounter|StopWatch)|Intl(Calendar|((CodePoint|RuleBased)?Break|Parts)?Iterator|DateFormatter|TimeZone)|Imagick(Draw|Pixel(Iterator)?)?|InfiniteIterator|InvalidArgumentException|Iterator(Aggregate|Iterator)?|JsonSerializable|KTaglib_(MPEG_(File|AudioProperties)|Tag|ID3v2_(Tag|(AttachedPicture)?Frame))|Lapack|(L(?:ength|ocale|ogic))Exception|LimitIterator|Lua(Closure)?|Mongo(BinData|Client|Code|Collection|CommandCursor|Cursor(Exception)?|Date|DB(Ref)?|DeleteBatch|Grid(FS(Cursor|File)?)|Id|InsertBatch|Int(32|64)|Log|Pool|Regex|ResultException|Timestamp|UpdateBatch|Write(Batch|ConcernException))?|Memcache(d)?|MessageFormatter|MultipleIterator|Mutex|mysqli(_(driver|stmt|warning|result))?|MysqlndUh(Connection|PreparedStatement)|NoRewindIterator|Normalizer|NumberFormatter|OCI-(Collection|Lob)|OuterIterator|(O(?:utOf(Bounds|Range)|verflow))Exception|ParentIterator|PDO(Statement)?|Phar(Data|FileInfo)?|php_user_filter|Pool|QuickHash(Int(S(?:et|tringHash))|StringIntHash)|Recursive(Array|Caching|Directory|Fallback|Filter|Iterator|Regex|Tree)?Iterator|Reflection(Attribute|Class(Constant)?|Constant|Enum((?:Unit|Backed)Case)?|Fiber|Function(Abstract)?|Generator|(Named|Union|Intersection)?Type|Method|Object|Parameter|Property|Reference|(Zend)?Extension)?|RangeException|Reflector|RegexIterator|ResourceBundle|RuntimeException|RRD(Creator|Graph|Updater)|SAM(Connection|Message)|SCA(_((?:Soap|Local)Proxy))?|SDO_(DAS_(ChangeSummary|Data(Factory|Object)|Relational|Setting|XML(_Document)?)|Data(Factory|Object)|Exception|List|Model_(Property|ReflectionDataObject|Type)|Sequence)|SeekableIterator|Serializable|SessionHandler(Interface)?|SimpleXML(Iterator|Element)|SNMP|Soap(Client|Fault|Header|Param|Server|Var)|SphinxClient|Spoofchecker|Spl(DoublyLinkedList|Enum|File(Info|Object)|FixedArray|(M(?:ax|in))?Heap|Observer|ObjectStorage|(Priority)?Queue|Stack|Subject|Type|TempFileObject)|SQLite(3(Result|Stmt)?|Database|Result|Unbuffered)|stdClass|streamWrapper|SVM(Model)?|Swish(Result(s)?|Search)?|Sync(Event|Mutex|ReaderWriter|Semaphore)|Thread(ed)?|tidy(Node)?|TokyoTyrant(Table|Iterator|Query)?|Transliterator|Traversable|UConverter|(Un(?:derflow|expectedValue))Exception|V8Js(Exception)?|Varnish(Admin|Log|Stat)|Worker|Weak(Map|Ref)|XML(Diff\\\\\\\\\\\\\\\\(Base|DOM|File|Memory)|Reader|Writer)|XsltProcessor|Yaf_(Route_(Interface|Map|Regex|Rewrite|Simple|Supervar)|Action_Abstract|Application|Config_(Simple|Ini|Abstract)|Controller_Abstract|Dispatcher|Exception|Loader|Plugin_Abstract|Registry|Request_(Abstract|Simple|Http)|Response_Abstract|Router|Session|View_(Simple|Interface))|Yar_(Client(_Exception)?|Concurrent_Client|Server(_Exception)?)|ZipArchive|ZMQ(Context|Device|Poll|Socket)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.class.builtin.php\\\"}]},\\\"class-constant\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.const.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"constant.other.php\\\"}},\\\"match\\\":\\\"(?i)\\\\\\\\b(const)\\\\\\\\s+(?:((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)\\\\\\\\s+)?([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\"}]},\\\"class-extends\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.extends.php\\\"}},\\\"end\\\":\\\"(?i)(?=[^0-9A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#inheritance-single\\\"}]}]},\\\"class-implements\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(implements)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.implements.php\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.classes.php\\\"},{\\\"include\\\":\\\"#inheritance-single\\\"}]}]},\\\"class-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"begin\\\":\\\"(?i)(?=[\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?![0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]}]},\\\"comments\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?=\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.block.documentation.phpdoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.php\\\"},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"comment.line.double-slash.php\\\"}]},{\\\"begin\\\":\\\"(^\\\\\\\\s+)?(?=#)(?!#\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.php\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"#\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"\\\\\\\\n|(?=\\\\\\\\?>)\\\",\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\b(TRUE|FALSE|NULL|__(FILE|DIR|FUNCTION|CLASS|METHOD|LINE|NAMESPACE)__|ON|OFF|YES|NO|NL|BR|TAB)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(DEFAULT_INCLUDE_PATH|EAR_(INSTALL|EXTENSION)_DIR|E_(ALL|COMPILE_(ERROR|WARNING)|CORE_(ERROR|WARNING)|DEPRECATED|ERROR|NOTICE|PARSE|RECOVERABLE_ERROR|STRICT|USER_(DEPRECATED|ERROR|NOTICE|WARNING)|WARNING)|PHP_(ROUND_HALF_(DOWN|EVEN|ODD|UP)|(MAJOR|MINOR|RELEASE)_VERSION|MAXPATHLEN|BINDIR|SHLIB_SUFFIX|SYSCONFDIR|SAPI|CONFIG_FILE_(PATH|SCAN_DIR)|INT_(MAX|SIZE)|ZTS|OS|OUTPUT_HANDLER_(START|CONT|END)|DEBUG|DATADIR|URL_(SCHEME|HOST|USER|PORT|PASS|PATH|QUERY|FRAGMENT)|PREFIX|EXTRA_VERSION|EXTENSION_DIR|EOL|VERSION(_ID)?|WINDOWS_(NT_(SERVER|DOMAIN_CONTROLLER|WORKSTATION)|VERSION_(M(?:AJOR|INOR))|BUILD|SUITEMASK|SP_(M(?:AJOR|INOR))|PRODUCTTYPE|PLATFORM)|LIBDIR|LOCALSTATEDIR)|STD(ERR|IN|OUT)|ZEND_(DEBUG_BUILD|THREAD_SAFE))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.core.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(__COMPILER_HALT_OFFSET__|AB(MON_([1-9]|10|11|12)|DAY[1-7])|AM_STR|ASSERT_(ACTIVE|BAIL|CALLBACK_QUIET_EVAL|WARNING)|ALT_DIGITS|CASE_(UPPER|LOWER)|CHAR_MAX|CONNECTION_(ABORTED|NORMAL|TIMEOUT)|CODESET|COUNT_(NORMAL|RECURSIVE)|CREDITS_(ALL|DOCS|FULLPAGE|GENERAL|GROUP|MODULES|QA|SAPI)|CRYPT_(BLOWFISH|EXT_DES|MD5|SHA(256|512)|SALT_LENGTH|STD_DES)|CURRENCY_SYMBOL|D_(T_)?FMT|DATE_(ATOM|COOKIE|ISO8601|RFC(822|850|1036|1123|2822|3339)|RSS|W3C)|DAY_[1-7]|DECIMAL_POINT|DIRECTORY_SEPARATOR|ENT_(COMPAT|IGNORE|(NO)?QUOTES)|EXTR_(IF_EXISTS|OVERWRITE|PREFIX_(ALL|IF_EXISTS|INVALID|SAME)|REFS|SKIP)|ERA(_(D_(T_)?FMT)|T_FMT|YEAR)?|FRAC_DIGITS|GROUPING|HASH_HMAC|HTML_(ENTITIES|SPECIALCHARS)|INF|INFO_(ALL|CREDITS|CONFIGURATION|ENVIRONMENT|GENERAL|LICENSEMODULES|VARIABLES)|INI_(ALL|CANNER_(NORMAL|RAW)|PERDIR|SYSTEM|USER)|INT_(CURR_SYMBOL|FRAC_DIGITS)|LC_(ALL|COLLATE|CTYPE|MESSAGES|MONETARY|NUMERIC|TIME)|LOCK_(EX|NB|SH|UN)|LOG_(ALERT|AUTH(PRIV)?|CRIT|CRON|CONS|DAEMON|DEBUG|EMERG|ERR|INFO|LOCAL[1-7]|LPR|KERN|MAIL|NEWS|NODELAY|NOTICE|NOWAIT|ODELAY|PID|PERROR|WARNING|SYSLOG|UCP|USER)|M_(1_PI|SQRT(1_2|[23]|PI)|2_(SQRT)?PI|PI(_([24]))?|E(ULER)?|LN(10|2|PI)|LOG(10|2)E)|MON_([1-9]|10|11|12|DECIMAL_POINT|GROUPING|THOUSANDS_SEP)|N_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|NAN|NEGATIVE_SIGN|NO(EXPR|STR)|P_(CS_PRECEDES|SEP_BY_SPACE|SIGN_POSN)|PM_STR|POSITIVE_SIGN|PATH(_SEPARATOR|INFO_(EXTENSION|(BASE|DIR|FILE)NAME))|RADIXCHAR|SEEK_(CUR|END|SET)|SORT_(ASC|DESC|LOCALE_STRING|REGULAR|STRING)|STR_PAD_(BOTH|LEFT|RIGHT)|T_FMT(_AMPM)?|THOUSEP|THOUSANDS_SEP|UPLOAD_ERR_(CANT_WRITE|EXTENSION|(FORM|INI)_SIZE|NO_(FILE|TMP_DIR)|OK|PARTIAL)|YES(EXPR|STR))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.std.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(GLOB_(MARK|BRACE|NO(SORT|CHECK|ESCAPE)|ONLYDIR|ERR|AVAILABLE_FLAGS)|XML_(SAX_IMPL|(DTD|DOCUMENT(_(FRAG|TYPE))?|HTML_DOCUMENT|NOTATION|NAMESPACE_DECL|PI|COMMENT|DATA_SECTION|TEXT)_NODE|OPTION_(SKIP_(TAGSTART|WHITE)|CASE_FOLDING|TARGET_ENCODING)|ERROR_((BAD_CHAR|(ATTRIBUTE_EXTERNAL|BINARY|PARAM|RECURSIVE)_ENTITY)_REF|MISPLACED_XML_PI|SYNTAX|NONE|NO_(MEMORY|ELEMENTS)|TAG_MISMATCH|INCORRECT_ENCODING|INVALID_TOKEN|DUPLICATE_ATTRIBUTE|UNCLOSED_(CDATA_SECTION|TOKEN)|UNDEFINED_ENTITY|UNKNOWN_ENCODING|JUNK_AFTER_DOC_ELEMENT|PARTIAL_CHAR|EXTERNAL_ENTITY_HANDLING|ASYNC_ENTITY)|ENTITY_(((REF|DECL)_)?NODE)|ELEMENT(_DECL)?_NODE|LOCAL_NAMESPACE|ATTRIBUTE_(N(?:MTOKEN(S)?|OTATION|ODE))|CDATA|ID(REF(S)?)?|DECL_NODE|ENTITY|ENUMERATION)|MHASH_(RIPEMD(128|160|256|320)|GOST|MD([245])|SHA(1|224|256|384|512)|SNEFRU256|HAVAL(128|160|192|224|256)|CRC23(B)?|TIGER(1(?:28|60))?|WHIRLPOOL|ADLER32)|MYSQL_(BOTH|NUM|CLIENT_(SSL|COMPRESS|IGNORE_SPACE|INTERACTIVE|ASSOC))|MYSQLI_(REPORT_(STRICT|INDEX|OFF|ERROR|ALL)|REFRESH_(GRANT|MASTER|BACKUP_LOG|STATUS|SLAVE|HOSTS|THREADS|TABLES|LOG)|READ_DEFAULT_(FILE|GROUP)|(GROUP|MULTIPLE_KEY|BINARY|BLOB)_FLAG|BOTH|STMT_ATTR_(CURSOR_TYPE|UPDATE_MAX_LENGTH|PREFETCH_ROWS)|STORE_RESULT|SERVER_QUERY_(NO_((GOOD_)?INDEX_USED)|WAS_SLOW)|SET_(CHARSET_NAME|FLAG)|NO_(D(?:EFAULT_VALUE_FLAG|ATA))|NOT_NULL_FLAG|NUM(_FLAG)?|CURSOR_TYPE_(READ_ONLY|SCROLLABLE|NO_CURSOR|FOR_UPDATE)|CLIENT_(SSL|NO_SCHEMA|COMPRESS|IGNORE_SPACE|INTERACTIVE|FOUND_ROWS)|TYPE_(GEOMETRY|((MEDIUM|LONG|TINY)_)?BLOB|BIT|SHORT|STRING|SET|YEAR|NULL|NEWDECIMAL|NEWDATE|CHAR|TIME(STAMP)?|TINY|INT24|INTERVAL|DOUBLE|DECIMAL|DATE(TIME)?|ENUM|VAR_STRING|FLOAT|LONG(LONG)?)|TIME_STAMP_FLAG|INIT_COMMAND|ZEROFILL_FLAG|ON_UPDATE_NOW_FLAG|OPT_(NET_((CMD|READ)_BUFFER_SIZE)|CONNECT_TIMEOUT|INT_AND_FLOAT_NATIVE|LOCAL_INFILE)|DEBUG_TRACE_ENABLED|DATA_TRUNCATED|USE_RESULT|(ENUM|(PART|PRI|UNIQUE)_KEY|UNSIGNED)_FLAG|ASSOC|ASYNC|AUTO_INCREMENT_FLAG)|MCRYPT_(RC([26])|RIJNDAEL_(128|192|256)|RAND|GOST|XTEA|MODE_(STREAM|NOFB|CBC|CFB|OFB|ECB)|MARS|BLOWFISH(_COMPAT)?|SERPENT|SKIPJACK|SAFER(64|128|PLUS)|CRYPT|CAST_(128|256)|TRIPLEDES|THREEWAY|TWOFISH|IDEA|(3)?DES|DECRYPT|DEV_(U)?RANDOM|PANAMA|ENCRYPT|ENIGNA|WAKE|LOKI97|ARCFOUR(_IV)?)|STREAM_(REPORT_ERRORS|MUST_SEEK|MKDIR_RECURSIVE|BUFFER_(NONE|FULL|LINE)|SHUT_(RD)?WR|SOCK_(RDM|RAW|STREAM|SEQPACKET|DGRAM)|SERVER_(BIND|LISTEN)|NOTIFY_(REDIRECTED|RESOLVE|MIME_TYPE_IS|SEVERITY_(INFO|ERR|WARN)|COMPLETED|CONNECT|PROGRESS|FILE_SIZE_IS|FAILURE|AUTH_(RE(?:QUIRED|SULT)))|CRYPTO_METHOD_((SSLv2(3)?|SSLv3|TLS)_(CLIENT|SERVER))|CLIENT_((ASYNC_)?CONNECT|PERSISTENT)|CAST_(AS_STREAM|FOR_SELECT)|(I(?:GNORE|S))_URL|IPPROTO_(RAW|TCP|ICMP|IP|UDP)|OOB|OPTION_(READ_(BUFFER|TIMEOUT)|BLOCKING|WRITE_BUFFER)|URL_STAT_(LINK|QUIET)|USE_PATH|PEEK|PF_(INET(6)?|UNIX)|ENFORCE_SAFE_MODE|FILTER_(ALL|READ|WRITE))|SUNFUNCS_RET_(DOUBLE|STRING|TIMESTAMP)|SQLITE_(READONLY|ROW|MISMATCH|MISUSE|BOTH|BUSY|SCHEMA|NOMEM|NOTFOUND|NOTADB|NOLFS|NUM|CORRUPT|CONSTRAINT|CANTOPEN|TOOBIG|INTERRUPT|INTERNAL|IOERR|OK|DONE|PROTOCOL|PERM|ERROR|EMPTY|FORMAT|FULL|LOCKED|ABORT|ASSOC|AUTH)|SQLITE3_(BOTH|BLOB|NUM|NULL|TEXT|INTEGER|OPEN_(READ(ONLY|WRITE)|CREATE)|FLOAT_ASSOC)|CURL(M_(BAD_((EASY)?HANDLE)|CALL_MULTI_PERFORM|INTERNAL_ERROR|OUT_OF_MEMORY|OK)|MSG_DONE|SSH_AUTH_(HOST|NONE|DEFAULT|PUBLICKEY|PASSWORD|KEYBOARD)|CLOSEPOLICY_(SLOWEST|CALLBACK|OLDEST|LEAST_(RECENTLY_USED|TRAFFIC)|INFO_(REDIRECT_(COUNT|TIME)|REQUEST_SIZE|SSL_VERIFYRESULT|STARTTRANSFER_TIME|(S(?:IZE|PEED))_((?:DOWN|UP)LOAD)|HTTP_CODE|HEADER_(OUT|SIZE)|NAMELOOKUP_TIME|CONNECT_TIME|CONTENT_(TYPE|LENGTH_((?:DOWN|UP)LOAD))|CERTINFO|TOTAL_TIME|PRIVATE|PRETRANSFER_TIME|EFFECTIVE_URL|FILETIME)|OPT_(RESUME_FROM|RETURNTRANSFER|REDIR_PROTOCOLS|REFERER|READ(DATA|FUNCTION)|RANGE|RANDOM_FILE|MAX(CONNECTS|REDIRS)|BINARYTRANSFER|BUFFERSIZE|SSH_(HOST_PUBLIC_KEY_MD5|(P(?:RIVATE|UBLIC))_KEYFILE)|AUTH_TYPES)|SSL(CERT(TYPE|PASSWD)?|ENGINE(_DEFAULT)?|VERSION|KEY(TYPE|PASSWD)?)|SSL_(CIPHER_LIST|VERIFY(HOST|PEER))|STDERR|HTTP(GET|HEADER|200ALIASES|_VERSION|PROXYTUNNEL|AUTH)|HEADER(FUNCTION)?|NO(BODY|SIGNAL|PROGRESS)|NETRC|CRLF|CONNECTTIMEOUT(_MS)?|COOKIE(SESSION|JAR|FILE)?|CUSTOMREQUEST|CERTINFO|CLOSEPOLICY|CA(INFO|PATH)|TRANSFERTEXT|TCP_NODELAY|TIME(CONDITION|OUT(_MS)?|VALUE)|INTERFACE|INFILE(SIZE)?|IPRESOLVE|DNS_(CACHE_TIMEOUT|USE_GLOBAL_CACHE)|URL|USER(AGENT|PWD)|UNRESTRICTED_AUTH|UPLOAD|PRIVATE|PROGRESSFUNCTION|PROXY(TYPE|USERPWD|PORT|AUTH)?|PROTOCOLS|PORT|POST(REDIR|QUOTE|FIELDS)?|PUT|EGDSOCKET|ENCODING|VERBOSE|KRB4LEVEL|KEYPASSWD|QUOTE|FRESH_CONNECT|FTP(APPEND|LISTONLY|PORT|SSLAUTH)|FTP_(SSL|SKIP_PASV_IP|CREATE_MISSING_DIRS|USE_EP(RT|SV)|FILEMETHOD)|FILE(TIME)?|FORBID_REUSE|FOLLOWLOCATION|FAILONERROR|WRITE(FUNCTION|HEADER)|LOW_SPEED_(LIMIT|TIME)|AUTOREFERER)|PROXY_(HTTP|SOCKS([45]))|PROTO_(SCP|SFTP|HTTP(S)?|TELNET|TFTP|DICT|FTP(S)?|FILE|LDAP(S)?|ALL)|E_((RE(?:CV|AD))_ERROR|GOT_NOTHING|MALFORMAT_USER|BAD_(CONTENT_ENCODING|CALLING_ORDER|PASSWORD_ENTERED|FUNCTION_ARGUMENT)|SSH|SSL_(CIPHER|CONNECT_ERROR|CERTPROBLEM|CACERT|PEER_CERTIFICATE|ENGINE_(NOTFOUND|SETFAILED))|SHARE_IN_USE|SEND_ERROR|HTTP_(RANGE_ERROR|NOT_FOUND|PORT_FAILED|POST_ERROR)|COULDNT_(RESOLVE_(HOST|PROXY)|CONNECT)|TOO_MANY_REDIRECTS|TELNET_OPTION_SYNTAX|OBSOLETE|OUT_OF_MEMORY|OPERATION|TIMEOUTED|OK|URL_MALFORMAT(_USER)?|UNSUPPORTED_PROTOCOL|UNKNOWN_TELNET_OPTION|PARTIAL_FILE|FTP_(BAD_DOWNLOAD_RESUME|SSL_FAILED|COULDNT_(RETR_FILE|GET_SIZE|STOR_FILE|SET_(BINARY|ASCII)|USE_REST)|CANT_(GET_HOST|RECONNECT)|USER_PASSWORD_INCORRECT|PORT_FAILED|QUOTE_ERROR|WRITE_ERROR|WEIRD_((PASS|PASV|SERVER|USER)_REPLY|227_FORMAT)|ACCESS_DENIED)|FILESIZE_EXCEEDED|FILE_COULDNT_READ_FILE|FUNCTION_NOT_FOUND|FAILED_INIT|WRITE_ERROR|LIBRARY_NOT_FOUND|LDAP_(SEARCH_FAILED|CANNOT_BIND|INVALID_URL)|ABORTED_BY_CALLBACK)|VERSION_NOW|FTP(METHOD_(MULTI|SINGLE|NO)CWD|SSL_(ALL|NONE|CONTROL|TRY)|AUTH_(DEFAULT|SSL|TLS))|AUTH_(ANY(SAFE)?|BASIC|DIGEST|GSSNEGOTIATE|NTLM))|CURL_(HTTP_VERSION_(1_([01])|NONE)|NETRC_(REQUIRED|IGNORED|OPTIONAL)|TIMECOND_(IF(UN)?MODSINCE|LASTMOD)|IPRESOLVE_(V([46])|WHATEVER)|VERSION_(SSL|IPV6|KERBEROS4|LIBZ))|IMAGETYPE_(GIF|XBM|BMP|SWF|COUNT|TIFF_(MM|II)|ICO|IFF|UNKNOWN|JB2|JPX|JP2|JPC|JPEG(2000)?|PSD|PNG|WBMP)|INPUT_(REQUEST|GET|SERVER|SESSION|COOKIE|POST|ENV)|ICONV_(MIME_DECODE_(STRICT|CONTINUE_ON_ERROR)|IMPL|VERSION)|DNS_(MX|SRV|SOA|HINFO|NS|NAPTR|CNAME|TXT|PTR|ANY|ALL|AAAA|A(6)?)|DOM(STRING_SIZE_ERR)|DOM_((SYNTAX|HIERARCHY_REQUEST|NO_((?:MODIFICATION|DATA)_ALLOWED)|NOT_(FOUND|SUPPORTED)|NAMESPACE|INDEX_SIZE|USE_ATTRIBUTE|VALID_(MODIFICATION|STATE|CHARACTER|ACCESS)|PHP|VALIDATION|WRONG_DOCUMENT)_ERR)|JSON_(HEX_(TAG|QUOT|AMP|APOS)|NUMERIC_CHECK|ERROR_(SYNTAX|STATE_MISMATCH|NONE|CTRL_CHAR|DEPTH|UTF8)|FORCE_OBJECT)|PREG_((D_UTF8(_OFFSET)?|NO|INTERNAL|(BACKTRACK|RECURSION)_LIMIT)_ERROR|GREP_INVERT|SPLIT_(NO_EMPTY|(DELIM|OFFSET)_CAPTURE)|SET_ORDER|OFFSET_CAPTURE|PATTERN_ORDER)|PSFS_(PASS_ON|ERR_FATAL|FEED_ME|FLAG_(NORMAL|FLUSH_(CLOSE|INC)))|PCRE_VERSION|POSIX_(([FRWX])_OK|S_IF(REG|BLK|SOCK|CHR|IFO))|FNM_(NOESCAPE|CASEFOLD|PERIOD|PATHNAME)|FILTER_(REQUIRE_(SCALAR|ARRAY)|NULL_ON_FAILURE|CALLBACK|DEFAULT|UNSAFE_RAW|SANITIZE_(MAGIC_QUOTES|STRING|STRIPPED|SPECIAL_CHARS|NUMBER_(INT|FLOAT)|URL|EMAIL|ENCODED|FULL_SPCIAL_CHARS)|VALIDATE_(REGEXP|BOOLEAN|INT|IP|URL|EMAIL|FLOAT)|FORCE_ARRAY|FLAG_(SCHEME_REQUIRED|STRIP_(BACKTICK|HIGH|LOW)|HOST_REQUIRED|NONE|NO_(RES|PRIV)_RANGE|ENCODE_QUOTES|IPV([46])|PATH_REQUIRED|EMPTY_STRING_NULL|ENCODE_(HIGH|LOW|AMP)|QUERY_REQUIRED|ALLOW_(SCIENTIFIC|HEX|THOUSAND|OCTAL|FRACTION)))|FILE_(BINARY|SKIP_EMPTY_LINES|NO_DEFAULT_CONTEXT|TEXT|IGNORE_NEW_LINES|USE_INCLUDE_PATH|APPEND)|FILEINFO_(RAW|MIME(_(ENCODING|TYPE))?|SYMLINK|NONE|CONTINUE|DEVICES|PRESERVE_ATIME)|FORCE_(DEFLATE|GZIP)|LIBXML_(XINCLUDE|NSCLEAN|NO(XMLDECL|BLANKS|NET|CDATA|ERROR|EMPTYTAG|ENT|WARNING)|COMPACT|DTD(VALID|LOAD|ATTR)|((DOTTED|LOADED)_)?VERSION|PARSEHUGE|ERR_(NONE|ERROR|FATAL|WARNING)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.ext.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\)?\\\\\\\\b(T_(RETURN|REQUIRE(_ONCE)?|GOTO|GLOBAL|(MINUS|MOD|MUL|XOR)_EQUAL|METHOD_C|ML_COMMENT|BREAK|BOOL_CAST|BOOLEAN_(AND|OR)|BAD_CHARACTER|SR(_EQUAL)?|STRING(_CAST|VARNAME)?|START_HEREDOC|STATIC|SWITCH|SL(_EQUAL)?|HALT_COMPILER|NS_(C|SEPARATOR)|NUM_STRING|NEW|NAMESPACE|CHARACTER|COMMENT|CONSTANT(_ENCAPSED_STRING)?|CONCAT_EQUAL|CONTINUE|CURLY_OPEN|CLOSE_TAG|CLONE|CLASS(_C)?|CASE|CATCH|TRY|THROW|IMPLEMENTS|ISSET|IS_((GREATER|SMALLER)_OR_EQUAL|(NOT_)?(IDENTICAL|EQUAL))|INSTANCEOF|INCLUDE(_ONCE)?|INC|INT_CAST|INTERFACE|INLINE_HTML|IF|OR_EQUAL|OBJECT_(CAST|OPERATOR)|OPEN_TAG(_WITH_ECHO)?|OLD_FUNCTION|DNUMBER|DIR|DIV_EQUAL|DOC_COMMENT|DOUBLE_(ARROW|CAST|COLON)|DOLLAR_OPEN_CURLY_BRACES|DO|DEC|DECLARE|DEFAULT|USE|UNSET(_CAST)?|PRINT|PRIVATE|PROTECTED|PUBLIC|PLUS_EQUAL|PAAMAYIM_NEKUDOTAYIM|EXTENDS|EXIT|EMPTY|ENCAPSED_AND_WHITESPACE|END(SWITCH|IF|DECLARE|FOR(EACH)?|WHILE)|END_HEREDOC|ECHO|EVAL|ELSE(IF)?|VAR(IABLE)?|FINAL|FILE|FOR(EACH)?|FUNC_C|FUNCTION|WHITESPACE|WHILE|LNUMBER|LIST|LINE|LOGICAL_(AND|OR|XOR)|ARRAY_(CAST)?|ABSTRACT|AS|AND_EQUAL))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.parser-token.php\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\",\\\"name\\\":\\\"constant.other.php\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\?(?<![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])[A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*(?:\\\\\\\\\\\\\\\\[A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\",\\\"name\\\":\\\"entity.name.function.php\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\\\\\\\\\)?(?<![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])([A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\",\\\"name\\\":\\\"entity.name.function.php\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.function-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"match\\\":\\\"(?i)\\\\\\\\b(print|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.output.php\\\"}]},\\\"function-parameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attribute\\\"},{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.variadic.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(?:((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)\\\\\\\\s+)?((?:(&)\\\\\\\\s*)?(\\\\\\\\.\\\\\\\\.\\\\\\\\.)(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?=\\\\\\\\s*(?:[),]|/[*/]|#|$))\\\",\\\"name\\\":\\\"meta.function.parameter.variadic.php\\\"},{\\\"begin\\\":\\\"(?i)((?:\\\\\\\\?\\\\\\\\s*)?[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\))(?:\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s*(?:[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+|\\\\\\\\(\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(?:\\\\\\\\s*&\\\\\\\\s*[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)+\\\\\\\\s*\\\\\\\\)))+)\\\\\\\\s+((?:(&)\\\\\\\\s*)?(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php-types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:[),]|/[*/]|#))\\\",\\\"name\\\":\\\"meta.function.parameter.typehinted.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:[),]|/[*/]|#))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((?:(&)\\\\\\\\s*)?(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?=\\\\\\\\s*(?:[),]|/[*/]|#|$))\\\",\\\"name\\\":\\\"meta.function.parameter.no-default.php\\\"},{\\\"begin\\\":\\\"(?i)((?:(&)\\\\\\\\s*)?(\\\\\\\\$)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.reference.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.assignment.php\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*(?:[),]|/[*/]|#))\\\",\\\"name\\\":\\\"meta.function.parameter.default.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]}]},\\\"heredoc\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=<<<\\\\\\\\s*(\\\\\\\"?)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(\\\\\\\\1)\\\\\\\\s*$)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"string.unquoted.heredoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#heredoc_interior\\\"}]},{\\\"begin\\\":\\\"(?=<<<\\\\\\\\s*'([A-Z_a-z]+[0-9A-Z_a-z]*)'\\\\\\\\s*$)\\\",\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"name\\\":\\\"string.unquoted.nowdoc.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#nowdoc_interior\\\"}]}]},\\\"heredoc_interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(HTML)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(XML)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)([DS]QL)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(J(?:AVASCRIPT|S))(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(JSON)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(CSS)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(REGEXP?)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"string.regexp.heredoc.php\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repitition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]'\\\\\\\\[\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"},{\\\"begin\\\":\\\"(?i)(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*(\\\\\\\"?)(BLADE)(\\\\\\\\2)(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html.php.blade\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.php.blade\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(?i)(<<<)\\\\\\\\s*(\\\\\\\"?)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+[0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(\\\\\\\\2)(\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\3)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.heredoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"inheritance-single\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(?=\\\\\\\\\\\\\\\\?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\\\\\\\\\\\\\\)\\\",\\\"end\\\":\\\"(?i)([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(?=[^0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#namespace\\\"}]},{\\\"include\\\":\\\"#class-builtin\\\"},{\\\"include\\\":\\\"#namespace\\\"},{\\\"match\\\":\\\"(?i)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\",\\\"name\\\":\\\"entity.other.inherited-class.php\\\"}]},\\\"instantiation\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.new.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(parent|static|self)(?![0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]}},\\\"match\\\":\\\"(?i)(new)\\\\\\\\s+(?!class\\\\\\\\b)([$0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)(?![(0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\"},{\\\"begin\\\":\\\"(?i)(new)\\\\\\\\s+(?!class\\\\\\\\b)([$0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.new.php\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)(parent|static|self)(?![0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"contentName\\\":\\\"meta.function-call.php\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]}]},\\\"interface-extends\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.extends.php\\\"}},\\\"end\\\":\\\"(?i)(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.classes.php\\\"},{\\\"include\\\":\\\"#inheritance-single\\\"}]}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[0-7]{1,3}\\\",\\\"name\\\":\\\"constant.character.escape.octal.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\x\\\\\\\\h{1,2}\\\",\\\"name\\\":\\\"constant.character.escape.hex.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\u\\\\\\\\{\\\\\\\\h+}\\\",\\\"name\\\":\\\"constant.character.escape.unicode.php\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[$\\\\\\\\\\\\\\\\efnrtv]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\{(?=\\\\\\\\$.*?})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#variable-name\\\"}]},\\\"interpolation_double_quoted\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\\\\\"\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"invoke-call\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"meta.function-call.invoke.php\\\"},\\\"match_statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s+(?=match\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"\\\\\\\\bmatch\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.match.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.match-block.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.match-statement.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.match-expression.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.match-expression.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.match-block.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.definition.arrow.php\\\"},{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"named-arguments\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.variable.parameter.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.colon.php\\\"}},\\\"match\\\":\\\"(?i)(?<=^|[(,])\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(:)(?!:)\\\"},\\\"namespace\\\":{\\\"begin\\\":\\\"(?i)(?:(namespace)|[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?(\\\\\\\\\\\\\\\\)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.language.namespace.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}},\\\"end\\\":\\\"(?i)(?![0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\\\\\\\\\\\\\\)\\\",\\\"name\\\":\\\"support.other.namespace.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\\\\",\\\"name\\\":\\\"punctuation.separator.inheritance.php\\\"}]},\\\"nowdoc_interior\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(HTML)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(XML)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.xml\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.xml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'([DS]QL)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.sql\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sql\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(J(?:AVASCRIPT|S))'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(JSON)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.json\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(CSS)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(REGEXP?)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"string.regexp.nowdoc.php\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repitition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repitition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[]'\\\\\\\\[\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"},{\\\"begin\\\":\\\"(?i)(?<=^|\\\\\\\\s)(#)\\\\\\\\s(?=[-\\\\\\\\t !,.0-9?_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}[^\\\\\\\\x00-\\\\\\\\x7F]]*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"end\\\":\\\"$\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.php\\\"}},\\\"name\\\":\\\"comment.line.number-sign.php\\\"}]},{\\\"begin\\\":\\\"(<<<)\\\\\\\\s*'(BLADE)'(\\\\\\\\s*)$\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"contentName\\\":\\\"text.html.php.blade\\\",\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.php\\\"},\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}},\\\"name\\\":\\\"meta.embedded.php.blade\\\"},{\\\"begin\\\":\\\"(?i)(<<<)\\\\\\\\s*'([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+[0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)'(\\\\\\\\s*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"invalid.illegal.trailing-whitespace.php\\\"}},\\\"end\\\":\\\"^\\\\\\\\s*(\\\\\\\\2)(?![0-9A-Z_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.nowdoc.php\\\"}}}]},\\\"null_coalescing\\\":{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.null-coalescing.php\\\"},\\\"numbers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"0[Xx]\\\\\\\\h+(?:_\\\\\\\\h+)*\\\",\\\"name\\\":\\\"constant.numeric.hex.php\\\"},{\\\"match\\\":\\\"0[Bb][01]+(?:_[01]+)*\\\",\\\"name\\\":\\\"constant.numeric.binary.php\\\"},{\\\"match\\\":\\\"0[Oo][0-7]+(?:_[0-7]+)*\\\",\\\"name\\\":\\\"constant.numeric.octal.php\\\"},{\\\"match\\\":\\\"0(?:_?[0-7]+)+\\\",\\\"name\\\":\\\"constant.numeric.octal.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.decimal.period.php\\\"}},\\\"match\\\":\\\"(?:[0-9]+(?:_[0-9]+)*)?(\\\\\\\\.)[0-9]+(?:_[0-9]+)*(?:[Ee][-+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*(\\\\\\\\.)(?:[0-9]+(?:_[0-9]+)*)?(?:[Ee][-+]?[0-9]+(?:_[0-9]+)*)?|[0-9]+(?:_[0-9]+)*[Ee][-+]?[0-9]+(?:_[0-9]+)*\\\",\\\"name\\\":\\\"constant.numeric.decimal.php\\\"},{\\\"match\\\":\\\"0|[1-9](?:_?[0-9]+)*\\\",\\\"name\\\":\\\"constant.numeric.decimal.php\\\"}]},\\\"object\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\??->)\\\\\\\\s*(\\\\\\\\$?\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\??->)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.method-call.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.property.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\??->)\\\\\\\\s*((\\\\\\\\$+)?[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?\\\"}]},\\\"parameter-default-types\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#numbers\\\"},{\\\"include\\\":\\\"#string-backtick\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"match\\\":\\\"=>\\\",\\\"name\\\":\\\"keyword.operator.key.php\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.php\\\"},{\\\"match\\\":\\\"&(?=\\\\\\\\s*\\\\\\\\$)\\\",\\\"name\\\":\\\"storage.modifier.reference.php\\\"},{\\\"begin\\\":\\\"(array)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.construct.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.array.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.array.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.array.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-default-types\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"}},\\\"end\\\":\\\"]|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"include\\\":\\\"#instantiation\\\"},{\\\"begin\\\":\\\"(?i)(?=[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+(::)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?)\\\",\\\"end\\\":\\\"(?i)(::)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.other.class.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#class-name\\\"}]},{\\\"include\\\":\\\"#constants\\\"}]},\\\"php-types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.nullable-type.php\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(null|int|float|bool|string|array|object|callable|iterable|true|false|mixed|void)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(parent|self)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.definition.type.begin.bracket.round.php\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.definition.type.end.bracket.round.php\\\"},{\\\"include\\\":\\\"#class-name\\\"}]},\\\"php_doc\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"^(?!\\\\\\\\s*\\\\\\\\*).*?(?:(?=\\\\\\\\*/)|$\\\\\\\\n?)\\\",\\\"name\\\":\\\"invalid.illegal.missing-asterisk.phpdoc.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.wrong-access-type.phpdoc.php\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*\\\\\\\\*\\\\\\\\s*(@access)\\\\\\\\s+((p(?:ublic|rivate|rotected))|(.+))\\\\\\\\s*$\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"markup.underline.link.php\\\"}},\\\"match\\\":\\\"(@xlink)\\\\\\\\s+(.+)\\\\\\\\s*$\\\"},{\\\"begin\\\":\\\"(@(?:global|param|property(-(read|write))?|return|throws|var))\\\\\\\\s+(?=[(?A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"}},\\\"contentName\\\":\\\"meta.other.type.phpdoc.php\\\",\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types_array_multiple\\\"},{\\\"include\\\":\\\"#php_doc_types_array_single\\\"},{\\\"include\\\":\\\"#php_doc_types\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},{\\\"match\\\":\\\"@(api|abstract|author|category|copyright|example|global|inherit[Dd]oc|internal|license|link|method|property(-(read|write))?|package|param|return|see|since|source|static|subpackage|throws|todo|var|version|uses|deprecated|final|ignore)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.phpdoc.php\\\"}},\\\"match\\\":\\\"\\\\\\\\{(@(link|inherit[Dd]oc)).+?}\\\",\\\"name\\\":\\\"meta.tag.inline.phpdoc.php\\\"}]},\\\"php_doc_types\\\":{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.nullable-type.php\\\"},{\\\"match\\\":\\\"\\\\\\\\b(string|integer|int|boolean|bool|float|double|object|mixed|array|resource|void|null|callback|false|true|self|static)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]}},\\\"match\\\":\\\"(?i)\\\\\\\\??[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+([\\\\\\\\&|]\\\\\\\\??[0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)*\\\"},\\\"php_doc_types_array_multiple\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.type.begin.bracket.round.phpdoc.php\\\"}},\\\"end\\\":\\\"(\\\\\\\\))(\\\\\\\\[])?|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.type.end.bracket.round.phpdoc.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.array.phpdoc.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types_array_multiple\\\"},{\\\"include\\\":\\\"#php_doc_types_array_single\\\"},{\\\"include\\\":\\\"#php_doc_types\\\"},{\\\"match\\\":\\\"[\\\\\\\\&|]\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"php_doc_types_array_single\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#php_doc_types\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.array.phpdoc.php\\\"}},\\\"match\\\":\\\"(?i)([0-9\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]+)(\\\\\\\\[])\\\"},\\\"regex-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"/(?=(\\\\\\\\\\\\\\\\.|[^\\\\\\\"/])++/[ADSUXeimsux]*\\\\\\\")\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"(/)([ADSUXeimsux]*)(\\\\\\\")\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.regexp.double-quoted.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\\\\\\\\\){1,2}[]$.\\\\\\\\[^{}]\\\",\\\"name\\\":\\\"constant.character.escape.regex.php\\\"},{\\\"include\\\":\\\"#interpolation_double_quoted\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation_double_quoted\\\"}]},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"}]},\\\"regex-single-quoted\\\":{\\\"begin\\\":\\\"'/(?=(\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?|[^'])|.)|[^'/])++/[ADSUXeimsux]*')\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"(/)([ADSUXeimsux]*)(')\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.regexp.single-quoted.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single_quote_regex_escape\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arbitrary-repetition.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)\\\\\\\\d+(,\\\\\\\\d+)?(})\\\",\\\"name\\\":\\\"string.regexp.arbitrary-repetition.php\\\"},{\\\"begin\\\":\\\"\\\\\\\\[(?:\\\\\\\\^?])?\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.php\\\"}},\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"string.regexp.character-class.php\\\"},{\\\"match\\\":\\\"[$*+^]\\\",\\\"name\\\":\\\"keyword.operator.regexp.php\\\"}]},\\\"scope-resolution\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(self|static|parent)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.php\\\"},{\\\"include\\\":\\\"#class-name\\\"},{\\\"include\\\":\\\"#variable-name\\\"}]}},\\\"match\\\":\\\"([A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9A-Z\\\\\\\\\\\\\\\\_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(?=\\\\\\\\s*::)\\\"},{\\\"begin\\\":\\\"(?i)(::)\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.arguments.end.bracket.round.php\\\"}},\\\"name\\\":\\\"meta.method-call.static.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#named-arguments\\\"},{\\\"include\\\":\\\"$self\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.class.php\\\"}},\\\"match\\\":\\\"(?i)(::)\\\\\\\\s*(class)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.class.php\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.other.class.php\\\"}},\\\"match\\\":\\\"(?i)(::)\\\\\\\\s*(?:((\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)|([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*))?\\\"}]},\\\"single_quote_regex_escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\(?:\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]?|[^'])|.)\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},\\\"sql-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\\\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"contentName\\\":\\\"source.sql.embedded.php\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.double.sql.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\\\\\\\\\\\\\\\\"|[^\\\\\\\"])*(?=\\\\\\\"|$)\\\",\\\"name\\\":\\\"comment.line.number-sign.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(--)(\\\\\\\\\\\\\\\\\\\\\\\"|[^\\\\\\\"])*(?=\\\\\\\"|$)\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"match\\\":\\\"'(?=((\\\\\\\\\\\\\\\\')|[^\\\\\\\"'])*(\\\\\\\"|$))\\\",\\\"name\\\":\\\"string.quoted.single.unclosed.sql\\\"},{\\\"match\\\":\\\"`(?=((\\\\\\\\\\\\\\\\`)|[^\\\\\\\"`])*(\\\\\\\"|$))\\\",\\\"name\\\":\\\"string.quoted.other.backtick.unclosed.sql\\\"},{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation_double_quoted\\\"}]},{\\\"begin\\\":\\\"`\\\",\\\"end\\\":\\\"`\\\",\\\"name\\\":\\\"string.quoted.other.backtick.sql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation_double_quoted\\\"}]},{\\\"include\\\":\\\"#interpolation_double_quoted\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},\\\"sql-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\\\\\\s*(?=(SELECT|INSERT|UPDATE|DELETE|CREATE|REPLACE|ALTER|AND|WITH)\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"contentName\\\":\\\"source.sql.embedded.php\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.single.sql.php\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\\\\\\\\\'|[^'])*(?='|$)\\\",\\\"name\\\":\\\"comment.line.number-sign.sql\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.sql\\\"}},\\\"match\\\":\\\"(--)(\\\\\\\\\\\\\\\\'|[^'])*(?='|$)\\\",\\\"name\\\":\\\"comment.line.double-dash.sql\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[\\\\\\\"'\\\\\\\\\\\\\\\\`]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"match\\\":\\\"`(?=((\\\\\\\\\\\\\\\\`)|[^'`])*('|$))\\\",\\\"name\\\":\\\"string.quoted.other.backtick.unclosed.sql\\\"},{\\\"match\\\":\\\"\\\\\\\"(?=((\\\\\\\\\\\\\\\\\\\\\\\")|[^\\\\\\\"'])*('|$))\\\",\\\"name\\\":\\\"string.quoted.double.unclosed.sql\\\"},{\\\"include\\\":\\\"source.sql\\\"}]},\\\"string-backtick\\\":{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.interpolated.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\`\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.double.php\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation_double_quoted\\\"}]},\\\"string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.php\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.php\\\"}},\\\"name\\\":\\\"string.quoted.single.php\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\['\\\\\\\\\\\\\\\\]\\\",\\\"name\\\":\\\"constant.character.escape.php\\\"}]},\\\"strings\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#regex-double-quoted\\\"},{\\\"include\\\":\\\"#sql-string-double-quoted\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#regex-single-quoted\\\"},{\\\"include\\\":\\\"#sql-string-single-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"}]},\\\"support\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?i)\\\\\\\\bapc_(store|sma_info|compile_file|clear_cache|cas|cache_info|inc|dec|define_constants|delete(_file)?|exists|fetch|load_constants|add|bin_(dump|load)(file)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.apc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(compact|count|current|end|extract|in_array|key(_exists)?|list|nat(case)?sort|next|pos|prev|range|reset|shuffle|sizeof|[ak]?r?sort|u[ak]?sort|array_(all|any|change_key_case|chunk|column|combine|count_values|fill(_keys)?|filter|find(_key)?|flip|is_list|key_(exists|first|last)|keys|map|multisort|pad|pop|product|push|rand|reduce|reverse|search|shift|slice|splice|sum|unique|unshift|values|u?(diff|intersect)(_u?(key|assoc))?|(walk|replace|merge)(_recursive)?))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.array.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(connection_(aborted|status)|constant|defined?|die|eval|exit|get_browser|__halt_compiler|highlight_(file|string)|hrtime|ignore_user_abort|pack|php_strip_whitespace|show_source|u?sleep|sys_getloadavg|time_(nanosleep|sleep_until)|uniqid|unpack)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.basic_functions.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbc(add|ceil|comp|(div|pow)(mod)?|floor|mod|mul|round|scale|sqrt|sub)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.bcmath.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bblenc_encrypt\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.blenc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bbz(compress|close|open|decompress|errstr|errno|error|flush|write|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.bz2.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((French|Gregorian|Jewish|Julian)ToJD|cal_(to_jd|info|days_in_month|from_jd)|unixtojd|jdto(unix|jewish)|easter_(da(?:te|ys))|JD(MonthName|To(Gregorian|Julian|French)|DayOfWeek))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.calendar.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(__autoload|class_alias|(class|interface|method|property|trait|enum)_exists|is_(a|subclass_of)|get_(class(_(vars|methods))?|(called|parent)_class|(mangled_)?object_vars|declared_(classes|interfaces|traits)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.classobj.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(com_(create_guid|print_typeinfo|event_sink|load_typelib|get_active_object|message_pump)|variant_(sub|set(_type)?|not|neg|cast|cat|cmp|int|idiv|imp|or|div|date_(from|to)_timestamp|pow|eqv|fix|and|add|abs|round|get_type|xor|mod|mul))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.com.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(isset|unset|eval|empty|list)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(print|echo)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.construct.output.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bctype_(space|cntrl|digit|upper|punct|print|lower|alnum|alpha|graph|xdigit)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ctype.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bcurl_(close|copy_handle|errno|error|escape|exec|getinfo|init|pause|reset|setopt(_array)?|strerror|unescape|upkeep|version|multi_((add|remove)_handle|close|errno|exec|getcontent|info_read|init|select|setopt|strerror)|share_(close|errno|init(_persistent)?|setopt|strerror))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.curl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(strtotime|str[fp]time|checkdate|time|timezone_name_(from_abbr|get)|idate|timezone_((location|offset|transitions|version)_get|(abbreviations|identifiers)_list|open)|date(_(sun(rise|set)|sun_info|sub|create(_immutable)?(_from_format)?|timestamp_[gs]et|timezone_[gs]et|time_set|isodate_set|interval_(create_from_date_string|format)|offset_get|diff|default_timezone_[gs]et|date_set|parse(_from_format)?|format|add|get_last_errors|modify))?|localtime|get(date|timeofday)|gm(strftime|date|mktime)|microtime|mktime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.datetime.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdba_(sync|handlers|nextkey|close|insert|optimize|open|delete|popen|exists|key_split|firstkey|fetch|list|replace)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dba.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdbx_(sort|connect|compare|close|escape_string|error|query|fetch_row)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dbx.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(scandir|chdir|chroot|closedir|opendir|dir|rewinddir|readdir|getcwd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.dir.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\beio_(sync(fs)?|sync_file_range|symlink|stat(vfs)?|sendfile|set_min_parallel|set_max_(idle|poll_(reqs|time)|parallel)|seek|n(threads|op|pending|reqs|ready)|chown|chmod|custom|close|cancel|truncate|init|open|dup2|unlink|utime|poll|event_loop|f(sync|stat(vfs)?|chown|chmod|truncate|datasync|utime|allocate)|write|lstat|link|rename|realpath|read(ahead|dir|link)?|rmdir|get_(event_stream|last_error)|grp(_(add|cancel|limit))?|mknod|mkdir|busy)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.eio.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\benchant_(dict_(store_replacement|suggest|check|is_in_session|describe|quick_check|add_to_(personal|session)|get_error)|broker_(set_ordering|init|dict_exists|describe|free(_dict)?|list_dicts|request_(pwl_)?dict|get_error))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.enchant.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(split(i)?|sql_regcase|ereg(i)?(_replace)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ereg.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((restore|set)_(e(?:rror|xception))_handler|trigger_error|debug_(print_)?backtrace|user_error|error_(log|reporting|(clear|get)_last))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.errorfunc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(shell_exec|system|passthru|proc_(nice|close|terminate|open|get_status)|escapeshell(arg|cmd)|exec)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.exec.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(exif_(thumbnail|tagname|imagetype|read_data)|read_exif_data)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.exif.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfann_((duplicate|length|merge|shuffle|subset)_train_data|scale_(train(_data)?|((?:in|out)put)(_train_data)?)|set_(scaling_params|sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|cascade_(num_candidate_groups|candidate_(change_fraction|limit|stagnation_epochs)|output_(change_fraction|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)|(m(?:ax|in))_(cand|out)_epochs)|callback|training_algorithm|train_(error|stop)_function|((?:in|out)put)_scaling_params|error_log|quickprop_(decay|mu)|weight(_array)?|learning_(momentum|rate)|bit_fail_limit|activation_(function|steepness)(_(hidden|layer|output))?|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero)))|save(_train)?|num_((?:in|out)put)_train_data|copy|clear_scaling_params|cascadetrain_on_(file|data)|create_((s(?:parse|hortcut|tandard))(_array)?|train(_from_callback)?|from_file)|test(_data)?|train(_(on_(file|data)|epoch))?|init_weights|descale_(input|output|train)|destroy(_train)?|print_error|run|reset_(MSE|err(no|str))|read_train_from_file|randomize_weights|get_(sarprop_(step_error_(shift|threshold_factor)|temperature|weight_decay_shift)|num_(input|output|layers)|network_type|MSE|connection_(array|rate)|bias_array|bit_fail(_limit)?|cascade_(num_(candidate(?:s|_groups))|(candidate|output)_(change_fraction|limit|stagnation_epochs)|weight_multiplier|activation_(functions|steepnesses)(_count)?|(m(?:ax|in))_(cand|out)_epochs)|total_((?:connecti|neur)ons)|training_algorithm|train_(error|stop)_function|err(no|str)|quickprop_(decay|mu)|learning_(momentum|rate)|layer_array|activation_(function|steepness)|rprop_(((?:de|in)crease)_factor|delta_(max|min|zero))))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fann.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(symlink|stat|set_file_buffer|chown|chgrp|chmod|copy|clearstatcache|touch|tempnam|tmpfile|is_(dir|(uploaded_)?file|executable|link|readable|writ(e)?able)|disk_(free|total)_space|diskfreespace|dirname|delete|unlink|umask|pclose|popen|pathinfo|parse_ini_(file|string)|fscanf|fstat|fseek|fnmatch|fclose|ftell|ftruncate|file(size|[acm]time|type|inode|owner|perms|group)?|file_(exists|(get|put)_contents)|f(open|puts|putcsv|passthru|eof|flush|write|lock|read|gets(s)?|getc(sv)?)|lstat|lchown|lchgrp|link(info)?|rename|rewind|read(file|link)|realpath(_cache_(get|size))?|rmdir|glob|move_uploaded_file|mkdir|basename|f(data)?sync)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.file.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(finfo_(set_flags|close|open|file|buffer)|mime_content_type)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fileinfo.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bfilter_(has_var|input(_array)?|id|var(_array)?|list)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.filter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(f(?:astcgi_finish_request|pm_get_status))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.fpm.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(call_user_(func|method)(_array)?|create_function|unregister_tick_function|forward_static_call(_array)?|function_exists|func_(num_args|get_arg(s)?)|register_(shutdown|tick)_function|get_defined_functions)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.funchand.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((n)?gettext|textdomain|d((?:(n)?|c(n)?)gettext)|bind(textdomain|_textdomain_codeset))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gettext.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bgmp_(scan[01]|strval|sign|sub|setbit|sqrt(rem)?|hamdist|neg|nextprime|com|clrbit|cmp|testbit|intval|init|invert|import|or|div(exact)?|div_(qr??|r)|jacobi|popcount|pow(m)?|perfect_(square|power)|prob_prime|export|fact|legendre|and|add|abs|root(rem)?|random(_(bits|range|seed))?|gcd(ext)?|xor|mod|mul|binomial|kronecker|lcm)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.gmp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bhash(_(algos|copy|equals|file|final|hkdf|hmac(_(file|algos)?)?|init|pbkdf2|update(_(file|stream))?))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.hash.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(http_(support|send_(status|stream|content_(disposition|type)|data|file|last_modified)|head|negotiate_(charset|content_type|language)|chunked_decode|cache_(etag|last_modified)|throttle|inflate|deflate|date|post_(data|fields)|put_(data|file|stream)|persistent_handles_(count|clean|ident)|parse_(cookie|headers|message|params)|redirect|request(_(method_(exists|name|(un)?register)|body_encode))?|get(_request_(headers|body(_stream)?))?|match_(etag|modified|request_header)|build_(cookie|str|url))|ob_(etag|deflate|inflate)handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.http.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(iconv(_(str(pos|len|rpos)|substr|[gs]et_encoding|mime_(decode(_headers)?|encode)))?|ob_iconv_handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.iconv.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\biis_((st(?:art|op))_(serv(?:ice|er))|set_(script_map|server_rights|dir_security|app_settings)|(add|remove)_server|get_(script_map|service_state|server_(rights|by_(comment|path))|dir_security))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.iisfunc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(iptc(embed|parse)|(jpeg|png)2wbmp|gd_info|getimagesize(fromstring)?|image(s[xy]|scale|(char|string)(up)?|set(clip|style|thickness|tile|interpolation|pixel|brush)|savealpha|convolution|copy(resampled|resized|merge(gray)?)?|colors(forindex|total)|color(set|closest(alpha|hwb)?|transparent|deallocate|(allocate|exact|resolve)(alpha)?|at|match)|crop(auto)?|create(truecolor|from(avif|bmp|string|jpeg|png|wbmp|webp|gif|gd(2(part)?)?|tga|xpm|xbm))?|types|ttf(bbox|text)|truecolortopalette|istruecolor|interlace|2wbmp|destroy|dashedline|jpeg|_type_to_(extension|mime_type)|ps(slantfont|text|(encode|extend|free|load)font|bbox)|png|polygon|palette(copy|totruecolor)|ellipse|ft(text|bbox)|filter|fill|filltoborder|filled(arc|ellipse|polygon|rectangle)|font(height|width)|flip|webp|wbmp|line|loadfont|layereffect|antialias|affine(matrix(concat|get))?|alphablending|arc|rotate|rectangle|gif|gd2?|gammacorrect|grab(screen|window)|xbm|resolution|openpolygon|get(clip|interpolation)|avif|bmp))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.image.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(sys_get_temp_dir|set_(time_limit|include_path|magic_quotes_runtime)|cli_[gs]et_process_title|ini_(alter|get(_all)?|restore|set)|zend_(thread_id|version|logo_guid)|dl|php(credits|info|version)|php_(sapi_name|ini_(scanned_files|loaded_file)|uname|logo_guid)|putenv|extension_loaded|version_compare|assert(_options)?|restore_include_path|gc_(collect_cycles|disable|enable(d)?)|getopt|get_(cfg_var|current_user|defined_constants|extension_funcs|include_path|included_files|loaded_extensions|magic_quotes_(gpc|runtime)|required_files|resources)|get(env|lastmod|rusage|my(inode|[gpu]id))|memory_get_(peak_)?usage|main|magic_quotes_runtime)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.info.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bibase_(set_event_handler|service_((?:at|de)tach)|server_info|num_(fields|params)|name_result|connect|commit(_ret)?|close|trans|delete_user|drop_db|db_info|pconnect|param_info|prepare|err(code|msg)|execute|query|field_info|fetch_(assoc|object|row)|free_(event_handler|query|result)|wait_event|add_user|affected_rows|rollback(_ret)?|restore|gen_id|modify_user|maintain_db|backup|blob_(cancel|close|create|import|info|open|echo|add|get))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.interbase.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(normalizer_(normalize|is_normalized)|idn_to_(unicode|utf8|ascii)|numfmt_(set_(symbol|(text_)?attribute|pattern)|create|(parse|format)(_currency)?|get_(symbol|(text_)?attribute|pattern|error_(code|message)|locale))|collator_(sort(_with_sort_keys)?|set_(attribute|strength)|compare|create|asort|get_(strength|sort_key|error_(code|message)|locale|attribute))|transliterator_(create(_(inverse|from_rules))?|transliterate|list_ids|get_error_(code|message))|intl(cal|tz)_get_error_(code|message)|intl_(is_failure|error_name|get_error_(code|message))|datefmt_(set_(calendar|lenient|pattern|timezone(_id)?)|create|is_lenient|parse|format(_object)?|localtime|get_(calendar(_object)?|time(type|zone(_id)?)|datetype|pattern|error_(code|message)|locale))|locale_(set_default|compose|canonicalize|parse|filter_matches|lookup|accept_from_http|get_(script|display_(script|name|variant|language|region)|default|primary_language|keywords|all_variants|region))|resourcebundle_(create|count|locales|get(_(error_(code|message)))?)|grapheme_(str(i?str|r?i?pos|len|_split)|substr|extract)|msgfmt_(set_pattern|create|(format|parse)(_message)?|get_(pattern|error_(code|message)|locale)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.intl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bjson_(decode|encode|last_error(_msg)?|validate)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.json.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bldap_(start|tls|sort|search|sasl_bind|set_(option|rebind_proc)|(first|next)_(attribute|entry|reference)|connect|control_paged_result(_response)?|count_entries|compare|close|t61_to_8859|8859_to_t61|dn2ufn|delete|unbind|parse_(re(?:ference|sult))|escape|errno|err2str|error|explode_dn|bind|free_result|list|add|rename|read|get_(option|dn|entries|values(_len)?|attributes)|modify(_batch)?|mod_(add|del|replace))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.ldap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\blibxml_(set_(streams_context|external_entity_loader)|clear_errors|disable_entity_loader|use_internal_errors|get_(errors|last_error))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.libxml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(ezmlm_hash|mail)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mail.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(a?(cos|sin|tan)h?|sqrt|srand|hypot|hexdec|ceil|is_(nan|(in)?finite)|octdec|dec(hex|oct|bin)|deg2rad|pi|pow|exp(m1)?|floor|f(div|mod|pow)|lcg_value|log(1[0p])?|atan2|abs|round|rand|rad2deg|getrandmax|mt_(srand|rand|getrandmax)|max|min|bindec|base_convert|intdiv)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.math.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmb_(str(cut|str|to(lower|upper)|istr|ipos|imwidth|pos|width|len|rchr|richr|ripos|rpos|_pad|_split)|substitute_character|substr(_count)?|split|send_mail|http_((?:in|out)put)|check_encoding|convert_(case|encoding|kana|variables)|internal_encoding|output_handler|decode_(numericentity|mimeheader)|detect_(encoding|order)|parse_str|preferred_mime_name|encoding_aliases|encode_(numericentity|mimeheader)|ereg(i(_replace)?)?|ereg_(search(_(get(pos|regs)|init|regs|(set)?pos))?|replace(_callback)?|match)|list_encodings|language|regex_(set_options|encoding)|get_info|[lr]?trim|[lu]cfirst|ord|chr|scrub)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mbstring.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(m(?:crypt_(cfb|create_iv|cbc|ofb|decrypt|encrypt|ecb|list_(algorithms|modes)|generic(_((de)?init|end))?|enc_(self_test|is_block_(algorithm|algorithm_mode|mode)|get_(supported_key_sizes|(block|iv|key)_size|(algorithms|modes)_name))|get_(cipher_name|(block|iv|key)_size)|module_(close|self_test|is_block_(algorithm|algorithm_mode|mode)|open|get_(supported_key_sizes|algo_(block|key)_size)))|decrypt_generic))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mcrypt.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmemcache_debug\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.memcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmhash(_(count|keygen_s2k|get_(hash_name|block_size)))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mhash.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(log_(cmd_(insert|delete|update)|killcursor|write_batch|reply|getmore)|bson_((?:de|en)code))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mongo.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysql_(stat|set_charset|select_db|num_(fields|rows)|connect|client_encoding|close|create_db|escape_string|thread_id|tablename|insert_id|info|data_seek|drop_db|db_(name|query)|unbuffered_query|pconnect|ping|errno|error|query|field_(seek|name|type|table|flags|len)|fetch_(object|field|lengths|assoc|array|row)|free_result|list_(tables|dbs|processes|fields)|affected_rows|result|real_escape_string|get_(client|host|proto|server)_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqli_(ssl_set|store_result|stat|send_(query|long_data)|set_(charset|opt|local_infile_(default|handler))|stmt_(store_result|send_long_data|next_result|close|init|data_seek|prepare|execute|fetch|free_result|attr_[gs]et|result_metadata|reset|get_(result|warnings)|more_results|bind_(param|result))|select_db|slave_query|savepoint|next_result|change_user|character_set_name|connect|commit|client_encoding|close|thread_safe|init|options|((?:en|dis)able)_(r(?:eads_from_master|pl_parse))|dump_debug_info|debug|data_seek|use_result|ping|poll|param_count|prepare|escape_string|execute|embedded_server_(start|end)|kill|query|field_seek|free_result|autocommit|rollback|report|refresh|fetch(_(object|fields|field(_direct)?|assoc|all|array|row))?|rpl_(parse_enabled|probe|query_type)|release_savepoint|reap_async_query|real_(connect|escape_string|query)|more_results|multi_query|get_(charset|connection_stats|client_(stats|info|version)|cache_stats|warnings|links_stats|metadata)|master_query|bind_(param|result)|begin_transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqli.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_memcache_(set|get_config)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-memcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_ms_(set_(user_pick_server|qos)|dump_servers|query_is_select|fabric_select_(shard|global)|get_(stats|last_(used_connection|gtid))|xa_(commit|rollback|gc|begin)|match_wild)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-ms.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_qc_(set_(storage_handler|cache_condition|is_select|user_handlers)|clear_cache|get_(normalized_query_trace_log|core_stats|cache_info|query_trace_log|available_handlers))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-qc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmysqlnd_uh_(set_(statement|connection)_proxy|convert_to_mysqlnd)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.mysqlnd-uh.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(syslog|socket_(set_(blocking|timeout)|get_status)|set(raw)?cookie|http_response_code|openlog|headers_(list|sent)|header(_(re(?:gister_callback|move)))?|checkdnsrr|closelog|inet_(ntop|pton)|ip2long|openlog|dns_(check_record|get_(record|mx))|define_syslog_variables|(p)?fsockopen|long2ip|get(servby(name|port)|host(name|by(name(l)?|addr))|protoby(n(?:ame|umber))|mxrr)|http_(clear|get)_last_response_headers|net_get_interfaces|request_parse_body)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.network.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bnsapi_(virtual|response_headers|request_headers)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.nsapi.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(oci(?:(statementtype|setprefetch|serverversion|savelob(file)?|numcols|new(collection|cursor|descriptor)|nlogon|column(scale|size|name|type(raw)?|isnull|precision)|coll(size|trim|assign(elem)?|append|getelem|max)|commit|closelob|cancel|internaldebug|definebyname|plogon|parse|error|execute|fetch(statement|into)?|free(statement|collection|cursor|desc)|write(temporarylob|lobtofile)|loadlob|log(o(?:n|ff))|rowcount|rollback|result|bindbyname)|_(statement_type|set_(client_(i(?:nfo|dentifier))|prefetch|edition|action|module_name)|server_version|num_(fields|rows)|new_(connect|collection|cursor|descriptor)|connect|commit|client_version|close|cancel|internal_debug|define_by_name|pconnect|password_change|parse|error|execute|bind_(array_)?by_name|field_(scale|size|name|type(_raw)?|is_null|precision)|fetch(_(object|assoc|all|array|row))?|free_(statement|descriptor)|lob_(copy|is_equal)|rollback|result|get_implicit_resultset)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.oci8.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bopcache_(compile_file|invalidate|is_script_cached|reset|get_(status|configuration))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.opcache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bopenssl_(sign|spki_(new|export(_challenge)?|verify)|seal|csr_(sign|new|export(_to_file)?|get_(subject|public_key))|cipher_(iv|key)_length|open|dh_compute_key|digest|decrypt|public_((?:de|en)crypt)|encrypt|error_string|pkcs12_(export(_to_file)?|read)|(cms|pkcs7)_(sign|decrypt|encrypt|verify|read)|verify|free_key|random_pseudo_bytes|pkey_(derive|new|export(_to_file)?|free|get_(details|public|private))|private_((?:de|en)crypt)|pbkdf2|get_((cipher|md)_methods|cert_locations|curve_names|(p(?:ublic|rivate))key)|x509_(check_private_key|checkpurpose|parse|export(_to_file)?|fingerprint|free|read|verify))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.openssl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(output_(add_rewrite_var|reset_rewrite_vars)|flush|ob_(start|clean|implicit_flush|end_(clean|flush)|flush|list_handlers|gzhandler|get_(status|contents|clean|flush|length|level)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.output.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpassword_(algos|hash|needs_rehash|verify|get_info)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.password.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpcntl_(alarm|async_signals|errno|exec|r?fork|get_last_error|[gs]et((?:cpuaffin|prior)ity)|signal(_(dispatch|get_handler))?|sig(procmask|timedwait|waitinfo)|strerror|unshare|wait(p?id)?|wexitstatus|wif((?:exit|signal|stopp)ed)|w(stop|term)sig)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pcntl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpg_(socket|send_(prepare|execute|query(_params)?)|set_(client_encoding|error_verbosity)|select|host|num_(fields|rows)|consume_input|connection_(status|reset|busy)|connect(_poll)?|convert|copy_(from|to)|client_encoding|close|cancel_query|tty|transaction_status|trace|insert|options|delete|dbname|untrace|unescape_bytea|update|pconnect|ping|port|put_line|parameter_status|prepare|version|query(_params)?|escape_(string|identifier|literal|bytea)|end_copy|execute|flush|free_result|last_(notice|error|oid)|field_(size|num|name|type(_oid)?|table|is_null|prtlen)|affected_rows|result_(status|seek|error(_field)?)|fetch_(object|assoc|all(_columns)?|array|row|result)|get_(notify|pid|result)|meta_data|lo_(seek|close|create|tell|truncate|import|open|unlink|export|write|read(_all)?)|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pgsql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(virtual|getallheaders|apache_([gs]etenv|note|child_terminate|lookup_uri|response_headers|reset_timeout|request_headers|get_(version|modules)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_apache.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bdom_import_simplexml\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_dom.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bftp_(ssl_connect|systype|site|size|set_option|nlist|nb_(continue|f?(put|get))|ch(dir|mod)|connect|cdup|close|delete|put|pwd|pasv|exec|quit|f(put|get)|login|alloc|rename|raw(list)?|rmdir|get(_option)?|mdtm|mkdir)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_ftp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bimap_((create|delete|list|rename|scan)(mailbox)?|status|sort|subscribe|set_quota|set(flag_full|acl)|search|savebody|num_(recent|msg)|check|close|clearflag_full|thread|timeout|open|header(info)?|headers|append|alerts|reopen|8bit|unsubscribe|undelete|utf7_((?:de|en)code)|utf8|uid|ping|errors|expunge|qprint|gc|fetch(structure|header|text|mime|body)|fetch_overview|lsub|list(s(?:can|ubscribed))|last_error|rfc822_(parse_(headers|adrlist)|write_address)|get(subscribed|acl|mailboxes)|get_quota(root)?|msgno|mime_header_decode|mail_(copy|compose|move)|mail|mailboxmsginfo|binary|body(struct)?|base64)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_imap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bmssql_(select_db|num_(fields|rows)|next_result|connect|close|init|data_seek|pconnect|execute|query|field_(seek|name|type|length)|fetch_(object|field|assoc|array|row|batch)|free_(statement|result)|rows_affected|result|guid_string|get_last_message|min_(error|message)_severity|bind)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_mssql.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bodbc_(statistics|specialcolumns|setoption|num_(fields|rows)|next_result|connect|columns|columnprivileges|commit|cursor|close(_all)?|tables|tableprivileges|do|data_source|pconnect|primarykeys|procedures|procedurecolumns|prepare|error(msg)?|exec(ute)?|field_(scale|num|name|type|precision|len)|foreignkeys|free_result|fetch_(into|object|array|row)|longreadlen|autocommit|rollback|result(_all)?|gettypeinfo|binmode)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_odbc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpreg_(split|quote|filter|last_error(_msg)?|replace(_callback(_array)?)?|grep|match(_all)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_pcre.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(spl_(classes|object_hash|autoload(_(call|unregister|extensions|functions|register))?)|class_(implements|uses|parents)|iterator_(count|to_array|apply))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_spl.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bzip_(close|open|entry_(name|compressionmethod|compressedsize|close|open|filesize|read)|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.php_zip.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bposix_(strerror|set(s|e?u|[ep]?g)id|ctermid|ttyname|times|isatty|initgroups|uname|errno|kill|e?access|get(sid|cwd|uid|pid|ppid|pwnam|pwuid|pgid|pgrp|euid|egid|login|rlimit|gid|grnam|groups|grgid)|get_last_error|mknod|mkfifo|(sys|f?path)conf|setrlimit)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.posix.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bset(thread|proc)title\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.proctitle.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bpspell_(store_replacement|suggest|save_wordlist|new(_(config|personal))?|check|clear_session|config_(save_repl|create|ignore|(d(?:ata|ict))_dir|personal|runtogether|repl|mode)|add_to_(session|personal))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.pspell.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\breadline(_(completion_function|clear_history|callback_(handler_(install|remove)|read_char)|info|on_new_line|write_history|list_history|add_history|redisplay|read_history))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.readline.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brecode(_(string|file))?\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.recode.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\brrd(c_disconnect|_(create|tune|info|update|error|version|first|fetch|last(update)?|restore|graph|xport))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.rrd.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(shm_((get|has|remove|put)_var|detach|attach|remove)|sem_(acquire|release|remove|get)|ftok|msg_((get|remove|set|stat)_queue|send|queue_exists|receive))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sem.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsession_(status|start|set_(save_handler|cookie_params)|save_path|name|commit|cache_(expire|limiter)|is_registered|id|destroy|decode|unset|unregister|encode|write_close|abort|reset|register(_shutdown)?|((?:regener|cre)ate)_id|get_cookie_params|module_name|gc)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.session.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bshmop_(size|close|open|delete|write|read)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.shmop.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsimplexml_(import_dom|load_(string|file))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.simplexml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(snmp(?:(walk(oid)?|realwalk|get(next)?|set)|_(set_(valueretrieval|quick_print|enum_print|oid_(numeric_print|output_format))|read_mib|get_(valueretrieval|quick_print))|[23]_(set|walk|real_walk|get(next)?)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.snmp.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(is_soap_fault|use_soap_error_handler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.soap.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsocket_(accept|addrinfo_(bind|connect|explain|lookup)|atmark|bind|(clear|last)_error|close|cmsg_space|connect|create(_(listen|pair))?|(ex|im)port_stream|[gs]et_option|[gs]etopt|get(peer|sock)name|listen|read|recv(from|msg)?|select|send(msg|to)?|set_(non)?block|shutdown|strerror|write|wsaprotocol_info_(export|import|release))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sockets.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsqlite_(single_query|seek|has_(more|prev)|num_(fields|rows)|next|changes|column|current|close|create_(aggregate|function)|open|unbuffered_query|udf_((?:de|en)code)_binary|popen|prev|escape_string|error_string|exec|valid|key|query|field_name|factory|fetch_(string|single|column_types|object|all|array)|lib(encoding|version)|last_(insert_rowid|error)|array_query|rewind|busy_timeout)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sqlite.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsqlsrv_(send_stream_data|server_info|has_rows|num_(fields|rows)|next_result|connect|configure|commit|client_info|close|cancel|prepare|errors|execute|query|field_metadata|fetch(_(array|object))?|free_stmt|rows_affected|rollback|get_(config|field)|begin_transaction)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sqlsrv.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bstats_(harmonic_mean|covariance|standard_deviation|skew|cdf_(noncentral_(chisquare|f)|negative_binomial|chisquare|cauchy|t|uniform|poisson|exponential|f|weibull|logistic|laplace|gamma|binomial|beta)|stat_(noncentral_t|correlation|innerproduct|independent_t|powersum|percentile|paired_t|gennch|binomial_coef)|dens_(normal|negative_binomial|chisquare|cauchy|t|pmf_(hypergeometric|poisson|binomial)|exponential|f|weibull|logistic|laplace|gamma|beta)|den_uniform|variance|kurtosis|absolute_deviation|rand_(setall|phrase_to_seeds|ranf|get_seeds|gen_(noncentral_[ft]|noncenral_chisquare|normal|chisquare|t|int|i(uniform|poisson|binomial(_negative)?)|exponential|f(uniform)?|gamma|beta)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.stats.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bstream_(bucket_(new|prepend|append|make_writeable)|context_(create|[gs]et_(options?|default|params))|copy_to_stream|filter_((ap|pre)pend|register|remove)|get_(contents|filters|line|meta_data|transports|wrappers)|is(atty|_local)|notification_callback|register_wrapper|resolve_include_path|select|set_(blocking|chunk_size|(read|write)_buffer|timeout)|socket_(accept|client|enable_crypto|get_name|pair|recvfrom|sendto|server|shutdown)|supports_lock|wrapper_((un)?register|restore))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.streamsfuncs.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(money_format|md5(_file)?|metaphone|bin2hex|sscanf|sha1(_file)?|str(str|c?spn|n(at)?(case)?cmp|chr|coll|(case)?cmp|to(upper|lower)|tok|tr|istr|pos|pbrk|len|rchr|ri?pos|rev)|str_(getcsv|i?replace|pad|repeat|rot13|shuffle|split|word_count|contains|(starts|ends)_with|(in|de)crement)|strip(c?slashes|os)|strip_tags|similar_text|soundex|substr(_(count|compare|replace))?|setlocale|html(specialchars(_decode)?|entities)|html_entity_decode|hex2bin|hebrev(c)?|number_format|nl2br|nl_langinfo|chop|chunk_split|chr|convert_(cyr_string|uu((?:de|en)code))|count_chars|crypt|crc32|trim|implode|ord|uc(first|words)|join|parse_str|print(f)?|echo|explode|v?[fs]?printf|quoted_printable_((?:de|en)code)|quotemeta|wordwrap|lcfirst|[lr]trim|localeconv|levenshtein|addc?slashes|get_html_translation_table)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.string.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bsybase_(set_message_handler|select_db|num_(fields|rows)|connect|close|deadlock_retry_count|data_seek|unbuffered_query|pconnect|query|field_seek|fetch_(object|field|assoc|array|row)|free_result|affected_rows|result|get_last_message|min_(client|error|message|server)_severity)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.sybase.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(taint|is_tainted|untaint)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.taint.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(tidy_([gs]etopt|set_encoding|save_config|config_count|clean_repair|is_(x(?:html|ml))|diagnose|(access|error|warning)_count|load_config|reset_config|(parse|repair)_(string|file)|get_(status|html(_ver)?|head|config|output|opt_doc|root|release|body))|ob_tidyhandler)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.tidy.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btoken_(name|get_all)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.tokenizer.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\btrader_(stoch([fr]|rsi)?|stddev|sin(h)?|sum|sub|set_(compat|unstable_period)|sqrt|sar(ext)?|sma|ht_(sine|trend(line|mode)|dc(p(?:eriod|hase))|phasor)|natr|cci|cos(h)?|correl|cdl(shootingstar|shortline|sticksandwich|stalledpattern|spinningtop|separatinglines|hikkake(mod)?|highwave|homingpigeon|hangingman|harami(cross)?|hammer|concealbabyswall|counterattack|closingmarubozu|thrusting|tasukigap|takuri|tristar|inneck|invertedhammer|identical3crows|2crows|onneck|doji(star)?|darkcloudcover|dragonflydoji|unique3river|upsidegap2crows|3(starsinsouth|inside|outside|whitesoldiers|linestrike|blackcrows)|piercing|engulfing|evening(doji)?star|kicking(bylength)?|longline|longleggeddoji|ladderbottom|advanceblock|abandonedbaby|risefall3methods|rickshawman|gapsidesidewhite|gravestonedoji|xsidegap3methods|morning(doji)?star|mathold|matchinglow|marubozu|belthold|breakaway)|ceil|cmo|tsf|typprice|t3|tema|tan(h)?|trix|trima|trange|obv|div|dema|dx|ultosc|ppo|plus_d[im]|errno|exp|ema|var|kama|floor|wclprice|willr|wma|ln|log10|bop|beta|bbands|linearreg(_(slope|intercept|angle))?|asin|acos|atan|atr|adosc|add??|adx(r)?|apo|avgprice|aroon(osc)?|rsi|rocp??|rocr(100)?|get_(compat|unstable_period)|min(index)?|minus_d[im]|minmax(index)?|mid(p(?:oint|rice))|mom|mult|medprice|mfi|macd(ext|fix)?|mavp|max(index)?|ma(ma)?)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.trader.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\buopz_(copy|compose|implement|overload|delete|undefine|extend|function|flags|restore|rename|redefine|backup)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.uopz.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(http_build_query|(raw)?url((?:de|en)code)|parse_url|get_(headers|meta_tags)|base64_((?:de|en)code))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.url.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b((bool|double|float|int|str)val|debug_zval_dump|empty|get_(debug_type|defined_vars|resource_(id|type))|[gs]ettype|is_(array|bool|callable|countable|double|float|int(eger)?|iterable|long|null|numeric|object|real|resource|scalar|string)|isset|print_r|(un)?serialize|unset|var_(dump|export))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.var.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bwddx_(serialize_(va(?:lue|rs))|deserialize|packet_(start|end)|add_vars)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.wddx.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxhprof_(sample_)?((?:dis|en)able)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xhprof.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(utf8_((?:de|en)code)|xml_(set_((notation|(end|start)_namespace|unparsed_entity)_decl_handler|(character_data|default|element|external_entity_ref|processing_instruction)_handler|object)|parse(_into_struct)?|parser_([gs]et_option|create(_ns)?|free)|error_string|get_(current_((column|line)_number|byte_index)|error_code)))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xml.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxmlrpc_(server_(call_method|create|destroy|add_introspection_data|register_(introspection_callback|method))|is_fault|decode(_request)?|parse_method_descriptions|encode(_request)?|[gs]et_type)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xmlrpc.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\bxmlwriter_((end|start|write)_(comment|cdata|dtd(_(attlist|entity|element))?|document|pi|attribute|element)|(start|write)_(attribute|element)_ns|write_raw|set_indent(_string)?|text|output_memory|open_(memory|uri)|full_end_element|flush|)\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.xmlwriter.php\\\"},{\\\"match\\\":\\\"(?i)\\\\\\\\b(zlib_(decode|encode|get_coding_type)|readgzfile|gz(seek|compress|close|tell|inflate|open|decode|deflate|uncompress|puts|passthru|encode|eof|file|write|rewind|read|getc|getss?)|deflate_(add|init)|inflate_(add|get_(read_len|status)|init))\\\\\\\\b\\\",\\\"name\\\":\\\"support.function.zlib.php\\\"}]},\\\"switch_statement\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s+(?=switch\\\\\\\\b)\\\"},{\\\"begin\\\":\\\"\\\\\\\\bswitch\\\\\\\\b(?!\\\\\\\\s*\\\\\\\\(.*\\\\\\\\)\\\\\\\\s*:)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.switch.php\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.switch-block.end.bracket.curly.php\\\"}},\\\"name\\\":\\\"meta.switch-statement.php\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.switch-expression.begin.bracket.round.php\\\"}},\\\"end\\\":\\\"\\\\\\\\)|(?=\\\\\\\\?>)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.switch-expression.end.bracket.round.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.section.switch-block.begin.bracket.curly.php\\\"}},\\\"end\\\":\\\"(?=}|\\\\\\\\?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]}]},\\\"ternary_expression\\\":{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.php\\\"}},\\\"end\\\":\\\"(?<!:):(?!:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.php\\\"}},\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}},\\\"match\\\":\\\"(?i)^\\\\\\\\s*([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)\\\\\\\\s*(?=:(?!:))\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"ternary_shorthand\\\":{\\\"match\\\":\\\"\\\\\\\\?:\\\",\\\"name\\\":\\\"keyword.operator.ternary.php\\\"},\\\"use-inner\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"begin\\\":\\\"(?i)\\\\\\\\b(as)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use-as.php\\\"}},\\\"end\\\":\\\"(?i)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.other.alias.php\\\"}}},{\\\"include\\\":\\\"#class-name\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.delimiter.php\\\"}]},\\\"var_basic\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\$+)[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*\\\",\\\"name\\\":\\\"variable.other.php\\\"}]},\\\"var_global\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((_(COOKIE|FILES|GET|POST|REQUEST))|arg([cv]))\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.global.php\\\"},\\\"var_global_safer\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)((GLOBALS|_(ENV|SERVER|SESSION)))\\\",\\\"name\\\":\\\"variable.other.global.safer.php\\\"},\\\"var_language\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(\\\\\\\\$)this\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.this.php\\\"},\\\"variable-name\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#var_global\\\"},{\\\"include\\\":\\\"#var_global_safer\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.class.php\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.property.php\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.array.begin.php\\\"},\\\"7\\\":{\\\"name\\\":\\\"constant.numeric.index.php\\\"},\\\"8\\\":{\\\"name\\\":\\\"variable.other.index.php\\\"},\\\"9\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"10\\\":{\\\"name\\\":\\\"string.unquoted.index.php\\\"},\\\"11\\\":{\\\"name\\\":\\\"punctuation.section.array.end.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$)(?<name>[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*))\\\\\\\\s*(?:(\\\\\\\\??->)\\\\\\\\s*(\\\\\\\\g<name>)|(\\\\\\\\[)(?:(\\\\\\\\d+)|((\\\\\\\\$)\\\\\\\\g<name>)|([_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*))(]))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.php\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"match\\\":\\\"(?i)((\\\\\\\\$\\\\\\\\{)(?<name>[_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}][0-9_a-z\\\\\\\\x7F-\\\\\\\\x{10FFFF}]*)(}))\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#var_language\\\"},{\\\"include\\\":\\\"#var_global\\\"},{\\\"include\\\":\\\"#var_global_safer\\\"},{\\\"include\\\":\\\"#var_basic\\\"},{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{(?=.*?})\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.variable.php\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"$self\\\"}]}]}},\\\"scopeName\\\":\\\"source.php\\\",\\\"embeddedLangs\\\":[\\\"html\\\",\\\"xml\\\",\\\"sql\\\",\\\"javascript\\\",\\\"json\\\",\\\"css\\\"]}\"))\n\nexport default [\n...html,\n...xml,\n...sql,\n...javascript,\n...json,\n...css,\nlang\n]\n","import javascript from './javascript.mjs'\nimport css from './css.mjs'\nimport html from './html.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Pug\\\",\\\"name\\\":\\\"pug\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^(!!!|doctype)(\\\\\\\\s*[-0-9A-Z_a-z]+)?\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.html\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)//-\\\",\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"comment.unbuffered.block.pug\\\"},{\\\"begin\\\":\\\"^(\\\\\\\\s*)//\\\",\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"string.comment.buffered.block.pug\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.comment.comment.block.pug\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*(//)(?!-)\\\",\\\"name\\\":\\\"string.comment.buffered.block.pug\\\"}]},{\\\"begin\\\":\\\"<!--\\\",\\\"end\\\":\\\"--\\\\\\\\s*>\\\",\\\"name\\\":\\\"comment.unbuffered.block.pug\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"invalid.illegal.comment.comment.block.pug\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)-$\\\",\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"source.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(script)((\\\\\\\\.)$|(?=[^\\\\\\\\n]*((text|application)/javascript|module).*\\\\\\\\.$))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"meta.tag.other\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\()\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attributes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G(?=[#.])\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#complete_tag\\\"}]},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(style)((\\\\\\\\.)$|(?=[#(.].*\\\\\\\\.$))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"meta.tag.other\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\()\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attributes\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G(?=[#.])\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#complete_tag\\\"}]},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(sass)(?=\\\\\\\\(|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.language.name.sass.filter.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"source.sass.filter.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"source.sass\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(scss)(?=\\\\\\\\(|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.language.name.scss.filter.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"source.css.scss.filter.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"source.css.scss\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(less)(?=\\\\\\\\(|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.language.name.less.filter.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"source.less.filter.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"source.less\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(stylus)(?=\\\\\\\\(|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.language.name.stylus.filter.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"source.stylus\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(coffee(-?script)?)(?=\\\\\\\\(|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.language.name.coffeescript.filter.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"source.coffeescript.filter.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"source.coffee\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*):(uglify-js)(?=\\\\\\\\(|$)\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"constant.language.name.js.filter.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"name\\\":\\\"source.js.filter.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)((:(?=.))|(:)$)\\\",\\\"beginCaptures\\\":{\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.empty.generic.filter.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?<=:)(?=.)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"name.generic.filter.pug\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\(\\\",\\\"name\\\":\\\"invalid.illegal.name.generic.filter.pug\\\"},{\\\"match\\\":\\\"[-\\\\\\\\w]\\\",\\\"name\\\":\\\"constant.language.name.generic.filter.pug\\\"},{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"match\\\":\\\"\\\\\\\\W\\\",\\\"name\\\":\\\"invalid.illegal.name.generic.filter.pug\\\"}]}]},{\\\"begin\\\":\\\"^(\\\\\\\\s*)(?:(?=\\\\\\\\.$)|(?=[#.\\\\\\\\w].*?\\\\\\\\.$)(?=(?:(?:#[-\\\\\\\\w]+|\\\\\\\\.[-\\\\\\\\w]+)|(?:[!#]\\\\\\\\{[^}]*}|\\\\\\\\w(?:[-:\\\\\\\\w]+[-\\\\\\\\w]|[-\\\\\\\\w]*)))(?:#[-\\\\\\\\w]+|\\\\\\\\.[-\\\\\\\\w]+|(?:\\\\\\\\((?:[^\\\\\\\"'()]*(?:'(?:[^']|(?<!\\\\\\\\\\\\\\\\)\\\\\\\\\\\\\\\\')*'|\\\\\\\"(?:[^\\\\\\\"]|(?<!\\\\\\\\\\\\\\\\)\\\\\\\\\\\\\\\\\\\\\\\")*\\\\\\\"))*[^()]*\\\\\\\\))*)*(?:(?::\\\\\\\\s+|(?<=\\\\\\\\)))(?:(?:#[-\\\\\\\\w]+|\\\\\\\\.[-\\\\\\\\w]+)|(?:[!#]\\\\\\\\{[^}]*}|\\\\\\\\w(?:[-:\\\\\\\\w]+[-\\\\\\\\w]|[-\\\\\\\\w]*)))(?:#[-\\\\\\\\w]+|\\\\\\\\.[-\\\\\\\\w]+|(?:\\\\\\\\((?:[^\\\\\\\"'()]*(?:'(?:[^']|(?<!\\\\\\\\\\\\\\\\)\\\\\\\\\\\\\\\\')*'|\\\\\\\"(?:[^\\\\\\\"]|(?<!\\\\\\\\\\\\\\\\)\\\\\\\\\\\\\\\\\\\\\\\")*\\\\\\\"))*[^()]*\\\\\\\\))*)*)*\\\\\\\\.$)(?:(?:(#[-\\\\\\\\w]+)|(\\\\\\\\.[-\\\\\\\\w]+))|([!#]\\\\\\\\{[^}]*}|\\\\\\\\w(?:[-:\\\\\\\\w]+[-\\\\\\\\w]|[-\\\\\\\\w]*))))\\\",\\\"beginCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"meta.selector.css entity.other.attribute-name.id.css.pug\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.selector.css entity.other.attribute-name.class.css.pug\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.tag.other entity.name.tag.pug\\\"}},\\\"end\\\":\\\"^(?!(\\\\\\\\1\\\\\\\\s)|\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.$\\\",\\\"name\\\":\\\"storage.type.function.pug.dot-block-dot\\\"},{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"#complete_tag\\\"},{\\\"begin\\\":\\\"^(?=.)\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"text.block.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"include\\\":\\\"#embedded_html\\\"},{\\\"include\\\":\\\"#html_entity\\\"},{\\\"include\\\":\\\"#interpolated_value\\\"},{\\\"include\\\":\\\"#interpolated_error\\\"}]}]},{\\\"begin\\\":\\\"^\\\\\\\\s*\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"include\\\":\\\"#blocks_and_includes\\\"},{\\\"include\\\":\\\"#unbuffered_code\\\"},{\\\"include\\\":\\\"#mixin_definition\\\"},{\\\"include\\\":\\\"#mixin_call\\\"},{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#flow_control_each\\\"},{\\\"include\\\":\\\"#case_conds\\\"},{\\\"begin\\\":\\\"\\\\\\\\|\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"text.block.pipe.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"include\\\":\\\"#embedded_html\\\"},{\\\"include\\\":\\\"#html_entity\\\"},{\\\"include\\\":\\\"#interpolated_value\\\"},{\\\"include\\\":\\\"#interpolated_error\\\"}]},{\\\"include\\\":\\\"#printed_expression\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(?=(#[^-{\\\\\\\\w])|[^#.\\\\\\\\w])\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"</?(?=[!#])\\\",\\\"end\\\":\\\">|$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"include\\\":\\\"#interpolated_value\\\"},{\\\"include\\\":\\\"#interpolated_error\\\"}]},{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"include\\\":\\\"#embedded_html\\\"},{\\\"include\\\":\\\"#html_entity\\\"},{\\\"include\\\":\\\"#interpolated_value\\\"},{\\\"include\\\":\\\"#interpolated_error\\\"}]},{\\\"include\\\":\\\"#complete_tag\\\"}]}],\\\"repository\\\":{\\\"babel_parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)|((\\\\\\\\{\\\\\\\\s*)?)$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#babel_parens\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"blocks_and_includes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.import.include.pug\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.control.import.include.pug\\\"}},\\\"match\\\":\\\"(extends|include|yield|append|prepend|block( ((?:ap|pre)pend))?)\\\\\\\\s+(.*)$\\\",\\\"name\\\":\\\"meta.first-class.pug\\\"},\\\"case_conds\\\":{\\\"begin\\\":\\\"(default|when)((\\\\\\\\s+|(?=:))|$)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.pug\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.control.flow.pug\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?!:)\\\",\\\"end\\\":\\\"(?=:\\\\\\\\s+)|$\\\",\\\"name\\\":\\\"js.embedded.control.flow.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_when_paren\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\":\\\\\\\\s+\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"tag.case.control.flow.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#complete_tag\\\"}]}]},\\\"case_when_paren\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"js.when.control.flow.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#case_when_paren\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"invalid.illegal.name.tag.pug\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"complete_tag\\\":{\\\"begin\\\":\\\"(?=[#.\\\\\\\\w])|(:\\\\\\\\s*)\\\",\\\"end\\\":\\\"(\\\\\\\\.?)$|(?=:.)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.pug.dot-block-dot\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#blocks_and_includes\\\"},{\\\"include\\\":\\\"#unbuffered_code\\\"},{\\\"include\\\":\\\"#mixin_call\\\"},{\\\"include\\\":\\\"#flow_control\\\"},{\\\"include\\\":\\\"#flow_control_each\\\"},{\\\"match\\\":\\\"(?<=:)\\\\\\\\w.*$\\\",\\\"name\\\":\\\"invalid.illegal.name.tag.pug\\\"},{\\\"include\\\":\\\"#tag_name\\\"},{\\\"include\\\":\\\"#tag_id\\\"},{\\\"include\\\":\\\"#tag_classes\\\"},{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"#tag_mixin_attributes\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.end.tag.pug\\\"},\\\"4\\\":{\\\"name\\\":\\\"invalid.illegal.end.tag.pug\\\"}},\\\"match\\\":\\\"(?:((\\\\\\\\.)\\\\\\\\s+)|((:)\\\\\\\\s*))$\\\"},{\\\"include\\\":\\\"#printed_expression\\\"},{\\\"include\\\":\\\"#tag_text\\\"}]},\\\"embedded_html\\\":{\\\"begin\\\":\\\"(?=<[^>]*>)\\\",\\\"end\\\":\\\"$|(?=>)\\\",\\\"name\\\":\\\"html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"#interpolated_value\\\"},{\\\"include\\\":\\\"#interpolated_error\\\"}]},\\\"flow_control\\\":{\\\"begin\\\":\\\"(for|if|else if|else|until|while|unless|case)(\\\\\\\\s+|$)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.pug\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.control.flow.pug\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"js.embedded.control.flow.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"flow_control_each\\\":{\\\"begin\\\":\\\"(each)(\\\\\\\\s+|$)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.pug\\\"}},\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"meta.control.flow.pug.each\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"([$_\\\\\\\\w]+)(?:\\\\\\\\s*,\\\\\\\\s*([$_\\\\\\\\w]+))?\\\",\\\"name\\\":\\\"variable.other.pug.each-var\\\"},{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"js.embedded.control.flow.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"html_entity\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.html.text.pug\\\"},{\\\"match\\\":\\\"[\\\\\\\\&<>]\\\",\\\"name\\\":\\\"invalid.illegal.html_entity.text.pug\\\"}]},\\\"inline_pug\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\\\\\\\\\)(#\\\\\\\\[)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.pug\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.pug\\\"}},\\\"end\\\":\\\"(])\\\",\\\"name\\\":\\\"inline.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"include\\\":\\\"#mixin_call\\\"},{\\\"begin\\\":\\\"(?<!])(?=[#.\\\\\\\\w])|(:\\\\\\\\s*)\\\",\\\"end\\\":\\\"(?=]|(:.)|[=\\\\\\\\s])\\\",\\\"name\\\":\\\"tag.inline.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_name\\\"},{\\\"include\\\":\\\"#tag_id\\\"},{\\\"include\\\":\\\"#tag_classes\\\"},{\\\"include\\\":\\\"#tag_attributes\\\"},{\\\"include\\\":\\\"#tag_mixin_attributes\\\"},{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"match\\\":\\\"\\\\\\\\[\\\",\\\"name\\\":\\\"invalid.illegal.tag.pug\\\"}]},{\\\"include\\\":\\\"#unbuffered_code\\\"},{\\\"include\\\":\\\"#printed_expression\\\"},{\\\"match\\\":\\\"\\\\\\\\[\\\",\\\"name\\\":\\\"invalid.illegal.tag.pug\\\"},{\\\"include\\\":\\\"#inline_pug_text\\\"}]},\\\"inline_pug_text\\\":{\\\"begin\\\":\\\"\\\",\\\"end\\\":\\\"(?=])\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_pug_text\\\"}]},{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"include\\\":\\\"#embedded_html\\\"},{\\\"include\\\":\\\"#html_entity\\\"},{\\\"include\\\":\\\"#interpolated_value\\\"},{\\\"include\\\":\\\"#interpolated_error\\\"}]},\\\"interpolated_error\\\":{\\\"match\\\":\\\"(?<!\\\\\\\\\\\\\\\\)[!#]\\\\\\\\{(?=[^}]*$)\\\",\\\"name\\\":\\\"invalid.illegal.tag.pug\\\"},\\\"interpolated_value\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\\\\\\\\\)[!#]\\\\\\\\{(?=.*?})\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"string.interpolated.pug\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"invalid.illegal.tag.pug\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"js_braces\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#js_braces\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"js_brackets\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#js_brackets\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"js_parens\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#js_parens\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"mixin_call\\\":{\\\"begin\\\":\\\"(mixin\\\\\\\\s+|\\\\\\\\+)([-\\\\\\\\w]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.pug\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.other entity.name.function.pug\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\()|$\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\))\\\\\\\\(\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"args.mixin.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#js_parens\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.other entity.other.attribute-name.tag.pug\\\"}},\\\"match\\\":\\\"([^(),/=\\\\\\\\s]+)\\\\\\\\s*=\\\\\\\\s*\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"include\\\":\\\"#tag_attributes\\\"}]},\\\"mixin_definition\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.pug\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.other entity.name.function.pug\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.js\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.function.js\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.js\\\"}},\\\"match\\\":\\\"(mixin\\\\\\\\s+)([-\\\\\\\\w]+)(?:(\\\\\\\\()\\\\\\\\s*([A-Z_a-z]\\\\\\\\w*\\\\\\\\s*(?:,\\\\\\\\s*[A-Z_a-z]\\\\\\\\w*\\\\\\\\s*)*)(\\\\\\\\)))?$\\\"},\\\"printed_expression\\\":{\\\"begin\\\":\\\"(!?=)\\\\\\\\s*\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant\\\"}},\\\"end\\\":\\\"(?=])|$\\\",\\\"name\\\":\\\"source.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#js_brackets\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"tag_attribute_name\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.tag.pug\\\"}},\\\"match\\\":\\\"([^!(),/=\\\\\\\\s]+)\\\\\\\\s*\\\"},\\\"tag_attribute_name_paren\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\\\\\\s*\\\",\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"entity.other.attribute-name.tag.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attribute_name_paren\\\"},{\\\"include\\\":\\\"#tag_attribute_name\\\"}]},\\\"tag_attributes\\\":{\\\"begin\\\":\\\"(\\\\\\\\(\\\\\\\\s*)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.name.attribute.tag.pug\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.tag.other\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag_attribute_name_paren\\\"},{\\\"include\\\":\\\"#tag_attribute_name\\\"},{\\\"match\\\":\\\"!(?!=)\\\",\\\"name\\\":\\\"invalid.illegal.tag.pug\\\"},{\\\"begin\\\":\\\"=\\\\\\\\s*\\\",\\\"end\\\":\\\"$|(?=,|\\\\\\\\s+[^-!%\\\\\\\\&*+/<>?|~]|\\\\\\\\))\\\",\\\"name\\\":\\\"attribute_value\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#js_parens\\\"},{\\\"include\\\":\\\"#js_brackets\\\"},{\\\"include\\\":\\\"#js_braces\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(?<=[-%\\\\\\\\&*+/:<>?|~])\\\\\\\\s+\\\",\\\"end\\\":\\\"$|(?=,|\\\\\\\\s+[^-!%\\\\\\\\&*+/<>?|~]|\\\\\\\\))\\\",\\\"name\\\":\\\"attribute_value2\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#js_parens\\\"},{\\\"include\\\":\\\"#js_brackets\\\"},{\\\"include\\\":\\\"#js_braces\\\"},{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"tag_classes\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"invalid.illegal.tag.pug\\\"}},\\\"match\\\":\\\"\\\\\\\\.([^-\\\\\\\\w])?[-\\\\\\\\w]*\\\",\\\"name\\\":\\\"meta.selector.css entity.other.attribute-name.class.css.pug\\\"},\\\"tag_id\\\":{\\\"match\\\":\\\"#[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"meta.selector.css entity.other.attribute-name.id.css.pug\\\"},\\\"tag_mixin_attributes\\\":{\\\"begin\\\":\\\"(&attributes\\\\\\\\()\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.pug\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"name\\\":\\\"meta.tag.other\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"attributes(?=\\\\\\\\))\\\",\\\"name\\\":\\\"storage.type.keyword.pug\\\"},{\\\"include\\\":\\\"source.js\\\"}]},\\\"tag_name\\\":{\\\"begin\\\":\\\"([!#]\\\\\\\\{(?=.*?}))|(\\\\\\\\w(([-:\\\\\\\\w]+[-\\\\\\\\w])|([-\\\\\\\\w]*)))\\\",\\\"end\\\":\\\"\\\\\\\\G((?<!\\\\\\\\5[^-\\\\\\\\w]))|}|$\\\",\\\"name\\\":\\\"meta.tag.other entity.name.tag.pug\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?<=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.tag.other entity.name.tag.pug\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"invalid.illegal.tag.pug\\\"},{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"tag_text\\\":{\\\"begin\\\":\\\"(?=.)\\\",\\\"end\\\":\\\"$\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#inline_pug\\\"},{\\\"include\\\":\\\"#embedded_html\\\"},{\\\"include\\\":\\\"#html_entity\\\"},{\\\"include\\\":\\\"#interpolated_value\\\"},{\\\"include\\\":\\\"#interpolated_error\\\"}]},\\\"unbuffered_code\\\":{\\\"begin\\\":\\\"(-|(([0-9A-Z_a-z]+)\\\\\\\\s+=))\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.javascript.embedded.pug\\\"}},\\\"end\\\":\\\"(?=])|((\\\\\\\\{\\\\\\\\s*)?)$\\\",\\\"name\\\":\\\"source.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#js_brackets\\\"},{\\\"include\\\":\\\"#babel_parens\\\"},{\\\"include\\\":\\\"source.js\\\"}]}},\\\"scopeName\\\":\\\"text.pug\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"css\\\",\\\"html\\\"],\\\"aliases\\\":[\\\"jade\\\"],\\\"embeddedLangsLazy\\\":[\\\"sass\\\",\\\"scss\\\",\\\"stylus\\\",\\\"coffee\\\"]}\"))\n\nexport default [\n...javascript,\n...css,\n...html,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Sass\\\",\\\"fileTypes\\\":[\\\"sass\\\"],\\\"foldingStartMarker\\\":\\\"/\\\\\\\\*|^#|^\\\\\\\\*|^\\\\\\\\b|\\\\\\\\*#?region|^\\\\\\\\.\\\",\\\"foldingStopMarker\\\":\\\"\\\\\\\\*/|\\\\\\\\*#?endregion|^\\\\\\\\s*$\\\",\\\"name\\\":\\\"sass\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"^(\\\\\\\\s*)(/\\\\\\\\*)\\\",\\\"end\\\":\\\"(\\\\\\\\*/)|^(?!\\\\\\\\s\\\\\\\\1)\\\",\\\"name\\\":\\\"comment.block.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-tag\\\"},{\\\"include\\\":\\\"#comment-param\\\"}]},{\\\"match\\\":\\\"^[\\\\\\\\t ]*/?//[\\\\\\\\t ]*[IRS][\\\\\\\\t ]*$\\\",\\\"name\\\":\\\"keyword.other.sass.formatter.action\\\"},{\\\"begin\\\":\\\"^[\\\\\\\\t ]*//[\\\\\\\\t ]*(import)[\\\\\\\\t ]*(css-variables)[\\\\\\\\t ]*(from)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.import.css.variables\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-quotes\\\"}]},{\\\"include\\\":\\\"#double-slash\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#curly-brackets\\\"},{\\\"include\\\":\\\"#placeholder-selector\\\"},{\\\"begin\\\":\\\"\\\\\\\\$[-0-9A-Z_a-z]+(?=:)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.name\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?|(?=\\\\\\\\)(?:\\\\\\\\s\\\\\\\\)|\\\\\\\\n))\\\",\\\"name\\\":\\\"sass.script.maps\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-slash\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#flag\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#reserved-words\\\"},{\\\"include\\\":\\\"#parent-selector\\\"},{\\\"include\\\":\\\"#property-value\\\"},{\\\"include\\\":\\\"#semicolon\\\"},{\\\"include\\\":\\\"#dotdotdot\\\"}]},{\\\"include\\\":\\\"#variable-root\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#flag\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#semicolon\\\"},{\\\"include\\\":\\\"#dotdotdot\\\"},{\\\"begin\\\":\\\"@include|\\\\\\\\+(?![\\\\\\\\W\\\\\\\\d])\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css.sass\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n(])\\\",\\\"name\\\":\\\"support.function.name.sass.library\\\"},{\\\"begin\\\":\\\"^(@use)\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css.sass.use\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"sass.use\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"as|with\\\",\\\"name\\\":\\\"support.type.css.sass\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#variable-root\\\"},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#parenthesis-open\\\"},{\\\"include\\\":\\\"#parenthesis-close\\\"},{\\\"include\\\":\\\"#colon\\\"},{\\\"include\\\":\\\"#import-quotes\\\"}]},{\\\"begin\\\":\\\"^@import(.*?)( as.*)?$\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.css.sass\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"keyword.control.at-rule.use\\\"},{\\\"begin\\\":\\\"@mixin|^[\\\\\\\\t ]*=|@function\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css.sass\\\"}},\\\"end\\\":\\\"$\\\\\\\\n?|(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.name.sass\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"[-\\\\\\\\w]+\\\",\\\"name\\\":\\\"entity.name.function\\\"}]},{\\\"begin\\\":\\\"@\\\",\\\"end\\\":\\\"$\\\\\\\\n?|\\\\\\\\s(?!(all|braille|embossed|handheld|print|projection|screen|speech|tty|tv|if|only|not)([,\\\\\\\\s]))\\\",\\\"name\\\":\\\"keyword.control.at-rule.css.sass\\\"},{\\\"begin\\\":\\\"(?<![-(])\\\\\\\\b(a|abbr|acronym|address|applet|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|label|legend|li|link|map|mark|menu|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video|main|svg|rect|ruby|center|circle|ellipse|line|polyline|polygon|path|text|u|slot)\\\\\\\\b(?![-)]|:\\\\\\\\s)|&\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=[-#(),.>\\\\\\\\[_\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.name.tag.css.sass.symbol\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"#\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=[(),.>\\\\\\\\[\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\.|(?<=&)([-_])\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=[(),>\\\\\\\\[\\\\\\\\s])\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]\\\",\\\"name\\\":\\\"entity.other.attribute-selector.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"match\\\":\\\"[$*^~]\\\",\\\"name\\\":\\\"keyword.other.regex.sass\\\"}]},{\\\"match\\\":\\\"^((?<=[])]|not\\\\\\\\(|[*>]|>\\\\\\\\s)|\\\\\\\\n*):[-:a-z]+|(:[-:])[-:a-z]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css.sass\\\"},{\\\"include\\\":\\\"#module\\\"},{\\\"match\\\":\\\"[-\\\\\\\\w]*\\\\\\\\(\\\",\\\"name\\\":\\\"entity.name.function\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.function.close\\\"},{\\\"begin\\\":\\\":\\\",\\\"end\\\":\\\"$\\\\\\\\n?|(?=\\\\\\\\s\\\\\\\\(|and\\\\\\\\(|\\\\\\\\),)\\\",\\\"name\\\":\\\"meta.property-list.css.sass.prop\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=:)[-a-z]+\\\\\\\\s\\\",\\\"name\\\":\\\"support.type.property-name.css.sass.prop.name\\\"},{\\\"include\\\":\\\"#double-slash\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#curly-brackets\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#module\\\"},{\\\"match\\\":\\\"--.+?(?=\\\\\\\\))\\\",\\\"name\\\":\\\"variable.css\\\"},{\\\"match\\\":\\\"[-\\\\\\\\w]*\\\\\\\\(\\\",\\\"name\\\":\\\"entity.name.function\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.function.close\\\"},{\\\"include\\\":\\\"#flag\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#semicolon\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#parent-selector\\\"},{\\\"include\\\":\\\"#property-value\\\"}]},{\\\"include\\\":\\\"#rgb-value\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#function-content\\\"},{\\\"begin\\\":\\\"(?<=})(?![\\\\\\\\n()]|[-0-9A-Z_a-z]+:)\\\",\\\"end\\\":\\\"\\\\\\\\s|(?=[\\\\\\\\n),.\\\\\\\\[])\\\",\\\"name\\\":\\\"entity.name.tag.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#pseudo-class\\\"}]},{\\\"include\\\":\\\"#operator\\\"},{\\\"match\\\":\\\"[-a-z]+((?=:|#\\\\\\\\{))\\\",\\\"name\\\":\\\"support.type.property-name.css.sass.prop.name\\\"},{\\\"include\\\":\\\"#reserved-words\\\"},{\\\"include\\\":\\\"#property-value\\\"}],\\\"repository\\\":{\\\"colon\\\":{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"meta.property-list.css.sass.colon\\\"},\\\"comma\\\":{\\\"match\\\":\\\"\\\\\\\\band\\\\\\\\b|\\\\\\\\bor\\\\\\\\b|,\\\",\\\"name\\\":\\\"comment.punctuation.comma.sass\\\"},\\\"comment-param\\\":{\\\"match\\\":\\\"@(\\\\\\\\w+)\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"comment-tag\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\{\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=}})\\\",\\\"name\\\":\\\"comment.tag.sass\\\"},\\\"curly-brackets\\\":{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"invalid\\\"},\\\"dotdotdot\\\":{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"variable.other\\\"},\\\"double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted-interpolation\\\"}]},\\\"double-slash\\\":{\\\"begin\\\":\\\"//\\\",\\\"end\\\":\\\"$\\\\\\\\n?\\\",\\\"name\\\":\\\"comment.line.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment-tag\\\"}]},\\\"flag\\\":{\\\"match\\\":\\\"!(important|default|optional|global)\\\",\\\"name\\\":\\\"keyword.other.important.css.sass\\\"},\\\"function\\\":{\\\"match\\\":\\\"(?<=[(,:|\\\\\\\\s])(?!url|format|attr)[-0-9A-Z_a-z][-\\\\\\\\w]*(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.name.sass\\\"},\\\"function-content\\\":{\\\"begin\\\":\\\"(?<=url\\\\\\\\(|format\\\\\\\\(|attr\\\\\\\\()\\\",\\\"end\\\":\\\".(?=\\\\\\\\))\\\",\\\"name\\\":\\\"string.quoted.double.css.sass\\\"},\\\"import-quotes\\\":{\\\"match\\\":\\\"[\\\\\\\"']?\\\\\\\\.{0,2}[/\\\\\\\\w]+[\\\\\\\"']?\\\",\\\"name\\\":\\\"constant.character.css.sass\\\"},\\\"interpolation\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"support.function.interpolation.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#comma\\\"},{\\\"include\\\":\\\"#double-quoted\\\"},{\\\"include\\\":\\\"#single-quoted\\\"}]},\\\"module\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.module.name\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.module.dot\\\"}},\\\"match\\\":\\\"([-\\\\\\\\w]+?)(\\\\\\\\.)\\\",\\\"name\\\":\\\"constant.character.module\\\"},\\\"numeric\\\":{\\\"match\\\":\\\"([-.])?[0-9]+(\\\\\\\\.[0-9]+)?\\\",\\\"name\\\":\\\"constant.numeric.css.sass\\\"},\\\"operator\\\":{\\\"match\\\":\\\"\\\\\\\\+|\\\\\\\\s-\\\\\\\\s|\\\\\\\\s-(?=\\\\\\\\$)|(?<=\\\\\\\\()-(?=\\\\\\\\$)|\\\\\\\\s-(?=\\\\\\\\()|[!%*/<=>~]\\\",\\\"name\\\":\\\"keyword.operator.sass\\\"},\\\"parent-selector\\\":{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"entity.name.tag.css.sass\\\"},\\\"parenthesis-close\\\":{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"entity.name.function.parenthesis.close\\\"},\\\"parenthesis-open\\\":{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"entity.name.function.parenthesis.open\\\"},\\\"placeholder-selector\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\d)%(?!\\\\\\\\d)\\\",\\\"end\\\":\\\"$\\\\\\\\n?|\\\\\\\\s\\\",\\\"name\\\":\\\"entity.other.inherited-class.placeholder-selector.css.sass\\\"},\\\"property-value\\\":{\\\"match\\\":\\\"[-0-9A-Z_a-z]+\\\",\\\"name\\\":\\\"meta.property-value.css.sass support.constant.property-value.css.sass\\\"},\\\"pseudo-class\\\":{\\\"match\\\":\\\":[-:a-z]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css.sass\\\"},\\\"quoted-interpolation\\\":{\\\"begin\\\":\\\"#\\\\\\\\{\\\",\\\"end\\\":\\\"}\\\",\\\"name\\\":\\\"support.function.interpolation.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#unit\\\"},{\\\"include\\\":\\\"#comma\\\"}]},\\\"reserved-words\\\":{\\\"match\\\":\\\"\\\\\\\\b(false|from|in|not|null|through|to|true)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.property-name.css.sass\\\"},\\\"rgb-value\\\":{\\\"match\\\":\\\"(#)(\\\\\\\\h{3,4}|\\\\\\\\h{6}|\\\\\\\\h{8})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.color.rgb-value.css.sass\\\"},\\\"semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"invalid\\\"},\\\"single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"end\\\":\\\"'\\\",\\\"name\\\":\\\"string.quoted.single.css.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#quoted-interpolation\\\"}]},\\\"unit\\\":{\\\"match\\\":\\\"(?<=[}\\\\\\\\d])(ch|cm|deg|dpcm|dpi|dppx|em|ex|grad|Hz|in|kHz|mm|ms|pc|pt|px|rad|rem|s|turn|vh|vmax|vmin|vw|fr|%)\\\",\\\"name\\\":\\\"keyword.control.unit.css.sass\\\"},\\\"variable\\\":{\\\"match\\\":\\\"\\\\\\\\$[-0-9A-Z_a-z]+\\\",\\\"name\\\":\\\"variable.other.value\\\"},\\\"variable-root\\\":{\\\"match\\\":\\\"\\\\\\\\$[-0-9A-Z_a-z]+\\\",\\\"name\\\":\\\"variable.other.root\\\"}},\\\"scopeName\\\":\\\"source.sass\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Stylus\\\",\\\"fileTypes\\\":[\\\"styl\\\",\\\"stylus\\\",\\\"css.styl\\\",\\\"css.stylus\\\"],\\\"name\\\":\\\"stylus\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#at_rule\\\"},{\\\"include\\\":\\\"#language_keywords\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"include\\\":\\\"#variable_declaration\\\"},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#selector\\\"},{\\\"include\\\":\\\"#declaration\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.property-list.begin.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.property-list.end.css\\\"}},\\\"match\\\":\\\"(\\\\\\\\{)(})\\\",\\\"name\\\":\\\"meta.brace.curly.css\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"meta.brace.curly.css\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#operator\\\"}],\\\"repository\\\":{\\\"at_rule\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\s*((@)(import|require))\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.import.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$|\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.import.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*((@)(extends?))\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.extend.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$|\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.at-rule.extend.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#selector\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.fontface.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)font-face)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.fontface.stylus\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.css.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)css)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.css.stylus\\\"},{\\\"begin\\\":\\\"\\\\\\\\s*((@)charset)\\\\\\\\b\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.charset.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=;|$|\\\\\\\\n))\\\",\\\"name\\\":\\\"meta.at-rule.charset.stylus\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\s*((@)keyframes)\\\\\\\\b\\\\\\\\s+([-A-Z_a-z][-0-9A-Z_a-z]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.keyframes.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.keyframe.stylus\\\"}},\\\"end\\\":\\\"\\\\\\\\s*((?=\\\\\\\\{|$|\\\\\\\\n))\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.stylus\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\b((\\\\\\\\d+%|from\\\\\\\\b|to\\\\\\\\b)))\\\",\\\"end\\\":\\\"(?=([\\\\\\\\n{]))\\\",\\\"name\\\":\\\"meta.at-rule.keyframes.stylus\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b((\\\\\\\\d+%|from\\\\\\\\b|to\\\\\\\\b))\\\",\\\"name\\\":\\\"entity.other.attribute-name.stylus\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.at-rule.media.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.stylus\\\"}},\\\"match\\\":\\\"^\\\\\\\\s*((@)media)\\\\\\\\b\\\",\\\"name\\\":\\\"meta.at-rule.media.stylus\\\"},{\\\"match\\\":\\\"(?=\\\\\\\\w)(?<![-\\\\\\\\w])(width|scan|resolution|orientation|monochrome|min-width|min-resolution|min-monochrome|min-height|min-device-width|min-device-height|min-device-aspect-ratio|min-color-index|min-color|min-aspect-ratio|max-width|max-resolution|max-monochrome|max-height|max-device-width|max-device-height|max-device-aspect-ratio|max-color-index|max-color|max-aspect-ratio|height|grid|device-width|device-height|device-aspect-ratio|color-index|color|aspect-ratio)(?<=\\\\\\\\w)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.type.property-name.media-feature.media.css\\\"},{\\\"match\\\":\\\"(?=\\\\\\\\w)(?<![-\\\\\\\\w])(tv|tty|screen|projection|print|handheld|embossed|braille|aural|all)(?<=\\\\\\\\w)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.media-type.media.css\\\"},{\\\"match\\\":\\\"(?=\\\\\\\\w)(?<![-\\\\\\\\w])(portrait|landscape)(?<=\\\\\\\\w)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.property-value.media-property.media.css\\\"}]},\\\"char_escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(.)\\\",\\\"name\\\":\\\"constant.character.escape.stylus\\\"},\\\"color\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(rgba??|hsla??)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.color.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"name\\\":\\\"meta.function.color.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\",\\\"name\\\":\\\"punctuation.separator.parameter.css\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#property_variable\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.constant.css\\\"}},\\\"match\\\":\\\"(#)(\\\\\\\\h{3}|\\\\\\\\h{6})\\\\\\\\b\\\",\\\"name\\\":\\\"constant.other.color.rgb-value.css\\\"},{\\\"match\\\":\\\"\\\\\\\\b(aqua|black|blue|fuchsia|gray|green|lime|maroon|navy|olive|orange|purple|red|silver|teal|white|yellow)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.color.w3c-standard-color-name.css\\\"},{\\\"match\\\":\\\"\\\\\\\\b(aliceblue|antiquewhite|aquamarine|azure|beige|bisque|blanchedalmond|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|gainsboro|ghostwhite|gold|goldenrod|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|limegreen|linen|magenta|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|oldlace|olivedrab|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|thistle|tomato|turquoise|violet|wheat|whitesmoke|yellowgreen)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.color.w3c-extended-color-name.css\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment_block\\\"},{\\\"include\\\":\\\"#comment_line\\\"}]},\\\"comment_block\\\":{\\\"begin\\\":\\\"/\\\\\\\\*\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.end.css\\\"}},\\\"name\\\":\\\"comment.block.css\\\"},\\\"comment_line\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?(?=//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.stylus\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"//\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.stylus\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\n)\\\",\\\"name\\\":\\\"comment.line.double-slash.stylus\\\"}]},\\\"declaration\\\":{\\\"begin\\\":\\\"((?<=^)[^\\\\\\\\n\\\\\\\\S]+)|((?<=;)[^\\\\\\\\n\\\\\\\\S]*)|((?<=\\\\\\\\{)[^\\\\\\\\n\\\\\\\\S]*)\\\",\\\"end\\\":\\\"(?=\\\\\\\\n)|(;)|(?=})|(\\\\\\\\n)\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.property-list.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![-\\\\\\\\w])--[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*\\\",\\\"name\\\":\\\"variable.css\\\"},{\\\"include\\\":\\\"#language_keywords\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"match\\\":\\\"(?<=^)[^\\\\\\\\n\\\\\\\\S]+(\\\\\\\\n)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.section.css\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(counter-(?:reset|increment))(?:(:)|[^\\\\\\\\n\\\\\\\\S])[^\\\\\\\\n\\\\\\\\S]*([-A-Z_a-z][-0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"meta.property.counter.css\\\"},{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(filter)(?:(:)|[^\\\\\\\\n\\\\\\\\S])[^\\\\\\\\n\\\\\\\\S]*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n;}]|$)\\\",\\\"name\\\":\\\"meta.property.filter.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},{\\\"include\\\":\\\"#property\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"$self\\\"}]},\\\"font_name\\\":{\\\"match\\\":\\\"\\\\\\\\b((?i:arial|century|comic|courier|cursive|fantasy|futura|garamond|georgia|helvetica|impact|lucida|monospace|symbol|system|tahoma|times|trebuchet|utopia|verdana|webdings|sans-serif|serif))\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.font-name.css\\\"},\\\"function\\\":{\\\"begin\\\":\\\"(?=[-A-Z_a-z][-0-9A-Z_a-z]*\\\\\\\\()\\\",\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(format|url|local)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.misc.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\()[^)\\\\\\\\s]*(?=\\\\\\\\))\\\",\\\"name\\\":\\\"string.css\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"match\\\":\\\"\\\\\\\\s*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.counter.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.section.css\\\"}},\\\"match\\\":\\\"(counter)(\\\\\\\\()([-A-Z_a-z][-0-9A-Z_a-z]*)(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.misc.counter.css\\\"},{\\\"begin\\\":\\\"(counters)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.counters.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.misc.counters.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G[-A-Z_a-z][-0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"variable.section.css\\\"},{\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\",\\\"name\\\":\\\"punctuation.separator.parameter.css\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(attr)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.attr.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.misc.attr.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\G[-A-Z_a-z][-0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.other.attribute-name.attribute.css\\\"},{\\\"match\\\":\\\"(?<=[-0-9A-Z_a-z])\\\\\\\\s*\\\\\\\\b(string|color|url|integer|number|length|em|ex|px|rem|vw|vh|vmin|vmax|mm|cm|in|pt|pc|angle|deg|grad|rad|time|s|ms|frequency|Hz|kHz|%)\\\\\\\\b\\\",\\\"name\\\":\\\"support.type.attr.css\\\"},{\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\",\\\"name\\\":\\\"punctuation.separator.parameter.css\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(calc)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.misc.calc.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.misc.calc.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property_values\\\"}]},{\\\"begin\\\":\\\"(cubic-bezier)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing.cubic-bezier.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.timing.cubic-bezier.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\",\\\"name\\\":\\\"punctuation.separator.parameter.css\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(steps)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.timing.steps.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.timing.steps.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\",\\\"name\\\":\\\"punctuation.separator.parameter.css\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"match\\\":\\\"\\\\\\\\b(start|end)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.timing.steps.direction.css\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"((?:linear|radial|repeating-linear|repeating-radial)-gradient)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.gradient.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.gradient.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\",\\\"name\\\":\\\"punctuation.separator.parameter.css\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#color\\\"},{\\\"match\\\":\\\"\\\\\\\\b(to|bottom|right|left|top|circle|ellipse|center|closest-side|closest-corner|farthest-side|farthest-corner|at)\\\\\\\\b\\\",\\\"name\\\":\\\"support.constant.gradient.css\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(blur|brightness|contrast|grayscale|hue-rotate|invert|opacity|saturate|sepia)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.filter.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#property_variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(drop-shadow)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.filter.drop-shadow.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.filter.drop-shadow.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#color\\\"},{\\\"include\\\":\\\"#property_variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[Yy]|rotate[Zz]|scale|scale3d|scale[Xx]|scale[Yy]|scale[Zz]|skew[Xx]??|skew[Yy]|translate|translate3d|translate[Xx]|translate[Yy]|translate[Zz])(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.function.transform.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.transform.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#property_variable\\\"},{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"match\\\":\\\"(url|local|format|counters??|attr|calc)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.misc.css\\\"},{\\\"match\\\":\\\"(cubic-bezier|steps)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.timing.css\\\"},{\\\"match\\\":\\\"((?:linear|radial|repeating-linear|repeating-radial)-gradient)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.gradient.css\\\"},{\\\"match\\\":\\\"(blur|brightness|contrast|drop-shadow|grayscale|hue-rotate|invert|opacity|saturate|sepia)(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.filter.css\\\"},{\\\"match\\\":\\\"(matrix|matrix3d|perspective|rotate|rotate3d|rotate[Xx]|rotate[Yy]|rotate[Zz]|scale|scale3d|scale[Xx]|scale[Yy]|scale[Zz]|skew[Xx]??|skew[Yy]|translate|translate3d|translate[Xx]|translate[Yy]|translate[Zz])(?=\\\\\\\\()\\\",\\\"name\\\":\\\"support.function.transform.css\\\"},{\\\"begin\\\":\\\"([-A-Z_a-z][-0-9A-Z_a-z]*)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.function.stylus\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"--[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*\\\",\\\"name\\\":\\\"variable.argument.stylus\\\"},{\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\",\\\"name\\\":\\\"punctuation.separator.parameter.css\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#property_values\\\"}]},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.section.function.css\\\"}]},\\\"interpolation\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)[^\\\\\\\\n\\\\\\\\S]*(?=[^;=]*[^\\\\\\\\n\\\\\\\\S]*})\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.curly\\\"}},\\\"end\\\":\\\"[^\\\\\\\\n\\\\\\\\S]*(})|\\\\\\\\n|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.curly\\\"}},\\\"name\\\":\\\"meta.interpolation.stylus\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#operator\\\"}]},\\\"language_constants\\\":{\\\"match\\\":\\\"\\\\\\\\b(true|false|null)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.stylus\\\"},\\\"language_keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(\\\\\\\\b|\\\\\\\\s)(return|else|for|unless|if|else)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.stylus\\\"},{\\\"match\\\":\\\"(\\\\\\\\b|\\\\\\\\s)(!important|in|is defined|is a)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.stylus\\\"},{\\\"match\\\":\\\"\\\\\\\\barguments\\\\\\\\b\\\",\\\"name\\\":\\\"variable.language.stylus\\\"}]},\\\"numeric\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.unit.css\\\"}},\\\"match\\\":\\\"(?<![-\\\\\\\\w])(?:[-+]?[0-9]+(?:\\\\\\\\.[0-9]+)?|\\\\\\\\.[0-9]+)((?:px|pt|ch|cm|mm|in|r?em|ex|pc|deg|g?rad|dpi|dpcm|dppx|fr|ms|s|turn|vh|vmax|vmin|vw)\\\\\\\\b|%)?\\\",\\\"name\\\":\\\"constant.numeric.css\\\"}]},\\\"operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"((?:[!+:?~]|(\\\\\\\\s-\\\\\\\\s)|\\\\\\\\*?\\\\\\\\*|[%/]|(\\\\\\\\.)?\\\\\\\\.\\\\\\\\.|[<>]|[-%*+/:<-?]?=|!=)|\\\\\\\\b(?:in|is(?:nt)?|(?<!:)not|or|and)\\\\\\\\b)\\\",\\\"name\\\":\\\"keyword.operator.stylus\\\"},{\\\"include\\\":\\\"#char_escape\\\"}]},\\\"property\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(?:(-webkit-[-A-Za-z]+|-moz-[-A-Za-z]+|-o-[-A-Za-z]+|-ms-[-A-Za-z]+|-khtml-[-A-Za-z]+|zoom|z-index|[xy]|wrap|word-wrap|word-spacing|word-break|word|width|widows|white-space-collapse|white-space|white|weight|volume|voice-volume|voice-stress|voice-rate|voice-pitch-range|voice-pitch|voice-family|voice-duration|voice-balance|voice|visibility|vertical-align|variant|user-select|up|unicode-bidi|unicode-range|unicode|trim|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform|touch-action|top-width|top-style|top-right-radius|top-left-radius|top-color|top|timing-function|text-wrap|text-transform|text-shadow|text-replace|text-rendering|text-overflow|text-outline|text-justify|text-indent|text-height|text-emphasis|text-decoration|text-align-last|text-align|text|target-position|target-new|target-name|target|table-layout|tab-size|style-type|style-position|style-image|style|string-set|stretch|stress|stacking-strategy|stacking-shift|stacking-ruby|stacking|src|speed|speech-rate|speech|speak-punctuation|speak-numeral|speak-header|speak|span|spacing|space-collapse|space|sizing|size-adjust|size|shadow|respond-to|rule-width|rule-style|rule-color|rule|ruby-span|ruby-position|ruby-overhang|ruby-align|ruby|rows|rotation-point|rotation|role|right-width|right-style|right-color|right|richness|rest-before|rest-after|rest|resource|resize|reset|replace|repeat|rendering-intent|rate|radius|quotes|punctuation-trim|punctuation|property|profile|presentation-level|presentation|position|pointer-events|point|play-state|play-during|play-count|pitch-range|pitch|phonemes|pause-before|pause-after|pause|page-policy|page-break-inside|page-break-before|page-break-after|page|padding-top|padding-right|padding-left|padding-bottom|padding|pack|overhang|overflow-y|overflow-x|overflow-style|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|origin|orientation|orient|ordinal-group|order|opacity|offset|numeral|new|nav-up|nav-right|nav-left|nav-index|nav-down|nav|name|move-to|model|mix-blend-mode|min-width|min-height|min|max-width|max-height|max|marquee-style|marquee-speed|marquee-play-count|marquee-direction|marquee|marks|mark-before|mark-after|mark|margin-top|margin-right|margin-left|margin-bottom|margin|mask-image|list-style-type|list-style-position|list-style-image|list-style|list|lines|line-stacking-strategy|line-stacking-shift|line-stacking-ruby|line-stacking|line-height|line-break|level|letter-spacing|length|left-width|left-style|left-color|left|label|justify-content|justify|iteration-count|inline-box-align|initial-value|initial-size|initial-before-align|initial-before-adjust|initial-after-align|initial-after-adjust|index|indent|increment|image-resolution|image-orientation|image|icon|hyphens|hyphenate-resource|hyphenate-lines|hyphenate-character|hyphenate-before|hyphenate-after|hyphenate|height|header|hanging-punctuation|gap|grid|grid-area|grid-auto-columns|grid-auto-flow|grid-auto-rows|grid-column|grid-column-end|grid-column-start|grid-row|grid-row-end|grid-row-start|grid-template|grid-template-areas|grid-template-columns|grid-template-rows|row-gap|gap|font-kerning|font-language-override|font-weight|font-variant-caps|font-variant|font-style|font-synthesis|font-stretch|font-size-adjust|font-size|font-family|font|float-offset|float|flex-wrap|flex-shrink|flex-grow|flex-group|flex-flow|flex-direction|flex-basis|flex|fit-position|fit|fill|filter|family|empty-cells|emphasis|elevation|duration|drop-initial-value|drop-initial-size|drop-initial-before-align|drop-initial-before-adjust|drop-initial-after-align|drop-initial-after-adjust|drop|down|dominant-baseline|display-role|display-model|display|direction|delay|decoration-break|decoration|cursor|cue-before|cue-after|cue|crop|counter-reset|counter-increment|counter|count|content|columns|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|column-break-before|column-break-after|column|color-profile|color|collapse|clip|clear|character|caption-side|break-inside|break-before|break-after|break|box-sizing|box-shadow|box-pack|box-orient|box-ordinal-group|box-lines|box-flex-group|box-flex|box-direction|box-decoration-break|box-align|box|bottom-width|bottom-style|bottom-right-radius|bottom-left-radius|bottom-color|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-length|border-left-width|border-left-style|border-left-color|border-left|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|bookmark-target|bookmark-level|bookmark-label|bookmark|binding|bidi|before|baseline-shift|baseline|balance|background-blend-mode|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-break|background-attachment|background|azimuth|attachment|appearance|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-duration|animation-direction|animation-delay|animation-fill-mode|animation|alignment-baseline|alignment-adjust|alignment|align-self|align-last|align-items|align-content|align|after|adjust|will-change)|(writing-mode|text-anchor|stroke-width|stroke-opacity|stroke-miterlimit|stroke-linejoin|stroke-linecap|stroke-dashoffset|stroke-dasharray|stroke|stop-opacity|stop-color|shape-rendering|marker-start|marker-mid|marker-end|lighting-color|kerning|image-rendering|glyph-orientation-vertical|glyph-orientation-horizontal|flood-opacity|flood-color|fill-rule|fill-opacity|fill|enable-background|color-rendering|color-interpolation-filters|color-interpolation|clip-rule|clip-path)|([-A-Z_a-z][-0-9A-Z_a-z]*))(?!([^\\\\\\\\n\\\\\\\\S]*&)|([^\\\\\\\\n\\\\\\\\S]*\\\\\\\\{))(?=:|([^\\\\\\\\n\\\\\\\\S]+\\\\\\\\S))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.property-name.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.property-name.svg.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.function.mixin.stylus\\\"}},\\\"end\\\":\\\"(;)|(?=[\\\\\\\\n}]|$)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property_value\\\"}]},\\\"property_value\\\":{\\\"begin\\\":\\\"\\\\\\\\G(?:(:)|(\\\\\\\\s))(\\\\\\\\s*)(?!&)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"}},\\\"end\\\":\\\"(?=[\\\\\\\\n;}])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"name\\\":\\\"meta.property-value.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#property_values\\\"},{\\\"match\\\":\\\"\\\\\\\\N+?\\\"}]},\\\"property_values\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#language_keywords\\\"},{\\\"include\\\":\\\"#language_constants\\\"},{\\\"match\\\":\\\"(?=\\\\\\\\w)(?<![-\\\\\\\\w])(wrap-reverse|wrap|whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|unicase|underline|ultra-expanded|ultra-condensed|transparent|transform|top|titling-caps|thin|thick|text-top|text-bottom|text|tb-rl|table-row-group|table-row|table-header-group|table-footer-group|table-column-group|table-column|table-cell|table|sw-resize|super|strict|stretch|step-start|step-end|static|square|space-between|space-around|space|solid|soft-light|small-caps|separate|semi-expanded|semi-condensed|se-resize|scroll|screen|saturation|s-resize|running|rtl|row-reverse|row-resize|row|round|right|ridge|reverse|repeat-y|repeat-x|repeat|relative|progressive|progress|pre-wrap|pre-line|pre|pointer|petite-caps|paused|pan-x|pan-left|pan-right|pan-y|pan-up|pan-down|padding-box|overline|overlay|outside|outset|optimizeSpeed|optimizeLegibility|opacity|oblique|nw-resize|nowrap|not-allowed|normal|none|no-repeat|no-drop|newspaper|ne-resize|n-resize|multiply|move|middle|medium|max-height|manipulation|main-size|luminosity|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|local|list-item|linear(?!-)|line-through|line-edge|line|lighter|lighten|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline-block|inline|inherit|infinite|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|hue|horizontal|hidden|help|hard-light|hand|groove|geometricPrecision|forwards|flex-start|flex-end|flex|fixed|extra-expanded|extra-condensed|expanded|exclusion|ellipsis|ease-out|ease-in-out|ease-in|ease|e-resize|double|dotted|distribute-space|distribute-letter|distribute-all-lines|distribute|disc|disabled|difference|default|decimal|dashed|darken|currentColor|crosshair|cover|content-box|contain|condensed|column-reverse|column|color-dodge|color-burn|color|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|border-box|bolder|bold|block|bidi-override|below|baseline|balance|backwards|auto|antialiased|always|alternate-reverse|alternate|all-small-caps|all-scroll|all-petite-caps|all|absolute)(?<=\\\\\\\\w)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.property-value.css\\\"},{\\\"match\\\":\\\"(?=\\\\\\\\w)(?<![-\\\\\\\\w])(start|sRGB|square|round|optimizeSpeed|optimizeQuality|nonzero|miter|middle|linearRGB|geometricPrecision |evenodd |end |crispEdges|butt|bevel)(?<=\\\\\\\\w)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"support.constant.property-value.svg.css\\\"},{\\\"include\\\":\\\"#font_name\\\"},{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#color\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"!\\\\\\\\s*important\\\",\\\"name\\\":\\\"keyword.other.important.css\\\"},{\\\"include\\\":\\\"#operator\\\"},{\\\"include\\\":\\\"#stylus_keywords\\\"},{\\\"include\\\":\\\"#property_variable\\\"}]},\\\"property_variable\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#variable\\\"},{\\\"match\\\":\\\"(?<!^)(@[-A-Z_a-z][-0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"variable.property.stylus\\\"}]},\\\"selector\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?=\\\\\\\\w)(?<![-\\\\\\\\w])(a|abbr|acronym|address|area|article|aside|audio|b|base|bdi|bdo|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|data|datalist|dd|del|details|dfn|dialog|div|dl|dt|em|embed|eventsource|fieldset|figure|figcaption|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|main|map|mark|math|menu|menuitem|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|picture|pre|progress|q|rb|rp|rtc??|ruby|s|samp|script|section|select|small|source|span|strike|strong|style|sub|summary|sup|svg|table|tbody|td|template|textarea|tfoot|th|thead|time|title|tr|track|tt|ul??|var|video|wbr)(?<=\\\\\\\\w)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"entity.name.tag.css\\\"},{\\\"match\\\":\\\"(?=\\\\\\\\w)(?<![-\\\\\\\\w])(vkern|view|use|tspan|tref|title|textPath|text|symbol|switch|svg|style|stop|set|script|rect|radialGradient|polyline|polygon|pattern|path|mpath|missing-glyph|metadata|mask|marker|linearGradient|line|image|hkern|glyphRef|glyph|g|foreignObject|font-face-uri|font-face-src|font-face-name|font-face-format|font-face|font|filter|feTurbulence|feTile|feSpotLight|feSpecularLighting|fePointLight|feOffset|feMorphology|feMergeNode|feMerge|feImage|feGaussianBlur|feFuncR|feFuncG|feFuncB|feFuncA|feFlood|feDistantLight|feDisplacementMap|feDiffuseLighting|feConvolveMatrix|feComposite|feComponentTransfer|feColorMatrix|feBlend|ellipse|desc|defs|cursor|color-profile|clipPath|circle|animateTransform|animateMotion|animateColor|animate|altGlyphItem|altGlyphDef|altGlyph|a)(?<=\\\\\\\\w)(?![-\\\\\\\\w])\\\",\\\"name\\\":\\\"entity.name.tag.svg.css\\\"},{\\\"match\\\":\\\"\\\\\\\\s*(,)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.selector.stylus\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"meta.selector.stylus\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.parent-selector-suffix.stylus\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(&)([-0-9A-Z_a-z]+)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.selector.stylus\\\"},{\\\"match\\\":\\\"\\\\\\\\s*(&)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.selector.stylus\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)[-0-9A-Z_a-z]+\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(#)[A-Za-z][-0-9A-Z_a-z]*\\\",\\\"name\\\":\\\"entity.other.attribute-name.id.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(:+)(after|before|content|first-letter|first-line|host|(-(moz|webkit|ms)-)?selection)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-element.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(:)((first|last)-child|(first|last|only)-of-type|empty|root|target|first|left|right)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(:)(checked|enabled|default|disabled|indeterminate|invalid|optional|required|valid)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.ui-state.css\\\"},{\\\"begin\\\":\\\"((:)not)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#selector\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.css\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"match\\\":\\\"((:)nth-(?:(?:last-)?child|(?:last-)?of-type))(\\\\\\\\()(-?(?:\\\\\\\\d+n?|n)(?:\\\\\\\\+\\\\\\\\d+)?|even|odd)(\\\\\\\\))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"puncutation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.language.css\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"match\\\":\\\"((:)dir)\\\\\\\\s*(?:(\\\\\\\\()(ltr|rtl)?(\\\\\\\\)))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"puncutation.definition.entity.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.language.css\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.section.function.css\\\"}},\\\"match\\\":\\\"((:)lang)\\\\\\\\s*(?:(\\\\\\\\()(\\\\\\\\w+(-\\\\\\\\w+)?)?(\\\\\\\\)))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(:)(active|hover|link|visited|focus)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(::)(shadow)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.other.attribute-name.pseudo-class.css\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.attribute.css\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.operator.css\\\"},\\\"4\\\":{\\\"name\\\":\\\"string.unquoted.attribute-value.css\\\"},\\\"5\\\":{\\\"name\\\":\\\"string.quoted.double.attribute-value.css\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.definition.entity.css\\\"}},\\\"match\\\":\\\"(?i)(\\\\\\\\[)\\\\\\\\s*(-?[\\\\\\\\\\\\\\\\_a-z[:^ascii:]][-0-9\\\\\\\\\\\\\\\\_a-z[:^ascii:]]*)(?:\\\\\\\\s*([$*^|~]?=)\\\\\\\\s*(?:(-?[\\\\\\\\\\\\\\\\_a-z[:^ascii:]][-0-9\\\\\\\\\\\\\\\\_a-z[:^ascii:]]*)|((?>([\\\\\\\"'])(?:[^\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*?(\\\\\\\\6)))))?\\\\\\\\s*(])\\\",\\\"name\\\":\\\"meta.attribute-selector.css\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"include\\\":\\\"#variable\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.double.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.css\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.css\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.css\\\"}},\\\"name\\\":\\\"string.quoted.single.css\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(\\\\\\\\h{1,6}|.)\\\",\\\"name\\\":\\\"constant.character.escape.css\\\"}]}]},\\\"variable\\\":{\\\"match\\\":\\\"(\\\\\\\\$[-A-Z_a-z][-0-9A-Z_a-z]*)\\\",\\\"name\\\":\\\"variable.stylus\\\"},\\\"variable_declaration\\\":{\\\"begin\\\":\\\"^[^\\\\\\\\n\\\\\\\\S]*(\\\\\\\\$?[-A-Z_a-z][-0-9A-Z_a-z]*)[^\\\\\\\\n\\\\\\\\S]*([:?]??=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.stylus\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.stylus\\\"}},\\\"end\\\":\\\"(\\\\\\\\n)|(;)|(?=})\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#property_values\\\"}]}},\\\"scopeName\\\":\\\"source.stylus\\\",\\\"aliases\\\":[\\\"styl\\\"]}\"))\n\nexport default [\nlang\n]\n","import javascript from './javascript.mjs'\nimport typescript from './typescript.mjs'\nimport css from './css.mjs'\nimport postcss from './postcss.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Svelte\\\",\\\"fileTypes\\\":[\\\"svelte\\\"],\\\"injections\\\":{\\\"L:(meta.script.svelte | meta.style.svelte) (meta.lang.js | meta.lang.javascript) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"L:(meta.script.svelte | meta.style.svelte) (meta.lang.ts | meta.lang.typescript) - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.ts\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},\\\"L:(meta.script.svelte | meta.style.svelte) meta.lang.coffee - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.coffee\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}]}]},\\\"L:(source.ts, source.js, source.coffee)\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![\\\\\\\"$'./_[:alnum:]])\\\\\\\\$(?=[_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"punctuation.definition.variable.svelte\\\"},{\\\"match\\\":\\\"(?<![\\\\\\\"$'./_[:alnum:]])(\\\\\\\\$\\\\\\\\$)(?=props|restProps|slots)\\\",\\\"name\\\":\\\"punctuation.definition.variable.svelte\\\"}]},\\\"L:meta.script.svelte - meta.lang - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.js\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},\\\"L:meta.style.svelte - meta.lang - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},\\\"L:meta.style.svelte meta.lang.css - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},\\\"L:meta.style.svelte meta.lang.less - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.less\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}]}]},\\\"L:meta.style.svelte meta.lang.postcss - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.postcss\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.postcss\\\"}]}]},\\\"L:meta.style.svelte meta.lang.sass - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.sass\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sass\\\"}]}]},\\\"L:meta.style.svelte meta.lang.scss - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.css.scss\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]}]},\\\"L:meta.style.svelte meta.lang.stylus - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"source.stylus\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.stylus\\\"}]}]},\\\"L:meta.template.svelte - meta.lang - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s\\\",\\\"end\\\":\\\"(?=</template)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#scope\\\"}]}]},\\\"L:meta.template.svelte meta.lang.pug - (meta source)\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=>)(?!</)\\\",\\\"contentName\\\":\\\"text.pug\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"meta.embedded.block.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.pug\\\"}]}]}},\\\"name\\\":\\\"svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#scope\\\"}],\\\"repository\\\":{\\\"attributes\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-directives\\\"},{\\\"include\\\":\\\"#attributes-keyvalue\\\"},{\\\"include\\\":\\\"#attributes-attach\\\"},{\\\"include\\\":\\\"#attributes-interpolated\\\"}]},\\\"attributes-attach\\\":{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(\\\\\\\\{@attach\\\\\\\\s)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.svelte\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"(})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},\\\"attributes-directives\\\":{\\\"begin\\\":\\\"(?<!<)(on|use|bind|transition|in|out|animate|let|class|style)(:)(?:((?:--)?[$_[:alpha:]][-$_[:alnum:]]*(?=\\\\\\\\s*=))|((?:--)?[$_[:alpha:]][-$_[:alnum:]]*))((\\\\\\\\|\\\\\\\\w+)*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-directives-keywords\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"},\\\"3\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-directives-types-assigned\\\"}]},\\\"4\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-directives-types\\\"}]},\\\"5\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"support.function.svelte\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"punctuation.separator.svelte\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.directive.$1.svelte\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.svelte\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-value\\\"}]}]},\\\"attributes-directives-keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"on|use|bind\\\",\\\"name\\\":\\\"keyword.control.svelte\\\"},{\\\"match\\\":\\\"transition|in|out|animate\\\",\\\"name\\\":\\\"keyword.other.animation.svelte\\\"},{\\\"match\\\":\\\"let\\\",\\\"name\\\":\\\"storage.type.svelte\\\"},{\\\"match\\\":\\\"class|style\\\",\\\"name\\\":\\\"entity.other.attribute-name.svelte\\\"}]},\\\"attributes-directives-types\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=(on):).*$\\\",\\\"name\\\":\\\"entity.name.type.svelte\\\"},{\\\"match\\\":\\\"(?<=(bind):).*$\\\",\\\"name\\\":\\\"variable.parameter.svelte\\\"},{\\\"match\\\":\\\"(?<=(use|transition|in|out|animate):).*$\\\",\\\"name\\\":\\\"variable.function.svelte\\\"},{\\\"match\\\":\\\"(?<=(let|class|style):).*$\\\",\\\"name\\\":\\\"variable.parameter.svelte\\\"}]},\\\"attributes-directives-types-assigned\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=(bind):)this$\\\",\\\"name\\\":\\\"variable.language.svelte\\\"},{\\\"match\\\":\\\"(?<=(bind):).*$\\\",\\\"name\\\":\\\"entity.name.type.svelte\\\"},{\\\"match\\\":\\\"(?<=(class):).*$\\\",\\\"name\\\":\\\"entity.other.attribute-name.class.svelte\\\"},{\\\"match\\\":\\\"(?<=(style):).*$\\\",\\\"name\\\":\\\"support.type.property-name.svelte\\\"},{\\\"include\\\":\\\"#attributes-directives-types\\\"}]},\\\"attributes-generics\\\":{\\\"begin\\\":\\\"(generics)(=)([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.svelte\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.svelte\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"(\\\\\\\\3)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.svelte\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},\\\"attributes-interpolated\\\":{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(\\\\\\\\{)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.svelte\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"(})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},\\\"attributes-keyvalue\\\":{\\\"begin\\\":\\\"((?:--)?[$_[:alpha:]][-$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"--.*\\\",\\\"name\\\":\\\"support.type.property-name.svelte\\\"},{\\\"match\\\":\\\".*\\\",\\\"name\\\":\\\"entity.other.attribute-name.svelte\\\"}]}},\\\"end\\\":\\\"(?=\\\\\\\\s*+[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.$1.svelte\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"=\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.svelte\\\"}},\\\"end\\\":\\\"(?<=[^=\\\\\\\\s])(?!\\\\\\\\s*=)|(?=/?>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-value\\\"}]}]},\\\"attributes-value\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.decimal.svelte\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.svelte\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.numeric.decimal.svelte\\\"}},\\\"match\\\":\\\"([\\\\\\\"'])([.0-9_]+[%\\\\\\\\w]{0,4})(\\\\\\\\1)|([.0-9_]+[%\\\\\\\\w]{0,4})(?=\\\\\\\\s|/?>)\\\"},{\\\"match\\\":\\\"([^\\\\\\\"'/<=>`\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]},{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.svelte\\\"}},\\\"end\\\":\\\"\\\\\\\\1\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.svelte\\\"}},\\\"name\\\":\\\"string.quoted.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interpolation\\\"}]}]},\\\"comments\\\":{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.svelte\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.svelte\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(@)(component)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.component.svelte keyword.declaration.class.component.svelte\\\"}},\\\"contentName\\\":\\\"comment.block.documentation.svelte\\\",\\\"end\\\":\\\"(?=-->)\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown\\\"}]}},\\\"match\\\":\\\".*?(?=-->)\\\"},{\\\"include\\\":\\\"text.html.markdown\\\"}]},{\\\"match\\\":\\\"\\\\\\\\G-?>|<!--(?!>)|<!-(?=-->)|--!>\\\",\\\"name\\\":\\\"invalid.illegal.characters-not-allowed-here.svelte\\\"}]},\\\"destructuring\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#object-binding-pattern\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?<=])\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#array-binding-pattern\\\"}]}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#object-binding-pattern-const\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?<=])\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#array-binding-pattern-const\\\"}]}]},\\\"interpolation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.begin.svelte\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.section.embedded.end.svelte\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#object-literal\\\"}]},{\\\"include\\\":\\\"source.ts\\\"}]}]},\\\"scope\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#special-tags\\\"},{\\\"include\\\":\\\"#tags\\\"},{\\\"include\\\":\\\"#interpolation\\\"},{\\\"begin\\\":\\\"(?<=[>}])\\\",\\\"end\\\":\\\"(?=[<{])\\\",\\\"name\\\":\\\"text.svelte\\\"}]},\\\"special-tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-void\\\"},{\\\"include\\\":\\\"#special-tags-block-begin\\\"},{\\\"include\\\":\\\"#special-tags-block-end\\\"}]},\\\"special-tags-block-begin\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s*(#([a-z]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-keywords\\\"}]}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.svelte\\\"}},\\\"name\\\":\\\"meta.special.$3.svelte meta.special.start.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-modes\\\"}]},\\\"special-tags-block-end\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s*(/([a-z]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-keywords\\\"}]}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.svelte\\\"}},\\\"name\\\":\\\"meta.special.$3.svelte meta.special.end.svelte\\\"},\\\"special-tags-keywords\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"if|else\\\\\\\\s+if|else\\\",\\\"name\\\":\\\"keyword.control.conditional.svelte\\\"},{\\\"match\\\":\\\"each|key\\\",\\\"name\\\":\\\"keyword.control.svelte\\\"},{\\\"match\\\":\\\"await|then|catch\\\",\\\"name\\\":\\\"keyword.control.flow.svelte\\\"},{\\\"match\\\":\\\"snippet\\\",\\\"name\\\":\\\"keyword.control.svelte\\\"},{\\\"match\\\":\\\"html\\\",\\\"name\\\":\\\"keyword.other.svelte\\\"},{\\\"match\\\":\\\"render\\\",\\\"name\\\":\\\"keyword.other.svelte\\\"},{\\\"match\\\":\\\"debug\\\",\\\"name\\\":\\\"keyword.other.debugger.svelte\\\"},{\\\"match\\\":\\\"const\\\",\\\"name\\\":\\\"storage.type.svelte\\\"}]}},\\\"match\\\":\\\"([#/:@])(else\\\\\\\\s+if|[a-z]*)\\\"},\\\"special-tags-modes\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=(if|key|then|catch|html|render).*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(?<=snippet.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.ts\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=<)\\\"},{\\\"begin\\\":\\\"(?<=<)\\\",\\\"contentName\\\":\\\"meta.type.parameters.ts\\\",\\\"end\\\":\\\"(?=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(?<=>\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"(?<=const.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]+)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.svelte\\\"}},\\\"end\\\":\\\"(?=[:=])\\\"},{\\\"begin\\\":\\\"(?=:)\\\",\\\"end\\\":\\\"(?==)\\\",\\\"name\\\":\\\"meta.type.annotation.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(?==)\\\",\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"(?<=each.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*?(?=\\\\\\\\S)\\\",\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"(?=(?:^\\\\\\\\s*|\\\\\\\\s+)(as)|\\\\\\\\s*([,}]))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(as)|(?=[,}])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.svelte\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#destructuring\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.svelte\\\"}},\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"\\\\\\\\)|(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"match\\\":\\\"(\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*)\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.svelte\\\"}]}]},{\\\"begin\\\":\\\"(?<=await.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\\\\\\s*?(?=\\\\\\\\S)\\\",\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"\\\\\\\\s+(then)|(?=})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.svelte\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]},{\\\"begin\\\":\\\"(?<=then\\\\\\\\b)\\\",\\\"contentName\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"(?<=debug.*?)\\\\\\\\G\\\",\\\"end\\\":\\\"(?=})\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.embedded.expression.svelte source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.svelte\\\"}]}]},\\\"special-tags-void\\\":{\\\"begin\\\":\\\"(\\\\\\\\{)\\\\\\\\s*([:@](else\\\\\\\\s+if|[a-z]*))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.begin.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-keywords\\\"}]}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.end.svelte\\\"}},\\\"name\\\":\\\"meta.special.$3.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#special-tags-modes\\\"}]},\\\"tags\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang\\\"},{\\\"include\\\":\\\"#tags-void\\\"},{\\\"include\\\":\\\"#tags-general-end\\\"},{\\\"include\\\":\\\"#tags-general-start\\\"}]},\\\"tags-end-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.svelte punctuation.definition.tag.begin.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"meta.tag.end.svelte punctuation.definition.tag.end.svelte\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.tag.start.svelte punctuation.definition.tag.end.svelte\\\"}},\\\"match\\\":\\\"(</)(.*?)\\\\\\\\s*(>)|(/>)\\\"},\\\"tags-general-end\\\":{\\\"begin\\\":\\\"(</)([^/>\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.svelte punctuation.definition.tag.begin.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.tag.end.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.end.svelte punctuation.definition.tag.end.svelte\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.svelte\\\"},\\\"tags-general-start\\\":{\\\"begin\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.tag.start.svelte punctuation.definition.tag.end.svelte\\\"}},\\\"name\\\":\\\"meta.scope.tag.$2.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-attributes\\\"}]},\\\"tags-lang\\\":{\\\"begin\\\":\\\"<(script|style|template)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-start-node\\\"}]}},\\\"end\\\":\\\"</\\\\\\\\1\\\\\\\\s*>|/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-end-node\\\"}]}},\\\"name\\\":\\\"meta.$1.svelte\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(?=\\\\\\\\s*[^>]*?(type|lang)\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(?:text/)?(\\\\\\\\w+)\\\\\\\\2)\\\",\\\"end\\\":\\\"(?=</|/>)\\\",\\\"name\\\":\\\"meta.lang.$3.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},{\\\"include\\\":\\\"#tags-lang-start-attributes\\\"}]},\\\"tags-lang-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.svelte\\\"}},\\\"name\\\":\\\"meta.tag.start.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes-generics\\\"},{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.svelte\\\"}},\\\"match\\\":\\\"(svelte)(:)([a-z][-:\\\\\\\\w]*)\\\"},{\\\"match\\\":\\\"slot\\\",\\\"name\\\":\\\"keyword.control.svelte\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\w+\\\",\\\"name\\\":\\\"support.class.component.svelte\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"punctuation.definition.keyword.svelte\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"support.class.component.svelte\\\"}},\\\"match\\\":\\\"(\\\\\\\\w+(?:\\\\\\\\.\\\\\\\\w+)+)|([A-Z]\\\\\\\\w*)\\\"},{\\\"match\\\":\\\"[a-z][0-:\\\\\\\\w]*-[-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"meta.tag.custom.svelte entity.name.tag.svelte\\\"},{\\\"match\\\":\\\"[a-z][-0-:\\\\\\\\w]*\\\",\\\"name\\\":\\\"entity.name.tag.svelte\\\"}]},\\\"tags-start-attributes\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/?>)\\\",\\\"name\\\":\\\"meta.tag.start.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"tags-start-node\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.svelte\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#tags-name\\\"}]}},\\\"match\\\":\\\"(<)([^/>\\\\\\\\s]*)\\\",\\\"name\\\":\\\"meta.tag.start.svelte\\\"},\\\"tags-void\\\":{\\\"begin\\\":\\\"(<)(area|base|br|col|embed|hr|img|input|link|meta|param|source|track|wbr)(?=\\\\\\\\s|/?>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.svelte\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.svelte\\\"}},\\\"end\\\":\\\"/?>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.svelte\\\"}},\\\"name\\\":\\\"meta.tag.void.svelte\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#attributes\\\"}]},\\\"type-parameters\\\":{\\\"name\\\":\\\"meta.type.parameters.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},{\\\"include\\\":\\\"source.ts#type\\\"},{\\\"include\\\":\\\"source.ts#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]}},\\\"scopeName\\\":\\\"source.svelte\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\",\\\"typescript\\\",\\\"css\\\",\\\"postcss\\\"],\\\"embeddedLangsLazy\\\":[\\\"coffee\\\",\\\"stylus\\\",\\\"sass\\\",\\\"scss\\\",\\\"less\\\",\\\"pug\\\",\\\"markdown\\\"]}\"))\n\nexport default [\n...javascript,\n...typescript,\n...css,\n...postcss,\nlang\n]\n","import typescript from './typescript.mjs'\nimport css from './css.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string,  L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string, L:source.vue -comment -string, L:source.svelte -comment -string, L:source.php -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-css\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/\\\\\\\\*\\\\\\\\s?((?:|inline-)css)\\\\\\\\s?\\\\\\\\*/\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s*((?:|inline-)css))(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"},{\\\"include\\\":\\\"string.quoted.other.template.js\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?((?:|inline-)css) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`).*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.css\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.js\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-css\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"css\\\",\\\"javascript\\\"]}\"))\n\nexport default [\n...typescript,\n...css,\n...javascript,\nlang\n]\n","import typescript from './typescript.mjs'\nimport glsl from './glsl.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string,  L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-glsl\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/\\\\\\\\*\\\\\\\\s?((?:|inline-)glsl)\\\\\\\\s?\\\\\\\\*/\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.glsl\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s*((?:|inline-)glsl))(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.glsl\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"},{\\\"include\\\":\\\"string.quoted.other.template.js\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?((?:|inline-)glsl) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`).*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.glsl\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.js\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-glsl\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"glsl\\\",\\\"javascript\\\"]}\"))\n\nexport default [\n...typescript,\n...glsl,\n...javascript,\nlang\n]\n","import typescript from './typescript.mjs'\nimport html from './html.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string,  L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/\\\\\\\\*\\\\\\\\s?(html|template|inline-html|inline-template)\\\\\\\\s?\\\\\\\\*/\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s*(html|template|inline-html|inline-template))(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"text.html.basic\\\"},{\\\"include\\\":\\\"inline.es6-htmlx#template\\\"},{\\\"include\\\":\\\"string.quoted.other.template.js\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?(html|template|inline-html|inline-template) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`).*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.js\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\$\\\\\\\\(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"end\\\":\\\"(`\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.js\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-html\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"html\\\",\\\"javascript\\\"]}\"))\n\nexport default [\n...typescript,\n...html,\n...javascript,\nlang\n]\n","import typescript from './typescript.mjs'\nimport sql from './sql.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.jsx -comment -string,  L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-sql\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)\\\\\\\\b(\\\\\\\\w+\\\\\\\\.sql)\\\\\\\\s*(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.ts#string-character-escape\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"source.plpgsql.postgres\\\"},{\\\"match\\\":\\\".\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/?\\\\\\\\*?\\\\\\\\s?((?:|inline-)sql)\\\\\\\\s?\\\\\\\\*?/?\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.ts#string-character-escape\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"source.plpgsql.postgres\\\"},{\\\"match\\\":\\\".\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?((?:|inline-)sql) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"source.ts#template-substitution-element\\\"},{\\\"include\\\":\\\"source.ts#string-character-escape\\\"},{\\\"include\\\":\\\"source.sql\\\"},{\\\"include\\\":\\\"source.plpgsql.postgres\\\"},{\\\"match\\\":\\\".\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-sql\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"sql\\\"]}\"))\n\nexport default [\n...typescript,\n...sql,\nlang\n]\n","import xml from './xml.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[\\\"js\\\",\\\"jsx\\\",\\\"ts\\\",\\\"tsx\\\",\\\"html\\\",\\\"vue\\\",\\\"svelte\\\",\\\"php\\\",\\\"res\\\"],\\\"injectTo\\\":[\\\"source.ts\\\",\\\"source.js\\\"],\\\"injectionSelector\\\":\\\"L:source.js -comment -string, L:source.js -comment -string, L:source.jsx -comment -string,  L:source.js.jsx -comment -string, L:source.ts -comment -string, L:source.tsx -comment -string, L:source.rescript -comment -string\\\",\\\"injections\\\":{\\\"L:source\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]}},\\\"name\\\":\\\"es-tag-xml\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i)(\\\\\\\\s?/\\\\\\\\*\\\\\\\\s?(xml|svg|inline-svg|inline-xml)\\\\\\\\s?\\\\\\\\*/\\\\\\\\s?)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(?i)(\\\\\\\\s*((?:|inline-)xml))(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.block\\\"}},\\\"end\\\":\\\"(`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.xml\\\"}]},{\\\"begin\\\":\\\"(?i)(?<=[(,:=\\\\\\\\s]|\\\\\\\\$\\\\\\\\()\\\\\\\\s*(((/\\\\\\\\*)|(//))\\\\\\\\s?(xml|svg|inline-svg|inline-xml) {0,1000}\\\\\\\\*?/?) {0,1000}$\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"comment.line\\\"}},\\\"end\\\":\\\"(`).*\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G()\\\",\\\"end\\\":\\\"(`)\\\"},{\\\"include\\\":\\\"text.xml\\\"}]}],\\\"scopeName\\\":\\\"inline.es6-xml\\\",\\\"embeddedLangs\\\":[\\\"xml\\\"]}\"))\n\nexport default [\n...xml,\nlang\n]\n","import typescript from './typescript.mjs'\nimport es_tag_css from './es-tag-css.mjs'\nimport es_tag_glsl from './es-tag-glsl.mjs'\nimport es_tag_html from './es-tag-html.mjs'\nimport es_tag_sql from './es-tag-sql.mjs'\nimport es_tag_xml from './es-tag-xml.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"TypeScript with Tags\\\",\\\"name\\\":\\\"ts-tags\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}],\\\"scopeName\\\":\\\"source.ts.tags\\\",\\\"embeddedLangs\\\":[\\\"typescript\\\",\\\"es-tag-css\\\",\\\"es-tag-glsl\\\",\\\"es-tag-html\\\",\\\"es-tag-sql\\\",\\\"es-tag-xml\\\"],\\\"aliases\\\":[\\\"lit\\\"]}\"))\n\nexport default [\n...typescript,\n...es_tag_css,\n...es_tag_glsl,\n...es_tag_html,\n...es_tag_sql,\n...es_tag_xml,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[],\\\"injectTo\\\":[\\\"text.html.markdown\\\"],\\\"injectionSelector\\\":\\\"L:text.html.markdown\\\",\\\"name\\\":\\\"markdown-vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-code-block\\\"}],\\\"repository\\\":{\\\"vue-code-block\\\":{\\\"begin\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\s*)(`{3,}|~{3,})\\\\\\\\s*(?i:(vue)((\\\\\\\\s+|[,:?{])[^`~]*)?$)\\\",\\\"beginCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"},\\\"4\\\":{\\\"name\\\":\\\"fenced_code.block.language.markdown\\\"},\\\"5\\\":{\\\"name\\\":\\\"fenced_code.block.language.attributes.markdown\\\",\\\"patterns\\\":[]}},\\\"end\\\":\\\"(^|\\\\\\\\G)(\\\\\\\\2|\\\\\\\\s{0,3})(\\\\\\\\3)\\\\\\\\s*$\\\",\\\"endCaptures\\\":{\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.markdown\\\"}},\\\"name\\\":\\\"markup.fenced_code.block.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue\\\"}]}},\\\"scopeName\\\":\\\"markdown.vue.codeblock\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[],\\\"injectTo\\\":[\\\"source.vue\\\",\\\"text.html.markdown\\\",\\\"text.html.derivative\\\",\\\"text.pug\\\"],\\\"injectionSelector\\\":\\\"L:meta.tag -meta.attribute -meta.ng-binding -entity.name.tag.pug -attribute_value -source.tsx -source.js.jsx, L:meta.element -meta.attribute\\\",\\\"name\\\":\\\"vue-directives\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-directives\\\"}],\\\"scopeName\\\":\\\"vue.directives\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[],\\\"injectTo\\\":[\\\"source.vue\\\",\\\"text.html.markdown\\\",\\\"text.html.derivative\\\",\\\"text.pug\\\"],\\\"injectionSelector\\\":\\\"L:text.pug -comment -string.comment, L:text.html.derivative -comment.block, L:text.html.markdown -comment.block\\\",\\\"name\\\":\\\"vue-interpolations\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"}],\\\"scopeName\\\":\\\"vue.interpolations\\\"}\"))\n\nexport default [\nlang\n]\n","import javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"fileTypes\\\":[],\\\"injectTo\\\":[\\\"source.vue\\\"],\\\"injectionSelector\\\":\\\"L:source.css -comment, L:source.postcss -comment, L:source.sass -comment, L:source.stylus -comment\\\",\\\"name\\\":\\\"vue-sfc-style-variable-injection\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-sfc-style-variable-injection\\\"}],\\\"repository\\\":{\\\"vue-sfc-style-variable-injection\\\":{\\\"begin\\\":\\\"\\\\\\\\b(v-bind)\\\\\\\\s*\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"vue.sfc.style.variable.injection.v-bind\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"source.ts.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]},{\\\"include\\\":\\\"source.js\\\"}]}},\\\"scopeName\\\":\\\"vue.sfc.style.variable.injection\\\",\\\"embeddedLangs\\\":[\\\"javascript\\\"]}\"))\n\nexport default [\n...javascript,\nlang\n]\n","import css from './css.mjs'\nimport javascript from './javascript.mjs'\nimport typescript from './typescript.mjs'\nimport json from './json.mjs'\nimport html_derivative from './html-derivative.mjs'\nimport html from './html.mjs'\nimport markdown_vue from './markdown-vue.mjs'\nimport vue_directives from './vue-directives.mjs'\nimport vue_interpolations from './vue-interpolations.mjs'\nimport vue_sfc_style_variable_injection from './vue-sfc-style-variable-injection.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Vue\\\",\\\"name\\\":\\\"vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-comments\\\"},{\\\"include\\\":\\\"#self-closing-tag\\\"},{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)md\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"text.html.markdown\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.html.markdown\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)html\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"text.html.derivative\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#html-stuff\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)pug\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"text.pug\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"text.pug\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)stylus\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.stylus\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.stylus\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)postcss\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.postcss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.postcss\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)sass\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.sass\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.sass\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)css\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)scss\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.css.scss\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)less\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.css.less\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)js\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)ts\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.ts\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)jsx\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.js.jsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js.jsx\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)tsx\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.tsx\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.tsx\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)coffee\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.coffee\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.coffee\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)json\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.json\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)jsonc\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.json.comments\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json.comments\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)json5\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.json5\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json5\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)yaml\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.yaml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.yaml\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)toml\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.toml\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.toml\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)(g(?:ql|raphql))\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.graphql\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.graphql\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\\\\\\b(?=[^>]*\\\\\\\\blang\\\\\\\\s*=\\\\\\\\s*([\\\\\\\"']?)vue\\\\\\\\b\\\\\\\\2)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"source.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue\\\"}]}]},{\\\"begin\\\":\\\"(template)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</template\\\\\\\\b)\\\",\\\"name\\\":\\\"text.html.derivative\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#html-stuff\\\"}]}]},{\\\"begin\\\":\\\"(script)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</script\\\\\\\\b)\\\",\\\"name\\\":\\\"source.js\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js\\\"}]}]},{\\\"begin\\\":\\\"(style)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</style\\\\\\\\b)\\\",\\\"name\\\":\\\"source.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]}]},{\\\"begin\\\":\\\"([-0-:A-Za-z]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.$1.html.vue\\\"}},\\\"end\\\":\\\"(</)(\\\\\\\\1)\\\\\\\\s*(?=>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"begin\\\":\\\"(?<=>)\\\",\\\"end\\\":\\\"(?=</)\\\",\\\"name\\\":\\\"text\\\"}]}]}],\\\"repository\\\":{\\\"html-stuff\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-tag\\\"},{\\\"include\\\":\\\"text.html.derivative\\\"},{\\\"include\\\":\\\"text.html.basic\\\"}]},\\\"self-closing-tag\\\":{\\\"begin\\\":\\\"(<)([-0-:A-Za-z]+)(?=([^>]+/>))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"end\\\":\\\"(/>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"name\\\":\\\"self-closing-tag\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},\\\"tag-stuff\\\":{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"name\\\":\\\"meta.tag-stuff\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-directives\\\"},{\\\"include\\\":\\\"text.html.basic#attribute\\\"}]},\\\"template-tag\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-tag-1\\\"},{\\\"include\\\":\\\"#template-tag-2\\\"}]},\\\"template-tag-1\\\":{\\\"begin\\\":\\\"(<)(template)\\\\\\\\b(>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"name\\\":\\\"meta.template-tag.start\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|((</)(template))\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.$3.html.vue\\\"}},\\\"name\\\":\\\"meta.template-tag.end\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#html-stuff\\\"}]}]},\\\"template-tag-2\\\":{\\\"begin\\\":\\\"(<)(template)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.$2.html.vue\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html.vue\\\"}},\\\"name\\\":\\\"meta.template-tag.start\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=/>)|((</)(template))\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html.vue\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.tag.$3.html.vue\\\"}},\\\"name\\\":\\\"meta.template-tag.end\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"},{\\\"include\\\":\\\"#html-stuff\\\"}]}]},\\\"vue-comments\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-comments-key-value\\\"},{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.vue\\\"}]},\\\"vue-comments-key-value\\\":{\\\"begin\\\":\\\"(<!--)\\\\\\\\s*(@)([$\\\\\\\\w]+)(?=\\\\\\\\s)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.comment.vue\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.class.comment.vue\\\"}},\\\"end\\\":\\\"(-->)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue\\\"}},\\\"name\\\":\\\"comment.block.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.json#value\\\"}]},\\\"vue-directives\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-directives-control\\\"},{\\\"include\\\":\\\"#vue-directives-generic-attr\\\"},{\\\"include\\\":\\\"#vue-directives-style-attr\\\"},{\\\"include\\\":\\\"#vue-directives-original\\\"}]},\\\"vue-directives-control\\\":{\\\"begin\\\":\\\"(?:(v-for)|(v-(?:if|else-if|else)))(?=[)/=>\\\\\\\\s])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.conditional.vue\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.directive.control.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-directives-expression\\\"}]},\\\"vue-directives-expression\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=)\\\\\\\\s*([\\\\\\\"'`])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html.vue\\\"}},\\\"end\\\":\\\"(\\\\\\\\2)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html.vue\\\"}},\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=([\\\\\\\"'`]))\\\",\\\"end\\\":\\\"(?=\\\\\\\\1)\\\",\\\"name\\\":\\\"source.ts.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(?=[^\\\\\\\"'`])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"}},\\\"end\\\":\\\"(?=([>\\\\\\\\s]|/>))\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=[^\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=([>\\\\\\\\s]|/>))\\\",\\\"name\\\":\\\"source.ts.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]}]}]},\\\"vue-directives-generic-attr\\\":{\\\"begin\\\":\\\"\\\\\\\\b(generic)\\\\\\\\s*(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])\\\",\\\"name\\\":\\\"meta.attribute.generic.vue\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html.vue\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html.vue\\\"}},\\\"name\\\":\\\"meta.type.parameters.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.ts\\\"},{\\\"include\\\":\\\"source.ts#type\\\"},{\\\"include\\\":\\\"source.ts#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.ts\\\"}]}]},\\\"vue-directives-original\\\":{\\\"begin\\\":\\\"(?:(v-[-\\\\\\\\w]+)(:)?|([.:])|(@)|(#))(?:(\\\\\\\\[)([^]]*)(])|([-\\\\\\\\w]+))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.attribute-shorthand.bind.html.vue\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.attribute-shorthand.event.html.vue\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.attribute-shorthand.slot.html.vue\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"7\\\":{\\\"name\\\":\\\"source.ts.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]},\\\"8\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"9\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s*[^=\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.attribute.directive.vue\\\",\\\"patterns\\\":[{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"},\\\"match\\\":\\\"(\\\\\\\\.)([-\\\\\\\\w]*)\\\"},{\\\"include\\\":\\\"#vue-directives-expression\\\"}]},\\\"vue-directives-style-attr\\\":{\\\"begin\\\":\\\"\\\\\\\\b(style)\\\\\\\\s*(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html.vue\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html.vue\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])\\\",\\\"name\\\":\\\"meta.attribute.style.vue\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"([\\\\\\\"'])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html.vue\\\"}},\\\"end\\\":\\\"(\\\\\\\\1)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html.vue\\\"}},\\\"name\\\":\\\"source.css.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#comment-block\\\"},{\\\"include\\\":\\\"source.css#escapes\\\"},{\\\"include\\\":\\\"source.css#font-features\\\"},{\\\"match\\\":\\\"(?<![-\\\\\\\\w])--[-A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]](?:[-0-9A-Z_a-z[^\\\\\\\\x00-\\\\\\\\x7F]]|\\\\\\\\\\\\\\\\(?:\\\\\\\\h{1,6}|.))*\\\",\\\"name\\\":\\\"variable.css\\\"},{\\\"begin\\\":\\\"(?<![-A-Za-z])(?=[-A-Za-z])\\\",\\\"end\\\":\\\"$|(?![-A-Za-z])\\\",\\\"name\\\":\\\"meta.property-name.css\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#property-names\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.css\\\"}},\\\"contentName\\\":\\\"meta.property-value.css\\\",\\\"end\\\":\\\"\\\\\\\\s*(;)|\\\\\\\\s*(?=[\\\\\\\"'])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.css#comment-block\\\"},{\\\"include\\\":\\\"source.css#property-values\\\"}]},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.rule.css\\\"}]}]},\\\"vue-interpolations\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(\\\\\\\\{\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.begin.html.vue\\\"}},\\\"end\\\":\\\"(}})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.interpolation.end.html.vue\\\"}},\\\"name\\\":\\\"expression.embedded.vue\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G\\\",\\\"end\\\":\\\"(?=}})\\\",\\\"name\\\":\\\"source.ts.embedded.html.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.ts#expression\\\"}]}]}]}},\\\"scopeName\\\":\\\"source.vue\\\",\\\"embeddedLangs\\\":[\\\"css\\\",\\\"javascript\\\",\\\"typescript\\\",\\\"json\\\",\\\"html-derivative\\\",\\\"html\\\",\\\"markdown-vue\\\",\\\"vue-directives\\\",\\\"vue-interpolations\\\",\\\"vue-sfc-style-variable-injection\\\"],\\\"embeddedLangsLazy\\\":[\\\"markdown\\\",\\\"pug\\\",\\\"stylus\\\",\\\"sass\\\",\\\"scss\\\",\\\"less\\\",\\\"jsx\\\",\\\"tsx\\\",\\\"coffee\\\",\\\"jsonc\\\",\\\"json5\\\",\\\"yaml\\\",\\\"toml\\\",\\\"graphql\\\"]}\"))\n\nexport default [\n...css,\n...javascript,\n...typescript,\n...json,\n...html_derivative,\n...html,\n...markdown_vue,\n...vue_directives,\n...vue_interpolations,\n...vue_sfc_style_variable_injection,\nlang\n]\n","import vue from './vue.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Vue HTML\\\",\\\"fileTypes\\\":[],\\\"name\\\":\\\"vue-html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"begin\\\":\\\"(<)([A-Z][-0-:A-Za-z]*)(?=[^>]*></\\\\\\\\2>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.component.html\\\"}},\\\"end\\\":\\\"(>)(<)(/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.class.component.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(<)([a-z][-0-:A-Za-z]*)(?=[^>]*></\\\\\\\\2>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(>)(<)(/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.preprocessor.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-generic-attribute\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"}]},{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.html\\\"},{\\\"begin\\\":\\\"<!\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"meta.tag.sgml.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i:DOCTYPE)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.doctype.html\\\"}},\\\"end\\\":\\\"(?=>)\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\">]*\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.doctype.identifiers-and-DTDs.html\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"end\\\":\\\"]](?=>)\\\",\\\"name\\\":\\\"constant.other.inline-data.html\\\"},{\\\"match\\\":\\\"(\\\\\\\\s*)(?!--|>)\\\\\\\\S(\\\\\\\\s*)\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]},{\\\"begin\\\":\\\"(</?)([A-Z][-0-:A-Za-z]*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.component.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)([a-z][-0-:A-Za-z]*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.block.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:body|head|html))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.structure.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)(?!-))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.block.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?!-))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.inline.any.html\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)([-0-:A-Za-z]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.other.html\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"include\\\":\\\"#entities\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"invalid.illegal.incomplete.html\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}],\\\"repository\\\":{\\\"entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.html\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.html\\\"}]},\\\"string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#entities\\\"}]},\\\"tag-generic-attribute\\\":{\\\"match\\\":\\\"(?<=[^=])\\\\\\\\b([-0-:A-Z_a-z]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"tag-id-attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\b(id)\\\\\\\\b\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.id.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(?<=[\\\\\\\"'[^/<>\\\\\\\\s]])\\\",\\\"name\\\":\\\"meta.attribute-with-value.id.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#entities\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.toc-list.id.html\\\"}},\\\"match\\\":\\\"(?<==)(?:[^\\\\\\\"'/<>\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"}]},\\\"tag-stuff\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-directives\\\"},{\\\"include\\\":\\\"#tag-id-attribute\\\"},{\\\"include\\\":\\\"#tag-generic-attribute\\\"},{\\\"include\\\":\\\"#string-double-quoted\\\"},{\\\"include\\\":\\\"#string-single-quoted\\\"},{\\\"include\\\":\\\"#unquoted-attribute\\\"}]},\\\"unquoted-attribute\\\":{\\\"match\\\":\\\"(?<==)(?:[^\\\\\\\"'/<>\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},\\\"vue-directives\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b(v-)|([#:@]))([-0-9A-Z_a-z]+)(?::([-A-Z_a-z]+))?(?:\\\\\\\\.([-A-Z_a-z]+))*\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=[<>`\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.directive.vue\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]}]}},\\\"scopeName\\\":\\\"text.html.vue-html\\\",\\\"embeddedLangs\\\":[\\\"vue\\\",\\\"javascript\\\"],\\\"embeddedLangsLazy\\\":[]}\"))\n\nexport default [\n...vue,\n...javascript,\nlang\n]\n","import css from './css.mjs'\nimport scss from './scss.mjs'\nimport less from './less.mjs'\nimport stylus from './stylus.mjs'\nimport postcss from './postcss.mjs'\nimport vue from './vue.mjs'\nimport javascript from './javascript.mjs'\n\nconst lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"Vue Vine\\\",\\\"name\\\":\\\"vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#directives\\\"},{\\\"include\\\":\\\"#statements\\\"},{\\\"include\\\":\\\"#shebang\\\"}],\\\"repository\\\":{\\\"access-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(abstract|declare|override|public|protected|private|readonly|static)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"after-operator-block-as-object-literal\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=[!(+,:=>?\\\\\\\\[]|^await|[^$._[:alnum:]]await|^return|[^$._[:alnum:]]return|^yield|[^$._[:alnum:]]yield|^throw|[^$._[:alnum:]]throw|^in|[^$._[:alnum:]]in|^of|[^$._[:alnum:]]of|^typeof|[^$._[:alnum:]]typeof|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"name\\\":\\\"meta.objectliteral.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.vue-vine\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.vue-vine\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#binding-element-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"array-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\s*(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.vue-vine\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.vue-vine\\\"}},\\\"name\\\":\\\"meta.array.literal.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"arrow-function\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.vue-vine\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async)\\\\\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?==>)\\\",\\\"name\\\":\\\"meta.arrow.vue-vine\\\"},{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(async))?((?<![]!)}])\\\\\\\\s*(?=((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.arrow.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#arrow-return-type\\\"},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.vue-vine\\\"}},\\\"end\\\":\\\"((?<=[}\\\\\\\\S])(?<!=>)|((?!\\\\\\\\{)(?=\\\\\\\\S)))(?!/[*/])\\\",\\\"name\\\":\\\"meta.arrow.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.vue-vine\\\"}},\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.return.type.arrow.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"arrow-return-type-body\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"async-modifier\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(async)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"boolean-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))true(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.true.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))false(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.boolean.false.vue-vine\\\"}]},\\\"brackets\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"end\\\":\\\"]|(?=\\\\\\\\*/)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"cast\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.angle.vue-vine\\\"}},\\\"match\\\":\\\"\\\\\\\\s*(<)\\\\\\\\s*(const)\\\\\\\\s*(>)\\\",\\\"name\\\":\\\"cast.expr.vue-vine\\\"},{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--)(?<=^return|[^$._[:alnum:]]return|^throw|[^$._[:alnum:]]throw|^yield|[^$._[:alnum:]]yield|^await|[^$._[:alnum:]]await|^default|[^$._[:alnum:]]default|[\\\\\\\\&(*,:=>?^|]|[^$_[:alnum:]](?:\\\\\\\\+\\\\\\\\+|--)|[^+]\\\\\\\\+|[^-]-)\\\\\\\\s*(<)(?!<?=)(?!\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.vue-vine\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.vue-vine\\\"}},\\\"name\\\":\\\"cast.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?<=^)\\\\\\\\s*(<)(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.vue-vine\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.angle.vue-vine\\\"}},\\\"name\\\":\\\"cast.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"class-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(class)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.class.vue-vine\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-declaration-or-expression-patterns\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.class.vue-vine\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"class-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(class)\\\\\\\\b(?=\\\\\\\\s+|[<{]|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.vue-vine\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.class.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#class-declaration-or-expression-patterns\\\"}]},\\\"class-or-interface-body\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*\\\",\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;}\\\\\\\\s]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#access-modifier\\\"},{\\\"include\\\":\\\"#property-accessor\\\"},{\\\"include\\\":\\\"#async-modifier\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]},\\\"class-or-interface-heritage\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))\\\\\\\\b(extends|implements)\\\\\\\\b(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\{)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*)*\\\\\\\\s*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.inherited-class.vue-vine\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"comment\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*(?!/)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue-vine\\\"}},\\\"name\\\":\\\"comment.block.documentation.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#docblock\\\"}]},{\\\"begin\\\":\\\"(/\\\\\\\\*)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|(\\\\\\\\*/)))?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue-vine\\\"}},\\\"name\\\":\\\"comment.block.vue-vine\\\"},{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.vue-vine\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.vue-vine\\\",\\\"end\\\":\\\"(?=$)\\\"}]},\\\"control-statement\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#switch-statement\\\"},{\\\"include\\\":\\\"#for-loop\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(catch|finally|throw|try)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.trycatch.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.loop.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.label.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|goto)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(break|continue|do|goto|while)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.loop.vue-vine\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(return)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.flow.vue-vine\\\"}},\\\"end\\\":\\\"(?=[;}]|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default|switch)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.switch.vue-vine\\\"},{\\\"include\\\":\\\"#if-statement\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(else|if)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.conditional.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(with)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.with.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(package)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(debugger)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.other.debugger.vue-vine\\\"}]},\\\"decl-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"name\\\":\\\"meta.block.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},\\\"declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#function-declaration\\\"},{\\\"include\\\":\\\"#class-declaration\\\"},{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#enum-declaration\\\"},{\\\"include\\\":\\\"#namespace-declaration\\\"},{\\\"include\\\":\\\"#type-alias-declaration\\\"},{\\\"include\\\":\\\"#import-equals-declaration\\\"},{\\\"include\\\":\\\"#import-declaration\\\"},{\\\"include\\\":\\\"#export-declaration\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(declare|export)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}]},\\\"decorator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))@\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.decorator.vue-vine\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s)\\\",\\\"name\\\":\\\"meta.decorator.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"destructuring-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern-const\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-parameter\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.vue-vine\\\"}},\\\"name\\\":\\\"meta.parameter.object-binding-pattern.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},{\\\"begin\\\":\\\"(?<![:=])\\\\\\\\s*(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.vue-vine\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.vue-vine\\\"}},\\\"name\\\":\\\"meta.paramter.array-binding-pattern.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"destructuring-parameter-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.vue-vine\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\{)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object-binding-pattern-variable.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]},{\\\"begin\\\":\\\"(?<![:=]|^of|[^$._[:alnum:]]of|^in|[^$._[:alnum:]]in)\\\\\\\\s*(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.array-binding-pattern-variable.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#array-binding-pattern\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#comment\\\"}]}]},\\\"destructuring-variable-rest\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.vue-vine\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"destructuring-variable-rest-const\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.vue-vine\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)\\\"},\\\"directives\\\":{\\\"begin\\\":\\\"^(///)\\\\\\\\s*(?=<(reference|amd-dependency|amd-module)(\\\\\\\\s+(path|types|no-default-lib|lib|name|resolution-mode)\\\\\\\\s*=\\\\\\\\s*(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)))+\\\\\\\\s*/>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue-vine\\\"}},\\\"end\\\":\\\"(?=$)\\\",\\\"name\\\":\\\"comment.line.triple-slash.directive.vue-vine\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(<)(reference|amd-dependency|amd-module)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.directive.vue-vine\\\"}},\\\"end\\\":\\\"/>\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.directive.vue-vine\\\"}},\\\"name\\\":\\\"meta.tag.vue-vine\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"path|types|no-default-lib|lib|name|resolution-mode\\\",\\\"name\\\":\\\"entity.other.attribute-name.directive.vue-vine\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"},{\\\"include\\\":\\\"#string\\\"}]}]},\\\"docblock\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.access-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)a(?:ccess|pi))\\\\\\\\s+(p(?:rivate|rotected|ublic))\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.other.email.link.underline.jsdoc\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"match\\\":\\\"((@)author)\\\\\\\\s+([^*/<>@\\\\\\\\s](?:[^*/<>@]|\\\\\\\\*[^/])*)(?:\\\\\\\\s*(<)([^>\\\\\\\\s]+)(>))?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.control.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)borrows)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\\\\\\s+(as)\\\\\\\\s+((?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)example)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=@|\\\\\\\\*/)\\\",\\\"name\\\":\\\"meta.example.jsdoc\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"^\\\\\\\\s\\\\\\\\*\\\\\\\\s+\\\"},{\\\"begin\\\":\\\"\\\\\\\\G(<)caption(>)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}},\\\"contentName\\\":\\\"constant.other.description.jsdoc\\\",\\\"end\\\":\\\"(</)caption(>)|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.tag.inline.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.angle.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"source.embedded.vue-vine\\\"}},\\\"match\\\":\\\"[^*@\\\\\\\\s](?:[^*]|\\\\\\\\*[^/])*\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.symbol-type.jsdoc\\\"}},\\\"match\\\":\\\"((@)kind)\\\\\\\\s+(class|constant|event|external|file|function|member|mixin|module|namespace|typedef)\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)see)\\\\\\\\s+(?:((?=https?://)(?:[^*\\\\\\\\s]|\\\\\\\\*[^/])+)|((?!https?://|(?:\\\\\\\\[[^]\\\\\\\\[]*])?\\\\\\\\{@(?:link|linkcode|linkplain|tutorial)\\\\\\\\b)(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)template)\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*(?:\\\\\\\\s*,\\\\\\\\s*[$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)*)\\\"},{\\\"begin\\\":\\\"((@)template)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|var))\\\\\\\\s+([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\"},{\\\"begin\\\":\\\"((@)typedef)\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"(?:[^*/@\\\\\\\\s]|\\\\\\\\*[^/])+\\\",\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:arg|argument|const|constant|member|namespace|param|prop|property|var))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"},{\\\"match\\\":\\\"([$A-Z_a-z][]$.\\\\\\\\[\\\\\\\\w]*)\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.begin.bracket.square.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"source.embedded.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.optional-value.end.bracket.square.jsdoc\\\"},\\\"5\\\":{\\\"name\\\":\\\"invalid.illegal.syntax.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)\\\\\\\\s*[$\\\\\\\\w]+(?:(?:\\\\\\\\[])?\\\\\\\\.[$\\\\\\\\w]+)*(?:\\\\\\\\s*(=)\\\\\\\\s*((?>\\\\\\\"(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!\\\\\\\")|[^*\\\\\\\\\\\\\\\\])*?\\\\\\\"|'(?:\\\\\\\\*(?!/)|\\\\\\\\\\\\\\\\(?!')|[^*\\\\\\\\\\\\\\\\])*?'|\\\\\\\\[(?:\\\\\\\\*(?!/)|[^*])*?]|(?:\\\\\\\\*(?!/)|\\\\\\\\s(?!\\\\\\\\s*])|\\\\\\\\[.*?(?:]|(?=\\\\\\\\*/))|[^]*\\\\\\\\[\\\\\\\\s])*)*))?\\\\\\\\s*(?:(])((?:[^*\\\\\\\\s]|\\\\\\\\*[^/\\\\\\\\s])+)?|(?=\\\\\\\\*/))\\\",\\\"name\\\":\\\"variable.other.jsdoc\\\"}]},{\\\"begin\\\":\\\"((@)(?:define|enum|exception|export|extends|lends|implements|modifies|namespace|private|protected|returns?|satisfies|suppress|this|throws|type|yields?))\\\\\\\\s+(?=\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\s|\\\\\\\\*/|[^]$A-\\\\\\\\[_a-{}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#jsdoctype\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:alias|augments|callback|constructs|emits|event|fires|exports?|extends|external|function|func|host|lends|listens|interface|memberof!?|method|module|mixes|mixin|name|requires|see|this|typedef|uses))\\\\\\\\s+((?:[^*@{}\\\\\\\\s]|\\\\\\\\*[^/])+)\\\"},{\\\"begin\\\":\\\"((@)(?:default(?:value)?|license|version))\\\\\\\\s+(([\\\\\\\"']))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"variable.other.jsdoc\\\",\\\"end\\\":\\\"(\\\\\\\\3)|(?=$|\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.jsdoc\\\"}}},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.jsdoc\\\"}},\\\"match\\\":\\\"((@)(?:default(?:value)?|license|tutorial|variation|version))\\\\\\\\s+([^*\\\\\\\\s]+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"(@)(?:abstract|access|alias|api|arg|argument|async|attribute|augments|author|beta|borrows|bubbles|callback|chainable|class|classdesc|code|config|const|constant|constructor|constructs|copyright|default|defaultvalue|define|deprecated|desc|description|dict|emits|enum|event|example|exception|exports?|extends|extension(?:_?for)?|external|externs|file|fileoverview|final|fires|for|func|function|generator|global|hideconstructor|host|ignore|implements|implicitCast|inherit[Dd]oc|inner|instance|interface|internal|kind|lends|license|listens|main|member|memberof!?|method|mixes|mixins?|modifies|module|name|namespace|noalias|nocollapse|nocompile|nosideeffects|override|overview|package|param|polymer(?:Behavior)?|preserve|private|prop|property|protected|public|read[Oo]nly|record|require[ds]|returns?|see|since|static|struct|submodule|summary|suppress|template|this|throws|todo|tutorial|type|typedef|unrestricted|uses|var|variation|version|virtual|writeOnce|yields?)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},{\\\"include\\\":\\\"#inline-tags\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.tag.jsdoc\\\"}},\\\"match\\\":\\\"((@)[$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s+)\\\"}]},\\\"enum-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:\\\\\\\\b(const)\\\\\\\\s+)?\\\\\\\\b(enum)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.enum.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.enum.vue-vine\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.enum.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"variable.other.enummember.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"begin\\\":\\\"(?=(('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+])))\\\",\\\"end\\\":\\\"(?=[,}]|$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"export-declaration\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.module.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)\\\\\\\\s+(as)\\\\\\\\s+(namespace)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?(?:\\\\\\\\s*(=)|\\\\\\\\s+(default)(?=\\\\\\\\s+))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.default.vue-vine\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.default.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#interface-declaration\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(export)(?:\\\\\\\\s+(type))?\\\\\\\\b(?!(\\\\\\\\$)|(\\\\\\\\s*:))((?=\\\\\\\\s*[*{])|((?=\\\\\\\\s*[$_[:alpha:]][$_[:alnum:]]*([,\\\\\\\\s]))(?!\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.type.vue-vine\\\"}},\\\"end\\\":\\\"(?=$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.export.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]}]},\\\"expression\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-inside-possibly-arrow-parens\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#expressionWithoutIdentifiers\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*[,:]|$)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.vue-vine\\\"},{\\\"include\\\":\\\"#identifiers\\\"},{\\\"include\\\":\\\"#expressionPunctuations\\\"}]},\\\"expression-operators\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(await)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.control.flow.vue-vine\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?=\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*\\\\\\\\*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\*\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.flow.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(yield)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s*(\\\\\\\\*))?\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))delete(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.delete.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))in(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.in.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))of(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?!\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.of.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.instanceof.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.new.vue-vine\\\"},{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))void(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.void.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*($|[]),:;}]))\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.vue-vine\\\"}},\\\"end\\\":\\\"(?=^|[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisfies)\\\\\\\\s+)|(\\\\\\\\s+<))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.spread.vue-vine\\\"},{\\\"match\\\":\\\"(?:\\\\\\\\*|(?<!\\\\\\\\()/|[-%+])=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.vue-vine\\\"},{\\\"match\\\":\\\"(?:[\\\\\\\\&^]|<<|>>>??|\\\\\\\\|)=\\\",\\\"name\\\":\\\"keyword.operator.assignment.compound.bitwise.vue-vine\\\"},{\\\"match\\\":\\\"<<|>>>?\\\",\\\"name\\\":\\\"keyword.operator.bitwise.shift.vue-vine\\\"},{\\\"match\\\":\\\"[!=]==?\\\",\\\"name\\\":\\\"keyword.operator.comparison.vue-vine\\\"},{\\\"match\\\":\\\"<=|>=|<>|[<>]\\\",\\\"name\\\":\\\"keyword.operator.relational.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.logical.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.vue-vine\\\"}},\\\"match\\\":\\\"(?<=[$_[:alnum:]])(!)\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"},{\\\"match\\\":\\\"!|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\?\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.logical.vue-vine\\\"},{\\\"match\\\":\\\"[\\\\\\\\&^|~]\\\",\\\"name\\\":\\\"keyword.operator.bitwise.vue-vine\\\"},{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"},{\\\"match\\\":\\\"--\\\",\\\"name\\\":\\\"keyword.operator.decrement.vue-vine\\\"},{\\\"match\\\":\\\"\\\\\\\\+\\\\\\\\+\\\",\\\"name\\\":\\\"keyword.operator.increment.vue-vine\\\"},{\\\"match\\\":\\\"[-%*+/]\\\",\\\"name\\\":\\\"keyword.operator.arithmetic.vue-vine\\\"},{\\\"begin\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)+(?:(/=)|(/)(?![*/])))\\\",\\\"end\\\":\\\"(/=)|(/)(?!\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.compound.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.arithmetic.vue-vine\\\"}},\\\"match\\\":\\\"(?<=[]$)_[:alnum:]])\\\\\\\\s*(?:(/=)|(/)(?![*/]))\\\"}]},\\\"expressionPunctuations\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"}]},\\\"expressionWithoutIdentifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-expression\\\"},{\\\"include\\\":\\\"#class-expression\\\"},{\\\"include\\\":\\\"#arrow-function\\\"},{\\\"include\\\":\\\"#paren-expression-possibly-arrow\\\"},{\\\"include\\\":\\\"#cast\\\"},{\\\"include\\\":\\\"#ternary-expression\\\"},{\\\"include\\\":\\\"#new-expr\\\"},{\\\"include\\\":\\\"#instanceof-expr\\\"},{\\\"include\\\":\\\"#object-literal\\\"},{\\\"include\\\":\\\"#expression-operators\\\"},{\\\"include\\\":\\\"#function-call\\\"},{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},\\\"field-declaration\\\":{\\\"begin\\\":\\\"(?<!\\\\\\\\()(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s+)?(?=\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=}]|$))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,;}]|$|^((?!\\\\\\\\s*(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|(#?[$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(?:(?:(\\\\\\\\?)|(!))\\\\\\\\s*)?([,:;=]|$))))|(?<=})\\\",\\\"name\\\":\\\"meta.field.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.property.ts entity.name.function.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.vue-vine\\\"}},\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)(?:(\\\\\\\\?)|(!))?(?=\\\\\\\\s*\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"match\\\":\\\"#?[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.property.ts variable.object.property.vue-vine\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"keyword.operator.definiteassignment.vue-vine\\\"}]},\\\"for-loop\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))for(?=((\\\\\\\\s+|(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*))await)?\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)?(\\\\\\\\())\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.loop.vue-vine\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"await\\\",\\\"name\\\":\\\"keyword.control.loop.vue-vine\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#var-expr\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"}]}]},\\\"function-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#function-parameters\\\"},{\\\"include\\\":\\\"#return-type\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"}]},\\\"function-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=\\\\\\\\s*(?:(\\\\\\\\?\\\\\\\\.\\\\\\\\s*)|(!))?((<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?\\\\\\\\())\\\",\\\"name\\\":\\\"meta.function-call.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"begin\\\":\\\"(?=(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"end\\\":\\\"(?<=>)(?!(((([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))|(?<=\\\\\\\\)))(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*)(\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*))*)|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*[(\\\\\\\\[{]\\\\\\\\s*)$)\\\",\\\"name\\\":\\\"meta.function-call.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-call-target\\\"}]},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#function-call-optionals\\\"},{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"function-call-optionals\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\?\\\\\\\\.\\\",\\\"name\\\":\\\"meta.function-call.ts punctuation.accessor.optional.vue-vine\\\"},{\\\"match\\\":\\\"!\\\",\\\"name\\\":\\\"meta.function-call.ts keyword.operator.definiteassignment.vue-vine\\\"}]},\\\"function-call-target\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"(#?[$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.vue-vine\\\"}]},\\\"function-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.function.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.vue-vine\\\"}},\\\"end\\\":\\\"(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)|(?<=})\\\",\\\"name\\\":\\\"meta.function.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-expression\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(async)\\\\\\\\s+)?(function)\\\\\\\\b(?:\\\\\\\\s*(\\\\\\\\*))?(?:(?:\\\\\\\\s+|(?<=\\\\\\\\*))([$_[:alpha:]][$_[:alnum:]]*))?\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.function.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.vue-vine\\\"}},\\\"end\\\":\\\"(?=;)|(?<=})\\\",\\\"name\\\":\\\"meta.function.expression.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-name\\\"},{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},\\\"function-name\\\":{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.function.ts entity.name.function.vue-vine\\\"},\\\"function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.begin.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.parameters.end.vue-vine\\\"}},\\\"name\\\":\\\"meta.parameters.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters-body\\\"}]},\\\"function-parameters-body\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#decorator\\\"},{\\\"include\\\":\\\"#destructuring-parameter\\\"},{\\\"include\\\":\\\"#parameter-name\\\"},{\\\"include\\\":\\\"#parameter-type-annotation\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.vue-vine\\\"}]},\\\"identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.vue-vine\\\"}},\\\"match\\\":\\\"(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*)?([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.property.vue-vine\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.property.vue-vine\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"match\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])\\\",\\\"name\\\":\\\"variable.other.constant.vue-vine\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"variable.other.readwrite.vue-vine\\\"}]},\\\"if-statement\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bif\\\\\\\\s*(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))\\\\\\\\s*(?!\\\\\\\\{))\\\",\\\"end\\\":\\\"(?=;|$|})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(if)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.conditional.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.vue-vine\\\"}},\\\"end\\\":\\\"(/)([dgimsuy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.vue-vine\\\"}},\\\"name\\\":\\\"string.regexp.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"import-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type)(?!\\\\\\\\s+from))?(?!\\\\\\\\s*[(:])(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.vue-vine\\\"}},\\\"end\\\":\\\"(?<!(?:^|[^$._[:alnum:]])import)(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"begin\\\":\\\"(?<=(?:^|[^$._[:alnum:]])import)(?!\\\\\\\\s*[\\\\\\\"'])\\\",\\\"end\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.control.from.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-declaration\\\"}]},{\\\"include\\\":\\\"#import-export-declaration\\\"}]},\\\"import-equals-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(require)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.vue-vine\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"},\\\"7\\\":{\\\"name\\\":\\\"keyword.control.require.vue-vine\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"name\\\":\\\"meta.import-equals.external.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(import)(?:\\\\\\\\s+(type))?\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(=)\\\\\\\\s*(?!require\\\\\\\\b)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.control.import.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.type.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.vue-vine\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"}},\\\"end\\\":\\\"(?=;|$|^)\\\",\\\"name\\\":\\\"meta.import-equals.internal.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.other.readwrite.vue-vine\\\"}]}]},\\\"import-export-assert-clause\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(assert)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.assert.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object-literal.key.vue-vine\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"punctuation.separator.key-value.vue-vine\\\"}]},\\\"import-export-block\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"name\\\":\\\"meta.block.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"import-export-clause\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.default.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.language.import-export-all.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.readwrite.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.control.as.vue-vine\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.control.default.vue-vine\\\"},\\\"7\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(type)\\\\\\\\s+)?(?:\\\\\\\\b(default)|(\\\\\\\\*)|\\\\\\\\b([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s+(as)\\\\\\\\s+(?:(default(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|([$_[:alpha:]][$_[:alnum:]]*))\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"constant.language.import-export-all.vue-vine\\\"},{\\\"match\\\":\\\"\\\\\\\\b(default)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.default.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.type.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.readwrite.alias.vue-vine\\\"}},\\\"match\\\":\\\"(?:\\\\\\\\b(type)\\\\\\\\s+)?([$_[:alpha:]][$_[:alnum:]]*)\\\"}]},\\\"import-export-declaration\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#import-export-block\\\"},{\\\"match\\\":\\\"\\\\\\\\bfrom\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.from.vue-vine\\\"},{\\\"include\\\":\\\"#import-export-assert-clause\\\"},{\\\"include\\\":\\\"#import-export-clause\\\"}]},\\\"indexer-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.square.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.vue-vine\\\"}},\\\"end\\\":\\\"(])\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}},\\\"name\\\":\\\"meta.indexer.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"}]},\\\"indexer-mapped-type-declaration\\\":{\\\"begin\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([-+])?(readonly)\\\\\\\\s*)?\\\\\\\\s*(\\\\\\\\[)\\\\\\\\s*([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s+(in)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.brace.square.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.expression.in.vue-vine\\\"}},\\\"end\\\":\\\"(])([-+])?\\\\\\\\s*(\\\\\\\\?\\\\\\\\s*)?|$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.square.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.type.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}},\\\"name\\\":\\\"meta.indexer.mappedtype.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"inline-tags\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.square.end.jsdoc\\\"}},\\\"match\\\":\\\"(\\\\\\\\[)[^]]+(])(?=\\\\\\\\{@(?:link|linkcode|linkplain|tutorial))\\\",\\\"name\\\":\\\"constant.other.description.jsdoc\\\"},{\\\"begin\\\":\\\"(\\\\\\\\{)((@)(?:link(?:code|plain)?|tutorial))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.class.jsdoc\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.inline.tag.jsdoc\\\"}},\\\"end\\\":\\\"}|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.link.underline.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?=https?://)(?:[^*|}\\\\\\\\s]|\\\\\\\\*/)+)(\\\\\\\\|)?\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.description.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.pipe.jsdoc\\\"}},\\\"match\\\":\\\"\\\\\\\\G((?:[^*@{|}\\\\\\\\s]|\\\\\\\\*[^/])+)(\\\\\\\\|)?\\\"}]}]},\\\"instanceof-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(instanceof)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.instanceof.vue-vine\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|([!=]==?)|(([\\\\\\\\&^|~]\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s+instanceof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"interface-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(?:(abstract)\\\\\\\\s+)?\\\\\\\\b(interface)\\\\\\\\b(?=\\\\\\\\s+|/[*/])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.interface.vue-vine\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"name\\\":\\\"meta.interface.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#class-or-interface-heritage\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.interface.vue-vine\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#class-or-interface-body\\\"}]},\\\"jsdoctype\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\G(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.begin.jsdoc\\\"}},\\\"contentName\\\":\\\"entity.name.type.instance.jsdoc\\\",\\\"end\\\":\\\"((}))\\\\\\\\s*|(?=\\\\\\\\*/)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.instance.jsdoc\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.bracket.curly.end.jsdoc\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#brackets\\\"}]}]},\\\"label\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.vue-vine\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#decl-block\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.label.vue-vine\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(:)\\\"}]},\\\"literal\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#boolean-literal\\\"},{\\\"include\\\":\\\"#null-literal\\\"},{\\\"include\\\":\\\"#undefined-literal\\\"},{\\\"include\\\":\\\"#numericConstant-literal\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#this-literal\\\"},{\\\"include\\\":\\\"#super-literal\\\"}]},\\\"method-declaration\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?\\\\\\\\s*\\\\\\\\b(constructor)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\s*\\\\\\\\b(new)\\\\\\\\b(?!:)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))|(?:(\\\\\\\\*)\\\\\\\\s*)?)(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.new.vue-vine\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(override)\\\\\\\\s+)?(?:\\\\\\\\b(p(?:ublic|rivate|rotected))\\\\\\\\s+)?(?:\\\\\\\\b(abstract)\\\\\\\\s+)?(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"storage.type.property.vue-vine\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"}]}]},\\\"method-declaration-name\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??)\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"meta.definition.method.ts entity.name.function.vue-vine\\\"},{\\\"match\\\":\\\"\\\\\\\\?\\\",\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}]},\\\"namespace-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(namespace|module)\\\\\\\\s+(?=[\\\\\\\"$'_`[:alpha:]])\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.namespace.vue-vine\\\"}},\\\"end\\\":\\\"(?<=})|(?=;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.namespace.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.type.module.vue-vine\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"new-expr\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.vue-vine\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))|(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))new(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))function((\\\\\\\\s+[$_[:alpha:]][$_[:alnum:]]*)|(\\\\\\\\s*\\\\\\\\())))\\\",\\\"name\\\":\\\"new.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"null-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))null(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.null.vue-vine\\\"},\\\"numeric-literal\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.hex.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.binary.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"}},\\\"match\\\":\\\"\\\\\\\\b(?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"constant.numeric.octal.vue-vine\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"constant.numeric.decimal.vue-vine\\\"},\\\"1\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.vue-vine\\\"},\\\"6\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"},\\\"7\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"},\\\"8\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.vue-vine\\\"},\\\"9\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"},\\\"10\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.vue-vine\\\"},\\\"11\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"},\\\"12\\\":{\\\"name\\\":\\\"meta.delimiter.decimal.period.vue-vine\\\"},\\\"13\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"},\\\"14\\\":{\\\"name\\\":\\\"storage.type.numeric.bigint.vue-vine\\\"}},\\\"match\\\":\\\"(?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)\\\"}]},\\\"numericConstant-literal\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))NaN(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.nan.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Infinity(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.infinity.vue-vine\\\"}]},\\\"object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-const\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#binding-element-const\\\"}]},{\\\"include\\\":\\\"#object-binding-pattern-const\\\"},{\\\"include\\\":\\\"#destructuring-variable-rest-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"object-binding-element-propertyName\\\":{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(:)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.destructuring.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#array-literal\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"variable.object.property.vue-vine\\\"}]},\\\"object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element\\\"}]},\\\"object-binding-pattern-const\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-const\\\"}]},\\\"object-identifiers\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*prototype\\\\\\\\b(?!\\\\\\\\$))\\\",\\\"name\\\":\\\"support.class.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.other.constant.object.property.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.other.object.property.vue-vine\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(#?\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|(#?[$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.constant.object.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.object.vue-vine\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)|([$_[:alpha:]][$_[:alnum:]]*))(?=\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*#?[$_[:alpha:]][$_[:alnum:]]*)\\\"}]},\\\"object-literal\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"name\\\":\\\"meta.objectliteral.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-member\\\"}]},\\\"object-literal-method-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"},{\\\"include\\\":\\\"#function-body\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(async)\\\\\\\\s+)?(?:\\\\\\\\b([gs]et)\\\\\\\\s+)?(?:(\\\\\\\\*)\\\\\\\\s*)?(?=\\\\\\\\s*((\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(\\\\\\\\??))\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.type.property.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.generator.asterisk.vue-vine\\\"}},\\\"end\\\":\\\"(?=[(<])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#method-declaration-name\\\"}]}]},\\\"object-member\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#object-literal-method-declaration\\\"},{\\\"begin\\\":\\\"(?=\\\\\\\\[)\\\",\\\"end\\\":\\\"(?=:)|((?<=])(?=\\\\\\\\s*[(<]))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#array-literal\\\"}]},{\\\"begin\\\":\\\"(?=[\\\\\\\"'`])\\\",\\\"end\\\":\\\"(?=:)|((?<=[\\\\\\\"'`])(?=((\\\\\\\\s*[(,<}])|(\\\\\\\\s+(as|satisifies)\\\\\\\\s+))))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"}]},{\\\"begin\\\":\\\"(?=\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$)))\\\",\\\"end\\\":\\\"(?=:)|(?=\\\\\\\\s*([(,<}])|(\\\\\\\\s+as|satisifies\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.ts meta.object-literal.key.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"}]},{\\\"begin\\\":\\\"(?<=[]\\\\\\\"'`])(?=\\\\\\\\s*[(<])\\\",\\\"end\\\":\\\"(?=[,;}])|(?<=})\\\",\\\"name\\\":\\\"meta.method.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-body\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.vue-vine\\\"},\\\"1\\\":{\\\"name\\\":\\\"constant.numeric.decimal.vue-vine\\\"}},\\\"match\\\":\\\"(?![$_[:alpha:]])(\\\\\\\\d+)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.vue-vine\\\"},\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.vue-vine\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:(\\\\\\\\s*/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/)*\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.vue-vine\\\"}},\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*(?=(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*:)\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.readwrite.vue-vine\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as)\\\\\\\\s+(const)(?=\\\\\\\\s*([,}]|$))\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(as)|(satisfies))\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.as.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.satisfies.vue-vine\\\"}},\\\"end\\\":\\\"(?=[-\\\\\\\\])+,:;>?}]|\\\\\\\\|\\\\\\\\||&&|!==|$|^|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(as|satisifies)\\\\\\\\s+))\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(?=[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=)\\\",\\\"end\\\":\\\"(?=[,}]|$|//|/\\\\\\\\*)\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\":\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.object-literal.key.ts punctuation.separator.key-value.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,}])\\\",\\\"name\\\":\\\"meta.object.member.vue-vine\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?(?=\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"begin\\\":\\\"(?<=:)\\\\\\\\s*(async)?\\\\\\\\s*(?=<\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<=>)\\\\\\\\s*(\\\\\\\\()(?=\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"},{\\\"include\\\":\\\"#expression\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#decl-block\\\"}]},\\\"parameter-array-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\[)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.vue-vine\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.array.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#regex\\\"},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#parameter-array-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"}]},\\\"parameter-name\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|protected|private|readonly)\\\\\\\\s+(?=(override|public|protected|private|readonly)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(override|public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*(\\\\\\\\??)\\\"}]},\\\"parameter-object-binding-element\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?=(\\\\\\\\b((?<!\\\\\\\\$)0[Xx]\\\\\\\\h[_\\\\\\\\h]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Bb][01][01_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|\\\\\\\\b((?<!\\\\\\\\$)0[Oo]?[0-7][0-7_]*(n)?\\\\\\\\b(?!\\\\\\\\$))|((?<!\\\\\\\\$)(?:\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*[Ee][-+]?[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(\\\\\\\\.)(n)?\\\\\\\\B|\\\\\\\\B(\\\\\\\\.)[0-9][0-9_]*(n)?\\\\\\\\b|\\\\\\\\b[0-9][0-9_]*(n)?\\\\\\\\b(?!\\\\\\\\.))(?!\\\\\\\\$))|([$_[:alpha:]][$_[:alnum:]]*)|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`)|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])+]))\\\\\\\\s*(:))\\\",\\\"end\\\":\\\"(?=[,}])\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#object-binding-element-propertyName\\\"},{\\\"include\\\":\\\"#parameter-binding-element\\\"},{\\\"include\\\":\\\"#paren-expression\\\"}]},{\\\"include\\\":\\\"#parameter-object-binding-pattern\\\"},{\\\"include\\\":\\\"#destructuring-parameter-rest\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"parameter-object-binding-pattern\\\":{\\\"begin\\\":\\\"(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.binding-pattern.object.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#parameter-object-binding-element\\\"}]},\\\"parameter-type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.vue-vine\\\"}},\\\"end\\\":\\\"(?=[),])|(?==[^>])\\\",\\\"name\\\":\\\"meta.type.annotation.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"paren-expression\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"paren-expression-possibly-arrow\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=[(,=])\\\\\\\\s*(async)?(?=\\\\\\\\s*((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"begin\\\":\\\"(?<=[(,=]|=>|^return|[^$._[:alnum:]]return)\\\\\\\\s*(async)?(?=\\\\\\\\s*((((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*))?\\\\\\\\()|(<)|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)))\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.async.vue-vine\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#paren-expression-possibly-arrow-with-typeparameters\\\"}]},{\\\"include\\\":\\\"#possibly-arrow-return-type\\\"}]},\\\"paren-expression-possibly-arrow-with-typeparameters\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression-inside-possibly-arrow-parens\\\"}]}]},\\\"possibly-arrow-return-type\\\":{\\\"begin\\\":\\\"(?<=\\\\\\\\)|^)\\\\\\\\s*(:)(?=\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*=>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.arrow.ts meta.return.type.arrow.ts keyword.operator.type.annotation.vue-vine\\\"}},\\\"contentName\\\":\\\"meta.arrow.ts meta.return.type.arrow.vue-vine\\\",\\\"end\\\":\\\"(?==>|\\\\\\\\{|^(\\\\\\\\s*(export|function|class|interface|let|var|const|import|enum|namespace|module|type|abstract|declare)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#arrow-return-type-body\\\"}]},\\\"property-accessor\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(accessor|get|set)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.type.property.vue-vine\\\"},\\\"punctuation-accessor\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"}},\\\"match\\\":\\\"(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d))\\\"},\\\"punctuation-comma\\\":{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.comma.vue-vine\\\"},\\\"punctuation-semicolon\\\":{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.terminator.statement.vue-vine\\\"},\\\"qstring-double\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.vue-vine\\\"}},\\\"end\\\":\\\"(\\\\\\\")|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.vue-vine\\\"}},\\\"name\\\":\\\"string.quoted.double.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"qstring-single\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.vue-vine\\\"}},\\\"end\\\":\\\"(')|([^\\\\\\\\n\\\\\\\\\\\\\\\\])$\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"invalid.illegal.newline.vue-vine\\\"}},\\\"name\\\":\\\"string.quoted.single.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#string-character-escape\\\"}]},\\\"regex\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<!\\\\\\\\+\\\\\\\\+|--|})(?<=[!(+,:=?\\\\\\\\[]|^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case|=>|&&|\\\\\\\\|\\\\\\\\||\\\\\\\\*/)\\\\\\\\s*(/)(?![*/])(?=(?:[^()/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+]|\\\\\\\\(([^)\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)+\\\\\\\\))+/([dgimsuy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.vue-vine\\\"}},\\\"end\\\":\\\"(/)([dgimsuy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.vue-vine\\\"}},\\\"name\\\":\\\"string.regexp.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"((?<![]$)_[:alnum:]]|\\\\\\\\+\\\\\\\\+|--|}|\\\\\\\\*/)|((?<=^return|[^$._[:alnum:]]return|^case|[^$._[:alnum:]]case))\\\\\\\\s*)/(?![*/])(?=(?:[^/\\\\\\\\[\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.|\\\\\\\\[([^]\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*])+/([dgimsuy]+|(?![*/])|(?=/\\\\\\\\*))(?!\\\\\\\\s*[$0-9A-Z_a-z]))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.vue-vine\\\"}},\\\"end\\\":\\\"(/)([dgimsuy]*)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.vue-vine\\\"}},\\\"name\\\":\\\"string.regexp.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]}]},\\\"regex-character-class\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[DSWdfnrstvw]|\\\\\\\\.\\\",\\\"name\\\":\\\"constant.other.character-class.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4})\\\",\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\c[A-Z]\\\",\\\"name\\\":\\\"constant.character.control.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\.\\\",\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}]},\\\"regexp\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\[Bb]|[$^]\\\",\\\"name\\\":\\\"keyword.control.anchor.regexp\\\"},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.other.back-reference.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(?:[1-9]\\\\\\\\d*|k<([$A-Z_a-z][$\\\\\\\\w]*)>)\\\"},{\\\"match\\\":\\\"[*+?]|\\\\\\\\{(\\\\\\\\d+,\\\\\\\\d+|\\\\\\\\d+,|,\\\\\\\\d+|\\\\\\\\d+)}\\\\\\\\??\\\",\\\"name\\\":\\\"keyword.operator.quantifier.regexp\\\"},{\\\"match\\\":\\\"\\\\\\\\|\\\",\\\"name\\\":\\\"keyword.operator.or.regexp\\\"},{\\\"begin\\\":\\\"(\\\\\\\\()((\\\\\\\\?=)|(\\\\\\\\?!)|(\\\\\\\\?<=)|(\\\\\\\\?<!))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.group.assertion.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"meta.assertion.look-ahead.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-ahead.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.assertion.look-behind.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"meta.assertion.negative-look-behind.regexp\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.assertion.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\((?:(\\\\\\\\?:)|\\\\\\\\?<([$A-Z_a-z][$\\\\\\\\w]*)>)?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"},\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.group.no-capture.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.other.regexp\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.group.regexp\\\"}},\\\"name\\\":\\\"meta.group.regexp\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#regexp\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\[)(\\\\\\\\^)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.negation.regexp\\\"}},\\\"end\\\":\\\"(])\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.character-class.regexp\\\"}},\\\"name\\\":\\\"constant.other.character-class.set.regexp\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"3\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"},\\\"4\\\":{\\\"name\\\":\\\"constant.character.numeric.regexp\\\"},\\\"5\\\":{\\\"name\\\":\\\"constant.character.control.regexp\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.character.escape.backslash.regexp\\\"}},\\\"match\\\":\\\"(?:.|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))-(?:[^]\\\\\\\\\\\\\\\\]|(\\\\\\\\\\\\\\\\(?:[0-7]{3}|x\\\\\\\\h{2}|u\\\\\\\\h{4}))|(\\\\\\\\\\\\\\\\c[A-Z])|(\\\\\\\\\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.other.character-class.range.regexp\\\"},{\\\"include\\\":\\\"#regex-character-class\\\"}]},{\\\"include\\\":\\\"#regex-character-class\\\"}]},\\\"return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.vue-vine\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?=$|^|[,;{}]|//)\\\",\\\"name\\\":\\\"meta.return.type.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]},{\\\"begin\\\":\\\"(?<=\\\\\\\\))\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.vue-vine\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[,;{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.return.type.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#return-type-core\\\"}]}]},\\\"return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<=[\\\\\\\\&:|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"shebang\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue-vine\\\"}},\\\"match\\\":\\\"\\\\\\\\A(#!).*(?=$)\\\",\\\"name\\\":\\\"comment.line.shebang.vue-vine\\\"},\\\"single-line-comment-consuming-line-ending\\\":{\\\"begin\\\":\\\"(^[\\\\\\\\t ]+)?((//)(?:\\\\\\\\s*((@)internal)(?=\\\\\\\\s|$))?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.whitespace.comment.leading.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"comment.line.double-slash.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.comment.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"storage.type.internaldeclaration.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.decorator.internaldeclaration.vue-vine\\\"}},\\\"contentName\\\":\\\"comment.line.double-slash.vue-vine\\\",\\\"end\\\":\\\"(?=^)\\\"},\\\"statements\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#declaration\\\"},{\\\"include\\\":\\\"#control-statement\\\"},{\\\"include\\\":\\\"#after-operator-block-as-object-literal\\\"},{\\\"include\\\":\\\"#decl-block\\\"},{\\\"include\\\":\\\"#label\\\"},{\\\"include\\\":\\\"#expression\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#vine-template\\\"},{\\\"include\\\":\\\"#vine-style-css\\\"},{\\\"include\\\":\\\"#vine-style-scss\\\"},{\\\"include\\\":\\\"#vine-style-sass\\\"},{\\\"include\\\":\\\"#vine-style-less\\\"},{\\\"include\\\":\\\"#vine-style-stylus\\\"},{\\\"include\\\":\\\"#template\\\"}]},\\\"string-character-escape\\\":{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\(x\\\\\\\\h{2}|u\\\\\\\\h{4}|u\\\\\\\\{\\\\\\\\h+}|[012][0-7]{0,2}|3[0-6][0-7]?|37[0-7]?|[4-7][0-7]?|.|$)\\\",\\\"name\\\":\\\"constant.character.escape.vue-vine\\\"},\\\"super-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))super\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.super.vue-vine\\\"},\\\"support-function-call-identifiers\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#literal\\\"},{\\\"include\\\":\\\"#support-objects\\\"},{\\\"include\\\":\\\"#object-identifiers\\\"},{\\\"include\\\":\\\"#punctuation-accessor\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\(\\\\\\\\s*[\\\\\\\"'`])\\\",\\\"name\\\":\\\"keyword.operator.expression.import.vue-vine\\\"}]},\\\"support-objects\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(arguments)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.arguments.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(Promise)\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"support.class.promise.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.importmeta.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(import)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(meta)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.new.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.variable.property.target.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(new)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(target)\\\\\\\\b(?!\\\\\\\\$)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.variable.property.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.constant.vue-vine\\\"}},\\\"match\\\":\\\"(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(?:(constructor|length|prototype|__proto__)\\\\\\\\b(?!\\\\\\\\$|\\\\\\\\s*(<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\()|(EPSILON|MAX_SAFE_INTEGER|MAX_VALUE|MIN_SAFE_INTEGER|MIN_VALUE|NEGATIVE_INFINITY|POSITIVE_INFINITY)\\\\\\\\b(?!\\\\\\\\$))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.object.module.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.type.object.module.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"support.type.object.module.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(exports)|(module)(?:(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))(exports|id|filename|loaded|parent|children))?)\\\\\\\\b(?!\\\\\\\\$)\\\"}]},\\\"switch-statement\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?=\\\\\\\\bswitch\\\\\\\\s*\\\\\\\\()\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"name\\\":\\\"switch-statement.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(switch)\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"name\\\":\\\"switch-expression.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"(?=})\\\",\\\"name\\\":\\\"switch-block.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(case|default(?=:))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.switch.vue-vine\\\"}},\\\"end\\\":\\\"(?=:)\\\",\\\"name\\\":\\\"case-clause.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(:)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.vue-vine\\\"}},\\\"contentName\\\":\\\"meta.block.vue-vine\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.block.ts punctuation.definition.block.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#statements\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"case-clause.expr.ts punctuation.definition.section.case-statement.vue-vine\\\"}},\\\"match\\\":\\\"(:)\\\"},{\\\"include\\\":\\\"#statements\\\"}]}]},\\\"template\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.template.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"string.template.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.template.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"},{\\\"include\\\":\\\"source.css\\\"},{\\\"include\\\":\\\"source.css.scss\\\"},{\\\"include\\\":\\\"source.css.sass\\\"},{\\\"include\\\":\\\"source.css.less\\\"},{\\\"include\\\":\\\"source.stylus\\\"}]},{\\\"include\\\":\\\"#template-call\\\"}]},\\\"template-call\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*)(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*\\\\\\\\??\\\\\\\\.\\\\\\\\s*)*|(\\\\\\\\??\\\\\\\\.\\\\\\\\s*)?)([$_[:alpha:]][$_[:alnum:]]*))\\\",\\\"end\\\":\\\"(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)?`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#support-function-call-identifiers\\\"},{\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"name\\\":\\\"entity.name.function.tagged-template.vue-vine\\\"}]},{\\\"include\\\":\\\"#type-arguments\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?\\\\\\\\s*(?=(<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))(([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>|<\\\\\\\\s*(((keyof|infer|typeof|readonly)\\\\\\\\s+)|(([$_[:alpha:]][$_[:alnum:]]*|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))(?=\\\\\\\\s*([,.<>\\\\\\\\[]|=>|&(?!&)|\\\\\\\\|(?!\\\\\\\\|)))))([^(<>]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(?<==)>)*(?<!=)>))*(?<!=)>)*(?<!=)>\\\\\\\\s*)`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.vue-vine\\\"}},\\\"end\\\":\\\"(?=`)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"}]}]},\\\"template-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.vue-vine\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.vue-vine\\\"}},\\\"name\\\":\\\"meta.template.expression.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"template-type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#template-call\\\"},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)?(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.tagged-template.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"string.template.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"string.template.ts punctuation.definition.string.template.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#template-type-substitution-element\\\"},{\\\"include\\\":\\\"#string-character-escape\\\"}]}]},\\\"template-type-substitution-element\\\":{\\\"begin\\\":\\\"\\\\\\\\$\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"meta.embedded.line.vue-vine\\\",\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.template-expression.end.vue-vine\\\"}},\\\"name\\\":\\\"meta.template.expression.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},\\\"ternary-expression\\\":{\\\"begin\\\":\\\"(?!\\\\\\\\?\\\\\\\\.\\\\\\\\s*\\\\\\\\D)(\\\\\\\\?)(?!\\\\\\\\?)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\s*(:)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.ternary.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},\\\"text-vue-html\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"begin\\\":\\\"(<)([A-Z][-0-:A-Za-z]*)(?=[^>]*></\\\\\\\\2>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.component.html\\\"}},\\\"end\\\":\\\"(>)(<)(/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.class.component.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tag-stuff\\\"}]},{\\\"begin\\\":\\\"(<)([a-z][-0-:A-Za-z]*)(?=[^>]*></\\\\\\\\2>)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"}},\\\"end\\\":\\\"(>)(<)(/)(\\\\\\\\2)(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html meta.scope.between-tag-pair.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.tag.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-tag-stuff\\\"}]},{\\\"begin\\\":\\\"(<\\\\\\\\?)(xml)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.xml.html\\\"}},\\\"end\\\":\\\"(\\\\\\\\?>)\\\",\\\"name\\\":\\\"meta.tag.preprocessor.xml.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-tag-generic-attribute\\\"},{\\\"include\\\":\\\"#vue-html-string-double-quoted\\\"},{\\\"include\\\":\\\"#vue-html-string-single-quoted\\\"}]},{\\\"begin\\\":\\\"<!--\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.html\\\"}},\\\"end\\\":\\\"-->\\\",\\\"name\\\":\\\"comment.block.html\\\"},{\\\"begin\\\":\\\"<!\\\",\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.tag.html\\\"}},\\\"end\\\":\\\">\\\",\\\"name\\\":\\\"meta.tag.sgml.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?i:DOCTYPE)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.tag.doctype.html\\\"}},\\\"end\\\":\\\"(?=>)\\\",\\\"name\\\":\\\"meta.tag.sgml.doctype.html\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\"[^\\\\\\\">]*\\\\\\\"\\\",\\\"name\\\":\\\"string.quoted.double.doctype.identifiers-and-DTDs.html\\\"}]},{\\\"begin\\\":\\\"\\\\\\\\[CDATA\\\\\\\\[\\\",\\\"end\\\":\\\"]](?=>)\\\",\\\"name\\\":\\\"constant.other.inline-data.html\\\"},{\\\"match\\\":\\\"(\\\\\\\\s*)(?!--|>)\\\\\\\\S(\\\\\\\\s*)\\\",\\\"name\\\":\\\"invalid.illegal.bad-comments-or-CDATA.html\\\"}]},{\\\"begin\\\":\\\"(</?)([A-Z][-0-:A-Za-z]*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.component.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)([a-z][-0-:A-Za-z]*)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.block.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:body|head|html))\\\\\\\\b\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.structure.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.structure.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)(?!-))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.block.any.html\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.block.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|[qs]|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)(?!-))\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.inline.any.html\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.inline.any.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-tag-stuff\\\"}]},{\\\"begin\\\":\\\"(</?)([-0-:A-Za-z]+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.begin.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.tag.other.html\\\"}},\\\"end\\\":\\\"(/?>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.tag.end.html\\\"}},\\\"name\\\":\\\"meta.tag.other.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-tag-stuff\\\"}]},{\\\"include\\\":\\\"#entities\\\"},{\\\"match\\\":\\\"<>\\\",\\\"name\\\":\\\"invalid.illegal.incomplete.html\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"invalid.illegal.bad-angle-bracket.html\\\"}]},\\\"this-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))this\\\\\\\\b(?!\\\\\\\\$)\\\",\\\"name\\\":\\\"variable.language.this.vue-vine\\\"},\\\"type\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-string\\\"},{\\\"include\\\":\\\"#numeric-literal\\\"},{\\\"include\\\":\\\"#type-primitive\\\"},{\\\"include\\\":\\\"#type-builtin-literals\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"include\\\":\\\"#type-tuple\\\"},{\\\"include\\\":\\\"#type-object\\\"},{\\\"include\\\":\\\"#type-operators\\\"},{\\\"include\\\":\\\"#type-conditional\\\"},{\\\"include\\\":\\\"#type-fn-type-parameters\\\"},{\\\"include\\\":\\\"#type-paren-or-function-parameters\\\"},{\\\"include\\\":\\\"#type-function-return-type\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(readonly)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\"},{\\\"include\\\":\\\"#type-name\\\"}]},\\\"type-alias-declaration\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.type.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.type.alias.vue-vine\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"name\\\":\\\"meta.type.declaration.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"},{\\\"begin\\\":\\\"(=)\\\\\\\\s*(intrinsic)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.intrinsic.vue-vine\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(=)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"}},\\\"end\\\":\\\"(?=[;}]|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-annotation\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(:)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.vue-vine\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])(?!\\\\\\\\s*[\\\\\\\\&|]\\\\\\\\s+)((?=^|[]),;}]|//)|(?==[^>])|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"begin\\\":\\\"(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.annotation.vue-vine\\\"}},\\\"end\\\":\\\"(?<![\\\\\\\\&:|])((?=[]),;}]|//)|(?==[^>])|(?=^\\\\\\\\s*$)|((?<=[]$)>_}[:alpha:]])\\\\\\\\s*(?=\\\\\\\\{)))\\\",\\\"name\\\":\\\"meta.type.annotation.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-arguments\\\":{\\\"begin\\\":\\\"<\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.vue-vine\\\"}},\\\"end\\\":\\\">\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.vue-vine\\\"}},\\\"name\\\":\\\"meta.type.parameters.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},\\\"type-arguments-body\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(_)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"type-builtin-literals\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(this|true|false|undefined|null|object)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.builtin.vue-vine\\\"},\\\"type-conditional\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends)\\\\\\\\s+\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"}},\\\"end\\\":\\\"(?<=:)\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\?\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.vue-vine\\\"}},\\\"end\\\":\\\":\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.ternary.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#type\\\"}]}]},\\\"type-fn-type-parameters\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b(?=\\\\\\\\s*<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.constructor.ts storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.constructor.ts keyword.control.new.vue-vine\\\"}},\\\"end\\\":\\\"(?<=>)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#type-parameters\\\"}]},{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(abstract)\\\\\\\\s+)?(new)\\\\\\\\b\\\\\\\\s*(?=\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.new.vue-vine\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.constructor.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]},{\\\"begin\\\":\\\"((?=\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>))))))\\\",\\\"end\\\":\\\"(?<=\\\\\\\\))\\\",\\\"name\\\":\\\"meta.type.function.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-parameters\\\"}]}]},\\\"type-function-return-type\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(=>)(?=\\\\\\\\s*\\\\\\\\S)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.type.function.arrow.vue-vine\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])(?=[]),:;=>?{}]|//|$)\\\",\\\"name\\\":\\\"meta.type.function.return.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]},{\\\"begin\\\":\\\"=>\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"storage.type.function.arrow.vue-vine\\\"}},\\\"end\\\":\\\"(?<!=>)(?<![\\\\\\\\&|])((?=[]),:;=>?{}]|//|^\\\\\\\\s*$)|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.type.function.return.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-function-return-type-core\\\"}]}]},\\\"type-function-return-type-core\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(?<==>)(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"include\\\":\\\"#type-predicate-operator\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-infer\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.expression.infer.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.expression.extends.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(infer)\\\\\\\\s+([$_[:alpha:]][$_[:alnum:]]*)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))(?:\\\\\\\\s+(extends)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))?\\\",\\\"name\\\":\\\"meta.type.infer.vue-vine\\\"}]},\\\"type-name\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\\\\\\s*(<)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.vue-vine\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"meta.type.parameters.vue-vine\\\",\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.type.parameters.ts punctuation.definition.typeparameters.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments-body\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.module.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.accessor.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.accessor.optional.vue-vine\\\"}},\\\"match\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(?:(\\\\\\\\.)|(\\\\\\\\?\\\\\\\\.(?!\\\\\\\\s*\\\\\\\\d)))\\\"},{\\\"match\\\":\\\"[$_[:alpha:]][$_[:alnum:]]*\\\",\\\"name\\\":\\\"entity.name.type.vue-vine\\\"}]},\\\"type-object\\\":{\\\"begin\\\":\\\"\\\\\\\\{\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"end\\\":\\\"}\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.block.vue-vine\\\"}},\\\"name\\\":\\\"meta.object.type.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#method-declaration\\\"},{\\\"include\\\":\\\"#indexer-declaration\\\"},{\\\"include\\\":\\\"#indexer-mapped-type-declaration\\\"},{\\\"include\\\":\\\"#field-declaration\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"begin\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.spread.vue-vine\\\"}},\\\"end\\\":\\\"(?=[,;}]|$)|(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"include\\\":\\\"#punctuation-semicolon\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-operators\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#typeof-operator\\\"},{\\\"include\\\":\\\"#type-infer\\\"},{\\\"begin\\\":\\\"([\\\\\\\\&|])(?=\\\\\\\\s*\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.vue-vine\\\"}},\\\"end\\\":\\\"(?<=})\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-object\\\"}]},{\\\"begin\\\":\\\"[\\\\\\\\&|]\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.type.vue-vine\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))keyof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.keyof.vue-vine\\\"},{\\\"match\\\":\\\"([:?])\\\",\\\"name\\\":\\\"keyword.operator.ternary.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))import(?=\\\\\\\\s*\\\\\\\\()\\\",\\\"name\\\":\\\"keyword.operator.expression.import.vue-vine\\\"}]},\\\"type-parameters\\\":{\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.begin.vue-vine\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.typeparameters.end.vue-vine\\\"}},\\\"name\\\":\\\"meta.type.parameters.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(extends|in|out|const)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"},{\\\"match\\\":\\\"(=)(?!>)\\\",\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"}]},\\\"type-paren-or-function-parameters\\\":{\\\"begin\\\":\\\"\\\\\\\\(\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.round.vue-vine\\\"}},\\\"name\\\":\\\"meta.type.paren.cover.vue-vine\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.function.ts variable.language.this.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.name.function.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=\\\\\\\\s*(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"variable.parameter.vue-vine\\\"},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"}},\\\"match\\\":\\\"(?:(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(public|private|protected|readonly)\\\\\\\\s+)?(?:(\\\\\\\\.\\\\\\\\.\\\\\\\\.)\\\\\\\\s*)?(?<![:=])(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s*(\\\\\\\\??)(?=:)\\\"},{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.separator.parameter.vue-vine\\\"},{\\\"include\\\":\\\"#type\\\"}]},\\\"type-predicate-operator\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.vue-vine\\\"},\\\"4\\\":{\\\"name\\\":\\\"keyword.operator.expression.is.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:(asserts)\\\\\\\\s+)?(?!asserts)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))\\\\\\\\s(is)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.type.asserts.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"variable.parameter.ts variable.language.this.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"variable.parameter.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(asserts)\\\\\\\\s+(?!is)(?:(this)|([$_[:alpha:]][$_[:alnum:]]*))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))asserts(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.type.asserts.vue-vine\\\"},{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))is(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"keyword.operator.expression.is.vue-vine\\\"}]},\\\"type-primitive\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(string|number|bigint|boolean|symbol|any|void|never|unknown)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"support.type.primitive.vue-vine\\\"},\\\"type-string\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#qstring-single\\\"},{\\\"include\\\":\\\"#qstring-double\\\"},{\\\"include\\\":\\\"#template-type\\\"}]},\\\"type-tuple\\\":{\\\"begin\\\":\\\"\\\\\\\\[\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.vue-vine\\\"}},\\\"end\\\":\\\"]\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.brace.square.vue-vine\\\"}},\\\"name\\\":\\\"meta.type.tuple.vue-vine\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.rest.vue-vine\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.label.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.optional.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.separator.label.vue-vine\\\"}},\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))([$_[:alpha:]][$_[:alnum:]]*)\\\\\\\\s*(\\\\\\\\?)?\\\\\\\\s*(:)\\\"},{\\\"include\\\":\\\"#type\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},\\\"typeof-operator\\\":{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))typeof(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"keyword.operator.expression.typeof.vue-vine\\\"}},\\\"end\\\":\\\"(?=[]\\\\\\\\&),:;=>?{|}]|(extends\\\\\\\\s+)|$|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#type-arguments\\\"},{\\\"include\\\":\\\"#expression\\\"}]},\\\"undefined-literal\\\":{\\\"match\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))undefined(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\",\\\"name\\\":\\\"constant.language.undefined.vue-vine\\\"},\\\"var-expr\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)|((?<!^let|[^$._[:alnum:]]let|^var|[^$._[:alnum:]]var)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(var|let)(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.vue-vine\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.vue-vine\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-variable\\\"},{\\\"include\\\":\\\"#var-single-variable\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"begin\\\":\\\"(?=(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.vue-vine\\\"}},\\\"end\\\":\\\"(?!(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))((?=^|[;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b)|((?<!(?:^|[^$._[:alnum:]])const)(?=\\\\\\\\s*$)))\\\",\\\"name\\\":\\\"meta.var.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(?:\\\\\\\\b(export)\\\\\\\\s+)?(?:\\\\\\\\b(declare)\\\\\\\\s+)?\\\\\\\\b(const(?!\\\\\\\\s+enum\\\\\\\\b))(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.))\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"storage.modifier.vue-vine\\\"},\\\"3\\\":{\\\"name\\\":\\\"storage.type.vue-vine\\\"}},\\\"end\\\":\\\"(?=\\\\\\\\S)\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#variable-initializer\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"begin\\\":\\\"(,)\\\\\\\\s*(?=$|//)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.separator.comma.vue-vine\\\"}},\\\"end\\\":\\\"(?<!,)(((?=[;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|^\\\\\\\\s*$))|((?<=\\\\\\\\S)(?=\\\\\\\\s*$)))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#single-line-comment-consuming-line-ending\\\"},{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#destructuring-const\\\"},{\\\"include\\\":\\\"#var-single-const\\\"},{\\\"include\\\":\\\"#punctuation-comma\\\"}]},{\\\"include\\\":\\\"#punctuation-comma\\\"}]}]},\\\"var-single-const\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.ts entity.name.function.vue-vine\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.vue-vine\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?(?=\\\\\\\\s*(=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>)))))|(:\\\\\\\\s*((<)|(\\\\\\\\(\\\\\\\\s*((\\\\\\\\))|(\\\\\\\\.\\\\\\\\.\\\\\\\\.)|([$_[:alnum:]]+\\\\\\\\s*(([,:=?])|(\\\\\\\\)\\\\\\\\s*=>)))))))|(:\\\\\\\\s*(?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))Function(?![$_[:alnum:]])(?:(?=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?!\\\\\\\\.)))|(:\\\\\\\\s*((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))))))|(:\\\\\\\\s*(=>|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(<[^<>]*>)|[^(),<=>])+=\\\\\\\\s*(((async\\\\\\\\s+)?((function\\\\\\\\s*[(*<])|(function\\\\\\\\s+)|([$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*=>)))|((async\\\\\\\\s*)?(((<\\\\\\\\s*)$|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*((([\\\\\\\\[{]\\\\\\\\s*)?)$|((\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\{?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*)))|((\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])\\\\\\\\s*((:\\\\\\\\s*\\\\\\\\[?)$|((\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+\\\\\\\\s*)?=\\\\\\\\s*))))))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*((\\\\\\\\)\\\\\\\\s*:)|((\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*)?[$_[:alpha:]][$_[:alnum:]]*\\\\\\\\s*:)))|((<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<]|<\\\\\\\\s*(((const\\\\\\\\s+)?[$_[:alpha:]])|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*]))([^<=>]|=[^<])*>)*>)*>\\\\\\\\s*)?\\\\\\\\(\\\\\\\\s*(/\\\\\\\\*([^*]|(\\\\\\\\*[^/]))*\\\\\\\\*/\\\\\\\\s*)*(([$_[:alpha:]]|(\\\\\\\\{([^{}]|(\\\\\\\\{([^{}]|\\\\\\\\{[^{}]*})*}))*})|(\\\\\\\\[([^]\\\\\\\\[]|(\\\\\\\\[([^]\\\\\\\\[]|\\\\\\\\[[^]\\\\\\\\[]*])*]))*])|(\\\\\\\\.\\\\\\\\.\\\\\\\\.\\\\\\\\s*[$_[:alpha:]]))([^\\\\\\\"'()`]|(\\\\\\\\(([^()]|(\\\\\\\\(([^()]|\\\\\\\\([^()]*\\\\\\\\))*\\\\\\\\)))*\\\\\\\\))|('([^'\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*')|(\\\\\\\"([^\\\\\\\"\\\\\\\\\\\\\\\\]|\\\\\\\\\\\\\\\\.)*\\\\\\\")|(`([^\\\\\\\\\\\\\\\\`]|\\\\\\\\\\\\\\\\.)*`))*)?\\\\\\\\)(\\\\\\\\s*:\\\\\\\\s*([^()<>{}]|<([^<>]|<([^<>]|<[^<>]+>)+>)+>|\\\\\\\\([^()]+\\\\\\\\)|\\\\\\\\{[^{}]+})+)?\\\\\\\\s*=>))))))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts entity.name.function.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.vue-vine\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"(\\\\\\\\p{upper}[$_\\\\\\\\d[:upper:]]*)(?![$_[:alnum:]])(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.constant.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.vue-vine\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]},{\\\"begin\\\":\\\"([$_[:alpha:]][$_[:alnum:]]*)(!)?\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"meta.definition.variable.ts variable.other.readwrite.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.definiteassignment.vue-vine\\\"}},\\\"end\\\":\\\"(?=$|^|[,;=}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+)|(;|^\\\\\\\\s*$|^\\\\\\\\s*(?:abstract|async|break|case|catch|class|const|continue|declare|do|else|enum|export|finally|function|for|goto|if|import|interface|let|module|namespace|switch|return|throw|try|type|var|while)\\\\\\\\b))\\\",\\\"name\\\":\\\"meta.var-single-variable.expr.vue-vine\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#var-single-variable-type-annotation\\\"}]}]},\\\"var-single-variable-type-annotation\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#type-annotation\\\"},{\\\"include\\\":\\\"#string\\\"},{\\\"include\\\":\\\"#comment\\\"}]},\\\"variable-initializer\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)(?=\\\\\\\\s*\\\\\\\\S)(?!\\\\\\\\s*.*=>\\\\\\\\s*$)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"}},\\\"end\\\":\\\"(?=$|^|[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]},{\\\"begin\\\":\\\"(?<![!=])(=)(?!=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.assignment.vue-vine\\\"}},\\\"end\\\":\\\"(?=[]),;}]|((?<![$_[:alnum:]])(?:(?<=\\\\\\\\.\\\\\\\\.\\\\\\\\.)|(?<!\\\\\\\\.))(of|in)\\\\\\\\s+))|(?=^\\\\\\\\s*$)|(?<![-\\\\\\\\&*+/|])(?<=\\\\\\\\S)(?<!=)(?=\\\\\\\\s*$)\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#expression\\\"}]}]},\\\"vine-style-css\\\":{\\\"begin\\\":\\\"(css)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.vine-style-css.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-css.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"variable.vine-style-css.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-css.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.css\\\"}]},\\\"vine-style-less\\\":{\\\"begin\\\":\\\"(less)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.vine-style-less.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-less.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"variable.vine-style-less.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-less.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.less\\\"}]},\\\"vine-style-postcss\\\":{\\\"begin\\\":\\\"(postcss)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.vine-style-postcss.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-postcss.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"variable.vine-style-postcss.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-postcss.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.postcss\\\"}]},\\\"vine-style-sass\\\":{\\\"begin\\\":\\\"(sass)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.vine-style-sass.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-sass.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"variable.vine-style-sass.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-sass.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.sass\\\"}]},\\\"vine-style-scss\\\":{\\\"begin\\\":\\\"(scss)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.vine-style-scss.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-scss.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"variable.vine-style-scss.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-scss.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.css.scss\\\"}]},\\\"vine-style-stylus\\\":{\\\"begin\\\":\\\"(stylus)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.vine-style-stylus.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-stylus.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"variable.vine-style-stylus.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-style-stylus.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"source.stylus\\\"}]},\\\"vine-template\\\":{\\\"begin\\\":\\\"(vine)(`)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.vine-template.vue-vine\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-template.begin.vue-vine\\\"}},\\\"contentName\\\":\\\"variable.vine-template.vue-vine\\\",\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.vine-template.end.vue-vine\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#text-vue-html\\\"}]},\\\"vue-html-entities\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"punctuation.definition.entity.html\\\"}},\\\"match\\\":\\\"(&)([0-9A-Za-z]+|#[0-9]+|#x\\\\\\\\h+)(;)\\\",\\\"name\\\":\\\"constant.character.entity.html\\\"},{\\\"match\\\":\\\"&\\\",\\\"name\\\":\\\"invalid.illegal.bad-ampersand.html\\\"}]},\\\"vue-html-string-double-quoted\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#vue-html-entities\\\"}]},\\\"vue-html-string-single-quoted\\\":{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#vue-html-entities\\\"}]},\\\"vue-html-tag-generic-attribute\\\":{\\\"match\\\":\\\"(?<=[^=])\\\\\\\\b([-0-:A-Z_a-z]+)\\\",\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"vue-html-tag-id-attribute\\\":{\\\"begin\\\":\\\"\\\\\\\\b(id)\\\\\\\\b\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.id.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?!\\\\\\\\G)(?<=[\\\\\\\"'[^/<>\\\\\\\\s]])\\\",\\\"name\\\":\\\"meta.attribute-with-value.id.html\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.double.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#vue-html-entities\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"contentName\\\":\\\"meta.toc-list.id.html\\\",\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"string.quoted.single.html\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.vue#vue-interpolations\\\"},{\\\"include\\\":\\\"#vue-html-entities\\\"}]},{\\\"captures\\\":{\\\"0\\\":{\\\"name\\\":\\\"meta.toc-list.id.html\\\"}},\\\"match\\\":\\\"(?<==)(?:[^\\\\\\\"'/<>\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"}]},\\\"vue-html-tag-stuff\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#vue-html-vue-directives\\\"},{\\\"include\\\":\\\"#vue-html-tag-id-attribute\\\"},{\\\"include\\\":\\\"#vue-html-tag-generic-attribute\\\"},{\\\"include\\\":\\\"#vue-html-string-double-quoted\\\"},{\\\"include\\\":\\\"#vue-html-string-single-quoted\\\"},{\\\"include\\\":\\\"#vue-html-unquoted-attribute\\\"}]},\\\"vue-html-unquoted-attribute\\\":{\\\"match\\\":\\\"(?<==)(?:[^\\\\\\\"'/<>\\\\\\\\s]|/(?!>))+\\\",\\\"name\\\":\\\"string.unquoted.html\\\"},\\\"vue-html-vue-directives\\\":{\\\"begin\\\":\\\"(?:\\\\\\\\b(v-)|([#:@]))([-0-9A-Z_a-z]+)(?::([-A-Z_a-z]+))?(?:\\\\\\\\.([-A-Z_a-z]+))*\\\\\\\\s*(=)\\\",\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"4\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.other.attribute-name.html\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.separator.key-value.html\\\"}},\\\"end\\\":\\\"(?<=[\\\\\\\"'])|(?=[<>`\\\\\\\\s])\\\",\\\"name\\\":\\\"meta.directive.vue\\\",\\\"patterns\\\":[{\\\"begin\\\":\\\"`\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"`\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]},{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]},{\\\"begin\\\":\\\"'\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin.html\\\"}},\\\"end\\\":\\\"'\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end.html\\\"}},\\\"name\\\":\\\"source.directive.vue\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"source.js#expression\\\"}]}]}},\\\"scopeName\\\":\\\"source.vue-vine\\\",\\\"embeddedLangs\\\":[\\\"css\\\",\\\"scss\\\",\\\"less\\\",\\\"stylus\\\",\\\"postcss\\\",\\\"vue\\\",\\\"javascript\\\"]}\"))\n\nexport default [\n...css,\n...scss,\n...less,\n...stylus,\n...postcss,\n...vue,\n...javascript,\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"WebAssembly\\\",\\\"name\\\":\\\"wasm\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comments\\\"},{\\\"include\\\":\\\"#strings\\\"},{\\\"include\\\":\\\"#instructions\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#modules\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#invalid\\\"}],\\\"repository\\\":{\\\"comments\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.comment.wat\\\"}},\\\"match\\\":\\\"(;;).*$\\\",\\\"name\\\":\\\"comment.line.wat\\\"},{\\\"begin\\\":\\\"\\\\\\\\(;\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.wat\\\"}},\\\"end\\\":\\\";\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.comment.wat\\\"}},\\\"name\\\":\\\"comment.block.wat\\\"}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i8x16)(?:\\\\\\\\s+0x\\\\\\\\h{1,2}){16}\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.vector.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i16x8)(?:\\\\\\\\s+0x\\\\\\\\h{1,4}){8}\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.vector.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i32x4)(?:\\\\\\\\s+0x\\\\\\\\h{1,8}){4}\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.vector.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i64x2)(?:\\\\\\\\s+0x\\\\\\\\h{1,16}){2}\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.vector.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"[-+]?\\\\\\\\b[0-9][0-9]*(?:\\\\\\\\.[0-9][0-9]*)?(?:[Ee][-+]?[0-9]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.wat\\\"},{\\\"match\\\":\\\"[-+]?\\\\\\\\b0x(\\\\\\\\h*\\\\\\\\.\\\\\\\\h+|\\\\\\\\h+\\\\\\\\.?)[Pp][-+]?[0-9]+\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.wat\\\"},{\\\"match\\\":\\\"[-+]?\\\\\\\\binf\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.wat\\\"},{\\\"match\\\":\\\"[-+]?\\\\\\\\bnan:0x\\\\\\\\h\\\\\\\\h*\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.wat\\\"},{\\\"match\\\":\\\"[-+]?\\\\\\\\b(?:0x\\\\\\\\h\\\\\\\\h*|\\\\\\\\d\\\\\\\\d*)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.integer.wat\\\"}]}]},\\\"instructions\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i(?:32|64))\\\\\\\\.trunc_sat_f(?:32|64)_[su]\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"}]},{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i32)\\\\\\\\.extend(?:8|16)_s\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i64)\\\\\\\\.extend(?:8|16|32)_s\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"}]},{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(memory)\\\\\\\\.(?:copy|fill|init|drop)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"}]},{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(v128)\\\\\\\\.(?:const|and|or|xor|not|andnot|bitselect|load|store)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i8x16)\\\\\\\\.(?:shuffle|swizzle|splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane_[su]|add_saturate_[su]|sub_saturate_[su]|avgr_u|narrow_i16x8_[su])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i16x8)\\\\\\\\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane_[su]|add_saturate_[su]|sub_saturate_[su]|avgr_u|load8x8_[su]|narrow_i32x4_[su]|widen_(low|high)_i8x16_[su])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i32x4)\\\\\\\\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|eq|ne|lt_[su]|le_[su]|gt_[su]|ge_[su]|min_[su]|max_[su]|any_true|all_true|extract_lane|load16x4_[su]|trunc_sat_f32x4_[su]|widen_(low|high)_i16x8_[su])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i64x2)\\\\\\\\.(?:splat|replace_lane|add|sub|mul|neg|shl|shr_[su]|extract_lane|load32x2_[su])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(f32x4)\\\\\\\\.(?:splat|replace_lane|add|sub|mul|neg|extract_lane|eq|ne|lt|le|gt|ge|abs|min|max|div|sqrt|convert_i32x4_[su])\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(f64x2)\\\\\\\\.(?:splat|replace_lane|add|sub|mul|neg|extract_lane|eq|ne|lt|le|gt|ge|abs|min|max|div|sqrt)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(v8x16)\\\\\\\\.(?:load_splat|shuffle|swizzle)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(v16x8)\\\\\\\\.load_splat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(v32x4)\\\\\\\\.load_splat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(v64x2)\\\\\\\\.load_splat\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"}]},{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.wat\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.class.wat\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i32)\\\\\\\\.(atomic)\\\\\\\\.(?:load(?:8_u|16_u)?|store(?:8|16)?|wait|(rmw)\\\\\\\\.(?:add|sub|and|or|xor|xchg|cmpxchg)|(rmw(?:8|16))\\\\\\\\.(?:add|sub|and|or|xor|xchg|cmpxchg)_u)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"},\\\"2\\\":{\\\"name\\\":\\\"support.class.wat\\\"},\\\"3\\\":{\\\"name\\\":\\\"support.class.wat\\\"},\\\"4\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i64)\\\\\\\\.(atomic)\\\\\\\\.(?:load(?:(?:8|16|32)_u)?|store(?:8|16|32)?|wait|(rmw)\\\\\\\\.(?:add|sub|and|or|xor|xchg|cmpxchg)|(rmw(?:8|16|32))\\\\\\\\.(?:add|sub|and|or|xor|xchg|cmpxchg)_u)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(atomic)\\\\\\\\.(?:notify|fence)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"match\\\":\\\"\\\\\\\\bshared\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.wat\\\"}]},{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(ref)\\\\\\\\.(?:null|is_null|func|extern)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(table)\\\\\\\\.(?:get|size|grow|fill|init|copy)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:extern|func|null)ref\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\breturn_call(?:_indirect)?\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:try|catch|throw|rethrow|br_on_exn)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.wat\\\"},{\\\"match\\\":\\\"(?<=\\\\\\\\()event\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wat\\\"}]},{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i32|i64|f32|f64|externref|funcref|nullref|exnref)\\\\\\\\.p(?:ush|op)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"}]},{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i32)\\\\\\\\.(?:load|load(?:8|16)(?:_[su])?|store(?:8|16)?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i64)\\\\\\\\.(?:load|load(?:8|16|32)(?:_[su])?|store(?:8|16|32)?)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(f(?:32|64))\\\\\\\\.(?:load|store)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.memory.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(memory)\\\\\\\\.(?:size|grow)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.other.attribute-name.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(offset|align)=\\\\\\\\b\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.local.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(local)\\\\\\\\.(?:get|set|tee)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.global.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(global)\\\\\\\\.[gs]et\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i(?:32|64))\\\\\\\\.(const|eqz?|ne|lt_[su]|gt_[su]|le_[su]|ge_[su]|clz|ctz|popcnt|add|sub|mul|div_[su]|rem_[su]|and|or|xor|shl|shr_[su]|rotl|rotr)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(f(?:32|64))\\\\\\\\.(const|eq|ne|lt|gt|le|ge|abs|neg|ceil|floor|trunc|nearest|sqrt|add|sub|mul|div|min|max|copysign)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i32)\\\\\\\\.(wrap_i64|trunc_(f(?:32|64))_[su]|reinterpret_f32)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i64)\\\\\\\\.(extend_i32_[su]|trunc_f(32|64)_[su]|reinterpret_f64)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(f32)\\\\\\\\.(convert_i(32|64)_[su]|demote_f64|reinterpret_i32)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.type.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(f64)\\\\\\\\.(convert_i(32|64)_[su]|promote_f32|reinterpret_i64)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:unreachable|nop|block|loop|if|then|else|end|br|br_if|br_table|return|call|call_indirect)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.wat\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:drop|select)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"}]},{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(ref)\\\\\\\\.(?:eq|test|cast)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(struct)\\\\\\\\.(?:new_canon|new_canon_default|get|get_s|get_u|set)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(array)\\\\\\\\.(?:new_canon|new_canon_default|get|get_s|get_u|set|len|new_canon_fixed|new_canon_data|new_canon_elem)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(i31)\\\\\\\\.(?:new|get_s|get_u)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\bbr_on_(?:non_null|cast|cast_fail)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.class.wat\\\"}},\\\"match\\\":\\\"\\\\\\\\b(extern)\\\\\\\\.(?:in|ex)ternalize\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.operator.word.wat\\\"}]}]},\\\"invalid\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"[^()\\\\\\\\s]+\\\",\\\"name\\\":\\\"invalid.wat\\\"}]},\\\"modules\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.wat\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\(data)\\\\\\\\s+(passive)\\\\\\\\b\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\()(?:module|import|export|memory|data|table|elem|start|func|type|param|result|global|local)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.wat\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\()\\\\\\\\s*(mut)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.modifier.wat\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.wat\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\(func|\\\\\\\\(start|call|return_call|ref\\\\\\\\.func)\\\\\\\\s+(\\\\\\\\$[!#-'*+\\\\\\\\--:<-Z\\\\\\\\\\\\\\\\^-z|~]*)\\\"},{\\\"begin\\\":\\\"\\\\\\\\)\\\\\\\\s+(\\\\\\\\$[!#-'*+\\\\\\\\--:<-Z\\\\\\\\\\\\\\\\^-z|~]*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.wat\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"(?<=\\\\\\\\s)\\\\\\\\$[!#-'*+\\\\\\\\--:<-Z\\\\\\\\\\\\\\\\^-z|~]*\\\",\\\"name\\\":\\\"entity.name.function.wat\\\"}]},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"support.type.function.wat\\\"}},\\\"match\\\":\\\"(?<=\\\\\\\\(type)\\\\\\\\s+(\\\\\\\\$[!#-'*+\\\\\\\\--:<-Z\\\\\\\\\\\\\\\\^-z|~]*)\\\"},{\\\"match\\\":\\\"\\\\\\\\$[!#-'*+\\\\\\\\--:<-Z\\\\\\\\\\\\\\\\^-z|~]*\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.wat\\\"}]}]},\\\"strings\\\":{\\\"begin\\\":\\\"\\\\\\\"\\\",\\\"beginCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.begin\\\"}},\\\"end\\\":\\\"\\\\\\\"\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.definition.string.end\\\"}},\\\"name\\\":\\\"string.quoted.double.wat\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\\\\\\\\\([\\\\\\\"'\\\\\\\\\\\\\\\\nt]|\\\\\\\\h{2})\\\",\\\"name\\\":\\\"constant.character.escape.wat\\\"}]},\\\"types\\\":{\\\"patterns\\\":[{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bv128\\\\\\\\b(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.type.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:extern|func|null)ref\\\\\\\\b(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.type.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\bexnref\\\\\\\\b(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.type.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:i32|i64|f32|f64)\\\\\\\\b(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.type.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:i8|i16|ref|funcref|externref|anyref|eqref|i31ref|nullfuncref|nullexternref|structref|arrayref|nullref)\\\\\\\\b(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.type.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:type|func|extern|any|eq|nofunc|noextern|struct|array|none)\\\\\\\\b(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.type.wat\\\"}]},{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?:struct|array|sub|final|rec|field|mut)\\\\\\\\b(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"entity.name.type.wat\\\"}]}]}},\\\"scopeName\\\":\\\"source.wat\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"WGSL\\\",\\\"name\\\":\\\"wgsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_comments\\\"},{\\\"include\\\":\\\"#block_comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#functions\\\"},{\\\"include\\\":\\\"#function_calls\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#punctuation\\\"}],\\\"repository\\\":{\\\"attributes\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.attribute.at\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.attribute.wgsl\\\"}},\\\"match\\\":\\\"(@)([A-Z_a-z]+)\\\",\\\"name\\\":\\\"meta.attribute.wgsl\\\"}]},\\\"block_comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"/\\\\\\\\*\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.wgsl\\\"},{\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.wgsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comments\\\"}]},{\\\"begin\\\":\\\"/\\\\\\\\*(?!\\\\\\\\*)\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.wgsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block_comments\\\"}]}]},\\\"constants\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"(-?\\\\\\\\b[0-9][0-9]*\\\\\\\\.[0-9][0-9]*)([Ee][-+]?[0-9]+)?\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.float.wgsl\\\"},{\\\"match\\\":\\\"(?:-?\\\\\\\\b0x\\\\\\\\h+|\\\\\\\\b0|-?\\\\\\\\b[1-9][0-9]*)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(?:0x\\\\\\\\h+|0|[1-9][0-9]*)u\\\\\\\\b\\\",\\\"name\\\":\\\"constant.numeric.decimal.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(true|false)\\\\\\\\b\\\",\\\"name\\\":\\\"constant.language.boolean.wgsl\\\"}]},\\\"function_calls\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"([0-9A-Z_a-z]+)(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.wgsl\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.round.wgsl\\\"}},\\\"end\\\":\\\"\\\\\\\\)\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.brackets.round.wgsl\\\"}},\\\"name\\\":\\\"meta.function.call.wgsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_comments\\\"},{\\\"include\\\":\\\"#block_comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#function_calls\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#punctuation\\\"}]}]},\\\"functions\\\":{\\\"patterns\\\":[{\\\"begin\\\":\\\"\\\\\\\\b(fn)\\\\\\\\s+([0-9A-Z_a-z]+)((\\\\\\\\()|(<))\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.fn.wgsl\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.function.wgsl\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.brackets.round.wgsl\\\"}},\\\"end\\\":\\\"\\\\\\\\{\\\",\\\"endCaptures\\\":{\\\"0\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.wgsl\\\"}},\\\"name\\\":\\\"meta.function.definition.wgsl\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#line_comments\\\"},{\\\"include\\\":\\\"#block_comments\\\"},{\\\"include\\\":\\\"#keywords\\\"},{\\\"include\\\":\\\"#attributes\\\"},{\\\"include\\\":\\\"#function_calls\\\"},{\\\"include\\\":\\\"#constants\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#variables\\\"},{\\\"include\\\":\\\"#punctuation\\\"}]}]},\\\"keywords\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(bitcast|block|break|case|continue|continuing|default|discard|else|elseif|enable|fallthrough|for|function|if|loop|private|read|read_write|return|storage|switch|uniform|while|workgroup|write)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(asm|const|do|enum|handle|mat|premerge|regardless|typedef|unless|using|vec|void)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.control.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(let|var)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.wgsl storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(type)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.declaration.type.wgsl storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(enum)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.declaration.enum.wgsl storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(struct)\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.declaration.struct.wgsl storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\bfn\\\\\\\\b\\\",\\\"name\\\":\\\"keyword.other.fn.wgsl\\\"},{\\\"match\\\":\\\"([\\\\\\\\^|]|\\\\\\\\|\\\\\\\\||&&|<<|>>|!)(?!=)\\\",\\\"name\\\":\\\"keyword.operator.logical.wgsl\\\"},{\\\"match\\\":\\\"&(?![\\\\\\\\&=])\\\",\\\"name\\\":\\\"keyword.operator.borrow.and.wgsl\\\"},{\\\"match\\\":\\\"((?:[-%\\\\\\\\&*+/^|]|<<|>>)=)\\\",\\\"name\\\":\\\"keyword.operator.assignment.wgsl\\\"},{\\\"match\\\":\\\"(?<![<>])=(?![=>])\\\",\\\"name\\\":\\\"keyword.operator.assignment.equal.wgsl\\\"},{\\\"match\\\":\\\"(=(=)?(?!>)|!=|<=|(?<!=)>=)\\\",\\\"name\\\":\\\"keyword.operator.comparison.wgsl\\\"},{\\\"match\\\":\\\"(([%+]|(\\\\\\\\*(?!\\\\\\\\w)))(?!=))|(-(?!>))|(/(?!/))\\\",\\\"name\\\":\\\"keyword.operator.math.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\.(?!\\\\\\\\.)\\\",\\\"name\\\":\\\"keyword.operator.access.dot.wgsl\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.arrow.skinny.wgsl\\\"}]},\\\"line_comments\\\":{\\\"match\\\":\\\"\\\\\\\\s*//.*\\\",\\\"name\\\":\\\"comment.line.double-slash.wgsl\\\"},\\\"punctuation\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.comma.wgsl\\\"},{\\\"match\\\":\\\"[{}]\\\",\\\"name\\\":\\\"punctuation.brackets.curly.wgsl\\\"},{\\\"match\\\":\\\"[()]\\\",\\\"name\\\":\\\"punctuation.brackets.round.wgsl\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.semi.wgsl\\\"},{\\\"match\\\":\\\"[]\\\\\\\\[]\\\",\\\"name\\\":\\\"punctuation.brackets.square.wgsl\\\"},{\\\"match\\\":\\\"(?<![-=])[<>]\\\",\\\"name\\\":\\\"punctuation.brackets.angle.wgsl\\\"}]},\\\"types\\\":{\\\"name\\\":\\\"storage.type.wgsl\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(bool|i32|u32|f32)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b([fiu]64)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(vec(?:2i|3i|4i|2u|3u|4u|2f|3f|4f|2h|3h|4h))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(mat(?:2x2f|2x3f|2x4f|3x2f|3x3f|3x4f|4x2f|4x3f|4x4f|2x2h|2x3h|2x4h|3x2h|3x3h|3x4h|4x2h|4x3h|4x4h))\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(vec[234]|mat[234]x[234])\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(atomic)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b(array)\\\\\\\\b\\\",\\\"name\\\":\\\"storage.type.wgsl\\\"},{\\\"match\\\":\\\"\\\\\\\\b([A-Z][0-9A-Za-z]*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.wgsl\\\"}]},\\\"variables\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b(?<!(?<!\\\\\\\\.)\\\\\\\\.)(?:r#(?!(crate|[Ss]elf|super)))?[0-9_a-z]+\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.wgsl\\\"}]}},\\\"scopeName\\\":\\\"source.wgsl\\\"}\"))\n\nexport default [\nlang\n]\n","const lang = Object.freeze(JSON.parse(\"{\\\"displayName\\\":\\\"WebAssembly Interface Types\\\",\\\"foldingStartMarker\\\":\\\"([\\\\\\\\[{])\\\\\\\\s*\\\",\\\"foldingStopMarker\\\":\\\"\\\\\\\\s*([]}])\\\",\\\"name\\\":\\\"wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#package\\\"},{\\\"include\\\":\\\"#toplevel-use\\\"},{\\\"include\\\":\\\"#world\\\"},{\\\"include\\\":\\\"#interface\\\"},{\\\"include\\\":\\\"#whitespace\\\"}],\\\"repository\\\":{\\\"block-comments\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"/\\\\\\\\*\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.empty.wit\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"/\\\\\\\\*\\\\\\\\*\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.documentation.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#markdown\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"/\\\\\\\\*(?!\\\\\\\\*)\\\",\\\"end\\\":\\\"\\\\\\\\*/\\\",\\\"name\\\":\\\"comment.block.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]}]},\\\"boolean\\\":{\\\"match\\\":\\\"\\\\\\\\b(bool)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.boolean.wit\\\"},\\\"comment\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#block-comments\\\"},{\\\"include\\\":\\\"#doc-comment\\\"},{\\\"include\\\":\\\"#line-comment\\\"}]},\\\"container\\\":{\\\"name\\\":\\\"meta.container.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#tuple\\\"},{\\\"include\\\":\\\"#list\\\"},{\\\"include\\\":\\\"#option\\\"},{\\\"include\\\":\\\"#result\\\"},{\\\"include\\\":\\\"#handle\\\"}]},\\\"doc-comment\\\":{\\\"begin\\\":\\\"^\\\\\\\\s*///\\\",\\\"end\\\":\\\"$\\\",\\\"name\\\":\\\"comment.line.documentation.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#markdown\\\"}]},\\\"enum\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(enum)\\\\\\\\b\\\\\\\\s+%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.enum.enum-items.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.id.enum-items.wit\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.enum-items.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#enum-cases\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"enum-cases\\\":{\\\"name\\\":\\\"meta.enum-cases.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.enummember.id.enum-cases.wit\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.comma.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"extern\\\":{\\\"name\\\":\\\"meta.extern-type.wit\\\",\\\"patterns\\\":[{\\\"name\\\":\\\"meta.interface-type.wit\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(interface)\\\\\\\\b\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.interface.interface-type.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"ppunctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#interface-items\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]}]},{\\\"include\\\":\\\"#function-definition\\\"},{\\\"include\\\":\\\"#use-path\\\"}]},\\\"flags\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(flags)\\\\\\\\s+%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.flags.flags-items.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.id.flags-items.wit\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.flags-items.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#flags-fields\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"flags-fields\\\":{\\\"name\\\":\\\"meta.flags-fields.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.enummember.id.flags-fields.wit\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.comma.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"function\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.function.id.func-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.word.wit\\\"},\\\"4\\\":{\\\"name\\\":\\\"meta.word-separator.wit\\\"},\\\"5\\\":{\\\"name\\\":\\\"meta.word.wit\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.key-value.wit\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=}))\\\",\\\"name\\\":\\\"meta.func-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#function-definition\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"function-definition\\\":{\\\"name\\\":\\\"meta.func-type.wit\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(static\\\\\\\\s+)?(func)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.static.func-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.other.func.func-type.wit\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=}))\\\",\\\"name\\\":\\\"meta.function.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parameter-list\\\"},{\\\"include\\\":\\\"#result-list\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]}]},\\\"handle\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.borrow.handle.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.begin.wit\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.id.handle.wit\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"match\\\":\\\"\\\\\\\\b(borrow)\\\\\\\\b(<)\\\\\\\\s*%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(>)\\\",\\\"name\\\":\\\"meta.handle.ty.wit\\\"},\\\"identifier\\\":{\\\"match\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.id.wit\\\"},\\\"interface\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"^\\\\\\\\b(default\\\\\\\\s+)?(interface)\\\\\\\\s+%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.default.interface-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.interface.interface-item.wit storage.type.wit\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.id.interface-item.wit\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.interface-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#interface-items\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"interface-items\\\":{\\\"name\\\":\\\"meta.interface-items.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#typedef-item\\\"},{\\\"include\\\":\\\"#use\\\"},{\\\"include\\\":\\\"#function\\\"}]},\\\"line-comment\\\":{\\\"match\\\":\\\"\\\\\\\\s*//.*\\\",\\\"name\\\":\\\"comment.line.double-slash.wit\\\"},\\\"list\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(list)\\\\\\\\b(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.list.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.begin.wit\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"name\\\":\\\"meta.list.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.list.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"markdown\\\":{\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.heading.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(#+.*)$\\\"},{\\\"captures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.quote.begin.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*((>)\\\\\\\\s+)+\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(-)\\\\\\\\s+\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.list.numbered.markdown\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.definition.list.begin.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\G\\\\\\\\s*(([0-9]+\\\\\\\\.)\\\\\\\\s+)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.italic.markdown\\\"}},\\\"match\\\":\\\"(`.*?`)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.bold.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\b(__.*?__)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.italic.markdown\\\"}},\\\"match\\\":\\\"\\\\\\\\b(_.*?_)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.bold.markdown\\\"}},\\\"match\\\":\\\"(\\\\\\\\*\\\\\\\\*.*?\\\\\\\\*\\\\\\\\*)\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"markup.italic.markdown\\\"}},\\\"match\\\":\\\"(\\\\\\\\*.*?\\\\\\\\*)\\\"}]},\\\"named-type-list\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.parameter.id.named-type.wit\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.key-value.wit\\\"}},\\\"end\\\":\\\"((,)|(?=\\\\\\\\))|(?=\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.comma.wit\\\"}},\\\"name\\\":\\\"meta.named-type-list.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"numeric\\\":{\\\"match\\\":\\\"\\\\\\\\b(u8|u16|u32|u64|s8|s16|s32|s64|float32|float64)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.numeric.wit\\\"},\\\"operator\\\":{\\\"patterns\\\":[{\\\"match\\\":\\\"=\\\",\\\"name\\\":\\\"punctuation.equal.wit\\\"},{\\\"match\\\":\\\",\\\",\\\"name\\\":\\\"punctuation.comma.wit\\\"},{\\\"match\\\":\\\":\\\",\\\"name\\\":\\\"keyword.operator.key-value.wit\\\"},{\\\"match\\\":\\\";\\\",\\\"name\\\":\\\"punctuation.semicolon.wit\\\"},{\\\"match\\\":\\\"\\\\\\\\(\\\",\\\"name\\\":\\\"punctuation.brackets.round.begin.wit\\\"},{\\\"match\\\":\\\"\\\\\\\\)\\\",\\\"name\\\":\\\"punctuation.brackets.round.end.wit\\\"},{\\\"match\\\":\\\"\\\\\\\\{\\\",\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"},{\\\"match\\\":\\\"}\\\",\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"},{\\\"match\\\":\\\"<\\\",\\\"name\\\":\\\"punctuation.brackets.angle.begin.wit\\\"},{\\\"match\\\":\\\">\\\",\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"},{\\\"match\\\":\\\"\\\\\\\\*\\\",\\\"name\\\":\\\"keyword.operator.star.wit\\\"},{\\\"match\\\":\\\"->\\\",\\\"name\\\":\\\"keyword.operator.arrow.skinny.wit\\\"}]},\\\"option\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(option)\\\\\\\\b(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.option.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.begin.wit\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"name\\\":\\\"meta.option.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.option.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"package\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.package-decl.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.id.package-decl.wit\\\",\\\"patterns\\\":[{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.namespace.package-identifier.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier\\\"}]},\\\"2\\\":{\\\"name\\\":\\\"keyword.operator.namespace.package-identifier.wit\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.package-identifier.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#identifier\\\"}]},\\\"5\\\":{\\\"name\\\":\\\"keyword.operator.versioning.package-identifier.wit\\\"},\\\"6\\\":{\\\"name\\\":\\\"constant.numeric.versioning.package-identifier.wit\\\"}},\\\"match\\\":\\\"([^:]+)(:)([^@]+)((@)(\\\\\\\\S+))?\\\",\\\"name\\\":\\\"meta.package-identifier.wit\\\"}]}},\\\"match\\\":\\\"^(package)\\\\\\\\s+(\\\\\\\\S+)\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.package-decl.wit\\\"},\\\"parameter-list\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.round.begin.wit\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.round.end.wit\\\"}},\\\"name\\\":\\\"meta.param-list.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#named-type-list\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"primitive\\\":{\\\"name\\\":\\\"meta.primitive.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#numeric\\\"},{\\\"include\\\":\\\"#boolean\\\"},{\\\"include\\\":\\\"#string\\\"}]},\\\"record\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(record)\\\\\\\\b\\\\\\\\s+%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.record.record-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.id.record-item.wit\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.record-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#record-fields\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"record-fields\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\\\\\\s*(:)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.declaration.id.record-fields.wit\\\"},\\\"6\\\":{\\\"name\\\":\\\"keyword.operator.key-value.wit\\\"}},\\\"end\\\":\\\"((,)|(?=})|(?=\\\\\\\\n))\\\",\\\"endCaptures\\\":{\\\"2\\\":{\\\"name\\\":\\\"punctuation.comma.wit\\\"}},\\\"name\\\":\\\"meta.record-fields.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.record-fields.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"resource\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(resource)\\\\\\\\b\\\\\\\\s+%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.resource.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.id.resource.wit\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=}))\\\",\\\"name\\\":\\\"meta.resource-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#resource-methods\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"resource-methods\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.resource-methods.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(constructor)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.constructor.constructor-type.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.round.begin.wit\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=}))\\\",\\\"name\\\":\\\"meta.constructor-type.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#parameter-list\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},{\\\"include\\\":\\\"#function\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"result\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(result)\\\\\\\\b\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.result.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.begin.wit\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=,)|(?=}))\\\",\\\"name\\\":\\\"meta.result.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.begin.wit\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"name\\\":\\\"meta.inner.result.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"(?<!\\\\\\\\w)(_)(?!\\\\\\\\w)\\\",\\\"name\\\":\\\"variable.other.inferred-type.result.wit\\\"},{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.result.wit\\\"},{\\\"match\\\":\\\"(?<!result)\\\\\\\\s*(,)\\\",\\\"name\\\":\\\"punctuation.comma.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"result-list\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"(->)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.arrow.skinny.wit\\\"}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=}))\\\",\\\"name\\\":\\\"meta.result-list.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\"},{\\\"include\\\":\\\"#parameter-list\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"string\\\":{\\\"match\\\":\\\"\\\\\\\\b(string|char)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.string.wit\\\"},\\\"toplevel-use\\\":{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use.toplevel-use-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.interface.toplevel-use-item.wit\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.declaration.interface.toplevel-use-item.wit\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.versioning.interface.toplevel-use-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.versioning.interface.toplevel-use-item.wit\\\"}},\\\"match\\\":\\\"(@)((0|[1-9]\\\\\\\\d*)\\\\\\\\.(0|[1-9]\\\\\\\\d*)\\\\\\\\.(0|[1-9]\\\\\\\\d*)(?:-((?:0|[1-9]\\\\\\\\d*|\\\\\\\\d*[-A-Za-z][-0-9A-Za-z]*)(?:\\\\\\\\.(?:0|[1-9]\\\\\\\\d*|\\\\\\\\d*[-A-Za-z][-0-9A-Za-z]*))*))?(?:\\\\\\\\+([-0-9A-Za-z]+(?:\\\\\\\\.[-0-9A-Za-z]+)*))?)\\\",\\\"name\\\":\\\"meta.versioning.interface.toplevel-use-item.wit\\\"}]},\\\"4\\\":{\\\"name\\\":\\\"keyword.control.as.toplevel-use-item.wit\\\"},\\\"5\\\":{\\\"name\\\":\\\"entity.name.type.toplevel-use-item.wit\\\"}},\\\"match\\\":\\\"^(use)\\\\\\\\s+(\\\\\\\\S+)(\\\\\\\\s+(as)\\\\\\\\s+(\\\\\\\\S+))?\\\\\\\\s*\\\",\\\"name\\\":\\\"meta.toplevel-use-item.wit\\\"},\\\"tuple\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(tuple)\\\\\\\\b(<)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"entity.name.type.tuple.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.begin.wit\\\"}},\\\"end\\\":\\\"(>)\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.angle.end.wit\\\"}},\\\"name\\\":\\\"meta.tuple.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.tuple.wit\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.comma.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"type-definition\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(type)\\\\\\\\b\\\\\\\\s+%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(=)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.declaration.type.type-item.wit storage.type.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.id.type-item.wit\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.equal.wit\\\"}},\\\"end\\\":\\\"(?<=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.type-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.type-item.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"typedef-item\\\":{\\\"name\\\":\\\"meta.typedef-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#resource\\\"},{\\\"include\\\":\\\"#variant\\\"},{\\\"include\\\":\\\"#record\\\"},{\\\"include\\\":\\\"#flags\\\"},{\\\"include\\\":\\\"#enum\\\"},{\\\"include\\\":\\\"#type-definition\\\"}]},\\\"types\\\":{\\\"name\\\":\\\"meta.ty.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#primitive\\\"},{\\\"include\\\":\\\"#container\\\"},{\\\"include\\\":\\\"#identifier\\\"}]},\\\"use\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(use)\\\\\\\\b\\\\\\\\s+(\\\\\\\\S+)(\\\\\\\\.)(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.use.use-item.wit\\\"},\\\"2\\\":{\\\"patterns\\\":[{\\\"include\\\":\\\"#use-path\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"3\\\":{\\\"name\\\":\\\"keyword.operator.namespace-separator.use-item.wit\\\"},\\\"4\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.use-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"match\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.type.declaration.use-names-item.use-item.wit\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.comma.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"use-path\\\":{\\\"name\\\":\\\"meta.use-path.wit\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\",\\\"name\\\":\\\"entity.name.namespace.id.use-path.wit\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.versioning.id.use-path.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.versioning.id.use-path.wit\\\"}},\\\"match\\\":\\\"(@)((0|[1-9]\\\\\\\\d*)\\\\\\\\.(0|[1-9]\\\\\\\\d*)\\\\\\\\.(0|[1-9]\\\\\\\\d*)(?:-((?:0|[1-9]\\\\\\\\d*|\\\\\\\\d*[-A-Za-z][-0-9A-Za-z]*)(?:\\\\\\\\.(?:0|[1-9]\\\\\\\\d*|\\\\\\\\d*[-A-Za-z][-0-9A-Za-z]*))*))?(?:\\\\\\\\+([-0-9A-Za-z]+(?:\\\\\\\\.[-0-9A-Za-z]+)*))?)\\\",\\\"name\\\":\\\"meta.versioning.id.use-path.wit\\\"},{\\\"match\\\":\\\"\\\\\\\\.\\\",\\\"name\\\":\\\"keyword.operator.namespace-separator.use-path.wit\\\"}]},\\\"variant\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(variant)\\\\\\\\s+%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.other.variant.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"entity.name.type.id.variant.wit\\\"},\\\"7\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.variant.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"include\\\":\\\"#variant-cases\\\"},{\\\"include\\\":\\\"#enum-cases\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"variant-cases\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\\\\\\s*(\\\\\\\\()\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.enummember.id.variant-cases.wit\\\"},\\\"6\\\":{\\\"name\\\":\\\"punctuation.brackets.round.begin.wit\\\"}},\\\"end\\\":\\\"(\\\\\\\\))\\\\\\\\s*(,)?\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.round.end.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.comma.wit\\\"}},\\\"name\\\":\\\"meta.variant-cases.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#types\\\",\\\"name\\\":\\\"meta.types.variant-cases.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},\\\"whitespace\\\":{\\\"match\\\":\\\"\\\\\\\\s+\\\",\\\"name\\\":\\\"meta.whitespace.wit\\\"},\\\"world\\\":{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"^\\\\\\\\b(default\\\\\\\\s+)?(world)\\\\\\\\s+%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\s*(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"storage.modifier.default.world-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.declaration.world.world-item.wit storage.type.wit\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.id.world-item.wit\\\"},\\\"8\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.world-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(export)\\\\\\\\b\\\\\\\\s+(\\\\\\\\S+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.export.export-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.id.export-item.wit\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.id.export-item.wit\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.versioning.id.export-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.versioning.id.export-item.wit\\\"}},\\\"match\\\":\\\"(@)((0|[1-9]\\\\\\\\d*)\\\\\\\\.(0|[1-9]\\\\\\\\d*)\\\\\\\\.(0|[1-9]\\\\\\\\d*)(?:-((?:0|[1-9]\\\\\\\\d*|\\\\\\\\d*[-A-Za-z][-0-9A-Za-z]*)(?:\\\\\\\\.(?:0|[1-9]\\\\\\\\d*|\\\\\\\\d*[-A-Za-z][-0-9A-Za-z]*))*))?(?:\\\\\\\\+([-0-9A-Za-z]+(?:\\\\\\\\.[-0-9A-Za-z]+)*))?)\\\",\\\"name\\\":\\\"meta.versioning.id.export-item.wit\\\"}]}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=}))\\\",\\\"name\\\":\\\"meta.export-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#extern\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(import)\\\\\\\\b\\\\\\\\s+(\\\\\\\\S+)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.import.import-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.id.import-item.wit\\\",\\\"patterns\\\":[{\\\"match\\\":\\\"\\\\\\\\b%?((?<![-\\\\\\\\w])([a-z][0-9a-z]*|[A-Z][0-9A-Z]*)((-)([a-z][0-9a-z]*|[A-Z][0-9A-Z]*))*)\\\\\\\\b\\\",\\\"name\\\":\\\"variable.other.constant.id.import-item.wit\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.operator.versioning.id.import-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"constant.numeric.versioning.id.import-item.wit\\\"}},\\\"match\\\":\\\"(@)((0|[1-9]\\\\\\\\d*)\\\\\\\\.(0|[1-9]\\\\\\\\d*)\\\\\\\\.(0|[1-9]\\\\\\\\d*)(?:-((?:0|[1-9]\\\\\\\\d*|\\\\\\\\d*[-A-Za-z][-0-9A-Za-z]*)(?:\\\\\\\\.(?:0|[1-9]\\\\\\\\d*|\\\\\\\\d*[-A-Za-z][-0-9A-Za-z]*))*))?(?:\\\\\\\\+([-0-9A-Za-z]+(?:\\\\\\\\.[-0-9A-Za-z]+)*))?)\\\",\\\"name\\\":\\\"meta.versioning.id.import-item.wit\\\"}]}},\\\"end\\\":\\\"((?<=\\\\\\\\n)|(?=}))\\\",\\\"name\\\":\\\"meta.import-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#extern\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]},{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(include)\\\\\\\\s+(\\\\\\\\S+)\\\\\\\\s*\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.include.include-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"meta.use-path.include-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#use-path\\\"}]}},\\\"end\\\":\\\"(?<=\\\\\\\\n)\\\",\\\"name\\\":\\\"meta.include-item.wit\\\",\\\"patterns\\\":[{\\\"applyEndPatternLast\\\":1,\\\"begin\\\":\\\"\\\\\\\\b(with)\\\\\\\\b\\\\\\\\s+(\\\\\\\\{)\\\",\\\"beginCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"keyword.control.with.include-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.begin.wit\\\"}},\\\"end\\\":\\\"(})\\\",\\\"endCaptures\\\":{\\\"1\\\":{\\\"name\\\":\\\"punctuation.brackets.curly.end.wit\\\"}},\\\"name\\\":\\\"meta.with.include-item.wit\\\",\\\"patterns\\\":[{\\\"include\\\":\\\"#comment\\\"},{\\\"captures\\\":{\\\"1\\\":{\\\"name\\\":\\\"variable.other.id.include-names-item.wit\\\"},\\\"2\\\":{\\\"name\\\":\\\"keyword.control.as.include-names-item.wit\\\"},\\\"3\\\":{\\\"name\\\":\\\"entity.name.type.include-names-item.wit\\\"}},\\\"match\\\":\\\"(\\\\\\\\S+)\\\\\\\\s+(as)\\\\\\\\s+([^,\\\\\\\\s]+)\\\",\\\"name\\\":\\\"meta.include-names-item.wit\\\"},{\\\"match\\\":\\\"(,)\\\",\\\"name\\\":\\\"punctuation.comma.wit\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]}]},{\\\"include\\\":\\\"#use\\\"},{\\\"include\\\":\\\"#typedef-item\\\"},{\\\"include\\\":\\\"#whitespace\\\"}]}},\\\"scopeName\\\":\\\"source.wit\\\"}\"))\n\nexport default [\nlang\n]\n","var binary = Uint8Array.from(atob(\"AGFzbQEAAAABoQEWYAJ/fwF/YAF/AX9gA39/fwF/YAR/f39/AX9gAX8AYAV/f39/fwF/YAN/f38AYAJ/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gAAF/YAl/f39/f39/f38Bf2AIf39/f39/f38Bf2AAAGAEf39/fwBgA39+fwF+YAZ/fH9/f38Bf2AAAXxgBn9/f39/fwBgAnx/AXxgAn5/AX9gBX9/f39/AAJ1BANlbnYVZW1zY3JpcHRlbl9tZW1jcHlfYmlnAAYDZW52EmVtc2NyaXB0ZW5fZ2V0X25vdwARFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfd3JpdGUAAwNlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAABA9MB0QENBAABAAECAgsCAAIEBAACAQEAAQMCAwkCBgUDBQgCAwwMAwkJAwgDAQIFAwMEAQUHCwgCAgsABQUBAgQCBgIAAQACBAIABwMHBgcAAwACAAICAAQBAgcAAgUCAAEBBgYABgQACAUICQsJDAAAAAAAAAACAgIDAAIDAgADAQABAAACBQICAAESAQEEAgIGAgUDAQUAAgEBAAoBAAEAAwMCAAACBgIOAgEPAQEBChMCBQkGAQ4UFRAHAwIBAAEECggCAQgIBwcNAQQABwABCgQBBQQFAXABMzMFBwEBgAKAgAIGDgJ/AUHQj9MCC38BQQALB5QCDwZtZW1vcnkCABFfX3dhc21fY2FsbF9jdG9ycwAEGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBABBfX2Vycm5vX2xvY2F0aW9uALABB29tYWxsb2MAwAEFb2ZyZWUAwQEQZ2V0TGFzdE9uaWdFcnJvcgDCARFjcmVhdGVPbmlnU2Nhbm5lcgDEAQ9mcmVlT25pZ1NjYW5uZXIAxQEYZmluZE5leHRPbmlnU2Nhbm5lck1hdGNoAMYBG2ZpbmROZXh0T25pZ1NjYW5uZXJNYXRjaERiZwDHAQlzdGFja1NhdmUA0QEMc3RhY2tSZXN0b3JlANIBCnN0YWNrQWxsb2MA0wEMZHluQ2FsbF9qaWppANQBCVIBAEEBCzIFCgsPHC9vcHRxcnN1ugG7Ab0BBgcICYABfoEBggGDAX97fIUBmwF9hAFvnAFvnQGeAZ8BoAGhAZIBogGYAZcBowGkAaUBqwGqAawB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ACADNgIEIA0oAgBBATYCCEEADwsgACgCDCABEE8iA0EASARAIAMPCyACIAIoAowBIgVBAWo2AowBIAFBOxBRIgQNCyABKAIIIANBBWo2AgQgAUHNABBRIgQNCyABKAIIIAU2AgQgASgCCEEANgIIIAAoAgwgASACEEIiBA0LIAFBPhBRIgAhBCAADQsgASgCCCAFNgIEIAFBPRBRIgAhBCAADQsgAUE5EFEPCyMAQRBrIgkkAAJAIAAoAhQgACgCGEYEQCACIAIoAowBIgdBAWo2AowBAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBkEATARAQXUhAwwDC0F7IQMgASgCACAEQShsEM0BIgVFDQIgASAFNgIAIAEoAgQgBEEDdBDNASIERQ0CIAEgBjYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHNADYCACABKAIIIAc2AgQgASgCCEEANgIIAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBkEATARAQXUhAwwDC0F7IQMgASgCACAEQShsEM0BIgVFDQIgASAFNgIAIAEoAgQgBEEDdBDNASIERQ0CIAEgBjYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHKADYCACABKAIIIAAoAhQ2AgQgASgCCEEANgIIIAEoAghBATYCDCAAKAIMIAEgAhBCIgMNAQJAIAEoAgwiACABKAIQIgJJDQAgAkUNACACQQF0IgBBAEwEQEF1IQMMAwtBeyEDIAEoAgAgAkEobBDNASIERQ0CIAEgBDYCACABKAIEIAJBA3QQzQEiAkUNAiABIAA2AhAgASACNgIEIAEoAgwhAAsgASAAQQFqNgIMIAEgASgCACAAQRRsaiIANgIIQQAhAyAAQQA2AhAgAEIANwIIIABCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQcwANgIAIAEoAgggBzYCBCABKAIIQQA2AggMAQsgACgCICIDBEAgAyABIAkgAkEAEF0iA0EASA0BAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiB0EATARAQXUhAwwDC0F7IQMgASgCACAEQShsEM0BIgZFDQIgASAGNgIAIAEoAgQgBEEDdBDNASIERQ0CIAEgBzYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHJADYCACABKAIIQQAgCSgCAGs2AgQgACgCICABIAIQQiIDDQELIAIgAigCjAEiB0EBajYCjAECQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIGQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiBUUNASABIAU2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAGNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQc4ANgIAIAEoAghBAjYCBCABKAIIIAc2AggCQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIGQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiBUUNASABIAU2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAGNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQc8ANgIAIAEoAghBBDYCBCACIAIoAowBIgZBAWo2AowBAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwCC0F7IQMgASgCACAEQShsEM0BIghFDQEgASAINgIAIAEoAgQgBEEDdBDNASIERQ0BIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHNADYCACABKAIIIAY2AgQgASgCCEEANgIIAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwCC0F7IQMgASgCACAEQShsEM0BIghFDQEgASAINgIAIAEoAgQgBEEDdBDNASIERQ0BIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akE7NgIAIAEoAghBAjYCBAJAIAEoAgwiAyABKAIQIgRJDQAgBEUNACAEQQF0IgVBAEwEQEF1IQMMAgtBeyEDIAEoAgAgBEEobBDNASIIRQ0BIAEgCDYCACABKAIEIARBA3QQzQEiBEUNASABIAU2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBOjYCACABKAIIQQM2AgQCQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIFQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiCEUNASABIAg2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAFNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQc8ANgIAIAEoAghBAjYCBCABKAIIIAc2AgggASgCCEEANgIMAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwCC0F7IQMgASgCACAEQShsEM0BIghFDQEgASAINgIAIAEoAgQgBEEDdBDNASIERQ0BIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akE5NgIAIAFBygAQUSIDDQAgACgCGCEDIAEoAgggACgCFCIENgIEIAEoAghBfyADIARrIANBf0YbNgIIIAEoAghBAjYCDCABQcsAEFEiAw0AIAAoAgwgASACEEIiAw0AIAFBKBBRIgMNACABKAIIQQE2AgQgAUHMABBRIgMNACABKAIIIAY2AgQgASgCCEEANgIIIAFBzwAQUSIDDQAgASgCCEECNgIEIAEoAgggBzYCCCABKAIIQQE2AgxBACEDCyAJQRBqJAAgAw8LIwBBEGsiCiQAIAAoAgwgARBPIQggACgCGCEGIAAoAhQhBSACIAIoAowBIgdBAWo2AowBIAEoAhAhBCABKAIMIQMCQCAFIAZGBEACQCADIARJDQAgBEUNACAEQQF0IgZBAEwEQEF1IQMMAwtBeyEDIAEoAgAgBEEobBDNASIFRQ0CIAEgBTYCACABKAIEIARBA3QQzQEiBEUNAiABIAY2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBzQA2AgAgASgCCCAHNgIEIAEoAghBADYCCAJAIAEoAgwiAyABKAIQIgRJDQAgBEUNACAEQQF0IgZBAEwEQEF1IQMMAwtBeyEDIAEoAgAgBEEobBDNASIFRQ0CIAEgBTYCACABKAIEIARBA3QQzQEiBEUNAiABIAY2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBOzYCACABKAIIIAhBBGo2AgQCQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIGQQBMBEBBdSEDDAMLQXshAyABKAIAIARBKGwQzQEiBUUNAiABIAU2AgAgASgCBCAEQQN0EM0BIgRFDQIgASAGNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQcoANgIAIAEoAgggACgCFDYCBCABKAIIQQA2AgggASgCCEEBNgIMIAAoAgwgASACEEIiAw0BAkAgASgCDCIAIAEoAhAiAkkNACACRQ0AIAJBAXQiAEEATARAQXUhAwwDC0F7IQMgASgCACACQShsEM0BIgRFDQIgASAENgIAIAEoAgQgAkEDdBDNASICRQ0CIAEgADYCECABIAI2AgQgASgCDCEACyABIABBAWo2AgwgASABKAIAIABBFGxqIgA2AgggAEEANgIQIABCADcCCCAAQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akE+NgIAIAEoAgggBzYCBAJAIAEoAgwiACABKAIQIgJJDQAgAkUNACACQQF0IgBBAEwEQEF1IQMMAwtBeyEDIAEoAgAgAkEobBDNASIERQ0CIAEgBDYCACABKAIEIAJBA3QQzQEiAkUNAiABIAA2AhAgASACNgIEIAEoAgwhAAsgASAAQQFqNgIMIAEgASgCACAAQRRsaiIANgIIIABBADYCECAAQgA3AgggAEIANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBOTYCAAJAIAEoAgwiACABKAIQIgJJDQAgAkUNACACQQF0IgBBAEwEQEF1IQMMAwtBeyEDIAEoAgAgAkEobBDNASIERQ0CIAEgBDYCACABKAIEIAJBA3QQzQEiAkUNAiABIAA2AhAgASACNgIEIAEoAgwhAAsgASAAQQFqNgIMIAEgASgCACAAQRRsaiIANgIIQQAhAyAAQQA2AhAgAEIANwIIIABCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQT02AgAMAQsCQCADIARJDQAgBEUNACAEQQF0IgZBAEwEQEF1IQMMAgtBeyEDIAEoAgAgBEEobBDNASIFRQ0BIAEgBTYCACABKAIEIARBA3QQzQEiBEUNASABIAY2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBzgA2AgAgASgCCEECNgIEIAEoAgggBzYCCAJAIAEoAgwiAyABKAIQIgRJDQAgBEUNACAEQQF0IgZBAEwEQEF1IQMMAgtBeyEDIAEoAgAgBEEobBDNASIFRQ0BIAEgBTYCACABKAIEIARBA3QQzQEiBEUNASABIAY2AhAgASAENgIEIAEoAgwhAwsgASADQQFqNgIMIAEgASgCACADQRRsaiIDNgIIIANBADYCECADQgA3AgggA0IANwIAIAEoAgQgASgCCCABKAIAa0EUbUECdGpBzwA2AgAgASgCCEEENgIEIAIgAigCjAEiBkEBajYCjAECQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIFQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiCUUNASABIAk2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAFNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQc0ANgIAIAEoAgggBjYCBCABKAIIQQA2AggCQCABKAIMIgMgASgCECIESQ0AIARFDQAgBEEBdCIFQQBMBEBBdSEDDAILQXshAyABKAIAIARBKGwQzQEiCUUNASABIAk2AgAgASgCBCAEQQN0EM0BIgRFDQEgASAFNgIQIAEgBDYCBCABKAIMIQMLIAEgA0EBajYCDCABIAEoAgAgA0EUbGoiAzYCCCADQQA2AhAgA0IANwIIIANCADcCACABKAIEIAEoAgggASgCAGtBFG1BAnRqQTs2AgAgASgCCCAIQQhqNgIEIAAoAiAiAwRAIAMgARBPIQMgASgCCCIEIAMgBCgCBGpBAWo2AgQgACgCICABIAogAkEAEF0iA0EASA0BAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwDC0F7IQMgASgCACAEQShsEM0BIghFDQIgASAINgIAIAEoAgQgBEEDdBDNASIERQ0CIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHJADYCACABKAIIQQAgCigCAGs2AgQgACgCICABIAIQQiIDDQELAkAgASgCDCIDIAEoAhAiBEkNACAERQ0AIARBAXQiBUEATARAQXUhAwwCC0F7IQMgASgCACAEQShsEM0BIghFDQEgASAINgIAIAEoAgQgBEEDdBDNASIERQ0BIAEgBTYCECABIAQ2AgQgASgCDCEDCyABIANBAWo2AgwgASABKAIAIANBFGxqIgM2AgggA0EANgIQIANCADcCCCADQgA3AgAgASgCBCABKAIIIAEoAgBrQRRtQQJ0akHKADYCACAAKAIYIQMgASgCCCAA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AgANACAAKAIwDQAgACgCDCECIAAgAEEYaiIENgIMIAAgBCAAKAIQIAJrajYCEAsgBSgCAA0BIAUoAjANASAFKAIMIQAgBSAFQRhqIgI2AgwgBSACIAUoAhAgAGtqNgIQIAMQEAwGCyAGQcACaiIFIABBMGoiAikCADcDACAGQbgCaiIEIABBKGoiASkCADcDACAGQbACaiIJIABBIGoiCykCADcDACAGQagCaiIHIABBGGoiCikCADcDACAGQaACaiIOIABBEGoiDSkCADcDACAGQZgCaiIQIABBCGoiDCkCADcDACAGIAApAgA3A5ACIAIgA0EwaiIVKQIANwIAIAEgA0EoaiICKQIANwIAIAsgA0EgaiIBKQIANwIAIAogA0EYaiILKQIANwIAIA0gA0EQaiIKKQIANwIAIAwgA0EIaiINKQIANwIAIAAgAykCADcCACAVIAUpAwA3AgAgAiAEKQMANwIAIAEgCSkDADcCACALIAcpAwA3AgAgCiAOKQMANwIAIA0gECkDADcCACADIAYpA5ACNwIAAkAgACgCAA0AIAAoAjANACAAKAIMIQUgACAAQRhqIgI2AgwgACACIAAoAhAgBWtqNgIQCyADKAIADQAgAygCMA0AIAMoAgwhBSADIANBGGoiADYCDCADIAAgAygCECAFa2o2AhALIAMQEAwECyAGQcACaiIFIABBMGoiAikCADcDACAGQbgCaiIEIABBKGoiAykCADcDACAGQbACaiIBIABBIGoiCSkCADcDACAGQagCaiILIABBGGoiBykCADcDACAGQaACaiIKIABBEGoiDikCADcDACAGQZgCaiINIABBCGoiECkCADcDACAGIAApAgA3A5ACIAIgCEEwaiIMKQIANwIAIAMgCEEoaiICKQIANwIAIAkgCEEgaiIDKQIANwIAIAcgCEEYaiIJKQIANwIAIA4gCEEQaiIHKQIANwIAIBAgCEEIaiIOKQIANwIAIAAgCCkCADcCACAMIAUpAwA3AgAgAiAEKQMANwIAIAMgASkDADcCACAJIAspAwA3AgAgByAKKQMANwIAIA4gDSkDADcCACAIIAYpA5ACNwIAAkAgACgCAA0AIAAoAjANACAAKAIMIQUgACAAQRhqIgI2AgwgACACIAAoAhAgBWtqNgIQCwJAIAgoAgANACAIKAIwDQAgCCgC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QQFrQQZ0aiIBKAIAIAUoAhhHBEAgAUIANwIAIAFCADcCOCABQgA3AjAgAUIANwIoIAFCADcCICABQgA3AhggAUIANwIQIAFCADcCCCABIAUoAhg2AgALIAEoAghBACABKAIEGyECCyAAKAIIIgFBAEwNACAAKAIoKAIoIgUoAhwiBiABQQFrIghBBnRqIgEoAgAgBSgCGEcEQCABQgA3AgAgAUIANwI4IAFCADcCMCABQgA3AiggAUIANwIgIAFCADcCGCABQgA3AhAgAUIANwIIIAEgBSgCGDYCAAsCQCABKAIERQRAIAAoAgwgACgCCBAOIgFFDQIgASgCBEEBRw0CIAEoAkQiAyABKAJIIgUgBygCRCgCFBEAACEIQQAhBiAFIAMgBygCRCgCABEBACADaiIBSwRAIAEgBSAHKAJEKAIUEQAAIQZBmH4hAyABIAcoAkQoAgARAQAgAWogBUcNAwtBmH4hAwJ/AkACQAJAAkAgCEEhaw4eAQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHAgADBwtBACAGQT1GDQMaDAYLQQEgBkE9Rg0CGgwFC0EEIAZBPUYNARogBg0EQQIMAQtBBSAGQT1GDQAaIAYNA0EDCyEBQWIhAyAAKAIIIgdBAEwNAiAAKAIoKAIoIgMoAhwgB0EGdGpBQGoiAEEBNgIEIAAgBTYCDCAAIAE2AgggACADKAIYNgIADAELIAYgCEEGdGooAgghAQtBACEAAkACQAJAAkACQAJAAkAgAQ4GAAECAwQFBgsgAiAERiEADAULIAIgBEchAAwECyACIARKIQAMAwsgAiAESCEADAILIAIgBE4hAAwBCyACIARMIQALIABBAXMhAwsgAws/AQF/AkAgACgCDCIAIAIgAWsiA2oQywEiAkUNACACIAEgAxCmASEBIABBAEwNACABIANqQQAgABCoARoLIAILJgAgAiABIAIgACgCOBEAACIBSwR/IAEgACgCABEBACABagUgAQsLHgEBfyABIAJJBH8gASACQQFrIAAoAjgRAAAFIAMLCzsAAkAgAkUNAANAIANBAEwEQCACDwsgASACTw0BIANBAWshAyABIAJBAWsgACgCOBEAACICDQALC0EAC2gBBH8gASECA0ACQCACLQAADQAgACgCDCIDQQFHBEAgAiEEIANBAkgNAQNAIAQtAAENAiAEQQFqIQQgA0ECSiEFIANBAWshAyAFDQALCyACIAFrDwsgAiAAKAIAEQEAIAJqIQIMAAsAC3UBBH8jAEEQayIAJAACQANAIAAgBEEDdEHQJWoiAygCBCIFNgIMIAMoAgAiBiAAQQxqQQEgAiABEQMAIgMNASAAIAY2AgwgBSAAQQxqQQEgAiABEQMAIgMNASAEQQFqIgRBGkcNAAtBACEDCyAAQRBqJAAgAwtOAEEgIQACfyABLQAAIgJBwQBrQf8BcUEaTwRAQWAhAEEAIAJB4QBrQf8BcUEZSw0BGgsgA0KBgICAEDcCACADIAAgAS0AAGo2AghBAQsLBABBfgscAAJ/IAAgAUkEQEEBIAAtAABBCkYNARoLQQALCyUAIAMgASgCAC0AAEHQH2otAAA6AAAgASABKAIAQQFqNgIAQQELBABBAQsHACAALQAACw4AQQFB8HwgAEGAAkkbCwsAIAEgADoAAEEBCwQAIAELzgEBBn8gASACSQRAIAEhAwNAIAVBAWohBSADIAAoAgARAQAgA2oiAyACSQ0ACwtBAEHAmhFqIQMgBEHHCWohBANAAkAgBSADIgYuAQgiB0cNACAFIQggASEDAkAgB0EATA0AA0AgAiADSwRAIAMgAiAAKAIUEQAAIAQtAABHDQMgBEEBaiEEIAMgACgCABEBACADaiEDIAhBAUshByAIQQFrIQggBw0BDAILCyAELQAADQELIAYoAgQPCyAGQQxqIQMgBigCDCIEDQALQaF+C2gBAX8CQCAEQQBKBEADQCABIAJPBEAgAy0AAA8LIAEgAiAAKAIUEQAAIQUgAy0AACAFayIFDQIgA0EBaiEDIAEgACgCABEBACABaiEBIARBAUshBSAEQQFrIQQgBQ0ACwtBACEFCyAFCy4BAX8gASACIAAoAhQRAAAiAEH/AE0EfyAAQQF0QdAhai8BAEEMdkEBcQUgAwsLPgEDfwJAIAJBAEwNAANAIAAgA0ECdCIFaigCACABIAVqKAIARgRAIAIgA0EBaiIDRw0BDAILC0F/IQQLIAQLJwEBfyAAIAFBA20iAkECdGooAgBBECABIAJBA2xrQQN0a3ZB/wFxC7YIAQF/Qc0JIQECQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIABB9ANqDvQDTU5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTkxOTktKMzZOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTklIR0ZFRENCQUA/Pj08Ozo5ODc1NE4yMTAvLi0sKyopKE5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk4nJiUkIyIhIB8eHRwbGhkYThcWFRQTEhFOTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk4QTk5OTk5ODw4NTgcGBQQDDAsKCU5OTk4IAk4BAE9OC0GzDA8LQbMNDwtBjQ4PC0GEDw8LQfAPDwtByRAPC0G+EQ8LQf8RDwtBwBIPC0HnEg8LQZYTDwtBuhMPC0HkEw8LQf4TDwtBvBQPC0GEFQ8LQZcVDwtBrhUPC0HNFQ8LQewVDwtBnhYPC0HyFg8LQYoXDwtBoBcPC0G5Fw8LQdUXDwtB9BcPC0GYGA8LQbsYDwtB7BgPC0GgJw8LQcUnDwtB3CcPC0H4Jw8LQZ8oDwtBtCgPC0HLKA8LQeAoDwtB+ygPC0GaKQ8LQb0pDwtBzCkPC0HsKQ8LQZgqDwtBsioPC0HlKg8LQZIrDwtBsisPC0HJKw8LQeUrDwtBliwPC0GoLA8LQcAsDwtB2SwPC0HsLA8LQYUtDwtBmS0P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AUYNAQsLIAILoQEBBH9BASEEAkAgACABTw0AA0BBACEEIAAtAAAiAkHAAXFBgAFGDQEgAEEBaiEDAkAgAkHAAWtBNEsEQCADIQAMAQsgAEECIAJBAnRBkIoRaigCACICIAJBAkwbIgVqIQBBASECA0AgASADRg0DIAMtAABBwAFxQYABRw0DIANBAWohAyACQQFqIgIgBUcNAAsLIAAgAUkNAAtBASEECyAEC4AEAQN/IAJBgARPBEAgACABIAIQACAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvoAgECfwJAIAAgAUYNACABIAAgAmoiA2tBACACQQF0a00EQCAAIAEgAhCmARoPCyAAIAFzQQNxIQQCQAJAIAAgAUkEQCAEBEAgACEDDAMLIABBA3FFBEAgACEDDAILIAAhAwNAIAJFDQQgAyABLQAAOgAAIAFBAWohASACQQFrIQIgA0EBaiIDQQNxDQALDAELAkAgBA0AIANBA3EEQANAIAJFDQUgACACQQFrIgJqIgMgASACai0AADoAACADQQNxDQALCyACQQNNDQADQCAAIAJBBGsi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AmogASACQf////8Hc0obIQELIAAgA0EBajYCACABIQIgAywAARCvAQ0ACyABC7YEAAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAFBCWsOEgABAgUDBAYHCAkKCwwNDg8QERILIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAiADEQcACwuDAQIDfwF+AkAgAEKAgICAEFQEQCAAIQUMAQsDQCABQQFrIgEgACAAQgqAIgVCCn59p0EwcjoAACAAQv////+fAVYhAiAFIQAgAg0ACwsgBaciAgRAA0AgAUEBayIBIAIgAkEKbiIDQQpsa0EwcjoAACACQQlLIQQgAyECIAQNAAsLIAELcgEBfyMAQYACayIFJAACQCACIANMDQAgBEGAwARxDQAgBSABQf8BcSACIANrIgNBgAIgA0GAAkkiAhsQqAEaIAJFBEADQCAAIAVBgAIQtQEgA0GAAmsiA0H/AUsNAAsLIAAgBSADELUBCyAFQYACaiQAC8kYAxJ/AXwCfiMAQbAEayIKJAAgCkEANgIsAkAgAb0iGUIAUwRA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IQsgBUEgcSEIIAooAiwhByAGQQJrIg0gBUEPajoAACAGQQFrQS1BKyAHQQBIGzoAACAEQQhxIQkgCkEQaiEHA0AgByIGAn8gAZlEAAAAAAAA4EFjBEAgAaoMAQtBgICAgHgLIgdB4JURai0AACAIcjoAACABIAe3oUQAAAAAAAAwQKIhAQJAIAZBAWoiByAKQRBqa0EBRw0AAkAgCQ0AIANBAEoNACABRAAAAAAAAAAAYQ0BCyAGQS46AAEgBkECaiEHCyABRAAAAAAAAAAAYg0AC0F/IQlB/f///wcgCyASIA1rIhBqIgZrIANIDQAgAEEgIAICfwJAIANFDQAgByAKQRBqayIIQQJrIANODQAgA0ECagwBCyAHIApBEGprIggLIgcgBmoiBiAEELkBIAAgDiALELUBIABBMCACIAYgBEGAgARzELkBIAAgCkEQaiAIELUBIABBMCAHIAhrQQBBABC5ASAAIA0gEBC1ASAAQSAgAiAGIARBgMAAcxC5ASAGIAIgAiAGSBshCQsgCkGwBGokACAJC40FAgZ+An8gASABKAIAQQdqQXhxIgFBEGo2AgAgACABKQMAIQQgASkDCCEFIwBBIGsiACQAAkAgBUL///////////8AgyIDQoCAgICAgMCAPH0gA0KAgICAgIDA/8MAfVQEQCAFQgSGIARCPIiEIQMgBEL//////////w+DIgRCgYCAgICAgIAIWgRAIANCgYCAgICAgIDAAHwhAgwCCyADQoCAgICAgICAQH0hAiAEQoCAgICAgICACFINASACIANCAYN8IQIMAQsgBFAgA0KAgICAgIDA//8AVCADQoCAgICAgMD//wBRG0UEQCAFQgSGIARCPIiEQv////////8Dg0KAgICAgICA/P8AhCECDAELQoCAgICAgID4/wAhAiADQv///////7//wwBWDQBCACECIANCMIinIgFBkfcASQ0AIABBEGohCSAEIQIgBUL///////8/g0KAgICAgIDAAIQiAyEGAkAgAUGB9wBrIghBwABxBEAgAiAIQUBqrYYhBkIAIQIMAQsgCEUNACAGIAitIgeGIAJBwAAgCGutiIQhBiACIAeGIQILIAkgAjcDACAJIAY3AwgCQEGB+AAgAWsiAUHAAHEEQCADIAFBQGqtiCEEQgAhAwwBCyABRQ0AIANBwAAgAWuthiAEIAGtIgKIhCEEIAMgAoghAwsgACAENwMAIAAgAzcDCCAAKQMIQgSGIAApAwAiA0I8iIQhAiAAKQMQIAApAxiEQgBSrSADQv//////////D4OEIgNCgYCAgICAgIAIWgRAIAJCAXwhAgwBCyADQoCAgICAgICACFINACACQgGDIAJ8IQILIABBIGokACACIAVCgICAgICAgICAf4OEvzkDAAugAQECfyMAQaABayIEJABBfyEFIAQgAUEBa0EAIAEbNgKUASAEIAAgBEGeAWogARsiADYCkAEgBEEAQZABEKgBIgRBfzYCTCAEQRA2AiQgBEF/NgJQIAQgBEGfAWo2AiwgBCAEQZABajYCVAJAIAFBAEgEQEHoyhJBPTYCAAwBCyAAQQA6AAAgBCACIANBDkEPELMBIQULIARBoAFqJAAgBQurAQEEfyAAKAJUIgMoAgQiBSAAKAIUIAAoAhwiBmsiBCAEIAVLGyIEBEAgAygCACAGIAQQpgEaIAMgAygCACAEajYCACADIAMoAgQgBGsiBTYCBAsgAygCACEEIAUgAiACIAVLGyIFBEAgBCABIAUQpgEaIAMgAygCACAFaiIENgIAIAMgAygCBCAFazYCBAsgBEEAOgAAIAAgACgCLCIDNgIcIAAgAzYCFCACCxYAIABFBEBBAA8LQejKEiAANgIAQX8LogIAIABFBEBBAA8LAn8CQCAABH8gAUH/AE0NAQJAQfzLEigCACgCAEUEQCABQYB/cUGAvwNGDQNB6MoSQRk2AgAMAQsgAUH/D00EQCAAIAFBP3FBgAFyOgABIAAgAUEGdkHAAXI6AABBAgwECyABQYBAcUGAwANHIAFBgLADT3FFBEAgACABQT9xQYABcjoAAiAAIAFBDHZB4AFyOgAAIAAgAUEGdkE/cUGAAXI6AAFBAwwECyABQYCABGtB//8/TQRAIAAgAUE/cUGAAXI6AAMgACABQRJ2QfABcjoAACAAIAFBBnZBP3FBgAFyOgACIAAgAUEMdkE/cUGAAXI6AAFBBAwEC0HoyhJBGTYCAAtBfwVBAQsMAQsgACABOgAAQQELCwcAIAAQywELBwAgABDMAQu9BQEJfyMAQRBrIggkACAIQZjMEjYCAEGUzBIoAgAhByMAQYABayIBJAAgASAINgJcAkAgB0GhfkcgB0HcAWpBBk9xRQRAIAEgASgCXCICQQRqNgJcAn9BACACKAIAIgAoAgQiAkUNABogACgCCCEEIAAoAgAiBigCDEECTgRAA0ACQCACIARPDQACfyACIAQgBigCFBEAACIAQYABTwRAAkAgAEGAgARJDQAgA0ERSg0AIAEgAEEYdjYCMCABQeAAaiADaiIFQQVBqzIgAUEwahCpASABIABBEHZB/wFxNgIgIAVBBGpBA0GmMiABQSBqEKkBIAEgAEEIdkH/AXE2AhAgBUEGakEDQaYyIAFBEGoQqQEgASAAQf8BcTYCACAFQQhqQQNBpjIgARCpASADQQpqDAILIANBFUoNAiABIABBCHZB/wFxNgJQIAFB4ABqIANqIgVBBUGrMiABQdAAahCpASABIABB/wFxNgJAIAVBBGpBA0GmMiABQUBrEKkBIANBBmoMAQsgAUHgAGogA2ogADoAACADQQFqCyEDIAIgBigCABEBACACaiECIANBG0gNAQsLIAIgBEkMAQsgAUHgAGogAkEbIAQgAmsiACAAQRtOGyIDEKYBGiAAQRtKCyEFIAcQigEhAkGwzBIhAANAAkACQCACLQAAIgRBJUcEQCAERQ0BDAILIAJBAWohBiACLQABIgRB7gBHBEAgBiECDAILIAAgAUHgAGogAxCmASADaiEAIAUEQCAAQaIyLwAAOwAAIABBpDItAAA6AAIgAEEDaiEACyAGQQFqIQIMAgsgAEEAOgAADAMLIAAgBDoAACAAQQFqIQAgAkEBaiECDAALAAtBlL0SIAcQigEiABB6IQJBsMwSIAAgAhCmASACakEAOgAACyABQYABaiQAIAhBEGokAEGwzBIL4wEBAX8CQAJAAkACfyAALQAQBEBBACEBIABBDGogACgCCCACIAIgA2oiBiACIARqIAYgACgCDCAFEG1BAE4NARpBACEGDAMLAkAgACgCFCABRw0AIAAoAhwgBUcNACAAKAIYIARKDQAgAC0AIEUEQEEADwsgACgCDCIGKAIIKAIAIARODQQLIAAgBTYCHCAAIAQ2AhggACABNgIUQQAhASAAKAIIIAIgAiADaiIGIAIgBGogBiAAKAIMIAUQbUEASA0BIABBDGoLKAIAIQZBASEBDAELQQAhBgsgACABOgAgCyAGC7gzARp/IwBBEGsiGCQAIAJBAnQiChDLASEbIAoQywEhGSACQQBK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JyB3aXRob3V0IGVzY2FwZQBXb3JkAEFscGhhAEVVQy1DTgBGQUlMAChudWxsKQAARgBBAEkATAAAAEYAQQBJAEwAAAAAYWJvcnQAQmxhbmsAIyVkAEFscGhhAFsATUlTTUFUQ0gAAE0ASQBTAE0AQQBUAEMASAAAAE0ASQBTAE0AQQBUAEMASAAAAAAtMFgrMFggMFgtMHgrMHggMHgAZmFpbCB0byBtZW1vcnkgYWxsb2NhdGlvbgBDbnRybABIaXJhZ2FuYQBNQVgALQBPTklHLU1PTklUT1I6ICUtNHMgJXMgYXQ6ICVkIFslZCAtICVkXSBsZW46ICVkCgAATQBBAFgAAABNAEEAWAAAAABEaWdpdABtYXRjaC1zdGFjayBsaW1pdCBvdmVyAEFsbnVtAGluZgBjaGFyYWN0ZXIgY2xhc3MgaGFzICclcycgd2l0aG91dCBlc2NhcGUARVJST1IAPT4AAEUAUgBSAE8AUgAAAEUAUgBSAE8AUgAAAABwYXJzZSBkZXB0aCBsaW1pdCBvdmVyAGFsbnVtAEdyYXBoAEthdGFrYW5hAENPVU5UAElORgA8PQAAQwBPAFUATgBUAAAAQwBPAFUATgBUAAAAAExvd2VyAHJldHJ5LWxpbWl0LWluLW1hdGNoIG92ZXIAbmFuAGFscGhhAFRPVEFMX0NPVU5UAEFTQ0lJAABUAE8AVABBAEwAXwBDAE8AVQBOAFQAAABUAE8AVABBAEwAXwBDAE8AVQBOAFQAAAAAUHJpbnQAWERpZ2l0AHJldHJ5LWxpbWl0LWluLXNlYXJjaCBvdmVyAGJsYW5rAENNUABOQU4AAEMATQBQAAAAQwBNAFAAAAAAUHVuY3QAc3ViZXhwLWNhbGwtbGltaXQtaW4tc2VhcmNoIG92ZXIAY250cmwAQ250cmwALgBkaWdpdABCbGFuawBTcGFjZQB1bmRlZmluZWQgdHlwZSAoYnVnKQBQdW5jdABVcHBlcgBncmFwaABpbnRlcm5hbCBwYXJzZXIgZXJyb3IgKGJ1ZykAUHJpbnQAWERpZ2l0AGxvd2VyAHN0YWNrIGVycm9yIChidWcpAHByaW50AFVwcGVyAEFTQ0lJAHVuZGVmaW5lZCBieXRlY29kZSAoYnVnKQBwdW5jdABTcGFjZQBXb3JkAHVuZXhwZWN0ZWQgYnl0ZWNvZGUgKGJ1ZykAZGVmYXVsdCBtdWx0aWJ5dGUtZW5jb2RpbmcgaXMgbm90IHNldABMb3dlcgBzcGFjZQB1cHBlcgBHcmFwaABjYW4ndCBjb252ZXJ0IHRvIHdpZGUtY2hhciBvbiBzcGVjaWZpZWQgbXVsdGlieXRlLWVuY29kaW5nAHhkaWdpdABEaWdpdABmYWlsIHRvIGluaXRpYWxpemUAaW52YWxpZCBhcmd1bWVudABhc2NpaQBlbmQgcGF0dGVybiBhdCBsZWZ0IGJyYWNlAHdvcmQAZW5kIHBhdHRlcm4gYXQgbGVmdCBicmFja2V0ADpdAGVtcHR5IGNoYXItY2xhc3MAcmVkdW5kYW50IG5lc3RlZCByZXBlYXQgb3BlcmF0b3IAcHJlbWF0dXJlIGVuZCBvZiBjaGFyLWNsYXNzAG5lc3RlZCByZXBlYXQgb3BlcmF0b3IgJXMgYW5kICVzIHdhcyByZXBsYWNlZCB3aXRoICclcycAZW5kIHBhdHRlcm4gYXQgZXNjYXBlAD8AZW5kIHBhdHRlcm4gYXQgbWV0YQAqAGVuZCBwYXR0ZXJuIGF0IGNvbnRyb2wAKwBpbnZhbGlkIG1ldGEtY29kZSBzeW50YXgAPz8AaW52YWxpZCBjb250cm9sLWNvZGUgc3ludGF4ACo/AGNoYXItY2xhc3MgdmFsdWUgYXQgZW5kIG9mIHJhbmdlACs/AGNoYXItY2xhc3MgdmFsdWUgYXQgc3RhcnQgb2YgcmFuZ2UAdW5tYXRjaGVkIHJhbmdlIHNwZWNpZmllciBpbiBjaGFyLWNsYXNzACsgYW5kID8/AHRhcmdldCBvZiByZXBlYXQgb3BlcmF0b3IgaXMgbm90IHNwZWNpZmllZAArPyBhbmQgPwAPAAAADgAAAHQ+AwB8PgMA6AP0AU0B+gDIAKcAjwB9AG8AZABbAFMATQBHAEMAPwA7ADgANQAyADAALQArACoAKAAmACUAJAAiACEAIAAfAB4AHQAdABwAGwAaABoAGQAYABgAFwAXABYAFgAVABUAFAAUABQAEwATABMAEgASABIAEQARABEAEAAQABAAEAAPAA8ADwAPAA4ADgAOAA4ADgAOAA0ADQANAA0ADQANAAwADAAMAAwADAAMAAsACwALAAsACwALAAsACwALAAoACgAKAAoA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b2RlIHJhbmdlcyBhcmUgc3BlY2lmaWVkAHRvbyBzaG9ydCBtdWx0aWJ5dGUgY29kZSBzdHJpbmcAdG9vIGJpZyBiYWNrcmVmIG51bWJlcgBpbnZhbGlkIGJhY2tyZWYgbnVtYmVyL25hbWUAbnVtYmVyZWQgYmFja3JlZi9jYWxsIGlzIG5vdCBhbGxvd2VkLiAodXNlIG5hbWUpAHRvbyBtYW55IGNhcHR1cmVzAHRvbyBiaWcgd2lkZS1jaGFyIHZhbHVlAHRvbyBsb25nIHdpZGUtY2hhciB2YWx1ZQB1bmRlZmluZWQgb3BlcmF0b3IAaW52YWxpZCBjb2RlIHBvaW50IHZhbHVlAGdyb3VwIG5hbWUgaXMgZW1wdHkAaW52YWxpZCBncm91cCBuYW1lIDwlbj4AaW52YWxpZCBjaGFyIGluIGdyb3VwIG5hbWUgPCVuPgB1bmRlZmluZWQgbmFtZSA8JW4+IHJlZmVyZW5jZQB1bmRlZmluZWQgZ3JvdXAgPCVuPiByZWZlcmVuY2UAbXVsdGlwbGV4IGRlZmluZWQgbmFtZSA8JW4+AG11bHRpcGxleCBkZWZpbml0aW9uIG5hbWUgPCVuPiBjYWxsAG5ldmVyIGVuZGluZyByZWN1cnNpb24AZ3JvdXAgbnVtYmVyIGlzIHRvbyBiaWcgZm9yIGNhcHR1cmUgaGlzdG9yeQBpbnZhbGlkIGNoYXJhY3RlciBwcm9wZXJ0eSBuYW1lIHslbn0AaW52YWxpZCBpZi1lbHNlIHN5bnRheABpbnZhbGlkIGFic2VudCBncm91cCBwYXR0ZXJuAGludmFsaWQgYWJzZW50IGdyb3VwIGdlbmVyYXRvciBwYXR0ZXJuAGludmFsaWQgY2FsbG91dCBwYXR0ZXJuAGludmFsaWQgY2FsbG91dCBuYW1lAHVuZGVmaW5lZCBjYWxsb3V0IG5hbWUAaW52YWxpZCBjYWxsb3V0IGJvZHkAaW52YWxpZCBjYWxsb3V0IHRhZyBuYW1lAGludmFsaWQgY2FsbG91dCBhcmcAbm90IHN1cHBvcnRlZCBlbmNvZGluZyBjb21iaW5hdGlvbgBpbnZhbGlkIGNvbWJpbmF0aW9uIG9mIG9wdGlvbnMAdmVyeSBpbmVmZmljaWVudCBwYXR0ZXJuAGxpYnJhcnkgaXMg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ALYJAAC5CQAAvAkAAMQJAADHCQAAyAkAAMsJAADOCQAA1wkAANcJAADcCQAA3QkAAN8JAADjCQAA5gkAAP4JAAABCgAAAwoAAAUKAAAKCgAADwoAABAKAAATCgAAKAoAACoKAAAwCgAAMgoAADMKAAA1CgAANgoAADgKAAA5CgAAPAoAADwKAAA+CgAAQgoAAEcKAABICgAASwoAAE0KAABRCgAAUQoAAFkKAABcCgAAXgoAAF4KAABmCgAAdgoAAIEKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvAoAAMUKAADHCgAAyQoAAMsKAADNCgAA0AoAANAKAADgCgAA4woAAOYKAADxCgAA+QoAAP8KAAABCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAADwLAABECwAARwsAAEgLAABLCwAATQsAAFULAABXCwAAXAsAAF0LAABfCwAAYwsAAGYLAAB3CwAAggsAAIMLAACFCwAAigsAAI4LAACQCwAAkgsAAJULAACZCwAAmgsAAJwLAACcCwAAngsAAJ8LAACjCwAApAsAAKgLAACqCwAArgsAALkLAAC+CwAAwgsAAMYLAADICwAAygsAAM0LAADQCwAA0AsAANcLAADXCwAA5gsAAPoLAAAADAAADAwAAA4MAAAQDAAAEgwAACgMAAAqDAAAOQwAADwMAABEDAAARgwAAEgMAABKDAAATQwAAFUMAABWDAAAWAwAAFoMAABdDAAAXQwAAGAMAABjDAAAZgwAAG8MAAB3DAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvAwAAMQMAADGDAAAyAwAAMoMAADNDAAA1QwAANYMAADdDAAA3gwAAOAMAADjDAAA5gwAAO8MAADxDAAA8gwAAAANAAAMDQAADg0AABANAAASDQAARA0AAEYNAABIDQAASg0AAE8NAABUDQAAYw0AAGYNAAB/DQAAgQ0AAIMNAACFDQAAlg0AAJoNAACxDQAAsw0AALsNAAC9DQAAvQ0AAMANAADGDQAAyg0AAMoNAADPDQAA1A0AANYNAADWDQAA2A0AAN8NAADmDQAA7w0AAPINAAD0DQAAAQ4A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AKoAAACqAAAAtQAAALUAAAC6AAAAugAAAN8AAAD2AAAA+AAAAP8AAAABAQAAAQEAAAMBAAADAQAABQEAAAUBAAAHAQAABwEAAAkBAAAJAQAACwEAAAsBAAANAQAADQEAAA8BAAAPAQAAEQEAABEBAAATAQAAEwEAABUBAAAVAQAAFwEAABcBAAAZAQAAGQEAABsBAAAbAQAAHQEAAB0BAAAfAQAAHwEAACEBAAAhAQAAIwEAACMBAAAlAQAAJQEAACcBAAAnAQAAKQEAACkBAAArAQAAKwEAAC0BAAAtAQAALwEAAC8BAAAxAQAAMQEAADMBAAAzAQAANQEAADUBAAA3AQAAOAEAADoBAAA6AQAAPAEAADwBAAA+AQAAPgEAAEABAABAAQAAQgEAAEIBAABEAQAARAEAAEYBAABGAQAASAEAAEkBAABLAQAASwEAAE0BAABNAQAATwEAAE8BAABRAQAAUQEAAFMBAABTAQAAVQEAAFUBAABXAQAAVwEAAFkBAABZAQAAWwEAAFsBAABdAQAAXQEAAF8BAABfAQAAYQEAAGEBAABjAQAAYwEAAGUBAABlAQAAZwEAAGcBAABpAQAAaQEAAGsBAABrAQAAbQEAAG0BAABvAQAAbwEAAHEBAABxAQAAcwEAAHMBAAB1AQAAdQEAAHcBAAB3AQAAegEAAHoBAAB8AQAAfAEAAH4BAACAAQAAgwEAAIMBAACFAQAAhQEAAIgBAACIAQAAjAEAAI0BAACSAQAAkgEAAJUBAACVAQAAmQEAAJsBAACeAQAAngEAAKEBAAChAQAAowEAAKMBAAClAQAApQEAAKgBAACoAQAAqgEAAKsBAACtAQAArQEAALABAACwAQAAtAEAALQBAAC2AQAAtgEAALkBAAC6AQAAvQEAAL8BAADGAQAAxgEAAMkBAADJAQAAzAEAAMwBAADOAQAAzgEAANABAADQAQAA0gEAANIBAADUAQAA1AEAANYBAADWAQAA2AEAANgBAADaAQAA2gEAANwBAADdAQAA3wEAAN8BAADhAQAA4QEAAOMBAADjAQAA5QEAAOUBAADnAQAA5wEAAOkBAADpAQAA6wEAAOsBAADtAQAA7QEAAO8BAADwAQAA8wEAAPMBAAD1AQAA9QEAAPkBAAD5AQAA+wEAAPsBAAD9AQAA/QEAAP8BAAD/AQAAAQIAAAECAAADAgAAAwIAAAUCAAAFAgAABwIAAAcCAAAJAgAACQIAAAsCAAALAgAADQIAAA0CAAAPAgAADwIAABECAAARAgAAEwIAABMCAAAVAgAAFQIAABcCAAAXAgAAGQIAABkCAAAbAgAAGwIAAB0CAAAdAgAAHwIAAB8CAAAhAgAAIQIAACMCAAAjAgAAJQIAACUCAAAnAgAAJwIAACkCAAApAgAAKwIAACsCAAAtAgAALQIAAC8CAAAvAgAAMQIAADECAAAzAgAAOQIAADwCAAA8AgAAPwIAAEACAABCAgAAQgIAAEcCAABHAgAASQIAAEkCAABLAgAASwIAAE0CAABNAgAATwIAAJMCAACVAgAAuAIAAMACAADBAgAA4AIAAOQCAABFAwAARQMAAHEDAABxAwAAcwMAAHMDAAB3AwAAdwMAAHoDAAB9AwAAkAMAAJADAACsAwAAzgMAANADAADRAwAA1QMAANcDAADZAwAA2QMAANsDAADbAwAA3QMAAN0DAADfAwAA3wMAAOEDAADhAwAA4wMAAOMDAADlAwAA5QMAAOcDAADnAwAA6QMAAOkDAADrAwAA6wMAAO0DAADtAwAA7wMAAPMDAAD1AwAA9QMAAPgDAAD4AwAA+wMAAPwDAAAwBAAAXwQAAGEEAABhBAAAYwQAAGMEAABlBAAAZQQAAGcEAABnBAAAaQQAAGkEAABrBAAAawQAAG0EAABtBAAAbwQAAG8EAABxBAAAcQQAAHMEAABzBAAAdQQAAHUEAAB3BAAAdwQAAHkEAAB5BAAAewQAAHsEAAB9BAAAfQQAAH8EAAB/BAAAgQQAAIEEAACLBAAAiwQAAI0EAACNBAAAjwQAAI8EAACRBAAAkQQAAJMEAACTBAAAlQQAAJUEAACXBAAAlwQAAJkEAACZBAAAmwQAAJsEAACdBAAAnQQAAJ8EAACfBAAAoQQAAKEEAACjBAAAowQAAKUEAAClBAAApwQAAKcEAACpBAAAqQQAAKsEAACrBAAArQQAAK0EAACvBAAArwQAALEEAACxBAAAswQAALMEAAC1BAAAtQQAALcEAAC3BAAAuQQAALkEAAC7BAAAuwQAAL0EAAC9BAAAvwQAAL8EAADCBAAAwgQAAMQEAADEBAAAxgQAAMYEAADIBAAAyAQAAMoEAADKBAAAzAQAAMwEAADOBAAAzwQAANEEAADRBAAA0wQAANMEAADVBAAA1QQAANcEAADXBAAA2QQAANkEAADbBAAA2wQAAN0EAADdBAAA3wQAAN8EAADhBAAA4QQAAOMEAADjBAAA5QQAAOUEAADnBAAA5wQAAOkEAADpBAAA6wQAAOsEAADtBAAA7QQAAO8EAADvBAAA8QQAAPEEAADzBAAA8wQAAPUEAAD1BAAA9wQAAPcEAAD5BAAA+QQAAPsEAAD7BAAA/QQAAP0EAAD/BAAA/wQAAAEFAAABBQAAAwUAAAMFAAAFBQAABQUAAAcFAAAHBQAACQUAAAkFAAALBQAACwUAAA0FAAANBQAADwUAAA8FAAARBQAAEQUAABMFAAATBQAAFQUAABUFAAAXBQAAFwUAABkFAAAZBQAAGwUAABsFAAAdBQAAHQUAAB8FAAAfBQAAIQUAACEFAAAjBQAAIwUAACUFAAAlBQAAJwUAACcFAAApBQAAKQUAACsFAAArBQAALQUAAC0FAAAvBQAALwUAAGAFAACIBQAA0BAAAPoQAAD9EAAA/xAAAPgTAAD9EwAAgBwAAIgcAAAAHQAAvx0AAAEeAAABHgAAAx4AAAMeAAAFHgAABR4AAAceAAAHHgAACR4AAAkeAAALHgAACx4AAA0eAAANHgAADx4AAA8eAAARHgAAER4AABMeAAATHgAAFR4AABUeAAAXHgAAFx4AABkeAAAZHgAAGx4AABseAAAdHgAAHR4AAB8eAAAfHgAAIR4AACEeAAAjHgAAIx4AACUeAAAlHgAAJx4AACceAAApHgAAKR4AACseAAArHgAALR4AAC0eAAAvHgAALx4AADEeAAAxHgAAMx4AADMeAAA1HgAANR4AADceAAA3HgAAOR4AADkeAAA7HgAAOx4AAD0eAAA9HgAAPx4AAD8eAABBHgAAQR4AAEMeAABDHgAARR4AAEUeAABHHgAARx4AAEkeAABJHgAASx4AAEseAABNHgAATR4AAE8eAABPHgAAUR4AAFEeAABTHgAAUx4AAFUeAABVHgAAVx4AAFceAABZHgAAWR4AAFseAABbHgAAXR4AAF0eAABfHgAAXx4AAGEeAABhHgAAYx4AAGMeAABlHgAAZR4AAGceAABnHgAAaR4AAGkeAABrHgAAax4AAG0eAABtHgAAbx4AAG8eAABxHgAAcR4AAHMeAABzHgAAdR4AAHUeAAB3HgAAdx4AAHkeAAB5HgAAex4AAHseAAB9HgAAfR4AAH8eAAB/HgAAgR4AAIEeAACDHgAAgx4AAIUeAACFHgAAhx4AAIceAACJHgAAiR4AAIseAACLHgAAjR4AAI0eAACPHgAAjx4AAJEeAACRHgAAkx4AAJMeAACVHgAAnR4AAJ8eAACfHgAAoR4AAKEeAACjHgAAox4AAKUeAAClHgAApx4AAKceAACpHgAAqR4AAKseAACrHgAArR4AAK0eAACvHgAArx4AALEeAACxHgAAsx4AALMeAAC1HgAAtR4AALceAAC3HgAAuR4AALkeAAC7HgAAux4AAL0eAAC9HgAAvx4AAL8eAADBHgAAwR4AAMMeAADDHgAAxR4AAMUeAADHHgAAxx4AAMkeAADJHgAAyx4AAMseAADNHgAAzR4AAM8eAADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAhx8AAJAfAACXHwAAoB8AAKcfAACwHwAAtB8AALYfAAC3HwAAvh8AAL4fAADCHwAAxB8AAMYfAADHHwAA0B8AANMfAADWHwAA1x8AAOAfAADnHwAA8h8AAPQfAAD2HwAA9x8AAHEgAABxIAAAfyAAAH8gAACQIAAAnCAAAAohAAAKIQAADiEAAA8hAAATIQAAEyEAAC8hAAAvIQAANCEAADQhAAA5IQAAOSEAADwhAAA9IQAARiEAAEkhAABOIQAATiEAAHAhAAB/IQAAhCEAAIQhAADQJAAA6SQAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHEsAABxLAAAcywAAHQsAAB2LAAAfSwAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOQsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAnaYAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAxpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacA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XR8AAF8fAAB9HwAAgB8AALQfAAC2HwAAxB8AAMYfAADTHwAA1h8AANsfAADdHwAA7x8AAPIfAAD0HwAA9h8AAP4fAAAAIAAAJyAAACogAABkIAAAZiAAAHEgAAB0IAAAjiAAAJAgAACcIAAAoCAAAMAgAADQIAAA8CAAAAAhAACLIQAAkCEAACYkAABAJAAASiQAAGAkAABzKwAAdisAAJUrAACXKwAA8ywAAPksAAAlLQAAJy0AACctAAAtLQAALS0AADAtAABnLQAAby0AAHAtAAB/LQAAli0AAKAtAACmLQAAqC0AAK4tAACwLQAAti0AALgtAAC+LQAAwC0AAMYtAADILQAAzi0AANAtAADWLQAA2C0AAN4tAADgLQAAXS4AAIAuAACZLgAAmy4AAPMuAAAALwAA1S8AAPAvAAD7LwAAADAAAD8wAABBMAAAljAAAJkwAAD/MAAABTEAAC8xAAAxMQAAjjEAAJAxAADjMQAA8DEAAB4yAAAgMgAAjKQAAJCkAADGpAAA0KQAACumAABApgAA96YAAACnAADKpwAA0KcAANGnAADTpwAA06cAANWnAADZpwAA8qcAACyoAAAwqAAAOagAAECoAAB3qAAAgKgAAMWoAADOqAAA2agAAOCoAABTqQAAX6kAAHypAACAqQAAzakAAM+pAADZqQAA3qkAAP6pAAAAqgAANqoAAECqAABNqgAAUKoAAFmqAABcqgAAwqoAANuqAAD2qgAAAasAAAarAAAJqwAADqsAABGrAAAWqwAAIKsAACarAAAoqwAALqsAADCrAABrqwAAcKsAAO2rAADwqwAA+asAAACsAACj1wAAsNcAAMbXAADL1wAA+9cAAADgAABt+gAAcPoAANn6AAAA+wAABvsAABP7AAAX+wAAHfsAADb7AAA4+wAAPPsAAD77AAA++wAAQPsAAEH7AABD+wAARPsAAEb7AADC+wAA0/sAAI/9AACS/QAAx/0AAM/9AADP/QAA8P0AABn+AAAg/gAAUv4AAFT+AABm/gAAaP4AAGv+AABw/gAAdP4AAHb+AAD8/gAA//4AAP/+AAAB/wAAvv8AAML/AADH/wAAyv8AAM//AADS/wAA1/8AANr/AADc/wAA4P8AAOb/AADo/wAA7v8AAPn/AAD9/wAAAAABAAsAAQANAAEAJgABACgAAQA6AAEA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AAIBAAACAQAABAEAAAQBAAAGAQAABgEAAAgBAAAIAQAACgEAAAoBAAAMAQAADAEAAA4BAAAOAQAAEAEAABABAAASAQAAEgEAABQBAAAUAQAAFgEAABYBAAAYAQAAGAEAABoBAAAaAQAAHAEAABwBAAAeAQAAHgEAACABAAAgAQAAIgEAACIBAAAkAQAAJAEAACYBAAAmAQAAKAEAACgBAAAqAQAAKgEAACwBAAAsAQAALgEAAC4BAAAwAQAAMAEAADIBAAAyAQAANAEAADQBAAA2AQAANgEAADkBAAA5AQAAOwEAADsBAAA9AQAAPQEAAD8BAAA/AQAAQQEAAEEBAABDAQAAQwEAAEUBAABFAQAARwEAAEcBAABKAQAASgEAAEwBAABMAQAATgEAAE4BAABQAQAAUAEAAFIBAABSAQAAVAEAAFQBAABWAQAAVgEAAFgBAABYAQAAWgEAAFoBAABcAQAAXAEAAF4BAABeAQAAYAEAAGABAABiAQAAYgEAAGQBAABkAQAAZgEAAGYBAABoAQAAaAEAAGoBAABqAQAAbAEAAGwBAABuAQAAbgEAAHABAABwAQAAcgEAAHIBAAB0AQAAdAEAAHYBAAB2AQAAeAEAAHkBAAB7AQAAewEAAH0BAAB9AQAAgQEAAIIBAACEAQAAhAEAAIYBAACHAQAAiQEAAIsBAACOAQAAkQEAAJMBAACUAQAAlgEAAJgBAACcAQAAnQEAAJ8BAACgAQAAogEAAKIBAACkAQAApAEAAKYBAACnAQAAqQEAAKkBAACsAQAArAEAAK4BAACvAQAAsQEAALMBAAC1AQAAtQEAALcBAAC4AQAAvAEAALwBAADEAQAAxAEAAMcBAADHAQAAygEAAMoBAADNAQAAzQEAAM8BAADPAQAA0QEAANEBAADTAQAA0wEAANUBAADVAQAA1wEAANcBAADZAQAA2QEAANsBAADbAQAA3gEAAN4BAADgAQAA4AEAAOIBAADiAQAA5AEAAOQBAADmAQAA5gEAAOgBAADoAQAA6gEAAOoBAADsAQAA7AEAAO4BAADuAQAA8QEAAPEBAAD0AQAA9AEAAPYBAAD4AQAA+gEAAPoBAAD8AQAA/AEAAP4BAAD+AQAAAAIAAAACAAACAgAAAgIAAAQCAAAEAgAABgIAAAYCAAAIAgAACAIAAAoCAAAKAgAADAIAAAwCAAAOAgAADgIAABACAAAQAgAAEgIAABICAAAUAgAAFAIAABYCAAAWAgAAGAIAABgCAAAaAgAAGgIAABwCAAAcAgAAHgIAAB4CAAAgAgAAIAIAACICAAAiAgAAJAIAACQCAAAmAgAAJgIAACgCAAAoAgAAKgIAACoCAAAsAgAALAIAAC4CAAAuAgAAMAIAADACAAAyAgAAMgIAADoCAAA7AgAAPQIAAD4CAABBAgAAQQIAAEMCAABGAgAASAIAAEgCAABKAgAASgIAAEwCAABMAgAATgIAAE4CAABwAwAAcAMAAHIDAAByAwAAdgMAAHYDAAB/AwAAfwMAAIYDAACGAwAAiAMAAIoDAACMAwAAjAMAAI4DAACPAwAAkQMAAKEDAACjAwAAqwMAAM8DAADPAwAA0gMAANQDAADYAwAA2AMAANoDAADaAwAA3AMAANwDAADeAwAA3gMAAOADAADgAwAA4gMAAOIDAADkAwAA5AMAAOYDAADmAwAA6AMAAOgDAADqAwAA6gMAAOwDAADsAwAA7gMAAO4DAAD0AwAA9AMAAPcDAAD3AwAA+QMAAPoDAAD9AwAALwQAAGAEAABgBAAAYgQAAGIEAABkBAAAZAQAAGYEAABmBAAAaAQAAGgEAABqBAAAagQAAGwEAABsBAAAbgQAAG4EAABwBAAAcAQAAHIEAAByBAAAdAQAAHQEAAB2BAAAdgQAAHgEAAB4BAAAegQAAHoEAAB8BAAAfAQAAH4EAAB+BAAAgAQAAIAEAACKBAAAigQAAIwEAACMBAAAjgQAAI4EAACQBAAAkAQAAJIEAACSBAAAlAQAAJQEAACWBAAAlgQAAJgEAACYBAAAmgQAAJoEAACcBAAAnAQAAJ4EAACeBAAAoAQAAKAEAACiBAAAogQAAKQEAACkBAAApgQAAKYEAACoBAAAqAQAAKoEAACqBAAArAQAAKwEAACuBAAArgQAALAEAACwBAAAsgQAALIEAAC0BAAAtAQAALYEAAC2BAAAuAQAALgEAAC6BAAAugQAALwEAAC8BAAAvgQAAL4EAADABAAAwQQAAMMEAADDBAAAxQQAAMUEAADHBAAAxwQAAMkEAADJBAAAywQAAMsEAADNBAAAzQQAANAEAADQBAAA0gQAANIEAADUBAAA1AQAANYEAADWBAAA2AQAANgEAADaBAAA2gQAANwEAADcBAAA3gQAAN4EAADgBAAA4AQAAOIEAADiBAAA5AQAAOQEAADmBAAA5gQAAOgEAADoBAAA6gQAAOoEAADsBAAA7AQAAO4EAADuBAAA8AQAAPAEAADyBAAA8gQAAPQEAAD0BAAA9gQAAPYEAAD4BAAA+AQAAPoEAAD6BAAA/AQAAPwEAAD+BAAA/gQAAAAFAAAABQAAAgUAAAIFAAAEBQAABAUAAAYFAAAGBQAACAUAAAgFAAAKBQAACgUAAAwFAAAMBQAADgUAAA4FAAAQBQAAEAUAABIFAAASBQAAFAUAABQFAAAWBQAAFgUAABgFAAAYBQAAGgUAABoFAAAcBQAAHAUAAB4FAAAeBQAAIAUAACAFAAAiBQAAIgUAACQFAAAkBQAAJgUAACYFAAAoBQAAKAUAACoFAAAqBQAALAUAACwFAAAuBQAALgUAADEFAABWBQAAoBAAAMUQAADHEAAAxxAAAM0QAADNEAAAoBMAAPUTAACQHAAAuhwAAL0cAAC/HAAAAB4AAAAeAAACHgAAAh4AAAQeAAAEHgAABh4AAAYeAAAIHgAACB4AAAoeAAAKHgAADB4AAAweAAAOHgAADh4AABAeAAAQHgAAEh4AABIeAAAUHgAAFB4AABYeAAAWHgAAGB4AABgeAAAaHgAAGh4AABweAAAcHgAAHh4AAB4eAAAgHgAAIB4AACIeAAAiHgAAJB4AACQeAAAmHgAAJh4AACgeAAAoHgAAKh4AACoeAAAsHgAALB4AAC4eAAAuHgAAMB4AADAeAAAyHgAAMh4AADQeAAA0HgAANh4AADYeAAA4HgAAOB4AADoeAAA6HgAAPB4AADweAAA+HgAAPh4AAEAeAABAHgAAQh4AAEIeAABEHgAARB4AAEYeAABGHgAASB4AAEgeAABKHgAASh4AAEweAABMHgAATh4AAE4eAABQHgAAUB4AAFIeAABSHgAAVB4AAFQeAABWHgAAVh4AAFgeAABYHgAAWh4AAFoeAABcHgAAXB4AAF4eAABeHgAAYB4AAGAeAABiHgAAYh4AAGQeAABkHgAAZh4AAGYeAABoHgAAaB4AAGoeAABqHgAAbB4AAGweAABuHgAAbh4AAHAeAABwHgAAch4AAHIeAAB0HgAAdB4AAHYeAAB2HgAAeB4AAHgeAAB6HgAAeh4AAHweAAB8HgAAfh4AAH4eAACAHgAAgB4AAIIeAACCHgAAhB4AAIQeAACGHgAAhh4AAIgeAACIHgAAih4AAIoeAACMHgAAjB4AAI4eAACOHgAAkB4AAJAeAACSHgAAkh4AAJQeAACUHgAAnh4AAJ4eAACgHgAAoB4AAKIeAACiHgAApB4AAKQeAACmHgAAph4AAKgeAACoHgAAqh4AAKoeAACsHgAArB4AAK4eAACuHgAAsB4AALAeAACyHgAAsh4AALQeAAC0HgAAth4AALYeAAC4HgAAuB4AALoeAAC6HgAAvB4AALweAAC+HgAAvh4AAMAeAADAHgAAwh4AAMIeAADEHgAAxB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AALgfAAC7HwAAyB8AAMsfAADYHwAA2x8AAOgfAADsHwAA+B8AAPsfAAACIQAAAiEAAAchAAAHIQAACyEAAA0hAAAQIQAAEiEAABUhAAAVIQAAGSEAAB0hAAAkIQAAJCEAACYhAAAmIQAAKCEAACghAAAqIQAALSEAADAhAAAzIQAAPiEAAD8hAABFIQAARSEAAGAhAABvIQAAgyEAAIMhAAC2JAAAzyQAAAAsAAAvLAAAYCwAAGAsAABiLAAAZCwAAGcsAABnLAAAaSwAAGksAABrLAAAaywAAG0sAABwLAAAciwAAHIsAAB1LAAAdSwAAH4sAACALAAAgiwAAIIsAACELAAAhCwAAIYsAACGLAAAiCwAAIgsAACKLAAAiiwAAIwsAACMLAAAjiwAAI4sAACQLAAAkCwAAJIsAACSLAAAlCwAAJQsAACWLAAAliwAAJgsAACYLAAAmiwAAJosAACcLAAAnCwAAJ4sAACeLAAAoCwAAKAsAACiLAAAoiwAAKQsAACkLAAApiwAAKYsAACoLAAAqCwAAKosAACqLAAArCwAAKwsAACuLAAAriwAALAsAACwLAAAsiwAALIsAAC0LAAAtCwAALYsAAC2LAAAuCwAALgsAAC6LAAAuiwAALwsAAC8LAAAviwAAL4sAADALAAAwCwAAMIsAADCLAAAxCwAAMQsAADGLAAAxiwAAMgsAADILAAAyiwAAMosAADMLAAAzCwAAM4sAADOLAAA0CwAANAsAADSLAAA0iwAANQsAADULAAA1iwAANYsAADYLAAA2CwAANosAADaLAAA3CwAANwsAADeLAAA3iwAAOAsAADgLAAA4iwAAOIsAADrLAAA6ywAAO0sAADtLAAA8iwAAPIsAABApgAAQKYAAEKmAABCpgAARKYAAESmAABGpgAARqYAAEimAABIpgAASqYAAEqmAABMpgAATKYAAE6mAABOpgAAUKYAAFCmAABSpgAAUqYAAFSmAABUpgAAVqYAAFamAABYpgAAWKYAAFqmAABapgAAXKYAAFymAABepgAAXqYAAGCmAABgpgAAYqYAAGKmAABkpgAAZKYAAGamAABmpgAAaKYAAGimAABqpgAAaqYAAGymAABspgAAgKYAAICmAACCpgAAgqYAAISmAACEpgAAhqYAAIamAACIpgAAiKYAAIqmAACKpgAAjKYAAIymAACOpgAAjqYAAJCmAACQpgAAkqYAAJKmAACUpgAAlKYAAJamAACWpgAAmKYAAJimAACapgAAmqYAACKnAAAipwAAJKcAACSnAAAmpwAAJqcAACinAAAopwAAKqcAACqnAAAspwAALKcAAC6nAAAupwAAMqcAADKnAAA0pwAANKcAADanAAA2pwAAOKcAADinAAA6pwAAOqcAADynAAA8pwAAPqcAAD6nAABApwAAQKcAAEKnAABCpwAARKcAAESnAABGpwAARqcAAEinAABIpwAASqcAAEqnAABMpwAATKcAAE6nAABOpwAAUKcAAFCnAABSpwAAUqcAAFSnAABUpwAAVqcAAFanAABYpwAAWKcAAFqnAABapwAAXKcAAFynAABepwAAXqcAAGCnAABgpwAAYqcAAGKnAABkpwAAZKcAAGanAABmpwAAaKcAAGinAABqpwAAaqcAAGynAABspwAAbqcAAG6nAAB5pwAAeacAAHunAAB7pwAAfacAAH6nAACApwAAgKcAAIKnAACCpwAAhKcAAISnAACGpwAAhqcAAIunAACLpwAAjacAAI2nAACQpwAAkKcAAJKnAACSpwAAlqcAAJanAACYpwAAmKcAAJqnAACapwAAnKcAAJynAACepwAAnqcAAKCnAACgpwAAoqcAAKKnAACkpwAApKcAAKanAACmpwAAqKcAAKinAACqpwAArqcAALCnAAC0pwAAtqcAALanAAC4pwAAuKcAALqnAAC6pwAAvKcAALynAAC+pwAAvqcAAMCnAADApwAAwqcAAMKnAADEpwAAx6cAAMmnAADJpwAA0KcAANCnAADWpwAA1qcAANinAADYpwAA9acAAPWnAAAh/wAAOv8AAAAEAQAnBAEAsAQBANMEAQBwBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAIAMAQCyDAEAoBgBAL8YAQBAbgEAX24BAADUAQAZ1AEANNQBAE3UAQBo1AEAgdQBAJzUAQCc1AEAntQBAJ/UAQCi1AEAotQBAKXUAQCm1AEAqdQBAKzUAQCu1AEAtdQBANDUAQDp1AEABNUBAAXVAQAH1QEACtUBAA3VAQAU1QEAFtUBABzVAQA41QEAOdUBADvVAQA+1QEAQNUBAETVAQBG1QEARtUBAErVAQBQ1QEAbNUBAIXVAQCg1QEAudUBANTVAQDt1QEACNYBACHWAQA81gEAVdYBAHDWAQCJ1gEAqNYBAMDWAQDi1gEA+tYBABzXAQA01wEAVtcBAG7XAQCQ1wEAqNcBAMrXAQDK1wEAAOkBACHpAQAw8QEASfEBAFDxAQBp8QEAcPEBAInxAQAAAAAAAwAAADAAAAA5AAAAQQAAAEYAAABhAAAAZgAAAAAAAAD2AgAAMAAAADkAAABBAAAAWgAAAF8AAABfAAAAYQAAAHoAAACqAAAAqgAAALUAAAC1AAAAugAAALoAAADAAAAA1gAAANgAAAD2AAAA+AAAAMECAADGAgAA0QIAAOACAADkAgAA7AIAAOwCAADuAgAA7gIAAAADAAB0AwAAdgMAAHcDAAB6AwAAfQMAAH8DAAB/AwAAhgMAAIYDAACIAwAAigMAAIwDAACMAwAAjgMAAKEDAACjAwAA9QMAAPcDAACBBAAAgwQAAC8FAAAxBQAAVgUAAFkFAABZBQAAYAUAAIgFAACRBQAAvQUAAL8FAAC/BQAAwQUAAMIFAADEBQAAxQUAAMcFAADHBQAA0AUAAOoFAADvBQAA8gUAABAGAAAaBgAAIAYAAGkGAABuBgAA0wYAANUGAADcBgAA3wYAAOgGAADqBgAA/AYAAP8GAAD/BgAAEAcAAEoHAABNBwAAsQcAAMAHAAD1BwAA+gcAAPoHAAD9BwAA/QcAAAAIAAAtCAAAQAgAAFsIAABgCAAAaggAAHAIAACHCAAAiQgAAI4IAACYCAAA4QgAAOMIAABjCQAAZgkAAG8JAABxCQAAgwkAAIUJAACMCQAAjwkAAJAJAACTCQAAqAkAAKoJAACwCQAAsgkAALIJAAC2CQAAuQkAALwJAADECQAAxwkAAMgJAADLCQAAzgkAANcJAADXCQAA3AkAAN0JAADfCQAA4wkAAOYJAADxCQAA/AkAAPwJAAD+CQAA/gkAAAEKAAADCgAABQoAAAoKAAAPCgAAEAoAABMKAAAoCgAAKgoAADAKAAAyCgAAMwoAADUKAAA2CgAAOAoAADkKAAA8CgAAPAoAAD4KAABCCgAARwoAAEgKAABLCgAATQoAAFEKAABRCgAAWQoAAFwKAABeCgAAXgoAAGYKAAB1CgAAgQoAAIMKAACFCgAAjQoAAI8KAACRCgAAkwoAAKgKAACqCgAAsAoAALIKAACzCgAAtQoAALkKAAC8CgAAxQoAAMcKAADJCgAAywoAAM0KAADQCgAA0AoAAOAKAADjCgAA5goAAO8KAAD5CgAA/woAAAELAAADCwAABQsAAAwLAAAPCwAAEAsAABMLAAAoCwAAKgsAADALAAAyCwAAMwsAADULAAA5CwAAPAsAAEQLAABHCwAASAsAAEsLAABNCwAAVQsAAFcLAABcCwAAXQsAAF8LAABjCwAAZgsAAG8LAABxCwAAcQsAAIILAACDCwAAhQsAAIoLAACOCwAAkAsAAJILAACVCwAAmQsAAJoLAACcCwAAnAsAAJ4LAACfCwAAowsAAKQLAACoCwAAqgsAAK4LAAC5CwAAvgsAAMILAADGCwAAyAsAAMoLAADNCwAA0AsAANALAADXCwAA1wsAAOYLAADvCwAAAAwAAAwMAAAODAAAEAwAABIMAAAoDAAAKgwAADkMAAA8DAAARAwAAEYMAABIDAAASgwAAE0MAABVDAAAVgwAAFgMAABaDAAAXQwAAF0MAABgDAAAYwwAAGYMAABvDAAAgAwAAIMMAACFDAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvAwAAMQMAADGDAAAyAwAAMoMAADNDAAA1QwAANYMAADdDAAA3gwAAOAMAADjDAAA5gwAAO8MAADxDAAA8gwAAAANAAAMDQAADg0AABANAAASDQAARA0AAEYNAABIDQAASg0AAE4NAABUDQAAVw0AAF8NAABjDQAAZg0AAG8NAAB6DQAAfw0AAIENAACDDQAAhQ0AAJYNAACaDQAAsQ0AALMNAAC7DQAAvQ0AAL0NAADADQAAxg0AAMoNAADKDQAAzw0AANQNAADWDQAA1g0AANgNAADfDQAA5g0AAO8NAADyDQAA8w0AAAEOAAA6DgAAQA4AAE4OAABQDgAAWQ4AAIEOAACCDgAAhA4AAIQOAACGDgAAig4AAIwOAACjDgAApQ4AAKUOAACnDgAAvQ4AAMAOAADEDgAAxg4AAMYOAADIDgAAzQ4AANAOAADZDgAA3A4AAN8OAAAADwAAAA8AABgPAAAZDwAAIA8AACkPAAA1DwAANQ8AADcPAAA3DwAAOQ8AADkPAAA+DwAARw8AAEkPAABsDwAAcQ8AAIQPAACGDwAAlw8AAJkPAAC8DwAAxg8AAMYPAAAAEAAASRAAAFAQAACdEAAAoBAAAMUQAADHEAAAxxAAAM0QAADNEAAA0BAAAPoQAAD8EAAASBIAAEoSAABNEgAAUBIAAFYSAABYEgAAWBIAAFoSAABdEgAAYBIAAIgSAACKEgAAjRIAAJASAACwEgAAshIAALUSAAC4EgAAvhIAAMASAADAEgAAwhIAAMUSAADIEgAA1hIAANgSAAAQEwAAEhMAABUTAAAYEwAAWhMAAF0TAABfEwAAgBMAAI8TAACgEwAA9RMAAPgTAAD9EwAAARQAAGwWAABvFgAAfxYAAIEWAACaFgAAoBYAAOoWAADuFgAA+BYAAAAXAAAVFwAAHxcAADQXAABAFwAAUxcAAGAXAABsFwAAbhcAAHAXAAByFwAAcxcAAIAXAADTFwAA1xcAANcXAADcFwAA3RcAAOAXAADpFwAACxgAAA0YAAAPGAAAGRgAACAYAAB4GAAAgBgAAKoYAACwGAAA9RgAAAAZAAAeGQAAIBkAACsZAAAwGQAAOxkAAEYZAABtGQAAcBkAAHQZAACAGQAAqxkAALAZAADJGQAA0BkAANkZAAAAGgAAGxoAACAaAABeGgAAYBoAAHwaAAB/GgAAiRoAAJAaAACZGgAApxoAAKcaAACwGgAAzhoAAAAbAABMGwAAUBsAAFkbAABrGwAAcxsAAIAbAADzGwAAABwAADccAABAHAAASRwAAE0cAAB9HAAAgBwAAIgcAACQHAAAuhwAAL0cAAC/HAAA0BwAANIcAADUHAAA+hwAAAAdAAAVHwAAGB8AAB0fAAAgHwAARR8AAEgfAABNHwAAUB8AAFcfAABZHwAAWR8AAFsfAABbHwAAXR8AAF0fAABfHwAAfR8AAIAfAAC0HwAAth8AALwfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMwfAADQHwAA0x8AANYfAADbHwAA4B8AAOwfAADyHwAA9B8AAPYfAAD8HwAAPyAAAEAgAABUIAAAVCAAAHEgAABxIAAAfyAAAH8gAACQIAAAnCAAANAgAADwIAAAAiEAAAIhAAAHIQAAByEAAAohAAATIQAAFSEAABUhAAAZIQAAHSEAACQhAAAkIQAAJiEAACYhAAAoIQAAKCEAACohAAAtIQAALyEAADkhAAA8IQAAPyEAAEUhAABJIQAATiEAAE4hAABgIQAAiCEAALYkAADpJAAAACwAAOQsAADrLAAA8ywAAAAtAAAlLQAAJy0AACctAAAtLQAALS0AADAtAABnLQAAby0AAG8tAAB/LQAAli0AAKAtAACmLQAAqC0AAK4tAACwLQAAti0AALgtAAC+LQAAwC0AAMYtAADILQAAzi0AANAtAADWLQAA2C0AAN4tAADgLQAA/y0AAC8uAAAvLgAABTAAAAcwAAAhMAAALzAAADEwAAA1MAAAODAAADwwAABBMAAAljAAAJkwAACaMAAAnTAAAJ8wAAChMAAA+jAAAPwwAAD/MAAABTEAAC8xAAAxMQAAjjEAAKAxAAC/MQAA8DEAAP8xAAAANAAAv00AAABOAACMpAAA0KQAAP2kAAAApQAADKYAABCmAAArpgAAQKYAAHKmAAB0pgAAfaYAAH+mAADxpgAAF6cAAB+nAAAipwAAiKcAAIunAADKpwAA0KcA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AIQDAACKAwAAjAMAAIwDAACOAwAAoQMAAKMDAAAvBQAAMQUAAFYFAABZBQAAigUAAI0FAACPBQAAkQUAAMcFAADQBQAA6gUAAO8FAAD0BQAAAAYAAA0HAAAPBwAASgcAAE0HAACxBwAAwAcAAPoHAAD9BwAALQgAADAIAAA+CAAAQAgAAFsIAABeCAAAXggAAGAIAABqCAAAcAgAAI4IAACQCAAAkQgAAJgIAACDCQAAhQkAAIwJAACPCQAAkAkAAJMJAACoCQAAqgkAALAJAACyCQAAsgkAALYJAAC5CQAAvAkAAMQJAADHCQAAyAkAAMsJAADOCQAA1wkAANcJAADcCQAA3QkAAN8JAADjCQAA5gkAAP4JAAABCgAAAwoAAAUKAAAKCgAADwoAABAKAAATCgAAKAoAACoKAAAwCgAAMgoAADMKAAA1CgAANgoAADgKAAA5CgAAPAoAADwKAAA+CgAAQgoAAEcKAABICgAASwoAAE0KAABRCgAAUQoAAFkKAABcCgAAXgoAAF4KAABmCgAAdgoAAIEKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvAoAAMUKAADHCgAAyQoAAMsKAADNCgAA0AoAANAKAADgCgAA4woAAOYKAADxCgAA+QoAAP8KAAABCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAADwLAABECwAARwsAAEgLAABLCwAATQsAAFULAABXCwAAXAsAAF0LAABfCwAAYwsAAGYLAAB3CwAAggsAAIMLAACFCwAAigsAAI4LAACQCwAAkgsAAJULAACZCwAAmgsAAJwLAACcCwAAngsAAJ8LAACjCwAApAsAAKgLAACqCwAArgsAALkLAAC+CwAAwgsAAMYLAADICwAAygsAAM0LAADQCwAA0AsAANcLAADXCwAA5gsAAPoLAAAADAAADAwAAA4MAAAQDAAAEgwAACgMAAAqDAAAOQwAADwMAABEDAAARgwAAEgMAABKDAAATQwAAFUMAABWDAAAWAwAAFoMAABdDAAAXQwAAGAMAABjDAAAZgwAAG8MAAB3DAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvAwA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AMUJAADGCQAAyQkAAMoJAADPCQAA1gkAANgJAADbCQAA3gkAAN4JAADkCQAA5QkAAP8JAAAACgAABAoAAAQKAAALCgAADgoAABEKAAASCgAAKQoAACkKAAAxCgAAMQoAADQKAAA0CgAANwoAADcKAAA6CgAAOwoAAD0KAAA9CgAAQwoAAEYKAABJCgAASgoAAE4KAABQCgAAUgoAAFgKAABdCgAAXQoAAF8KAABlCgAAdwoAAIAKAACECgAAhAoAAI4KAACOCgAAkgoAAJIKAACpCgAAqQoAALEKAACxCgAAtAoAALQKAAC6CgAAuwoAAMYKAADGCgAAygoAAMoKAADOCgAAzwoAANEKAADfCgAA5AoAAOUKAADyCgAA+AoAAAALAAAACwAABAsAAAQLAAANCwAADgsAABELAAASCwAAKQsAACkLAAAxCwAAMQsAADQLAAA0CwAAOgsAADsLAABFCwAARgsAAEkLAABKCwAATgsAAFQLAABYCwAAWwsAAF4LAABeCwAAZAsAAGULAAB4CwAAgQsAAIQLAACECwAAiwsAAI0LAACRCwAAkQsAAJYLAACYCwAAmwsAAJsLAACdCwAAnQsAAKALAACiCwAApQsAAKcLAACrCwAArQsAALoLAAC9CwAAwwsAAMULAADJCwAAyQsAAM4LAADPCwAA0QsAANYLAADYCwAA5QsAAPsLAAD/CwAADQwAAA0MAAARDAAAEQwAACkMAAApDAAAOgwAADsMAABFDAAARQwAAEkMAABJDAAATgwAAFQMAABXDAAAVwwAAFsMAABcDAAAXgwAAF8MAABkDAAAZQwAAHAMAAB2DAAAjQwAAI0MAACRDAAAkQwAAKkMAACpDAAAtAwAALQMAAC6DAAAuwwAAMUMAADFDAAAyQwAAMkMAADODAAA1AwAANcMAADcDAAA3wwAAN8MAADkDAAA5QwAAPAMAADwDAAA8wwAAP8MAAANDQAADQ0AABENAAARDQAARQ0AAEUNAABJDQAASQ0AAFANAABTDQAAZA0AAGUNAACADQAAgA0AAIQNAACEDQAAlw0AAJkNAACyDQAAsg0AALwNAAC8DQAAvg0AAL8NAADHDQAAyQ0AAMsNAADODQAA1Q0AANUNAADXDQAA1w0AAOANAADlDQAA8A0AAPENAAD1DQAAAA4AADsOAAA+DgAAXA4A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AQAAcAEAAHIBAAByAQAAdAEAAHQBAAB2AQAAdgEAAHgBAAB5AQAAewEAAHsBAAB9AQAAfQEAAH8BAAB/AQAAgQEAAIIBAACEAQAAhAEAAIYBAACHAQAAiQEAAIsBAACOAQAAkQEAAJMBAACUAQAAlgEAAJgBAACcAQAAnQEAAJ8BAACgAQAAogEAAKIBAACkAQAApAEAAKYBAACnAQAAqQEAAKkBAACsAQAArAEAAK4BAACvAQAAsQEAALMBAAC1AQAAtQEAALcBAAC4AQAAvAEAALwBAADEAQAAxQEAAMcBAADIAQAAygEAAMsBAADNAQAAzQEAAM8BAADPAQAA0QEAANEBAADTAQAA0wEAANUBAADVAQAA1wEAANcBAADZAQAA2QEAANsBAADbAQAA3gEAAN4BAADgAQAA4AEAAOIBAADiAQAA5AEAAOQBAADmAQAA5gEAAOgBAADoAQAA6gEAAOoBAADsAQAA7AEAAO4BAADuAQAA8QEAAPIBAAD0AQAA9AEAAPYBAAD4AQAA+gEAAPoBAAD8AQAA/AEAAP4BAAD+AQAAAAIAAAACAAACAgAAAgIAAAQCAAAEAgAABgIAAAYCAAAIAgAACAIAAAoCAAAKAgAADAIAAAwCAAAOAgAADgIAABACAAAQAgAAEgIAABICAAAUAgAAFAIAABYCAAAWAgAAGAIAABgCAAAaAgAAGgIAABwCAAAcAgAAHgIAAB4CAAAgAgAAIAIAACICAAAiAgAAJAIAACQCAAAmAgAAJgIAACgCAAAoAgAAKgIAACoCAAAsAgAALAIAAC4CAAAuAgAAMAIAADACAAAyAgAAMgIAADoCAAA7AgAAPQIAAD4CAABBAgAAQQIAAEMCAABGAgAASAIAAEgCAABKAgAASgIAAEwCAABMAgAATgIAAE4CAABFAwAARQMAAHADAABwAwAAcgMAAHIDAAB2AwAAdgMAAH8DAAB/AwAAhgMAAIYDAACIAwAAigMAAIwDAACMAwAAjgMAAI8DAACRAwAAoQMAAKMDAACrAwAAwgMAAMIDAADPAwAA0QMAANUDAADWAwAA2AMAANgDAADaAwAA2gMAANwDAADcAwAA3gMAAN4DAADgAwAA4AMAAOIDAADiAwAA5AMAAOQDAADmAwAA5gMAAOgDAADoAwAA6gMAAOoDAADsAwAA7AMAAO4DAADuAwAA8AMAAPEDAAD0AwAA9QMAAPcDAAD3AwAA+QMAAPoDAAD9AwAALwQAAGAEAABgBAAAYgQAAGIEAABkBAAAZAQAAGYEAABmBAAAaAQAAGgEAABqBAAAagQAAGwEAABsBAAAbgQAAG4EAABwBAAAcAQAAHIEAAByBAAAdAQAAHQEAAB2BAAAdgQAAHgEAAB4BAAAegQAAHoEAAB8BAAAfAQAAH4EAAB+BAAAgAQAAIAEAACKBAAAigQAAIwEAACMBAAAjgQAAI4EAACQBAAAkAQAAJIEAACSBAAAlAQAAJQEAACWBAAAlgQAAJgEAACYBAAAmgQAAJoEAACcBAAAnAQAAJ4EAACeBAAAoAQAAKAEAACiBAAAogQAAKQEAACkBAAApgQAAKYEAACoBAAAqAQAAKoEAACqBAAArAQAAKwEAACuBAAArgQAALAEAACwBAAAsgQAALIEAAC0BAAAtAQAALYEAAC2BAAAuAQAALgEAAC6BAAAugQAALwEAAC8BAAAvgQAAL4EAADABAAAwQQAAMMEAADDBAAAxQQAAMUEAADHBAAAxwQAAMkEAADJBAAAywQAAMsEAADNBAAAzQQAANAEAADQBAAA0gQAANIEAADUBAAA1AQAANYEAADWBAAA2AQAANgEAADaBAAA2gQAANwEAADcBAAA3gQAAN4EAADgBAAA4AQAAOIEAADiBAAA5AQAAOQEAADmBAAA5gQAAOgEAADoBAAA6gQAAOoEAADsBAAA7AQAAO4EAADuBAAA8AQAAPAEAADyBAAA8gQAAPQEAAD0BAAA9gQAAPYEAAD4BAAA+AQAAPoEAAD6BAAA/AQAAPwEAAD+BAAA/gQAAAAFAAAABQAAAgUAAAIFAAAEBQAABAUAAAYFAAAGBQAACAUAAAgFAAAKBQAACgUAAAwFAAAMBQAADgUAAA4FAAAQBQAAEAUAABIFAAASBQAAFAUAABQFAAAWBQAAFgUAABgFAAAYBQAAGgUAABoFAAAcBQAAHAUAAB4FAAAeBQAAIAUAACAFAAAiBQAAIgUAACQFAAAkBQAAJgUAACYFAAAoBQAAKAUAACoFAAAqBQAALAUAACwFAAAuBQAALgUAADEFAABWBQAAhwUAAIcFAACgEAAAxRAAAMcQAADHEAAAzRAAAM0QAAD4EwAA/RMAAIAcAACIHAAAkBwAALocAAC9HAAAvxwAAAAeAAAAHgAAAh4AAAIeAAAEHgAABB4AAAYeAAAGHgAACB4AAAgeAAAKHgAACh4AAAweAAAMHgAADh4AAA4eAAAQHgAAEB4AABIeAAASHgAAFB4AABQeAAAWHgAAFh4AABgeAAAYHgAAGh4AABoeAAAcHgAAHB4AAB4eAAAeHgAAIB4AACAeAAAiHgAAIh4AACQeAAAkHgAAJh4AACYeAAAoHgAAKB4AACoeAAAqHgAALB4AACweAAAuHgAALh4AADAeAAAwHgAAMh4AADIeAAA0HgAANB4AADYeAAA2HgAAOB4AADgeAAA6HgAAOh4AADweAAA8HgAAPh4AAD4eAABAHgAAQB4AAEIeAABCHgAARB4AAEQeAABGHgAARh4AAEgeAABIHgAASh4AAEoeAABMHgAATB4AAE4eAABOHgAAUB4AAFAeAABSHgAAUh4AAFQeAABUHgAAVh4AAFYeAABYHgAAWB4AAFoeAABaHgAAXB4AAFweAABeHgAAXh4AAGAeAABgHgAAYh4AAGIeAABkHgAAZB4AAGYeAABmHgAAaB4AAGgeAABqHgAAah4AAGweAABsHgAAbh4AAG4eAABwHgAAcB4AAHIeAAByHgAAdB4AAHQeAAB2HgAAdh4AAHgeAAB4HgAAeh4AAHoeAAB8HgAAfB4AAH4eAAB+HgAAgB4AAIAeAACCHgAAgh4AAIQeAACEHgAAhh4AAIYeAACIHgAAiB4AAIoeAACKHgAAjB4AAIweAACOHgAAjh4AAJAeAACQHgAAkh4AAJIeAACUHgAAlB4AAJoeAACbHgAAnh4AAJ4eAACgHgAAoB4AAKIeAACiHgAApB4AAKQeAACmHgAAph4AAKgeAACoHgAAqh4AAKoeAACsHgAArB4AAK4eAACuHgAAsB4AALAeAACyHgAAsh4AALQeAAC0HgAAth4AALYeAAC4HgAAuB4AALoeAAC6HgAAvB4AALweAAC+HgAAvh4AAMAeAADAHgAAwh4AAMIeAADEHgAAxB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AAIAfAACvHwAAsh8AALQfAAC3HwAAvB8AAMIfAADEHwAAxx8AAMwfAADYHwAA2x8AAOgfAADsHwAA8h8AAPQfAAD3HwAA/B8AACYhAAAmIQAAKiEAACshAAAyIQAAMiEAAGAhAABvIQAAgyEAAIMhAAC2JAAAzyQAAAAsAAAvLAAAYCwAAGAsAABiLAAAZCwAAGcsAABnLAAAaSwAAGksAABrLAAAaywAAG0sAABwLAAAciwAAHIsAAB1LAAAdSwAAH4sAACALAAAgiwAAIIsAACELAAAhCwAAIYsAACGLAAAiCwAAIgsAACKLAAAiiwAAIwsAACMLAAAjiwAAI4sAACQLAAAkCwAAJIsAACSLAAAlCwAAJQsAACWLAAAliwAAJgsAACYLAAAmiwAAJosAACcLAAAnCwAAJ4sAACeLAAAoCwAAKAsAACiLAAAoiwAAKQsAACkLAAApiwAAKYsAACoLAAAqCwAAKosAACqLAAArCwAAKwsAACuLAAAriwAALAsAACwLAAAsiwAALIsAAC0LAAAtCwAALYsAAC2LAAAuCwAALgsAAC6LAAAuiwAALwsAAC8LAAAviwAAL4sAADALAAAwCwAAMIsAADCLAAAxCwAAMQsAADGLAAAxiwAAMgsAADILAAAyiwAAMosAADMLAAAzCwAAM4sAADOLAAA0CwAANAsAADSLAAA0iwAANQsAADULAAA1iwAANYsAADYLAAA2CwAANosAADaLAAA3CwAANwsAADeLAAA3iwAAOAsAADgLAAA4iwAAOIsAADrLAAA6ywAAO0sAADtLAAA8iwAAPIsAABApgAAQKYAAEKmAABCpgAARKYAAESmAABGpgAARqYAAEimAABIpgAASqYAAEqmAABMpgAATKYAAE6mAABOpgAAUKYAAFCmAABSpgAAUqYAAFSmAABUpgAAVqYAAFamAABYpgAAWKYAAFqmAABapgAAXKYAAFymAABepgAAXqYAAGCmAABgpgAAYqYAAGKmAABkpgAAZKYAAGamAABmpgAAaKYAAGimAABqpgAAaqYAAGymAABspgAAgKYAAICmAACCpgAAgqYAAISmAACEpgAAhqYAAIamAACIpgAAiKYAAIqmAACKpgAAjKYAAIymAACOpgAAjqYAAJCmAACQpgAAkqYAAJKmAACUpgAAlKYAAJamAACWpgAAmKYAAJimAACapgAAmqYAACKnAAAipwAAJKcAACSnAAAmpwAAJqcAACinAAAopwAAKqcAACqnAAAspwAALKcAAC6nAAAupwAAMqcAADKnAAA0pwAANKcAADanAAA2pwAAOKcAADinAAA6pwAAOqcAADynAAA8pwAAPqcAAD6nAABApwAAQKcAAEKnAABCpwAARKcAAESnAABGpwAARqcAAEinAABIpwAASqcAAEqnAABMpwAATKcAAE6nAABOpwAAUKcAAFCnAABSpwAAUqcAAFSnAABUpwAAVqcAAFanAABYpwAAWKcAAFqnAABapwAAXKcAAFynAABepwAAXqcAAGCnAABgpwAAYqcAAGKnAABkpwAAZKcAAGanAABmpwAAaKcAAGinAABqpwAAaqcAAGynAABspwAAbqcAAG6nAAB5pwAAeacAAHunAAB7pwAAfacAAH6nAACApwAAgKcAAIKnAACCpwAAhKcAAISnAACGpwAAhqcAAIunAACLpwAAjacAAI2nAACQpwAAkKcAAJKnAACSpwAAlqcAAJanAACYpwAAmKcAAJqnAACapwAAnKcAAJynAACepwAAnqcAAKCnAACgpwAAoqcAAKKnAACkpwAApKcAAKanAACmpwAAqKcAAKinAACqpwAArqcAALCnAAC0pwAAtqcAALanAAC4pwAAuKcAALqnAAC6pwAAvKcAALynAAC+pwAAvqcAAMCnAADApwAAwqcAAMKnAADEpwAAx6cAAMmnAADJpwAA0KcAANCnAADWpwAA1qcAANinAADYpwAA9acAAPWnAABwqwAAv6sAAAD7AAAG+wAAE/sAABf7AAAh/wAAOv8AAAAEAQAnBAEAsAQBANMEAQBwBQEAegUBAHwFAQCKBQEAjAUBAJIFAQCUBQEAlQUBAIAMAQCyDAEAoBgBAL8YAQBAbgEAX24BAADpAQAh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AABOHgAAUB4AAFAeAABSHgAAUh4AAFQeAABUHgAAVh4AAFYeAABYHgAAWB4AAFoeAABaHgAAXB4AAFweAABeHgAAXh4AAGAeAABgHgAAYh4AAGIeAABkHgAAZB4AAGYeAABmHgAAaB4AAGgeAABqHgAAah4AAGweAABsHgAAbh4AAG4eAABwHgAAcB4AAHIeAAByHgAAdB4AAHQeAAB2HgAAdh4AAHgeAAB4HgAAeh4AAHoeAAB8HgAAfB4AAH4eAAB+HgAAgB4AAIAeAACCHgAAgh4AAIQeAACEHgAAhh4AAIYeAACIHgAAiB4AAIoeAACKHgAAjB4AAIweAACOHgAAjh4AAJAeAACQHgAAkh4AAJIeAACUHgAAlB4AAJ4eAACeHgAAoB4AAKAeAACiHgAAoh4AAKQeAACkHgAAph4AAKYeAACoHgAAqB4AAKoeAACqHgAArB4AAKweAACuHgAArh4AALAeAACwHgAAsh4AALIeAAC0HgAAtB4AALYeAAC2HgAAuB4AALgeAAC6HgAAuh4AALweAAC8HgAAvh4AAL4eAADAHgAAwB4AAMIeAADCHgAAxB4AAMQeAADGHgAAxh4AAMgeAADIHgAAyh4AAMoeAADMHgAAzB4AAM4eAADOHgAA0B4AANAeAADSHgAA0h4AANQeAADUHgAA1h4AANYeAADYHgAA2B4AANoeAADaHgAA3B4AANweAADeHgAA3h4AAOAeAADgHgAA4h4AAOIeAADkHgAA5B4AAOYeAADmHgAA6B4AAOgeAADqHgAA6h4AAOweAADsHgAA7h4AAO4eAADwHgAA8B4AAPIeAADyHgAA9B4AAPQeAAD2HgAA9h4AAPgeAAD4HgAA+h4AAPoeAAD8HgAA/B4AAP4eAAD+HgAACB8AAA8fAAAYHwAAHR8AACgfAAAvHwAAOB8AAD8fAABIHwAATR8AAFkfAABZHwAAWx8AAFsfAABdHwAAXR8AAF8fAABfHwAAaB8AAG8fAACIHwAAjx8AAJgfAACfHwAAqB8AAK8fAAC4HwAAvB8AAMgfAADMHwAA2B8AANsfAADoHwAA7B8AAPgfAAD8HwAAJiEAACYhAAAqIQAAKyEAADIhAAAyIQAAYCEAAG8hAACDIQAAgyEAALYkAADPJAAAACwAAC8sAABgLAAAYCwAAGIsAABkLAAAZywAAGcsAABpLAAAaSwAAGssAABrLAAAbSwAAHAsAAByLAAAciwAAHUsAAB1LAAAfiwAAIAsAACCLAAAgiwAAIQsAACELAAAhiwAAIYsAACILAAAiCwAAIosAACKLAAAjCwAAIwsAACOLAAAjiwAAJAsAACQLAAAkiwAAJIsAACULAAAlCwAAJYsAACWLAAAmCwAAJgsAACaLAAAmiwAAJwsAACcLAAAniwAAJ4sAACgLAAAoCwAAKIsAACiLAAApCwAAKQsAACmLAAApiwAAKgsAACoLAAAqiwAAKosAACsLAAArCwAAK4sAACuLAAAsCwAALAsAACyLAAAsiwAALQsAAC0LAAAtiwAALYsAAC4LAAAuCwAALosAAC6LAAAvCwAALwsAAC+LAAAviwAAMAsAADALAAAwiwAAMIsAADELAAAxCwAAMYsAADGLAAAyCwAAMgsAADKLAAAyiwAAMwsAADMLAAAziwAAM4sAADQLAAA0CwAANIsAADSLAAA1CwAANQsAADWLAAA1iwAANgsAADYLAAA2iwAANosAADcLAAA3CwAAN4sAADeLAAA4CwAAOAsAADiLAAA4iwAAOssAADrLAAA7SwAAO0sAADyLAAA8iwAAECmAABApgAAQqYAAEKmAABEpgAARKYAAEamAABGpgAASKYAAEimAABKpgAASqYAAEymAABMpgAATqYAAE6mAABQpgAAUKYAAFKmAABSpgAAVKYAAFSmAABWpgAAVqYAAFimAABYpgAAWqYAAFqmAABcpgAAXKYAAF6mAABepgAAYKYAAGCmAABipgAAYqYAAGSmAABkpgAAZqYAAGamAABopgAAaKYAAGqmAABqpgAAbKYAAGymAACApgAAgKYAAIKmAACCpgAAhKYAAISmAACGpgAAhqYAAIimAACIpgAAiqYAAIqmAACMpgAAjKYAAI6mAACOpgAAkKYAAJCmAACSpgAAkqYAAJSmAACUpgAAlqYAAJamAACYpgAAmKYAAJqmAACapgAAIqcAACKnAAAkpwAAJKcAACanAAAmpwAAKKcAACinAAAqpwAAKqcAACynAAAspwAALqcAAC6nAAAypwAAMqcAADSnAAA0pwAANqcAADanAAA4pwAAOKcAADqnAAA6pwAAPKcAADynAAA+pwAAPqcAAECnAABApwAAQqcAAEKnAABEpwAARKcAAEan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AAC/HgAAwR4AAMEeAADDHgAAwx4AAMUeAADFHgAAxx4AAMceAADJHgAAyR4AAMseAADLHgAAzR4AAM0eAADPHgAAzx4AANEeAADRHgAA0x4AANMeAADVHgAA1R4AANceAADXHgAA2R4AANkeAADbHgAA2x4AAN0eAADdHgAA3x4AAN8eAADhHgAA4R4AAOMeAADjHgAA5R4AAOUeAADnHgAA5x4AAOkeAADpHgAA6x4AAOseAADtHgAA7R4AAO8eAADvHgAA8R4AAPEeAADzHgAA8x4AAPUeAAD1HgAA9x4AAPceAAD5HgAA+R4AAPseAAD7HgAA/R4AAP0eAAD/HgAABx8AABAfAAAVHwAAIB8AACcfAAAwHwAANx8AAEAfAABFHwAAUB8AAFcfAABgHwAAZx8AAHAfAAB9HwAAgB8AAIcfAACQHwAAlx8AAKAfAACnHwAAsB8AALQfAAC2HwAAtx8AAL4fAAC+HwAAwh8AAMQfAADGHwAAxx8AANAfAADTHwAA1h8AANcfAADgHwAA5x8AAPIfAAD0HwAA9h8AAPcfAABOIQAATiEAAHAhAAB/IQAAhCEAAIQhAADQJAAA6SQAADAsAABfLAAAYSwAAGEsAABlLAAAZiwAAGgsAABoLAAAaiwAAGosAABsLAAAbCwAAHMsAABzLAAAdiwAAHYsAACBLAAAgSwAAIMsAACDLAAAhSwAAIUsAACHLAAAhywAAIksAACJLAAAiywAAIssAACNLAAAjSwAAI8sAACPLAAAkSwAAJEsAACTLAAAkywAAJUsAACVLAAAlywAAJcsAACZLAAAmSwAAJssAACbLAAAnSwAAJ0sAACfLAAAnywAAKEsAAChLAAAoywAAKMsAAClLAAApSwAAKcsAACnLAAAqSwAAKksAACrLAAAqywAAK0sAACtLAAArywAAK8sAACxLAAAsSwAALMsAACzLAAAtSwAALUsAAC3LAAAtywAALksAAC5LAAAuywAALssAAC9LAAAvSwAAL8sAAC/LAAAwSwAAMEsAADDLAAAwywAAMUsAADFLAAAxywAAMcsAADJLAAAySwAAMssAADLLAAAzSwAAM0sAADPLAAAzywAANEsAADRLAAA0ywAANMsAADVLAAA1SwAANcsAADXLAAA2SwAANksAADbLAAA2ywAAN0sAADdLAAA3ywAAN8sAADhLAAA4SwAAOMsAADjLAAA7CwAAOwsAADuLAAA7iwAAPMsAADzLAAAAC0AACUtAAAnLQAAJy0AAC0tAAAtLQAAQaYAAEGmAABDpgAAQ6YAAEWmAABFpgAAR6YAAEemAABJpgAASaYAAEumAABLpgAATaYAAE2mAABPpgAAT6YAAFGmAABRpgAAU6YAAFOmAABVpgAAVaYAAFemAABXpgAAWaYAAFmmAABbpgAAW6YAAF2mAABdpgAAX6YAAF+mAABhpgAAYaYAAGOmAABjpgAAZaYAAGWmAABnpgAAZ6YAAGmmAABppgAAa6YAAGumAABtpgAAbaYAAIGmAACBpgAAg6YAAIOmAACFpgAAhaYAAIemAACHpgAAiaYAAImmAACLpgAAi6YAAI2mAACNpgAAj6YAAI+mAACRpgAAkaYAAJOmAACTpgAAlaYAAJWmAACXpgAAl6YAAJmmAACZpgAAm6YAAJumAAAjpwAAI6cAACWnAAAlpwAAJ6cAACenAAAppwAAKacAACunAAArpwAALacAAC2nAAAvpwAAL6cAADOnAAAzpwAANacAADWnAAA3pwAAN6cAADmnAAA5pwAAO6cAADunAAA9pwAAPacAAD+nAAA/pwAAQacAAEGnAABDpwAAQ6cAAEWnAABFpwAAR6cAAEenAABJpwAASacAAEunAABLpwAATacAAE2nAABPpwAAT6cAAFGnAABRpwAAU6cAAFOnAABVpwAAVacAAFenAABXpwAAWacAAFmnAABbpwAAW6cAAF2nAABdpwAAX6cAAF+nAABhpwAAYacAAGOnAABjpwAAZacAAGWnAABnpwAAZ6cAAGmnAABppwAAa6cAAGunAABtpwAAbacAAG+nAABvpwAAeqcAAHqnAAB8pwAAfKcAAH+nAAB/pwAAgacAAIGnAACDpwAAg6cAAIWnAACFpwAAh6cAAIenAACMpwAAjKcAAJGnAACRpwAAk6cAAJSnAACXpwAAl6cAAJmnAACZpwAAm6cAAJunAACdpwAAnacAAJ+nAACfpwAAoacAAKGnAACjpwAAo6cAAKWnAAClpwAAp6cAAKenAACppwAAqacAALWnAAC1pwAAt6cAALenAAC5pwAAuacAALunAAC7pwAAvacAAL2nAAC/pwAAv6cAAMGnAADBpwAAw6cAAMOnAADIpwAAyKcAAMqnAADKpwAA0acAANGnAADXpwAA16cAANmnAADZpwAA9qcAAPanAABTqwAAU6sAAHCrAAC/qwAAAPsAAAb7AAAT+wAAF/sAAEH/AABa/wAAKAQBAE8EAQDYBAEA+wQBAJcFAQChBQEAowUBALEFAQCzBQEAuQUBALsFAQC8BQEAwAwBAPIMAQDAGAEA3xgBAGBuAQB/bgEAIukBAEPpAQBBoOQGC8cncwIAAGEAAAB6AAAAtQAAALUAAADfAAAA9gAAAPgAAAD/AAAAAQEAAAEBAAADAQAAAwEAAAUBAAAFAQAABwEAAAcBAAAJAQAACQEAAAsBAAALAQAADQEAAA0BAAAPAQAADwEAABEBAAARAQAAEwEAABMBAAAVAQAAFQEAABcBAAAXAQAAGQEAABkBAAAbAQAAGwEAAB0BAAAdAQAAHwEAAB8BAAAhAQAAIQEAACMBAAAjAQAAJQEAACUBAAAnAQAAJwEAACkBAAApAQAAKwEAACsBAAAtAQAALQEAAC8BAAAvAQAAMQEAADEBAAAzAQAAMwEAADUBAAA1AQAANwEAADcBAAA6AQAAOgEAADwBAAA8AQAAPgEAAD4BAABAAQAAQAEAAEIBAABCAQAARAEAAEQBAABGAQAARgEAAEgBAABJAQAASwEAAEsBAABNAQAATQEAAE8BAABPAQAAUQEAAFEBAABTAQAAUwEAAFUBAABVAQAAVwEAAFcBAABZAQAAWQEAAFsBAABbAQAAXQEAAF0BAABfAQAAXwEAAGEBAABhAQAAYwEAAGMBAABlAQAAZQEAAGcBAABnAQAAaQEAAGkBAABrAQAAawEAAG0BAABtAQAAbwEAAG8BAABxAQAAcQEAAHMBAABzAQAAdQEAAHUBAAB3AQAAdwEAAHoBAAB6AQAAfAEAAHwBAAB+AQAAgAEAAIMBAACDAQAAhQEAAIUBAACIAQAAiAEAAIwBAACMAQAAkgEAAJIBAACVAQAAlQEAAJkBAACaAQAAngEAAJ4BAAChAQAAoQEAAKMBAACjAQAApQEAAKUBAACoAQAAqAEAAK0BAACtAQAAsAEAALABAAC0AQAAtAEAALYBAAC2AQAAuQEAALkBAAC9AQAAvQEAAL8BAAC/AQAAxQEAAMYBAADIAQAAyQEAAMsBAADMAQAAzgEAAM4BAADQAQAA0AEAANIBAADSAQAA1AEAANQBAADWAQAA1gEAANgBAADYAQAA2gEAANoBAADcAQAA3QEAAN8BAADfAQAA4QEAAOEBAADjAQAA4wEAAOUBAADlAQAA5wEAAOcBAADpAQAA6QEAAOsBAADrAQAA7QEAAO0BAADvAQAA8AEAAPIBAADzAQAA9QEAAPUBAAD5AQAA+QEAAPsBAAD7AQAA/QEAAP0BAAD/AQAA/wEAAAECAAABAgAAAwIAAAMCAAAFAgAABQIAAAcCAAAHAgAACQIAAAkCAAALAgAACwIAAA0CAAANAgAADwIAAA8CAAARAgAAEQIAABMCAAATAgAAFQIAABUCAAAXAgAAFwIAABkCAAAZAgAAGwIAABsCAAAdAgAAHQIAAB8CAAAfAgAAIwIAACMCAAAlAgAAJQIAACcCAAAnAgAAKQIAACkCAAArAgAAKwIAAC0CAAAtAgAALwIAAC8CAAAxAgAAMQIAADMCAAAzAgAAPAIAADwCAAA/AgAAQAIAAEICAABCAgAARwIAAEcCAABJAgAASQIAAEsCAABLAgAATQIAAE0CAABPAgAAVAIAAFYCAABXAgAAWQIAAFkCAABbAgAAXAIAAGACAABhAgAAYwIAAGMCAABlAgAAZgIAAGgCAABsAgAAbwIAAG8CAABxAgAAcgIAAHUCAAB1AgAAfQIAAH0CAACAAgAAgAIAAIICAACDAgAAhwIAAIwCAACSAgAAkgIAAJ0CAACeAgAARQMAAEUDAABxAwAAcQMAAHMDAABzAwAAdwMAAHcDAAB7AwAAfQMAAJADAACQAwAArAMAAM4DAADQAwAA0QMAANUDAADXAwAA2QMAANkDAADbAwAA2wMAAN0DAADdAwAA3wMAAN8DAADhAwAA4QMAAOMDAADjAwAA5QMAAOUDAADnAwAA5wMAAOkDAADpAwAA6wMAAOsDAADtAwAA7QMAAO8DAADzAwAA9QMAAPUDAAD4AwAA+AMAAPsDAAD7AwAAMAQAAF8EAABhBAAAYQQAAGMEAABjBAAAZQQAAGUEAABnBAAAZwQAAGkEAABpBAAAawQAAGsEAABtBAAAbQQAAG8EAABvBAAAcQQAAHEEAABzBAAAcwQAAHUEAAB1BAAAdwQAAHcEAAB5BAAAeQQAAHsEAAB7BAAAfQQAAH0EAAB/BAAAfwQAAIEEAACBBAAAiwQAAIsEAACNBAAAjQQAAI8EAACPBAAAkQQAAJEEAACTBAAAkwQAAJUEAACVBAAAlwQAAJcEAACZBAAAmQQAAJsEAACbBAAAnQQAAJ0EAACfBAAAnwQAAKEEAAChBAAAowQAAKMEAAClBAAApQQAAKcEAACnBAAAqQQAAKkEAACrBAAAqwQAAK0EAACtBAAArwQAAK8EAACxBAAAsQQAALMEAACzBAAAtQQAALUEAAC3BAAAtwQAALkEAAC5BAAAuwQAALsEAAC9BAAAvQQAAL8EAAC/BAAAwgQAAMIEAADEBAAAxAQAAMYEAADGBAAAyAQAAMgEAADKBAAAygQAAMwEAADMBAAAzgQAAM8EAADRBAAA0QQAANMEAADTBAAA1QQAANUEAADXBAAA1wQAANkEAADZBAAA2wQAANsEAADdBAAA3QQAAN8EAADfBAAA4QQAAOEEAADjBAAA4wQAAOUEAADlBAAA5wQAAOcEAADpBAAA6QQAAOsEAADrBAAA7QQAAO0EAADvBAAA7wQAAPEEAADxBAAA8wQAAPMEAAD1BAAA9QQAAPcEAAD3BAAA+QQAAPkEAAD7BAAA+wQAAP0EAAD9BAAA/wQAAP8EAAABBQAAAQUAAAMFAAADBQAABQUAAAUFAAAHBQAABwUAAAkFAAAJBQAACwUAAAsFAAANBQAADQUAAA8FAAAPBQAAEQUAABEFAAATBQAAEwUAABUFAAAVBQAAFwUAABcFAAAZBQAAGQUAABsFAAAbBQAAHQUAAB0FAAAfBQAAHwUAACEFAAAhBQAAIwUAACMFAAAlBQAAJQUAACcFAAAnBQAAKQUAACkFAAArBQAAKwUAAC0FAAAtBQAALwUAAC8FAABhBQAAhwUAANAQAAD6EAAA/RAAAP8QAAD4EwAA/RMAAIAcAACIHAAAeR0AAHkdAAB9HQAAfR0AAI4dAACOHQAAAR4AAAEeAAADHgAAAx4AAAUeAAAFHgAABx4AAAceAAAJHgAACR4AAAseAAALHgAADR4AAA0eAAAPHgAADx4AABEeAAARHgAAEx4AABMeAAAVHgAAFR4AABceAAAXHgAAGR4AABkeAAAbHgAAGx4AAB0eAAAdHgAAHx4AAB8eAAAhHgAAIR4AACMeAAAjHgAAJR4AACUeAAAnHgAAJx4AACkeAAApHgAAKx4AACseAAAtHgAALR4AAC8eAAAvHgAAMR4AADEeAAAzHgAAMx4AADUeAAA1HgAANx4AADceAAA5HgAAOR4AADseAAA7HgAAPR4AAD0eAAA/HgAAPx4AAEEeAABBHgAAQx4AAEMeAABFHgAARR4AAEceAABHHgAASR4AAEkeAABLHgAASx4AAE0eAABNHgAATx4AAE8eAABRHgAAUR4AAFMeAABTHgAAVR4AAFUeAABXHgAAVx4AAFkeAABZHgAAWx4AAFseAABdHgAAXR4AAF8eAABfHgAAYR4AAGEeAABjHgAAYx4AAGUeAABlHgAAZx4AAGceAABpHgAAaR4AAGseAABrHgAAbR4AAG0eAABvHgAAbx4AAHEeAABxHgAAcx4AAHMeAAB1HgAAdR4AAHceAAB3HgAAeR4AAHkeAAB7HgAAex4AAH0eAAB9HgAAfx4AAH8eAACBHgAAgR4AAIMeAACDHgAAhR4AAIUeAACHHgAAhx4AAIkeAACJHgAAix4AAIseAACNHgAAjR4AAI8eAACPHgAAkR4AAJEeAACTHgAAkx4AAJUeAACbHgAAoR4AAKEeAACjHgAAox4AAKUeAAClHgAApx4AAKceAACpHgAAqR4AAKseAACrHgAArR4AAK0eAACvHgAArx4AALEeAACxHgAAsx4AALMeAAC1HgAAtR4AALceAAC3HgAAuR4AALkeAAC7HgAAux4AAL0eAAC9HgAAvx4AAL8eAADBHgAAwR4AAMMeAADDHgAAxR4AAMUeAADHHgAAxx4AAMkeAADJHgAAyx4AAMseAADNHgAAzR4AAM8eAADPHgAA0R4AANEeAADTHgAA0x4AANUeAADVHgAA1x4AANceAADZHgAA2R4AANseAADbHgAA3R4AAN0eAADfHgAA3x4AAOEeAADhHgAA4x4AAOMeAADlHgAA5R4AAOceAADnHgAA6R4AAOkeAADrHgAA6x4AAO0eAADtHgAA7x4AAO8eAADxHgAA8R4AAPMeAADzHgAA9R4AAPUeAAD3HgAA9x4AAPkeAAD5HgAA+x4AAPseAAD9HgAA/R4AAP8eAAAHHwAAEB8AABUfAAAgHwAAJx8AADAfAAA3HwAAQB8AAEUfAABQHwAAVx8AAGAfAABnHwAAcB8AAH0fAACAHwAAtB8AALYfAAC3HwAAvB8AALwfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMcfAADMHwAAzB8AANAfAADTHwAA1h8AANcfAADgHwAA5x8AAPIfAAD0HwAA9h8AAPcfAAD8HwAA/B8AAE4hAABOIQAAcCEAAH8hAACEIQAAhCEAANAkAADpJAAAMCwAAF8sAABhLAAAYSwAAGUsAABmLAAAaCwAAGgsAABqLAAAaiwAAGwsAABsLAAAcywAAHMsAAB2LAAAdiwAAIEsAACBLAAAgywAAIMsAACFLAAAhSwAAIcsAACHLAAAiSwAAIksAACLLAAAiywAAI0sAACNLAAAjywAAI8sAACRLAAAkSwAAJMsAACTLAAAlSwAAJUsAACXLAAAlywAAJksAACZLAAAmywAAJssAACdLAAAnSwAAJ8sAACfLAAAoSwAAKEsAACjLAAAoywAAKUsAAClLAAApywAAKcsAACpLAAAqSwAAKssAACrLAAArSwAAK0sAACvLAAArywAALEsAACxLAAAsywAALMsAAC1LAAAtSwAALcsAAC3LAAAuSwAALksAAC7LAAAuywAAL0sAAC9LAAAvywAAL8sAADBLAAAwSwAAMMsAADDLAAAxSwAAMUsAADHLAAAxywAAMksAADJLAAAyywAAMssAADNLAAAzSwAAM8sAADPLAAA0SwAANEsAADTLAAA0ywAANUsAADVLAAA1ywAANcsAADZLAAA2SwAANssAADbLAAA3SwAAN0sAADfLAAA3ywAAOEsAADhLAAA4ywAAOMsAADsLAAA7CwAAO4sAADuLAAA8ywAAPMsAAAALQAAJS0AACctAAAnLQAALS0AAC0tAABBpgAAQaYAAEOmAABDpgAARaYAAEWmAABHpgAAR6YAAEmmAABJpgAAS6YAAEumAABNpgAATaYAAE+mAABPpgAAUaYAAFGmAABTpgAAU6YAAFWmAABVpgAAV6YAAFemAABZpgAAWaYAAFumAABbpgAAXaYAAF2mAABfpgAAX6YAAGGmAABhpgAAY6YAAGOmAABlpgAAZaYAAGemAABnpgAAaaYAAGmmAABrpgAAa6YAAG2mAABtpgAAgaYAAIGmAACDpgAAg6YAAIWmAACFpgAAh6YAAIemAACJpgAAiaYAAIumAACLpgAAjaYAAI2mAACPpgAAj6YAAJGmAACRpgAAk6YAAJOmAACVpgAAlaYAAJemAACXpgAAmaYAAJmmAACbpgAAm6YAACOnAAAjpwAAJacAACWnAAAnpwAAJ6cAACmnAAAppwAAK6cAACunAAAtpwAALacAAC+nAAAvpwAAM6cAADOnAAA1pwAANacAADenAAA3pwAAOacAADmnAAA7pwAAO6cAAD2nAAA9pwAAP6cAAD+nAABBpwAAQacAAEOnAABDpwAARacAAEWnAABHpwAAR6cAAEmnAABJpwAAS6cAAEunAABNpwAATacAAE+nAABPpwAAUacAAFGnAABTpwAAU6cAAFWnAABVpwAAV6cAAFenAABZpwAAWacAAFunAABbpwAAXacAAF2nAABfpwAAX6cAAGGnAABhpwAAY6cAAGOnAABlpwAAZacAAGenAABnpwAAaacAAGmnAABrpwAAa6cAAG2nAABtpwAAb6cAAG+nAAB6pwAAeqcAAHynAAB8pwAAf6cAAH+nAACBpwAAgacAAIOnAACDpwAAhacAAIWnAACHpwAAh6cAAIynAACMpwAAkacAAJGnAACTpwAAlKcAAJenAACXpwAAmacAAJmnAACbpwAAm6cAAJ2nAACdpwAAn6cAAJ+nAAChpwAAoacAAKOnAACjpwAApacAAKWnAACnpwAAp6cAAKmnAACppwAAtacAALWnAAC3pwAAt6cAALmnAAC5pwAAu6cAALunAAC9pwAAvacAAL+nAAC/pwAAwacAAMGnAADDpwAAw6cAAMinAADIpwAAyqcAAMqnAADRpwAA0acAANenAADXpwAA2acAANmnAAD2pwAA9qcAAFOrAABTqwAAcKsAAL+rAAAA+wAABvsAABP7AAAX+wAAQf8AAFr/AAAoBAEATwQBANgEAQD7BAEAlwUBAKEFAQCjBQEAsQUBALMFAQC5BQEAuwUBALwFAQDADAEA8gwBAMAYAQDfGAEAYG4BAH9uAQAi6QEAQ+kBAAAAAAADAAAAoBMAAPUTAAD4EwAA/RMAAHCrAAC/qwAAAQAAALAPAQDLDwEAQfCLBwvTK7oCAAB4AwAAeQMAAIADAACDAwAAiwMAAIsDAACNAwAAjQMAAKIDAACiAwAAMAUAADAFAABXBQAAWAUAAIsFAACMBQAAkAUAAJAFAADIBQAAzwUAAOsFAADuBQAA9QUAAP8FAAAOBwAADgcAAEsHAABMBwAAsgcAAL8HAAD7BwAA/AcAAC4IAAAvCAAAPwgAAD8IAABcCAAAXQgAAF8IAABfCAAA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CQAAggkAAIMJAACFCQAAjAkAAI8JAACQCQAAkwkAAKgJAACqCQAAsAkAALIJAACyCQAAtgkAALkJAAC9CQAAvQkAAL8JAADACQAAxwkAAMgJAADLCQAAzAkAAM4JAADOCQAA3AkAAN0JAADfCQAA4QkAAOYJAAD9CQAAAwoAAAMKAAAFCgAACgoAAA8KAAAQCgAAEwoAACgKAAAqCgAAMAoAADIKAAAzCgAANQoAADYKAAA4CgAAOQoAAD4KAABACgAAWQoAAFwKAABeCgAAXgoAAGYKAABvCgAAcgoAAHQKAAB2CgAAdgoAAIMKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvQoAAMAKAADJCgAAyQoAAMsKAADMCgAA0AoAANAKAADgCgAA4QoAAOYKAADxCgAA+QoAAPkKAAACCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAAD0LAAA9CwAAQAsAAEALAABHCwAASAsAAEsLAABMCwAAXAsAAF0LAABfCwAAYQsAAGYLAAB3CwAAgwsAAIMLAACFCwAAigsAAI4LAACQCwAAkgsAAJULAACZCwAAmgsAAJwLAACcCwAAngsAAJ8LAACjCwAApAsAAKgLAACqCwAArgsAALkLAAC/CwAAvwsAAMELAADCCwAAxgsAAMgLAADKCwAAzAsAANALAADQCwAA5gsAAPoLAAABDAAAAwwAAAUMAAAMDAAADgwAABAMAAASDAAAKAwAACoMAAA5DAAAPQwAAD0MAABBDAAARAwAAFgMAABaDAAAXQwAAF0MAABgDAAAYQwAAGYMAABvDAAAdwwAAIAMAACCDAAAjAwAAI4MAACQDAAAkgwAAKgMAACqDAAAswwAALUMAAC5DAAAvQwAAL4MAADADAAAwQwAAMMMAADEDAAAxwwAAMgMAADKDAAAywwAAN0MAADeDAAA4AwAAOEMAADmDAAA7wwAAPEMAADyDAAAAg0AAAwNAAAODQAAEA0AABINAAA6DQAAPQ0AAD0NAAA/DQAAQA0AAEYNAABIDQAASg0AAEwNAABODQAATw0AAFQNAABWDQAAWA0AAGENAABmDQAAfw0AAIINAACDDQAAhQ0AAJYNAACa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CgAANgoAADgKAAA5CgAAPAoAADwKAAA+CgAAQgoAAEcKAABICgAASwoAAE0KAABRCgAAUQoAAFkKAABcCgAAXgoAAF4KAABmCgAAdQoAAIEKAACDCgAAhQoAAI0KAACPCgAAkQoAAJMKAACoCgAAqgoAALAKAACyCgAAswoAALUKAAC5CgAAvAoAAMUKAADHCgAAyQoAAMsKAADNCgAA0AoAANAKAADgCgAA4woAAOYKAADvCgAA+QoAAP8KAAABCwAAAwsAAAULAAAMCwAADwsAABALAAATCwAAKAsAACoLAAAwCwAAMgsAADMLAAA1CwAAOQsAADwLAABECwAARwsAAEgLAABLCwAATQsAAFULAABXCwAAXAsAAF0LAABfCwAAYwsAAGYLAABvCwAAcQsAAHELAACCCwAAgwsAAIULAACKCwAAjgsAAJALAACSCwAAlQsAAJkLAACaCwAAnAsAAJwLAACeCwAAnwsAAKMLAACkCwAAqAsAAKoLAACuCwAAuQsAAL4LAADCCwAAxgsAAMgLAADKCwAAzQsAANALAADQCwAA1wsAANcLAADmCwAA7wsAAAAMAAAMDAAADgwAABAMAAASDAAAKAwAACoMAAA5DAAAPAwAAEQMAABGDAAASAwAAEoMAABNDAAAVQwAAFYMAABYDAAAWgwAAF0MAABdDAAAYAwAAGMMAABmDAAAbwwAAIAMAACDDAAAhQwAAIwMAACODAAAkAwAAJIMAACoDAAAqgwAALMMAAC1DAAAuQwAALwMAADEDAAAxgwAAMgMAADKDAAAzQwAANUMAADWDAAA3QwAAN4MAADgDAAA4wwAAOYMAADvDAAA8QwAAPIMAAAADQAADA0AAA4NAAAQDQAAEg0AAEQNAABGDQAASA0AAEoNAABODQAAVA0AAFcNAABfDQAAYw0AAGYNAABvDQAAeg0AAH8NAACBDQAAgw0AAIUNAACWDQAAmg0AALENAACzDQAAuw0AAL0NAAC9DQAAwA0AAMYNAADKDQAAyg0AAM8NAADUDQAA1g0AANYNAADYDQAA3w0AAOYNAADvDQAA8g0AAPMNAAABDgAAOg4AAEAOAABODgAAUA4AAFkOAACBDgAAgg4AAIQOAACEDgAAhg4AAIoOAACMDgAAow4AAKUOAAClDgAApw4AAL0OAADADgAAxA4AAMYOAADG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vx4AAMEeAADBHgAAwx4AAMMeAADFHgAAxR4AAMceAADHHgAAyR4AAMkeAADLHgAAyx4AAM0eAADNHgAAzx4AAM8eAADRHgAA0R4AANMeAADTHgAA1R4AANUeAADXHgAA1x4AANkeAADZHgAA2x4AANseAADdHgAA3R4AAN8eAADfHgAA4R4AAOEeAADjHgAA4x4AAOUeAADlHgAA5x4AAOceAADpHgAA6R4AAOseAADrHgAA7R4AAO0eAADvHgAA7x4AAPEeAADxHgAA8x4AAPMeAAD1HgAA9R4AAPceAAD3HgAA+R4AAPkeAAD7HgAA+x4AAP0eAAD9HgAA/x4AAAcfAAAQHwAAFR8AACAfAAAnHwAAMB8AADcfAABAHwAARR8AAFAfAABXHwAAYB8AAGcfAABwHwAAfR8AAIAfAACHHwAAkB8AAJcfAACgHwAApx8AALAfAAC0HwAAth8AALcfAAC+HwAAvh8AAMIfAADEHwAAxh8AAMcfAADQHwAA0x8AANYfAADXHwAA4B8AAOcfAADyHwAA9B8AAPYfAAD3HwAACiEAAAohAAAOIQAADyEAABMhAAATIQAALyEAAC8hAAA0IQAANCEAADkhAAA5IQAAPCEAAD0hAABGIQAASSEAAE4hAABOIQAAhCEAAIQhAAAwLAAAXywAAGEsAABhLAAAZSwAAGYsAABoLAAAaCwAAGosAABqLAAAbCwAAGwsAABxLAAAcSwAAHMsAAB0LAAAdiwAAHssAACBLAAAgSwAAIMsAACDLAAAhSwAAIUsAACHLAAAhywAAIksAACJLAAAiywAAIssAACNLAAAjSwAAI8sAACPLAAAkSwAAJEsAACTLAAAkywAAJUsAACVLAAAlywAAJcsAACZLAAAmSwAAJssAACbLAAAnSwAAJ0sAACfLAAAnywAAKEsAAChLAAAoywAAKMsAAClLAAApSwAAKcsAACnLAAAqSwAAKksAACrLAAAqywAAK0sAACtLAAArywAAK8sAACxLAAAsSwAALMsAACzLAAAtSwAALUsAAC3LAAAtywAALksAAC5LAAAuywAALssAAC9LAAAvSwAAL8sAAC/LAAAwSwAAMEsAADDLAAAwywAAMUsAADFLAAAxywAAMcsAADJLAAAySwAAMssAADLLAAAzSwAAM0sAADPLAAAzywAANEsAADRLAAA0ywAANMsAADVLAAA1SwAANcsAADXLAAA2SwAANksAADbLAAA2ywAAN0sAADdLAAA3ywAAN8sAADhLAAA4SwAAOMsAADkLAAA7CwAAOwsAADuLAAA7iwAAPMsAADzLAAAAC0AACUtAAAnLQAAJy0AAC0tAAAtLQAAQaYAAEGmAABDpgAAQ6YAAEWmAABFpgAAR6YAAEemAABJpgAASaYAAEumAABLpgAATaYAAE2mAABPpgAAT6YAAFGmAABRpgAAU6YAAFOmAABVpgAAVaYAAFemAABXpgAAWaYAAFmmAABbpgAAW6YAAF2mAABdpgAAX6YAAF+mAABhpgAAYaYAAGOmAABjpgAAZaYAAGWmAABnpgAAZ6YAAGmmAABppgAAa6YAAGumAABtpgAAbaYAAIGmAACBpgAAg6YAAIOmAACFpgAAhaYAAIemAACHpgAAiaYAAImmAACLpgAAi6YAAI2mAACNpgAAj6YAAI+mAACRpgAAkaYAAJOmAACTpgAAlaYAAJWmAACXpgAAl6YAAJmmAACZpgAAm6YAAJumAAAjpwAAI6cAACWnAAAlpwAAJ6cAACenAAAppwAAKacAACunAAArpwAALacAAC2nAAAvpwAAMacAADOnAAAzpwAANacAADWnAAA3pwAAN6cAADmnAAA5pwAAO6cAADunAAA9pwAAPacAAD+nAAA/pwAAQacAAEGnAABDpwAAQ6cAAEWnAABFpwAAR6cAAEenAABJpwAASacAAEunAABLpwAATacAAE2nAABPpwAAT6cAAFGnAABRpwAAU6cAAFOnAABVpwAAVacAAFenAABXpwAAWacAAFmnAABbpwAAW6cAAF2nAABdpwAAX6cAAF+nAABhpwAAYacAAGOnAABjpwAAZacAAGWnAABnpwAAZ6cAAGmnAABppwAAa6cAAGunAABtpwAAbacAAG+nAABvpwAAcacAAHinAAB6pwAAeqcAAHynAAB8pwAAf6cAAH+nAACBpwAAgacAAIOnAACDpwAAhacAAIWnAACHpwAAh6cAAIynAACMpwAAjqcAAI6nAACRpwAAkacAAJOnAACVpwAAl6cAAJenAACZpwAAmacAAJunAACbpwAAnacAAJ2nAACfpwAAn6cAAKGnAAChpwAAo6cAAKOnAAClpwAApacAAKenAACnpwAAqacAAKmnAACvpwAA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AACmHgAAph4AAKgeAACoHgAAqh4AAKoeAACsHgAArB4AAK4eAACuHgAAsB4AALAeAACyHgAAsh4AALQeAAC0HgAAth4AALYeAAC4HgAAuB4AALoeAAC6HgAAvB4AALweAAC+HgAAvh4AAMAeAADAHgAAwh4AAMIeAADEHgAAxB4AAMYeAADGHgAAyB4AAMgeAADKHgAAyh4AAMweAADMHgAAzh4AAM4eAADQHgAA0B4AANIeAADSHgAA1B4AANQeAADWHgAA1h4AANgeAADYHgAA2h4AANoeAADcHgAA3B4AAN4eAADeHgAA4B4AAOAeAADiHgAA4h4AAOQeAADkHgAA5h4AAOYeAADoHgAA6B4AAOoeAADqHgAA7B4AAOweAADuHgAA7h4AAPAeAADwHgAA8h4AAPIeAAD0HgAA9B4AAPYeAAD2HgAA+B4AAPgeAAD6HgAA+h4AAPweAAD8HgAA/h4AAP4eAAAIHwAADx8AABgfAAAdHwAAKB8AAC8fAAA4HwAAPx8AAEgfAABNHwAAWR8AAFkfAABbHwAAWx8AAF0fAABdHwAAXx8AAF8fAABoHwAAbx8AALgfAAC7HwAAyB8AAMsfAADYHwAA2x8AAOgfAADsHwAA+B8AAPsfAAACIQAAAiEAAAchAAAHIQAACyEAAA0hAAAQIQAAEiEAABUhAAAVIQAAGSEAAB0hAAAkIQAAJCEAACYhAAAmIQAAKCEAACghAAAqIQAALSEAADAhAAAzIQAAPiEAAD8hAABFIQAARSEAAIMhAACDIQAAACwAAC8sAABgLAAAYCwAAGIsAABkLAAAZywAAGcsAABpLAAAaSwAAGssAABrLAAAbSwAAHAsAAByLAAAciwAAHUsAAB1LAAAfiwAAIAsAACCLAAAgiwAAIQsAACELAAAhiwAAIYsAACILAAAiCwAAIosAACKLAAAjCwAAIwsAACOLAAAjiwAAJAsAACQLAAAkiwAAJIsAACULAAAlCwAAJYsAACWLAAAmCwAAJgsAACaLAAAmiwAAJwsAACcLAAAniwAAJ4sAACgLAAAoCwAAKIsAACiLAAApCwAAKQsAACmLAAApiwAAKgsAACoLAAAqiwAAKosAACsLAAArCwAAK4sAACuLAAAsCwAALAsAACyLAAAsiwAALQsAAC0LAAAtiwAALYsAAC4LAAAuCwAALosAAC6LAAAvCwAALwsAAC+LAAAviwAAMAsAADALAAAwiwAAMIsAADELAAAxCwAAMYsAADGLAAAyCwAAMgsAADKLAAAyiwAAMwsAADMLAAAziwAAM4sAADQLAAA0CwAANIsAADSLAAA1CwAANQsAADWLAAA1iwAANgsAADYLAAA2iwAANosAADcLAAA3CwAAN4sAADeLAAA4CwAAOAsAADiLAAA4iwAAOssAADrLAAA7SwAAO0sAADyLAAA8iwAAECmAABApgAAQqYAAEKmAABEpgAARKYAAEamAABGpgAASKYAAEimAABKpgAASqYAAEymAABMpgAATqYAAE6mAABQpgAAUKYAAFKmAABSpgAAVKYAAFSmAABWpgAAVqYAAFimAABYpgAAWqYAAFqmAABcpgAAXKYAAF6mAABepgAAYKYAAGCmAABipgAAYqYAAGSmAABkpgAAZqYAAGamAABopgAAaKYAAGqmAABqpgAAbKYAAGymAACApgAAgKYAAIKmAACCpgAAhKYAAISmAACGpgAAhqYAAIimAACIpgAAiqYAAIqmAACMpgAAjKYAAI6mAACOpgAAkKYAAJCmAACSpgAAkqYAAJSmAACUpgAAlqYAAJamAACYpgAAmKYAAJqmAACapgAAIqcAACKnAAAkpwAAJKcAACanAAAmpwAAKKcAACinAAAqpwAAKqcAACynAAAspwAALqcAAC6nAAAypwAAMqcAADSnAAA0pwAANqcAADanAAA4pwAAOKcAADqnAAA6pwAAPKcAADynAAA+pwAAPqcAAECnAABApwAAQqcAAEKnAABEpwAARKcAAEanAABGpwAASKcAAEinAABKpwAASqcAAEynAABMpwAATqcAAE6nAABQpwAAUKcAAFKnAABSpwAAVKcAAFSnAABWpwAAVqcAAFinAABYpwAAWqcAAFqnAABcpwAAXKcAAF6nAABepwAAYKcAAGCnAABipwAAYqcAAGSnAABkpwAAZqcAAGanAABopwAAaKcAAGqnAABqpwAAbKcAAGynAABupwAAbqcAAHmnAAB5pwAAe6cAAHunAAB9pwAAfqcAAICnAACApwAAgqcAAIKnAACEpwAAhKcAAIanAACGpwAAi6cAAIunAACNpwAAjacAAJCnAACQpwAAkqcAAJKnAACWpwAAlqcAAJinAACYpwAAmqcAAJqn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ADAFAABXBQAAWAUAAIsFAACMBQAAkAUAAJAFAADIBQAAzwUAAOsFAADuBQAA9QUAAP8FAAAOBwAADgcAAEsHAABMBwAAsgcAAL8HAAD7BwAA/AcAAC4IAAAvCAAAPwgAAD8IAABcCAAAXQgAAF8IAABfCAAAawgAAG8IAACPCAAAjwgAAJIIAACXCAAAhAkAAIQJAACNCQAAjgkAAJEJAACSCQAAqQkAAKkJAACxCQAAsQkAALMJAAC1CQAAugkAALsJAADFCQAAxgkAAMkJAADKCQAAzwkAANYJAADYCQAA2wkAAN4JAADeCQAA5AkAAOUJAAD/CQAAAAoAAAQKAAAECgAACwoAAA4KAAARCgAAEgoAACkKAAApCgAAMQoAADEKAAA0CgAANAoAADcKAAA3CgAAOgoAADsKAAA9CgAAPQoAAEMKAABGCgAASQoAAEoKAABOCgAAUAoAAFIKAABYCgAAXQoAAF0KAABfCgAAZQoAAHcKAACACgAAhAoAAIQKAACOCgAAjgoAAJIKAACSCgAAqQoAAKkKAACxCgAAsQoAALQKAAC0CgAAugoAALsKAADGCgAAxgoAAMoKAADKCgAAzgoAAM8KAADRCgAA3woAAOQKAADlCgAA8goAAPgKAAAACwAAAAsAAAQLAAAECwAADQsAAA4LAAARCwAAEgsAACkLAAApCwAAMQsAADELAAA0CwAANAsAADoLAAA7CwAARQsAAEYLAABJCwAASgsAAE4LAABUCwAAWAsAAFsLAABeCwAAXgsAAGQLAABlCwAAeAsAAIELAACECwAAhAsAAIsLAACNCwAAkQsAAJELAACWCwAAmAsAAJsLAACbCwAAnQsAAJ0LAACgCwAAogsAAKULAACnCwAAqwsAAK0LAAC6CwAAvQsAAMMLAADFCwAAyQsAAMkLAADOCwAAzwsAANELAADWCwAA2AsAAOULAAD7CwAA/wsAAA0MAAANDAAAEQwAABEMAAApDAAAKQwAADoMAAA7DAAARQwAAEUMAABJDAAASQwAAE4MAABUDAAAVwwAAFcMAABbDAAAXAwAAF4MAABfDAAAZAwAAGUMAABwDAAAdgwAAI0MAACNDAAAkQwAAJEMAACpDAAAqQwAALQMAAC0DAAAugwAALsMAADFDAAAxQwAAMkMAADJDAAAzgwAANQMAADXDAAA3AwA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AD0AAwH//wAAQgCdAEcADQH//wAA//8AAP//AAD//wAA//8AAP//AABMACQB//8AAFIANwD//wAA//8AAFUAlwD//wAA//8AAP//AABYAIcA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAXABWAP//AABhANIA//8AAP//AAD//wAAZACBAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABsAI0A//8AAHEAJwB2ACcA//8AAP//AAB9ANMAgACaAP//AAD//wAAjQBaAP//AACSAM4A//8AAP//AACVAJkA//8AAKEA2AGuAFMAswBaAP//AAD//wAA//8AALkAoQC9AKEA//8AAMIAdADHAJwA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADMAI0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAzgCUANMALQD//wAA//8AAP//AAD//wAA2ADIAf//AAD//wAA4gDbAf//AAD//wAA//8AAO8AHgH//wAA//8AAP//AAD//wAA+gATAgABGAL//wAA//8AAP//AAAHASUA//8AAP//AAD//wAA//8AAP//AAD//wAACQHtAf//AAD//wAAEgE4AP//AAD//wAAGQGRAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AACEBNwH//wAA//8AAP//AAD//wAAKwEIAv//AAD//wAA//8AAP//AAA1AW0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AADoBGQL//wAA//8AAP//AABdAUQB//8AAP//AABlASYA//8AAGoB1AD//wAAhQGFAIgBkwD//wAA//8AAP//AAD//wAA//8AAP//AACNAcwAogE/AaoBvwH//wAAswHcAf//AAC9AY0AywEMAv//AAD//wAA//8AAP//AADsAZsA//8AAP//AAD//wAA//8AAP//AADxAegB/gG1AAMC+wEKAhgB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AABoCPAH//wAA//8AAP//AAD//wAA//8AACUC7wH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAALwKPAP//AAD//wAA//8AADcCYgH//wAA//8AAP//AAD//wAAQAJ8AP//AABDApQA//8AAP//AAD//wAAUAILAv//AAD//wAA//8AAP//AAD//wAA//8AAFwClgD//wAA//8AAF8CKwD//wAA//8AAP//AABiAgACdAIRAf//AAD//wAA//8AAIICFgD//wAA//8AAIcC1wCNAmwA//8AAP//AACSAiUB//8AAP//AAD//wAA//8AAP//AAD//wAAngIWAP//AACnAgUCsQIGAv//AADAAjkA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADFAswA//8AAP//AAD//wAA//8AAMgCbwDeAn4A//8AAP//AAD//wAA4wJ+AP//AADpAtkA//8AAP//AADsAiMB//8AAP//AAD//wAA//8AAP//AAD//wAA9QJKAf//AAD//wAABAOBAQ8DHAEaAzQB//8AACEDnwH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAKAPrAf//AAD//wAA//8AADEDEwE0A5kA//8AAP//AAD//wAA//8AAP//AAD//wAAOQPSAP//AAD//wAA//8AAEwDOgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABPAyEB//8AAFgD1AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAXAP6Af//AAD//wAA//8AAP//AABkA9UA//8AAP//AABnA5EA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGwDIAL//wAA//8AAP//AAD//wAAfAOaAIEDnwD//wAAhgN0AP//AACPA2sA//8AAJQDbwD//wAA//8AAP//AACZAw0B//8AAP//AACgA34B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAwwMLAc8DIgD//wAA//8AAP//AAD//wAA1AMOAP//AADaAzcA//8AAP//AADlAxUA//8AAP//AADsA6AB/wPjAf//AAD//wAA//8AABQEewD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAGwT/Af//AAD//wAA//8AAP//AAD//wAAKQSmAf//AAD//wAA//8AAP//AAD//wAA//8AADcE2gH//wAA//8AAEkEswFhBHMA//8AAP//AABmBHMAbgStAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAiwR7AP//AACNBPgB//8AAP//AAD//wAAlAS3Af//AAD//wAA//8AAP//AAD//wAA//8AAJ8EQQK4BDQCxwSrAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA1AQXAuIECwHnBEYC//8AAP//AAD//wAA//8AAP//AAD2BD8C//8AAP//AAD//wAA//8AAP//AAACBc0B//8AAP//AAD//wAA//8AAP//AAAMBTUB//8AAP//AAASBSEA//8AABkFwQH//wAA//8AAP//AAD//wAA//8AAP//AAAlBW0B//8AAP//AABJBaAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFMFDAFYBdYA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAZwVZAP//AAD//wAA//8AAP//AABuBXcA//8AAP//AAD//wAAcwVPAX8F5QH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAjAVVAJMFvAH//wAA//8AAP//AACkBZsA//8AAP//AAC0BXUA//8AAP//AAC5BSsA//8AAP//AADBBcoA0wU1Av//AAD//wAA//8AAP//AAD//wAA2wXmAP//AADeBYkA//8AAP//AAD//wAA//8AAOEFJgH//wAA//8AAP//AAD//wAA//8AAOsFlgEEBk4C//8AACsG6AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAC4GaQAyBtkB//8AAP//AAD//wAA//8AAP//AAD//wAARAbIAP//AABJBr4B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFIGMQL//wAA//8AAP//AAD//wAA//8AAFkGZwD//wAAawYfAnwGhgH//wAA//8AAIkG6wCOBhoA//8AAP//AAD//wAAlAZmAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AALIGOgL//wAA//8AAP//AADABhwAxQZYAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADLBhwA//8AANEGygD//wAA//8AAP//AAD//wAA//8AAP//AADXBjIB//8AAOMGkwH//wAA//8AAP//AAD//wAA//8AAP//AAD5BiECDgcbAP//AAD//wAA//8AAP//AAD//wAA//8AABMHagD//wAA//8AABcHBwD//wAA//8AAB0HuQH//wAA//8AADAHTAE6BycC//8AAP//AAD//wAA//8AAP//AABLByUC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGUH3QD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGoHlQH//wAAeAf1AX8H3QD//wAA//8AAP//AACJB9wA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACLB3EAkQdlAf//AAD//wAAoweDAKgHywCtB2sB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAMQHKALiB3MB//8AAAII5wD//wAA//8AAAUIPgL//wAAKgjEAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA1CM0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AADgIswD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAD0IDQD//wAA//8AAP//AAD//wAA//8AAP//AABDCG0A//8AAEgI/QH//wAA//8AAP//AABVCBYB//8AAP//AAD//wAA//8AAP//AABmCJgBcwhIAf//AAB7COAB//8AAIcIaQD//wAA//8AAP//AAD//wAA//8AAJII4gH//wAA//8AAKMI3wD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAApghoAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKsIpAG8CAYA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADCCBkA//8AAMcIgAH//wAA//8AAP//AADSCMsB5gjGAf//AAD//wAA8AgCAP//AAD//wAA9ggZAQ8JNAD//wAA//8AAP//AAAYCdUB//8AACEJ0QD//wAA//8AACwJNAD//wAAMQkdADkJkwD//wAA//8AAEEJMgL//wAA//8AAP//AAD//wAA//8AAEoJWQD//wAA//8AAFcJGQBgCWoA//8AAP//AAD//wAAaAkvAf//AABwCfIB//8AAP//AAD//wAA//8AAP//AAB6CS4A//8AAH8JLQD//wAAhglyAI0J7gGYCVcA//8AAP//AAD//wAA//8AAKUJPgH//wAA//8AAP//AACtCSkA//8AAP//AACzCaIB//8AAP//AADLCXkA0gm7Af//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADoCdsA7Ql2AP//AAD//wAA//8AAP//AADyCZIA/QmIAAcKJgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AABoKUgEkCp0A//8AAP//AAApCjoB//8AAP//AAD//wAANAp6AP//AAD//wAA//8AAP//AAA5CjAA//8AAD4KDQL//wAA//8AAFcKhAD//wAA//8AAP//AABaChEB//8AAP//AABdCjMB//8AAP//AAD//wAA//8AAP//AABnCvMB//8AAP//AABzCgwB//8AAP//AAD//wAA//8AAHwKCwD//wAAgwofAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAiQo1AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACUCvcB//8AAP//AAD//wAAngorAv//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAtAoRALkKNQD//wAA//8AAP//AAD//wAA//8AAL4KeADDCucB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAM8K9AH//wAA2QoaAP//AADeCm4A//8AAP//AADzClwA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD4CqAA//8AAP//AAD//wAA//8AAP0KdQEOC0kB//8AAP//AAD//wAA//8AAP//AAD//wAAGgsQAB8LyQH//wAA//8AAP//AAD//wAA//8AACcLXAE8C1MA//8AAEULdgBQC+UA//8AAP//AAD//wAA//8AAFgLeAD//wAA//8AAP//AAD//wAA//8AAF4L4AD//wAAZAt8AP//AAD//wAAcAuiAP//AAD//wAAeAtcAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAhQuVAP//AACKCx0B//8AAP//AACfCzgB//8AAKoLVQD//wAA//8AAP//AAD//wAA//8AAP//AACvC6UBxAtUAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAzwvXAN0LAgH//wAA4wuKAf//AAAEDHEAEAzbAP//AAD//wAA//8AAP//AAD//wAA//8AABYMRQH//wAA//8AAP//AAD//wAA//8AAP//AAAiDEsA//8AACgMTAJJDFYA//8AAP//AAD//wAA//8AAP//AABRDPYB//8AAFsM0wH//wAA//8AAP//AAD//wAA//8AAP//AABkDBAA//8AAP//AAD//wAAagyKAP//AABtDBwC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAIEMcgD//wAAhgwsAf//AACRDO0A//8AAP//AAD//wAA//8AAP//AAD//wAAmwzhAf//AAD//wAA//8AAP//AACqDPUAsAwKAsIMuwDIDJABzgwhAP//AAD//wAA//8AANMMZAH//wAA7AwFAfAMBQH//wAA//8AAPUM3gD//wAA//8AAP//AAD//wAA//8AAP//AAD6DF0A//8AAP8M8gD//wAA//8AAP//AAAFDW0A//8AAA8NywD//wAA//8AABkNEAEeDQgA//8AACQNggD//wAA//8AAP//AAD//wAAKQ1dADIN9QD//wAA//8AAP//AAD//wAANw3SAf//AAD//wAA//8AAP//AABDDYQB//8AAEwNhwBiDQQC//8AAG4NSgL//wAA//8AAI8NWACeDcoB//8AAP//AACoDewB//8AAP//AAC2DV4A//8AAP//AAD//wAA//8AALoNXgC/DYAA//8AAP//AADFDTYA//8AANAN2AD//wAA//8AANgNYQD//wAA3Q2EAP//AAD//wAA//8AAP//AAD//wAA//8AAO0NAwD//wAA8w2MAf//AAD//wAACg6CAP//AAD//wAA//8AAP//AAD//wAAEg4RAv//AAApDmEA//8AAP//AAD//wAA//8AADEO8QE6DloBVA5nAf//AABsDhMA//8AAP//AACBDqQA//8AAIMOTQD//wAA//8AAJEO6QD//wAA//8AAP//AAD//wAAlA5lAP//AAD//wAA//8AAJkO4wD//wAA//8AAP//AAD//wAA//8AAP//AACeDoAA//8AAKMOHgD//wAAqA5uAP//AACtDqYA//8AAP//AAC5DqwAvA7eAP//AADHDhQC0A4yANQOHgD//wAA//8AAN4OGwHvDqoA8w6qAPgO+gD//wAA//8AAP0OvAADD7YA//8AAAgP9wD//wAADQ/3ABQPmgH//wAA//8AAB4PxgD//wAA//8AACAPLgH//wAAKA/kATEPIAE6D9QB//8AAP//AABHD8cBUQ8fAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAXQ89Av//AAB9DwkB//8AAIIPogD//wAA//8AAIcP1gGdD+UA//8AAP//AACiD+IA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKoPfQH//wAA//8AAP//AAD//wAA//8AALsPlwD//wAAyQ8VAM4P8AH//wAA//8AAOYPIgD//wAA7g9BAf//AAD4D70A//8AAP//AAD9Dx0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAAhAUAQ8QrwH//wAA//8AACoQPQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAALxDZAP//AAD//wAA//8AAEEQPAJiEE4A//8AAHQQWwH//wAA//8AAP//AAD//wAA//8AAIQQfwCJEPwBkRAsAP//AAD//wAA//8AAP//AACYEIsAnRCLAP//AAD//wAApBBEAP//AACoEL0B//8AAP//AAD//wAAtxBAAP//AAD//wAAuhBFAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAL8QAwHHEFcA//8AAM4QowD//wAA//8AANMQowD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AANsQSwL//wAA/BBNAP//AAD//wAA//8AAP//AAABEWoB//8AABMRDgL//wAAIRFVAf//AAD//wAA//8AADcRAAH//wAA//8AADwRVABBEfQA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEkRDwBXEb8A//8AAFsRxgD//wAA//8AAP//AABnEQYB//8AAP//AAD//wAAahHtAG8RAQJ5EdAB//8AAP//AAD//wAA//8AAP//AAD//wAAixFQAZMRlAH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKQRIgL//wAA//8AAKwRNgH//wAA//8AAP//AAC2EasB//8AAP//AAD//wAA//8AAMYRYgDNEWkB//8AAP//AAD//wAA//8AAP//AAD//wAA3RHmAecRbAH//wAA//8AAPIR6QH//wAA//8AAPwRKgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAJEkwA//8AAP//AAD//wAAGBKHAf//AAD//wAA//8AAP//AAA1EmsAQRI5AP//AABIEmEB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFYSYgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFsSiQH//wAA//8AAG4SHgL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAfhLJAIwSGACUEikB//8AAP//AAD//wAAphLqAP//AAD//wAArhK3ALMSGgL//wAAvBI5AMESBQD//wAA//8AAP//AAD//wAAxxLBAP//AAD//wAAzBImAv//AAD//wAA5hLdAf4SRAD//wAACBPeAf//AAD//wAA//8AAP//AAAfEykC//8AAP//AAAvE54B//8AAP//AAD//wAA//8AAP//AABCE1ACSRNwAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAE4TPAD//wAAUxOmAP//AAD//wAA//8AAP//AAD//wAAWBPJAF8T8gD//wAAZBPCAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGkT4AD//wAAehNsAP//AAD//wAA//8AAIoT+gCeE4wAoxOMAP//AACqEyAA//8AAP//AAD//wAArxNwAP//AAC4EzEA//8AALwTQwLWE8UB//8AAP//AADjE0AC//8AAP//AAD//wAA//8AAPgTbwH//wAAChSwAR8UKAD//wAA//8AAP//AAAtFI4B//8AAP//AAD//wAA//8AAP//AAD//wAAOhRUAkQUsQH//wAA//8AAP//AAD//wAAVBQ7Af//AAD//wAA//8AAP//AABpFOEA//8AAP//AAD//wAA//8AAHEUTgH//wAAfBRWAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAI4UDACTFHEB//8AALcU9gD//wAAvBSxAMEUZwD//wAA//8AAP//AADGFMMA//8AAP//AAD//wAAzRSnANsUGAD//wAA4BR6Af//AAD//wAA//8AAP//AAD0FLEA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPwU4QD//wAA//8AAAEVKgL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAFhWhASAVAQH//wAA//8AACUVfwH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABAFSAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEkVjwH//wAA//8AAP//AABQFcMB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFwV4wBkFRAB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAB0FRcA//8AAP//AAD//wAAfRWYAP//AACCFc4AkxW4AJgV6wD//wAA//8AAP//AACkFVECwxU5AdAVmADcFdAA4RUJAv//AAD//wAA8hV2AfsVJwH//wAA//8AAP//AAD//wAADhacAf//AAD//wAAJBY+AP//AAD//wAA//8AAP//AAD//wAA//8AACkWJAL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEMWUwH//wAA//8AAFcWWwD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFwWMwD//wAAYBZbAP//AAD//wAA//8AAGkWlgD//wAA//8AAHUWAQB7FpAA//8AAIAW0QH//wAA//8AAIwWkAD//wAA//8AAP//AAD//wAAlhYJAP//AAD//wAAnBZRAf//AAD//wAA//8AAKUWyAD//wAA//8AAP//AAD//wAArxbsAP//AAD//wAA//8AAP//AAD//wAA//8AALQWnAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADIFjsA//8AAM0WMAH//wAA//8AANYWmQH//wAA6xbXAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD9FkIAAhf7AP//AAD//wAA//8AAP//AAAHF/sADhcjABMX/AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAGBfqAP//AAAdF4kA//8AAP//AAD//wAALRcsAv//AAD//wAA//8AAE8XuQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAFQXKgD//wAA//8AAP//AABmF5IB//8AAG4XQgD//wAA//8AAHYXdwGLFyMA//8AAJQXDwH//wAA//8AAP//AAD//wAA//8AAJ4XtAH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAshf/AP//AAD//wAA//8AALcX6gH//wAA//8AAP//AADAF6cA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAMMX0QD//wAA//8AAP//AAD//wAA//8AAP//AADIF6kA//8AAP//AAD//wAA//8AAM0XGgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOkXjgDuF18B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AABQYtgD//wAAHxiOAP//AAAoGPMA//8AAP//AAD//wAAMBioADoYAAD//wAA//8AAEIY7wD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABHGPkB//8AAP//AAD//wAAXRgCAv//AAD//wAAixjiAP//AAD//wAA//8AAP//AAD//wAAkBgkAJUYBwGeGKQA//8AAP//AAD//wAApRgtArkYBgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAyxhQAP//AADQGH8A//8AAP//AAD//wAA1xj/AP//AAD//wAA3xhgAP//AAD//wAA//8AAP//AAD//wAA//8AAOQYDwD//wAA//8AAP//AAD//wAA//8AAP//AADpGMAB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP4YCAH//wAA//8AAP//AAD//wAABRlPAv//AAD//wAA//8AAP//AAAmGXkA//8AAP//AAD//wAA//8AAP//AAD//wAAKxk7AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA1GSMC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEAZAQFJGUcC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGoZtQD//wAA//8AAP//AAD//wAAdBlZAf//AAD//wAA//8AAP//AAD//wAA//8AAJoZegD//wAA//8AAP//AAD//wAApBn4AKkZ7wD//wAA//8AALAZ8QD//wAA//8AAP//AAD//wAAuRmFAP//AAD//wAA//8AAP//AAD//wAAyBleAf//AADaGTAC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADxGfYA//8AAP//AAD//wAA//8AAPcZqAD//wAA/BnCAf//AAD//wAA//8AAAUaPQEqGggB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAALxpNAVMasABYGvkAXRpoAP//AAD//wAA//8AAP//AABwGisBehqrAP//AAD//wAA//8AAP//AAB9GjoA//8AAP//AAD//wAA//8AAP//AAD//wAAhxpOAP//AAD//wAAjRpfAJIaSwH//wAA//8AAP//AAD//wAA//8AAJ0a5wCoGswB//8AAP//AACzGgcB//8AAP//AAD//wAAuBp8Af//AAD//wAA//8AAP//AAD//wAA0BotAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA2xp0AegaBwL//wAA//8AAP//AAD3GtAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8aLwAEG60AChvBABobCgH//wAA//8AAP//AAD//wAA//8AAP//AAAlG7gBOBvkAP//AAD//wAA//8AAD0bJQD//wAA//8AAP//AAD//wAA//8AAEMbZQD//wAATBuXAVYbrABiG5sB//8AAP//AAD//wAA//8AAP//AABrG7wAcBtJAv//AAD//wAA//8AAP//AAD//wAAkRtAAZsbFQL//wAA//8AAP//AAD//wAA//8AAKYb+AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAK0bxwCyG4gB//8AAP//AAD//wAA//8AAP//AAD//wAA0BvfAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAN8bRwH//wAA//8AAOcbQgH//wAA//8AAP//AAD//wAA//8AAO8bowEDHO4A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAAgcPwD//wAADRwJAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAYHL4AHxyzAP//AAD//wAA//8AACkcNwL//wAA//8AAP//AAD//wAA//8AAD8cEwH//wAAThwVAf//AAD//wAA//8AAP//AABhHL4A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAHEcMAD//wAAhxy6Af//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAlxxGAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADEHCQA//8AAP//AAD//wAAyhydAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADVHD4A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADeHEYA//8AAOQcrQD//wAA//8AAP//AAD//wAA//8AAP//AAD6HKcB//8AAP//AAD//wAADB0bAP//AAAVHWAB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AACkdsgE+HTgC//8AAP//AAD//wAA//8AAP//AABkHbsA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAaR2sAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAB6HTIAkB1GAP//AAD//wAA//8AAP//AAD//wAAlR1jAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAJodQwH//wAA//8AAP//AAD//wAA//8AAP//AAClHXgB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAsB2CAf//AAD//wAA//8AAP//AAD//wAA//8AALsdtADAHdoA//8AAP//AADFHa4B4x1NAv//AAAEHkgC//8AAP//AAD//wAA//8AACAesgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAALR7PAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA+HgMCSh7fAf//AAD//wAA//8AAP//AAD//wAAWx4SAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAF4e1gD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGMetQH//wAA//8AAP//AAD//wAA//8AAP//AAB+Hp4A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAI0eQwD//wAA//8AAP//AAD//wAA//8AAP//AACSHvQAlx6vAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACcHkMA//8AAP//AAD//wAA//8AAP//AACnHncA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAC5HnUA//8AAP//AAD//wAA//8AAMEeEgL//wAA0x7uAP//AAD//wAA3x79AP//AAD//wAA//8AAOQeTwD//wAA6h79AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA8h5JAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD3Hr0A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD/Hv4B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAAwfuQD//wAA//8AAP//AAD//wAA//8AABYfMQD//wAA//8AAP//AAD//wAALB89ADgfeQH//wAA//8AAP//AAD//wAASx9PAP//AAD//wAAXR8UAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAYR/DAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAcB+6AHUfHwF+H+kA//8AAIkfYwH//wAA//8AAKEfQgK1HzkCxB9fAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADLH1IA//8AAP//AADPH8QA1R8bAv//AAD//wAA//8AAOgfhgD//wAA//8AAPQfpQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA+R+lAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAAMgrgAIIBIB//8AAP//AAD//wAA//8AAP//AAAbICgB//8AAP//AAD//wAA//8AAP//AAAtIC4C//8AAP//AAD//wAA//8AAP//AAA+IDMA//8AAP//AAD//wAA//8AAFQgsgBZIDsCaCAiAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAeyCLAf//AAD//wAA//8AAJMgVwH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKggxQC3IMIA//8AAP//AAD//wAA//8AAMQgSQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAMwgSgD//wAA//8AAP//AADRICwA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA1CA2Av//AAD//wAA6CDoAP//AAD//wAA//8AAP//AAD0IFIA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD9IFEA//8AAP//AAD//wAA//8AAP//AAAFIQoB//8AAP//AAD//wAADCHPAP//AAAPIUoA//8AAP//AAD//wAA//8AAP//AAAXIR0C//8AACohPAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAyIdwA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAOSGRAf//AABNIV0B//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABpIY0B//8AAP//AAD//wAA//8AAP//AAD//wAAdyFYAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACWIbcA//8AAP//AAChIVQB//8AAP//AAD//wAA//8AAP//AAD//wAAtCETAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAuSEEAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAvyGoAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AANUhqgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPAhFgL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA/iGwAP//AAD//wAA//8AAP//AAD//wAA//8AAAQibgH//wAA//8AABoixQD//wAA//8AACEiKgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AACYixAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AADAirgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AADYi7AA+IhcB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAE8iEgD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABaIkQC//8AAP//AABwInIB//8AAP//AAD//wAAlCK/AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAsyJBAP//AAD//wAAviK0AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAziLPAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA4SJRAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD2IgIB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAHI8cA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAEyNFAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAB4j5AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAKiPxAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAvI/4A//8AAP//AAA4IwoA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAD4jtgH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAWyMEAf//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAGUjUAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABuI+YA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAfSPTAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACOI9oA//8AAJUjMwL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAqSP+AP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAK4jZAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AALIjewH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAzCPwAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADRI84B//8AAP//AAD//wAA//8AAOIj8AD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADqI2AA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAPkjTAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP8jLwL//wAA//8AAP//AAD//wAA//8AABYkZAD//wAAHyQvAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA1JM0A//8AAP//AAD//wAA//8AAP//AABFJLgAVSRHAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAAWiQPAv//AABwJPkA//8AAP//AAD//wAAdySKAP//AAD//wAA//8AAP//AAD//wAA//8AAIckEAL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACqJGYA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACxJGMA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AALgkqQH//wAA//8AAMkkOAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAM4kwAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADVJMAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOkkQQD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAO0kcAH//wAA//8AAAMlQAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAAdJYMB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAA3JboA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAEElUgL//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABgJYUB//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AABzJUUC//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AACXJa8A//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAKwl1QD//wAA//8AAP//AAD//wAA//8AAP//AAC8JUgA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AADBJUcA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAMolaAH//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA1yVIAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAOslUwJsYW5hAGxpbmEAegB5aQBtbgBjbgBtYWthAHlpaWkAbWFuaQBpbmthbm5hZGEAY2kAbG8AbGFvAGxhb28Aenp6egBtaWFvAHllemkAaW5ua28AY28AbWUAbG9lAGdyYW4AcGkAbGluZWFyYQBtYXJrAGNhcmkAY2FyaWFuAHBvAG1lbmRla2lrYWt1aQBncmVrAHBlAG1lZXRlaW1heWVrAGlua2hhcm9zaHRoaQBnZW9yAGdyZWVrAG1ybwBtcm9vAGthbmEAbWVybwBtAGdvbm0AY2FrbQBpbm9zbWFueWEAaW5tYW5pY2hhZWFuAGluYXJtZW5pYW4AaW5tcm8AaW5taWFvAGMAaW5jaGFrbWEAY29tbW9uAG1hbmRhaWMAaW5teWFubWFyAGlubWFrYXNhcgBxYWFpAGluaWRlb2dyYXBoaWNzeW1ib2xzYW5kcHVuY3R1YXRpb24AaW5raG1lcgBjYW5zAHByZXBlbmRlZGNvbmNhdGVuYXRpb25tYXJrAGxtAG1hcmMAY29ubmVjdG9ycHVuY3R1YXRpb24AaW5ydW5pYwBpbmNhcmlhbgBpbmF2ZXN0YW4AY29tYmluaW5nbWFyawBpbmN1bmVpZm9ybW51bWJlcnNhbmRwdW5jdHVhdGlvbgBtZXJjAGluY2hvcmFzbWlhbgBwZXJtAGluYWhvbQBpbmlwYWV4dGVuc2lvbnMAaW5jaGVyb2tlZQBpbnNoYXJhZGEAbWFrYXNhcgBpbmFycm93cwBsYwBtYXNhcmFtZ29uZGkAaW5jdW5laWZvcm0AbWMAY2MAaW56YW5hYmF6YXJzcXVhcmUAbGluZXNlcGFyYXRvcgBhcm1uAHFtYXJrAGFybWkAaW5zYW1hcml0YW4AYXJtZW5pYW4AaW5tYXJjaGVuAGlubWFzYXJhbWdvbmRpAHFhYWMAcGMAaW5zY3JpcHRpb25hbHBhcnRoaWFuAGxhdG4AbGF0aW4AcmkAaW50aGFhbmEAaW5raG1lcnN5bWJvbHMAaW5rYXRha2FuYQBpbmN5cmlsbGljAGludGhhaQBpbmNoYW0AaW5rYWl0aGkAenMAbXRlaQBpbml0aWFscHVuY3R1YXRpb24AY3MAaW5zeXJpYWMAcGNtAGludGFrcmkAcHMAbWFuZABpbmthbmFleHRlbmRlZGEAbWVuZABtb2RpAGthdGFrYW5hAGlkZW8AcHJ0aQB5ZXppZGkAaW5pZGVvZ3JhcGhpY2Rlc2NyaXB0aW9uY2hhcmFjdGVycwB4aWRjb250aW51ZQBicmFpAGFzY2lpAHByaXZhdGV1c2UAYXJhYmljAGlubXlhbm1hcmV4dGVuZGVkYQBpbnJ1bWludW1lcmFsc3ltYm9scwBsZXR0ZXIAaW5uYW5kaW5hZ2FyaQBpbm1lZXRlaW1heWVrAGlub2xkbm9ydGhhcmFiaWFuAGluY2prY29tcGF0aWJpbGl0eWZvcm1zAGtuZGEAa2FubmFkYQBpbmNqa2NvbXBhdGliaWxpdHlpZGVvZ3JhcGhzAGwAaW5tb2RpAGluc3BlY2lhbHMAaW50cmFuc3BvcnRhbmRtYXBzeW1ib2xzAGlubWVuZGVraWtha3VpAGxldHRlcm51bWJlcgBpbm1lZGVmYWlkcmluAHhpZGMAaW5jaGVzc3N5bWJvbHMAaW5lbW90aWNvbnMAaW5saW5lYXJhAGlubGFvAGJyYWhtaQBpbm9sZGl0YWxpYwBpbm1pc2NlbGxhbmVvdXNtYXRoZW1hdGljYWxzeW1ib2xzYQBtb25nb2xpYW4AeGlkcwBwc2FsdGVycGFobGF2aQBncmxpbmsAa2l0cwBpbnN1bmRhbmVzZQBpbm9sZHNvZ2RpYW4AZ290aGljAGluYW5jaWVudHN5bWJvbHMAbWVyb2l0aWNjdXJzaXZlAGthbGkAY29udHJvbABwYXR0ZXJud2hpdGVzcGFjZQBpbmFkbGFtAHNrAGx0AGlubWFuZGFpYwBpbmNvbW1vbmluZGljbnVtYmVyZm9ybXMAaW5jamtjb21wYXRpYmlsaXR5aWRlb2dyYXBoc3N1cHBsZW1lbnQAc28AaWRjAGlub2xkc291dGhhcmFiaWFuAHBhbG0AaW5seWNpYW4AaW50b3RvAGlkc2JpbmFyeW9wZXJhdG9yAGlua2FuYXN1cHBsZW1lbnQAaW5jamtzdHJva2VzAHNvcmEAYmFtdW0AaW5vcHRpY2FsY2hhcmFjdGVycmVjb2duaXRpb24AaW5kb21pbm90aWxlcwBiYXRrAGdyZXh0AGJhdGFrAHBhdHdzAGlubWFsYXlhbGFtAGlubW9kaWZpZXJ0b25lbGV0dGVycwBpbnNtYWxsa2FuYWV4dGVuc2lvbgBiYXNzAGlkcwBwcmludABpbmxpbmVhcmJpZGVvZ3JhbXMAaW50YWl0aGFtAGlubXVzaWNhbHN5bWJvbHMAaW56bmFtZW5ueW11c2ljYWxub3RhdGlvbgBzYW1yAGluc3lsb3RpbmFncmkAaW5uZXdhAHNhbWFyaXRhbgBzAGpvaW5jAGluY29udHJvbHBpY3R1cmVzAGxpc3UAcGF1YwBpbm1pc2NlbGxhbmVvdXNzeW1ib2xzAGluYW5jaWVudGdyZWVrbXVzaWNhbG5vdGF0aW9uAGlubWlzY2VsbGFuZW91c3N5bWJvbHNhbmRhcnJvd3MAc20AaW5taXNjZWxsYW5lb3Vzc3ltYm9sc2FuZHBpY3RvZ3JhcGhzAGludWdhcml0aWMAcGQAaXRhbABhbG51bQB6aW5oAGlud2FyYW5nY2l0aQBpbmxhdGluZXh0ZW5kZWRhAGluc2F1cmFzaHRyYQBpbnRhaWxlAGlub2xkdHVya2ljAGlkY29udGludWUAaW5oYW5pZmlyb2hpbmd5YQBzYwBpZHN0AGlubGF0aW5leHRlbmRlZGUAbG93ZXIAYmFsaQBpbmhpcmFnYW5hAGluY2F1Y2FzaWFuYWxiYW5pYW4AaW5kZXNlcmV0AGJsYW5rAGluc3BhY2luZ21vZGlmaWVybGV0dGVycwBjaGVyb2tlZQBpbmx5ZGlhbgBwaG9lbmljaWFuAGNoZXIAYmVuZ2FsaQBtYXJjaGVuAGlud2FuY2hvAGdyYXBoZW1lbGluawBiYWxpbmVzZQBpZHN0YXJ0AGludGFtaWwAaW5tdWx0YW5pAGNoYW0AY2hha21hAGthaXRoaQBpbm1haGFqYW5pAGdyYXBoZW1lYmFzZQBpbm9naGFtAGNhc2VkAGlubWVldGVpbWF5ZWtleHRlbnNpb25zAGtob2praQBpbmFuY2llbnRncmVla251bWJlcnMAcnVucgBraGFyAG1hbmljaGFlYW4AbG93ZXJjYXNlAGNhbmFkaWFuYWJvcmlnaW5hbABpbm9sY2hpa2kAcGxyZABpbmV0aGlvcGljAHNpbmQAY3djbQBpbmVhcmx5ZHluYXN0aWNjdW5laWZvcm0AbGwAemwAaW5zaW5oYWxhAGlua2h1ZGF3YWRpAHhpZHN0YXJ0AHhkaWdpdABiaWRpYwBjaG9yYXNtaWFuAGluc2lkZGhhbQBpbmNvdW50aW5ncm9kbnVtZXJhbHMAYWhvbQBjaHJzAGtobXIAaW5vbGR1eWdodXIAaW5ncmFudGhhAGJhbXUAaW5zY3JpcHRpb25hbHBhaGxhdmkAZ29uZwBtb25nAGlubGF0aW5leHRlbmRlZGMAaW5uZXd0YWlsdWUAYWRsbQBpbm9zYWdlAGluZ2VuZXJhbHB1bmN0dWF0aW9uAGdlb3JnaWFuAGtoYXJvc2h0aGkAc2luaGFsYQBraG1lcgBzdGVybQBjYXNlZGxldHRlcgBtdWx0YW5pAGd1bmphbGFnb25kaQBtYXRoAGluY3lyaWxsaWNzdXBwbGVtZW50AGluZ2VvcmdpYW4AZ290aABpbmNoZXJva2Vlc3VwcGxlbWVudABnbGFnb2xpdGljAHF1b3RhdGlvbm1hcmsAdWlkZW8AaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmEAam9pbmNvbnRyb2wAcnVuaWMAaW5tb25nb2xpYW4AZW1vamkAaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmUAZ3JhbnRoYQBpbnRpcmh1dGEAaW5oYXRyYW4AYWRsYW0AbHUAaW5raGl0YW5zbWFsbHNjcmlwdABrdGhpAGluZ3VybXVraGkAc3VuZGFuZXNlAGlub2xkaHVuZ2FyaWFuAHRha3JpAGludGFtaWxzdXBwbGVtZW50AG9yaXlhAGludmFpAGJyYWgAaW5taXNjZWxsYW5lb3VzdGVjaG5pY2FsAHZhaQB2YWlpAHNhdXIAZ3VydQB0YWlsZQBpbmhlcml0ZWQAcGF1Y2luaGF1AHphbmIAcHVuY3QAbGluYgBndXJtdWtoaQB0YWtyAGlubmFiYXRhZWFuAGlua2FuYnVuAGxvZ2ljYWxvcmRlcmV4Y2VwdGlvbgBpbmJoYWlrc3VraQBpbmNqa3VuaWZpZWRpZGVvZ3JhcGhzZXh0ZW5zaW9uYwBncmFwaGVtZWV4dGVuZABpbmVsYmFzYW4AaW5zb3Jhc29tcGVuZwBoYW4AaGFuaQBsaW1idQB1bmFzc2lnbmVkAHJhZGljYWwAaGFubwBsb3dlcmNhc2VsZXR0ZXIAY250cmwAaW5jamt1bmlmaWVkaWRlb2dyYXBocwBsaW5lYXJiAGluYW5hdG9saWFuaGllcm9nbHlwaHMAaGFudW5vbwBpbmtob2praQBpbmxhdGluZXh0ZW5kZWRhZGRpdGlvbmFsAGluZW5jbG9zZWRhbHBoYW51bWVyaWNzAGFuYXRvbGlhbmhpZXJvZ2x5cGhzAG4AZW1vamltb2RpZmllcgBzZABoaXJhAHNpZGQAbGltYgBiaGtzAHBobGkAbmFuZGluYWdhcmkAbm8Ac2F1cmFzaHRyYQBpbnRhbmdzYQBjd3QAYmhhaWtzdWtpAGluZ3JlZWthbmRjb3B0aWMAbmtvAG5rb28AdGVybQBvc2FnZQB4cGVvAHRuc2EAdGFuZ3NhAGlua2F5YWhsaQBwAGlub3JpeWEAaW55ZXppZGkAaW5hcmFiaWMAaW5waG9lbmljaWFuAGluc2hhdmlhbgBiaWRpY29udHJvbABpbmVuY2xvc2VkaWRlb2dyYXBoaWNzdXBwbGVtZW50AHdhcmEAbXVsdABpbm1lcm9pdGljaGllcm9nbHlwaHMAc2luaABzaGF2aWFuAGlua2FuZ3hpcmFkaWNhbHMAZW5jbG9zaW5nbWFyawBhcmFiAGluc2luaGFsYWFyY2hhaWNudW1iZXJzAGJyYWlsbGUAaW5oYW51bm9vAG9zbWEAYmVuZwBpbmJhc2ljbGF0aW4AaW5hcmFiaWNwcmVzZW50YXRpb25mb3Jtc2EAY3BtbgByZWdpb25hbGluZGljYXRvcgBpbmVuY2xvc2VkYWxwaGFudW1lcmljc3VwcGxlbWVudABlbW9qaW1vZGlmaWVyYmFzZQBpbmdyZWVrZXh0ZW5kZWQAbGVwYwBpbmRvZ3JhAGZvcm1hdABseWNpAGx5Y2lhbgBkaWEAaW5waGFpc3Rvc2Rpc2MAZGkAZGlhawB1bmtub3duAGdyYmFzZQBteW1yAG15YW5tYXIAaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmQAZW1vZABpbmdlb21ldHJpY3NoYXBlcwBpbmN5cHJvbWlub2FuAGluc3VuZGFuZXNlc3VwcGxlbWVudAB0b3RvAGdsYWcAdGFpdmlldABhc2NpaWhleGRpZ2l0AG9kaQBwdW5jdHVhdGlvbgB2cwBzdW5kAGluc295b21ibwBpbmltcGVyaWFsYXJhbWFpYwBpbmJhdGFrAGlubGF0aW5leHRlbmRlZGQAaW5udXNodQBpbnRpYmV0YW4AaW5sb3dzdXJyb2dhdGVzAGhhdHJhbgBpbmJsb2NrZWxlbWVudHMAaW5zb2dkaWFuAGluZGluZ2JhdHMAaW5lbHltYWljAGluZGV2YW5hZ2FyaQBlbW9qaWNvbXBvbmVudABpbmthdGFrYW5hcGhvbmV0aWNleHRlbnNpb25zAGlkZW9ncmFwaGljAGNvcHRpYwBpbm51bWJlcmZvcm1zAGhhdHIAaW5jamtjb21wYXRpYmlsaXR5AGlua2FuYWV4dGVuZGVkYgBwYXR0ZXJuc3ludGF4AGF2ZXN0YW4AaW5hcmFiaWNleHRlbmRlZGEAc29nZGlhbgBzb2dvAGludGFuZ3V0AGNvcHQAZ3JhcGgAb2lkYwBpbmJ5emFudGluZW11c2ljYWxzeW1ib2xzAGluaW5zY3JpcHRpb25hbHBhcnRoaWFuAGRpYWNyaXRpYwBpbmluc2NyaXB0aW9uYWxwYWhsYXZpAGlubWF5YW5udW1lcmFscwBpbm15YW5tYXJleHRlbmRlZGIAaW50YWdzAGphdmEAY3BydABuYW5kAHBhdHN5bgB0YWxlAG9pZHMAc2VudGVuY2V0ZXJtaW5hbABpbXBlcmlhbGFyYW1haWMAdGVybWluYWxwdW5jdHVhdGlvbgBseWRpAGx5ZGlhbgBib3BvAGphdmFuZXNlAGN3bABpbmdlb21ldHJpY3NoYXBlc2V4dGVuZGVkAGlub2xkcGVyc2lhbgBpbm9ybmFtZW50YWxkaW5nYmF0cwBpbmJyYWlsbGVwYXR0ZXJucwBpbnZhcmlhdGlvbnNlbGVjdG9ycwBjYXNlaWdub3JhYmxlAGlueWlyYWRpY2FscwBpbm5vYmxvY2sAaW52ZXJ0aWNhbGZvcm1zAGluZXRoaW9waWNzdXBwbGVtZW50AHNoYXJhZGEAaW5iYWxpbmVzZQBpbnZlZGljZXh0ZW5zaW9ucwB3b3JkAGlubWlzY2VsbGFuZW91c21hdGhlbWF0aWNhbHN5bWJvbHNiAHRhbWwAb2xjawBpZHNiAG9sb3dlcgBkZWNpbWFsbnVtYmVyAGF2c3QAaW5jeXJpbGxpY2V4dGVuZGVkYQBvbGNoaWtpAHNocmQAaW50YWl4dWFuamluZ3N5bWJvbHMAaW50YWl2aWV0AHVnYXIAaW5jamtzeW1ib2xzYW5kcHVuY3R1YXRpb24AYm9wb21vZm8AaW5saXN1AGlub2xkcGVybWljAHNpZGRoYW0AemFuYWJhemFyc3F1YXJlAGFzc2lnbmVkAG1lZGYAY2xvc2VwdW5jdHVhdGlvbgBzYXJiAHNvcmFzb21wZW5nAGludmFyaWF0aW9uc2VsZWN0b3Jzc3VwcGxlbWVudABpbmhhbmd1bGphbW8AbWVkZWZhaWRyaW4AcGhhZwBpbmxpc3VzdXBwbGVtZW50AGluY29wdGljAGluc3lyaWFjc3VwcGxlbWVudABpbmhhbmd1bGphbW9leHRlbmRlZGEAY3lybABpbnNob3J0aGFuZGZvcm1hdGNvbnRyb2xzAGluY3lyaWxsaWNleHRlbmRlZGMAZ3VqcgBjd3UAZ3VqYXJhdGkAc3BhY2luZ21hcmsAYWxwaGEAbWx5bQBpbnBhbG15cmVuZQBtYWxheWFsYW0Ac3BhY2UAaW5sZXBjaGEAcGFsbXlyZW5lAHNveW8AbWVyb2l0aWNoaWVyb2dseXBocwB4c3V4AGludGVsdWd1AGluZGV2YW5hZ2FyaWV4dGVuZGVkAGlubWVyb2l0aWNjdXJzaXZlAGRzcnQAdGhhYQB0aGFhbmEAYnVnaQB0aGFpAHNvZ2QAdGl0bGVjYXNlbGV0dGVyAGlubWF0aGVtYXRpY2FsYWxwaGFudW1lcmljc3ltYm9scwBvcmtoAGNhdWNhc2lhbmFsYmFuaWFuAGluYmFtdW0AZGVzZXJldABpbmdlb3JnaWFuc3VwcGxlbWVudABidWdpbmVzZQBzZXBhcmF0b3IAaW5zbWFsbGZvcm12YXJpYW50cwB0aXJoAGluYnJhaG1pAG5kAHBobngAbmV3YQBpbmNvbWJpbmluZ2RpYWNyaXRpY2FsbWFya3MAbWFoagBpbmNvbWJpbmluZ2RpYWNyaXRpY2FsbWFya3Nmb3JzeW1ib2xzAG9sZHBlcnNpYW4AbWFoYWphbmkAdGFpdGhhbQBuZXd0YWlsdWUAbmV3bGluZQBzeXJjAGlubW9uZ29saWFuc3VwcGxlbWVudABpbnVuaWZpZWRjYW5hZGlhbmFib3JpZ2luYWxzeWxsYWJpY3NleHRlbmRlZGEAc2hhdwBidWhkAHZpdGhrdXFpAG51bWJlcgBpbnN1dHRvbnNpZ253cml0aW5nAHZhcmlhdGlvbnNlbGVjdG9yAGV0aGkAbGVwY2hhAHRpcmh1dGEAcm9oZwBhaGV4AGluY29wdGljZXBhY3RudW1iZXJzAHdhbmNobwBpbmNqa3VuaWZpZWRpZGVvZ3JhcGhzZXh0ZW5zaW9uZwBraG9qAGN1bmVpZm9ybQBpbmR1cGxveWFuAHVnYXJpdGljAGluc3ltYm9sc2FuZHBpY3RvZ3JhcGhzZXh0ZW5kZWRhAG9sZHBlcm1pYwBpbmNvbWJpbmluZ2RpYWNyaXRpY2FsbWFya3NzdXBwbGVtZW50AGtodWRhd2FkaQB0YW5nAHN5cmlhYwB0YWdiYW53YQBtb2RpZmllcmxldHRlcgBpbmN1cnJlbmN5c3ltYm9scwBpbm55aWFrZW5ncHVhY2h1ZWhtb25nAHRhbWlsAHRhbHUAaW5nb3RoaWMAaW51bmlmaWVkY2FuYWRpYW5hYm9yaWdpbmFsc3lsbGFiaWNzAHdjaG8AaW5jb21iaW5pbmdkaWFjcml0aWNhbG1hcmtzZXh0ZW5kZWQAb2dhbQB0ZWx1AGlkc3RyaW5hcnlvcGVyYXRvcgBpbmJlbmdhbGkAbmwAc3Vycm9nYXRlAGViYXNlAGhhbmcAaW5idWdpbmVzZQBtYXRoc3ltYm9sAGludml0aGt1cWkAdml0aABpbmNqa3JhZGljYWxzc3VwcGxlbWVudABpbmd1amFyYXRpAGluZ2xhZ29saXRpYwBpbmd1bmphbGFnb25kaQBwaGFnc3BhAGN3Y2YAbmNoYXIAb3RoZXJpZGNvbnRpbnVlAHdoaXRlc3BhY2UAaW5saW5lYXJic3lsbGFiYXJ5AHNnbncAb3RoZXIAaGlyYWdhbmEAaW5waGFnc3BhAG90aGVybnVtYmVyAGlucmVqYW5nAG9zZ2UAaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmIAaW50YWdhbG9nAGluYmFzc2F2YWgAdGFuZ3V0AGhtbmcAaW5lbmNsb3NlZGNqa2xldHRlcnNhbmRtb250aHMAY3VycmVuY3lzeW1ib2wAaW5saW1idQBpbmJ1aGlkAGluZXRoaW9waWNleHRlbmRlZGEAc3lsbwBkYXNoAHdhcmFuZ2NpdGkAb2FscGhhAG9sZGl0YWxpYwBpbm90dG9tYW5zaXlhcW51bWJlcnMAc3BhY2VzZXBhcmF0b3IAaW5sYXRpbjFzdXBwbGVtZW50AG90aGVyYWxwaGFiZXRpYwBjaGFuZ2Vzd2hlbmNhc2VtYXBwZWQAaW5hZWdlYW5udW1iZXJzAGludW5pZmllZGNhbmFkaWFuYWJvcmlnaW5hbHN5bGxhYmljc2V4dGVuZGVkAGJ1aGlkAGluamF2YW5lc2UAY3lyaWxsaWMAZG9ncmEAbm9uY2hhcmFjdGVyY29kZXBvaW50AGluaGFuZ3Vsc3lsbGFibGVzAGJhc3NhdmFoAGlubGV0dGVybGlrZXN5bWJvbHMAaW5jb21iaW5pbmdoYWxmbWFya3MAaW5hcmFiaWNtYXRoZW1hdGljYWxhbHBoYWJldGljc3ltYm9scwBvcnlhAGlucHJpdmF0ZXVzZWFyZWEAY2hhbmdlc3doZW50aXRsZWNhc2VkAGRvZ3IAaGVicgBpbnRhZ2JhbndhAGludGlmaW5hZ2gAaW5ib3BvbW9mbwBuYXJiAHJqbmcAaW5hbHBoYWJldGljcHJlc2VudGF0aW9uZm9ybXMAaW5jamt1bmlmaWVkaWRlb2dyYXBoc2V4dGVuc2lvbmYAaW5zeW1ib2xzZm9ybGVnYWN5Y29tcHV0aW5nAG9sZGh1bmdhcmlhbgBmaW5hbHB1bmN0dWF0aW9uAGlucGF1Y2luaGF1AGlucHNhbHRlcnBhaGxhdmkAenAAcGhscABpbmFyYWJpY3ByZXNlbnRhdGlvbmZvcm1zYgBub25zcGFjaW5nbWFyawBkZXZhAHRhdnQAaG1ucABkZXZhbmFnYXJpAGtoaXRhbnNtYWxsc2NyaXB0AGtheWFobGkAaW5iYW11bXN1cHBsZW1lbnQAc3lsb3RpbmFncmkAdGlidABlcHJlcwB0aWJldGFuAGVsYmEAb3NtYW55YQBpbmRpdmVzYWt1cnUAb2xkdHVya2ljAGNoYW5nZXN3aGVubG93ZXJjYXNlZABjeXByb21pbm9hbgBpbmV0aGlvcGljZXh0ZW5kZWQAZW1vamlwcmVzZW50YXRpb24AYW55AG90aGVybG93ZXJjYXNlAG91Z3IAaW5oZWJyZXcAc29mdGRvdHRlZABpbm1hdGhlbWF0aWNhbG9wZXJhdG9ycwBpbmFsY2hlbWljYWxzeW1ib2xzAGlubWFoam9uZ3RpbGVzAGhhbmd1bABleHQAb21hdGgAaW50YW5ndXRjb21wb25lbnRzAG90aGVybGV0dGVyAG5iYXQAbmFiYXRhZWFuAG5zaHUAcGFyYWdyYXBoc2VwYXJhdG9yAGluYXJhYmljZXh0ZW5kZWRiAGlubGF0aW5leHRlbmRlZGcAY2hhbmdlc3doZW51cHBlcmNhc2VkAGh1bmcAaW5wbGF5aW5nY2FyZHMAaW5hcmFiaWNzdXBwbGVtZW50AGlueWlqaW5naGV4YWdyYW1zeW1ib2xzAGlucGhvbmV0aWNleHRlbnNpb25zAG90aGVydXBwZXJjYXNlAG90aGVyaWRzdGFydABlbGJhc2FuAGVseW0AY2YAaW5pbmRpY3NpeWFxbnVtYmVycwBvdGhlcnN5bWJvbABleHRlbmRlcgBleHRwaWN0AHdzcGFjZQBwZgBlbHltYWljAGludGFuZ3V0c3VwcGxlbWVudABjeXByaW90AHN5bWJvbABpbmN5cmlsbGljZXh0ZW5kZWRiAGluc3VwZXJzY3JpcHRzYW5kc3Vic2NyaXB0cwBpbnlpc3lsbGFibGVzAGlucGhvbmV0aWNleHRlbnNpb25zc3VwcGxlbWVudABvbGRzb2dkaWFuAGluZ2VvcmdpYW5leHRlbmRlZABobHV3AGRpZ2l0AGluaGFuZ3VsamFtb2V4dGVuZGVkYgBpbmhpZ2hwcml2YXRldXNlc3Vycm9nYXRlcwBpbnBhaGF3aGhtb25nAG9naGFtAGluc3VwcGxlbWVudGFsYXJyb3dzYQBvdXBwZXIAYWdoYgBvdGhlcm1hdGgAbnVzaHUAc295b21ibwBpbmxhdGluZXh0ZW5kZWRiAGFscGhhYmV0aWMAaW5zdXBwbGVtZW50YWxhcnJvd3NjAGluc3VwcGxlbWVudGFsbWF0aGVtYXRpY2Fsb3BlcmF0b3JzAG90aGVyZGVmYXVsdGlnbm9yYWJsZWNvZGVwb2ludABkZXByZWNhdGVkAG9sZG5vcnRoYXJhYmlhbgBpbmN5cHJpb3RzeWxsYWJhcnkAZXh0ZW5kZWRwaWN0b2dyYXBoaWMAdW5pZmllZGlkZW9ncmFwaABwYWhhd2hobW9uZwBkaXZlc2FrdXJ1AHNpZ253cml0aW5nAHRhZ2IAdGlmaW5hZ2gAdXBwZXIAaW5oYWxmd2lkdGhhbmRmdWxsd2lkdGhmb3JtcwB1cHBlcmNhc2UAZXRoaW9waWMAbW9kaWZpZXJzeW1ib2wAb3RoZXJwdW5jdHVhdGlvbgByZWphbmcAaW5ldGhpb3BpY2V4dGVuZGVkYgB0Zm5nAGhleABpbnN1cHBsZW1lbnRhbHB1bmN0dWF0aW9uAHRnbGcAaW5sYXRpbmV4dGVuZGVkZgB0YWdhbG9nAGhhbmlmaXJvaGluZ3lhAGVjb21wAGluZ2xhZ29saXRpY3N1cHBsZW1lbnQAaGV4ZGlnaXQAY2hhbmdlc3doZW5jYXNlZm9sZGVkAGRhc2hwdW5jdHVhdGlvbgBvbGRzb3V0aGFyYWJpYW4AZHVwbABpbmVneXB0aWFuaGllcm9nbHlwaHMAdGVsdWd1AHVwcGVyY2FzZWxldHRlcgBpbmVneXB0aWFuaGllcm9nbHlwaGZvcm1hdGNvbnRyb2xzAGh5cGhlbgBoZWJyZXcAaW5oaWdoc3Vycm9nYXRlcwB6eXl5AG9ncmV4dABvdGhlcmdyYXBoZW1lZXh0ZW5kAGRlcABpbnN1cHBsZW1lbnRhbGFycm93c2IAZGVmYXVsdGlnbm9yYWJsZWNvZGVwb2ludABpbmhhbmd1bGNvbXBhdGliaWxpdHlqYW1vAG9sZHV5Z2h1cgBpbnN1cHBsZW1lbnRhcnlwcml2YXRldXNlYXJlYWEAaW5ib3BvbW9mb2V4dGVuZGVkAGluc3VwcGxlbWVudGFsc3ltYm9sc2FuZHBpY3RvZ3JhcGhzAG55aWFrZW5ncHVhY2h1ZWhtb25nAG9wZW5wdW5jdHVh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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7KBQnJiUOBSQUBxkiHSAQOx87OwIBOxkPOw47Oxw7Ajs7Ows7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Oxg7Fjs7Czs7Ozs7BzsAOzsQOwE7OxA7OzsPOzs7Bjs7OzsAOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwYDDg4ODg4OAQ4ODg4ODg4ODg4ADg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgAODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgQODgUODgQODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgoODg4ODgkOAQ4ODg4ODg4ODg4OAA4ODggODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg44ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4OAADChk4OB4AODgAFDg4OA84OBQ4HjgAADg4ODg4ODg4Dzg4ODg4GTgKODg4OAU4ADgAOAU4OBQ4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODgAAwoZODgeADg4ABQ4ODgPODgUOB44AAA4ODg4ODg4OA84ODg4OBk4Cjg4ODgFOAA4ADgFODgUODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4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AGwHAQBKbgEAzw8BABYBAADMAAEA2iwAAD8LAQDaBAAAwwQBANoeAACECAEA2h8AAF8JAQC8JAAA1AkBAJoDAAAKAwEAxBAAAMMLAQDaAAAAmQABABQEAQCnDQEAFCwAAEwKAQAUBAAAjQMBABQeAABpBwEAuiQAAM4JAQAUAQAAyQABAP///////wAAwhAAAL0LAQCOAwAARwMBABoEAQC5DQEAGiwAAF4KAQAaBAAAoAMBABoeAAByBwEAGh8AANsIAQAaAQAA0gABAP///////wAAtiQAAMIJAQD///////8AAP///////wAAigMAAOYCAQAYBAEAsw0BABgsAABYCgEAGAQAAJoDAQAYHgAAbwcBABgfAADVCAEAGAEAAM8AAQAOBAEAlQ0BAA4sAAA6CgEADgQAABEEAQAOHgAAYAcBAA4fAADPCAEADgEAAMAAAQAC6QEAFxABAP///////wAAxyQAAPUJAQAMBAEAjw0BAAwsAAA0CgEADAQAAAsEAQAMHgAAXQcBAAwfAADJCAEADAEAAL0AAQAIBAEAgw0BAAgsAAAoCgEACAQAAP8DAQAIHgAAVwcBAAgfAAC9CAEACAEAALcAAQAGBAEAfQ0BAAYsAAAiCgEABgQAAPkDAQAGHgAAVAcBAP///////wAABgEAALQAAQD///////8AAAIFAAD/BAEABAQBAHcNAQAELAAAHAoBAAQEAADzAwEABB4AAFEHAQD///////8AAAQBAACxAAEAAAQBAGsNAQAALAAAEAoBAAAEAADnAwEAAB4AAEsHAQD///////8AAAABAACrAAEA////////AAB1BQEAXg4BAJQFAQCyDgEAKiwAAI4KAQAqBAAA1AMBACoeAACKBwEAKh8AAO0IAQAqAQAA6gABACqnAABLDAEAwgMAACYDAQAmBAEA3Q0BACYsAACCCgEAJgQAAMgDAQAmHgAAhAcBALcEAQD4DQEAJgEAAOQAAQAmpwAARQwBAJ4DAAAYAwEAtx8AAAoAAwC3AQAAwgIBAJIFAQCvDgEAt6sAABUHAQD///////8AALccAAArBgEAewEAAFwBAQB7pwAAtAwBAHurAABhBgEAjAMAAEQDAQAuLAAAmgoBAC4EAADhAwEALh4AAJAHAQAuHwAA+QgBAC4BAADwAAEALqcAAFEMAQCPHwAApAACAI8BAABxAgEA////////AACPqwAAnQYBAAL7AAAMAAIAiAMAAOACAQCPDAEA5Q4BAP///////wAALCwAAJQKAQAsBAAA2wMBACweAACNBwEALB8AAPMIAQAsAQAA7QABACynAABODAEAKCwAAIgKAQAoBAAAzgMBACgeAACHBwEAKB8AAOcIAQAoAQAA5wABACinAABIDAEA////////AAD///////8AAIYFAQCODgEAJAQBANcNAQAkLAAAfAoBACQEAADCAwEAJB4AAIEHAQBHBQAAhgUBACQBAADhAAEAJKcAAEIMAQAiBAEA0Q0BACIsAAB2CgEAIgQAALoDAQAiHgAAfgcBADP/AABTDQEAIgEAAN4AAQAipwAAPwwBANoDAABTAwEAwAQBABMOAQDALAAAGAsBAMAEAACxBAEAwB4AAF0IAQAx/wAATQ0BADsCAABBAgEAwKcAAAINAQCzBAEA7A0BAMAAAABNAAEA////////AAAqIQAAGwABALMfAAA+AAIAswEAAJIBAQCzpwAAGg0BALOrAAAJBwEA////////AACzHAAAHwYBAP///////wAAJiEAADoDAQA1BQAAUAUBALcQAACcCwEAsQQBAOYNAQD///////8AALcYAQCWDwEASgIAAFMCAQCOBQEAow4BALEBAAC5AgEAsacAALACAQCxqwAAAwcBAP///////wAAsRwAABkGAQCxDAEASw8BADwFAABlBQEA////////AAAcAgAAIAIBAE4eAADABwEAigUBAJoOAQBOAQAAGgEBAE6nAAB+DAEAqx8AAOAAAgBOAAAAJQABAKunAAB3AgEAq6sAAPEGAQAWAgAAFwIBAKscAAAHBgEAqwwBADkPAQCXHgAAIgACAJcfAADMAAIAlwEAAIkCAQBOpgAA5QsBAJerAAC1BgEAggUBAIIOAQCXHAAAywUBAJcMAQD9DgEA////////AABObgEA2w8BAHEFAQBSDgEAFAIAABQCAQDEJAAA7AkBAH4sAABEAgEAfgQAAEUEAQB+HgAACQgBACr/AAA4DQEAgAUBAHwOAQB+pwAAtwwBAH6rAABqBgEAGgIAAB0CAQDCJAAA5gkBAKkfAADWAAIAqQEAAK0CAQAm/wAALA0BAKmrAADrBgEAjQUBAKAOAQCpHAAAAQYBAKkMAQAzDwEA////////AAD///////8AABgCAAAaAgEAwBAAALcLAQAgBAEAyw0BACAsAABwCgEAIAQAALMDAQAgHgAAewcBAA4CAAALAgEAIAEAANsAAQCzEAAAkAsBAP///////wAALv8AAEQNAQCzGAEAig8BAP///////wAAkR8AAK4AAgCRAQAAcQEBAAwCAAAIAgEAkasAAKMGAQD///////8AAJEcAAC5BQEAkQwBAOsOAQD///////8AAAgCAAACAgEAsRAAAIoLAQDVAQAAuQEBACz/AAA+DQEAsRgBAIQPAQDVAAAAjQABAAYCAAD/AQEAjwMAAEoDAQD///////8AACj/AAAyDQEA1CwAADYLAQDUBAAAugQBANQeAAB7CAEAjAUBAJ0OAQAEAgAA/AEBAKsQAAB4CwEAOwUAAGIFAQDUAAAAigABAKsYAQByDwEAJP8AACYNAQAAAgAA9gEBAP///////wAA////////AAAc6QEAZRABAP///////wAAiAUBAJQOAQAi/wAAIA0BAP///////wAAKgIAADICAQD///////8AAP4EAAD5BAEA/h4AALoIAQAW6QEAUxABAP4BAADzAQEA////////AABKBQAAjwUBACYCAAAsAgEAHgQBAMUNAQAeLAAAagoBAB4EAACsAwEAHh4AAHgHAQD///////8AAB4BAADYAAEA////////AACpEAAAcgsBABwFAAAmBQEAFOkBAE0QAQCpGAEAbA8BANIEAQBJDgEA0iwAADMLAQDSBAAAtwQBANIeAAB4CAEA0h8AABQAAwAuAgAAOAIBABYFAAAdBQEAGukBAF8QAQDSAAAAhAABAKcfAAD0AAIApwEAAIkBAQD///////8AAKerAADlBgEA////////AACnHAAA+wUBAKcMAQAtDwEA////////AAD///////8AABjpAQBZEAEALAIAADUCAQAUBQAAGgUBAHwEAABCBAEAfB4AAAYIAQAzBQAASgUBAA7pAQA7EAEAKAIAAC8CAQB8qwAAZAYBAEgeAAC3BwEASB8AABcJAQAaBQAAIwUBAEinAAB1DAEAMQUAAEQFAQBIAAAAFQABAAzpAQA1EAEAaywAAK8KAQAkAgAAKQIBAKsDAABBAwEAax8AAD4JAQD///////8AAAjpAQApEAEAGAUAACAFAQBIpgAA2wsBACICAAAmAgEA////////AACXAwAA/QIBAAbpAQAjEAEADgUAABEFAQBIbgEAyQ8BAP///////wAAVh4AAMwHAQBWHwAAPgADAFYBAAAmAQEAVqcAAIoMAQAE6QEAHRABAFYAAAA+AAEADAUAAA4FAQD///////8AABb7AAB9AAIA////////AAAA6QEAERABAP///////wAACAUAAAgFAQD///////8AAFamAADxCwEA////////AACpAwAAOgMBAP///////wAABgUAAAUFAQD///////8AAFZuAQDzDwEA////////AAAU+wAAbQACAP///////wAAtyQAAMUJAQD///////8AAAQFAAACBQEA4iwAAEsLAQDiBAAAzwQBAOIeAACQCAEA4h8AACQAAwDiAQAAzgEBAAAFAAD8BAEATgIAAFkCAQCnEAAAbAsBAP///////wAA////////AACnGAEAZg8BAJEDAADpAgEA////////AAAqBQAAOwUBAFQeAADJBwEAVB8AADkAAwBUAQAAIwEBAFSnAACHDAEA////////AABUAAAAOAABANUDAAAwAwEAJgUAADUFAQA5HwAAAgkBADkBAAD8AAEAEgQBAKENAQASLAAARgoBABIEAACGAwEAEh4AAGYHAQBUpgAA7gsBABIBAADGAAEAEAQBAJsNAQAQLAAAQAoBABAEAACAAwEAEB4AAGMHAQBUbgEA7Q8BABABAADDAAEA////////AABrIQAAsAkBAC4FAABBBQEAjwUBAKYOAQA/HwAAFAkBAD8BAAAFAQEABvsAAB0AAgBSHgAAxgcBAFIfAAA0AAMAUgEAACABAQBSpwAAhAwBAP///////wAAUgAAADEAAQD///////8AAAT7AAAFAAMA/gMAANcCAQAsBQAAPgUBACACAAB9AQEA////////AADAJAAA4AkBAAD7AAAEAAIAUqYAAOsLAQAoBQAAOAUBAFAeAADDBwEAUB8AAFQAAgBQAQAAHQEBAFCnAACBDAEAUm4BAOcPAQBQAAAAKwABAP///////wAAygQBADEOAQDKLAAAJwsBACQFAAAyBQEAyh4AAGwIAQDKHwAAWQkBAMoBAACpAQEA////////AABQpgAA6AsBAMoAAABsAAEAIgUAAC8FAQCnAwAANAMBAPAEAADkBAEA8B4AAKUIAQBQbgEA4Q8BAPABAAAUAAIA2CwAADwLAQDYBAAAwAQBANgeAACBCAEA2B8AAH0JAQD///////8AANinAAAUDQEA////////AADYAAAAkwABANYsAAA5CwEA1gQAAL0EAQDWHgAAfggBANYfAABMAAIA////////AADWpwAAEQ0BAP///////wAA1gAAAJAAAQDIBAEAKw4BAMgsAAAkCwEAuQQBAP4NAQDIHgAAaQgBAMgfAABTCQEAyAEAAKUBAQC5HwAAegkBAP///////wAAyAAAAGYAAQC5qwAAGwcBAP///////wAAuRwAADEGAQAeAgAAIwIBAMYEAQAlDgEAxiwAACELAQD///////8AAMYeAABmCAEAxh8AAEMAAgBOBQAAmwUBAManAABIBwEAxQQBACIOAQDGAAAAYAABAMUEAACiBAEAuwQBAAQOAQC1BAEA8g0BAMUBAAChAQEAxacAAKoCAQC7HwAAUAkBAMUAAABcAAEAtQEAAJUBAQC7qwAAIQcBALWrAAAPBwEAtQAAABEDAQC1HAAAJQYBAK8fAAD0AAIArwEAAI8BAQD///////8AAK+rAAD9BgEAaSwAAKwKAQCvHAAAEwYBAK8MAQBFDwEAaR8AADgJAQB+BQEAdg4BACDpAQBxEAEA////////AAClHwAA6gACAP///////wAASAIAAFACAQClqwAA3wYBAOIDAABfAwEApRwAAPUFAQClDAEAJw8BAP///////wAAOf8AAGUNAQCjHwAA4AACAP///////wAA////////AACjqwAA2QYBAKEfAADWAAIAoxwAAO8FAQCjDAEAIQ8BAKGrAADTBgEA////////AAChHAAA6QUBAKEMAQAbDwEAIAUAACwFAQCHHwAApAACAIcBAABrAQEA////////AACHqwAAhQYBAJEFAQCsDgEAhxwAABoEAQCHDAEAzQ4BAP///////wAA////////AAByLAAAsgoBAHIEAAAzBAEAch4AAPcHAQBNHwAAJgkBAHIBAABQAQEAuRAAAKILAQByqwAARgYBAE0AAAAiAAEAuRgBAJwPAQBwLAAAYgIBAHAEAAAwBAEAcB4AAPQHAQD///////8AAHABAABNAQEA////////AABwqwAAQAYBAG4sAACbAgEAbgQAAC0EAQBuHgAA8QcBAG4fAABHCQEAbgEAAEoBAQBupwAArgwBAE1uAQDYDwEAxRAAAMYLAQAe6QEAaxABAEUBAAAOAQEAuxAAAKgLAQC1EAAAlgsBAEUAAAAMAAEAuxgBAKIPAQC1GAEAkA8BAO4EAADhBAEA7h4AAKIIAQCvEAAAhAsBAO4BAADgAQEA////////AACvGAEAfg8BAGwEAAAqBAEAbB4AAO4HAQBsHwAAQQkBAGwBAABHAQEAbKcAAKsMAQBpIQAAqgkBAEVuAQDADwEApRAAAGYLAQD///////8AAB4FAAApBQEApRgBAGAPAQASAgAAEQIBAP///////wAA8AMAAAoDAQD///////8AAGymAAASDAEAoxAAAGALAQAQAgAADgIBANgDAABQAwEAoxgBAFoPAQChEAAAWgsBAP///////wAA////////AAChGAEAVA8BAP///////wAA////////AADWAwAAHgMBAGoEAAAnBAEAah4AAOsHAQBqHwAAOwkBAGoBAABEAQEAaqcAAKgMAQBoBAAAJAQBAGgeAADoBwEAaB8AADUJAQBoAQAAQQEBAGinAAClDAEAfAUBAHAOAQD///////8AAP///////wAARh4AALQHAQD///////8AAGqmAAAPDAEARqcAAHIMAQBIBQAAiQUBAEYAAAAPAAEA////////AABopgAADAwBAGQsAACkAgEAZAQAAB4EAQBkHgAA4gcBAP///////wAAZAEAADsBAQBkpwAAnwwBAEamAADYCwEA3iwAAEULAQDeBAAAyQQBAN4eAACKCAEAbiEAALkJAQDeAQAAyAEBAEZuAQDDDwEA////////AADeAAAApQABADAeAACTBwEAZKYAAAYMAQAwAQAABQECAFYFAACzBQEAYiwAAJICAQBiBAAAGgQBAGIeAADfBwEA////////AABiAQAAOAEBAGKnAACcDAEA////////AAD///////8AAP///////wAApQMAAC0DAQD///////8AAGwhAACzCQEARB4AALEHAQD///////8AAP///////wAARKcAAG8MAQBipgAAAwwBAEQAAAAJAAEAowMAACYDAQB5AQAAWQEBAHmnAACxDAEAeasAAFsGAQChAwAAIgMBAGAsAACgCgEAYAQAABcEAQBgHgAA2wcBAESmAADVCwEAYAEAADUBAQBgpwAAmQwBAP///////wAA////////AAAS6QEARxABAERuAQC9DwEAMh4AAJYHAQD///////8AADIBAADzAAEAMqcAAFQMAQAQ6QEAQRABAGohAACtCQEAYKYAAAAMAQBUBQAArQUBAP///////wAAcgMAAM4CAQBoIQAApwkBAM0EAQA6DgEA////////AADNBAAArgQBADkFAABcBQEA////////AADNAQAArQEBAP///////wAAcAMAAMsCAQDNAAAAdQABABIFAAAXBQEAzAQBADcOAQDMLAAAKgsBAM8EAQBADgEAzB4AAG8IAQDMHwAARwACABAFAAAUBQEAZCEAAJsJAQDPAQAAsAEBAMwAAAByAAEARQMAAAUDAQDPAAAAewABAD8FAABuBQEAywQBADQOAQDKJAAA/gkBAMsEAACrBAEAUgUAAKcFAQDLHwAAXAkBAMsBAACpAQEA7gMAAHEDAQDDBAEAHA4BAMsAAABvAAEAwwQAAJ8EAQDJBAEALg4BAMMfAABHAAIAyQQAAKgEAQBiIQAAlQkBAMkfAABWCQEAwwAAAFYAAQDJpwAACw0BAL8EAQAQDgEAyQAAAGkAAQBQBQAAoQUBAFUAAAA7AAEAvQQBAAoOAQB2BAAAOQQBAHYeAAD9BwEAv6sAAC0HAQB2AQAAVgEBAL8cAAA9BgEAdqsAAFIGAQC9qwAAJwcBAP///////wAAvRwAADcGAQD///////8AAMgkAAD4CQEA////////AAC5JAAAywkBAFVuAQDwDwEAYCEAAI8JAQCfHwAAzAACAJ8BAAChAgEAwQQBABYOAQCfqwAAzQYBAMEEAACcBAEAnxwAAOMFAQCfDAEAFQ8BADIhAACMCQEAxiQAAPIJAQBFAgAAvwIBAMEAAABQAAEAnR8AAMIAAgCdAQAAngIBAP///////wAAnasAAMcGAQDFJAAA7wkBAJ0cAADdBQEAnQwBAA8PAQC7JAAA0QkBAM0QAADMCwEAmx4AANsHAQCbHwAAuAACADD/AABKDQEA////////AACbqwAAwQYBAEMBAAALAQEAmxwAANcFAQCbDAEACQ8BAEMAAAAGAAEAmR4AACoAAgCZHwAArgACAN4DAABZAwEA////////AACZqwAAuwYBAJUfAADCAAIAmRwAANEFAQCZDAEAAw8B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ANEAAACBAAEA////////AAD0AwAAAAMBABUEAQCqDQEAFSwAAE8KAQAVBAAAkQMBABMEAQCkDQEAEywAAEkKAQATBAAAigMBAOwDAABuAwEAIf8AAB0NAQAPBAEAmA0BAA8sAAA9CgEADwQAABQEAQD///////8AAA8fAADSCAEA////////AADBJAAA4wkBAFUFAACwBQEA6gMAAGsDAQD///////8AAA0EAQCSDQEADSwAADcKAQANBAAADgQBAHYFAQBhDgEADR8AAMwIAQD///////8AAOgDAABoAwEA////////AAD///////8AADb/AABcDQEACwQBAIwNAQALLAAAMQoBAAsEAAAIBAEA////////AAALHwAAxggBAP///////wAA////////AADmAwAAZQMBAAkEAQCGDQEACSwAACsKAQAJBAAAAgQBAOQDAABiAwEACR8AAMAIAQAFBAEAeg0BAAUsAAAfCgEABQQAAPYDAQADBAEAdA0BAAMsAAAZCgEAAwQAAPADAQD///////8AANwDAABWAwEA////////AAArIQAAXAABAAEEAQBuDQEAASwAABMKAQABBAAA6gMBAPwEAAD2BAEA/B4AALcIAQD8HwAAYAACAPwBAADwAQEA////////AAD///////8AAEMFAAB6BQEA+AQAAPAEAQD4HgAAsQgBAPgfAABlCQEA+AEAAOoBAQAnBAEA4A0BACcsAACFCgEAJwQAAMsDAQCVBQEAtQ4BAPYEAADtBAEA9h4AAK4IAQD2HwAAXAACAPYBAAB0AQEAegQAAD8EAQB6HgAAAwgBAEsfAAAgCQEA////////AAA+AgAApgoBAHqrAABeBgEASwAAABsAAQAfBAEAyA0BAB8sAABtCgEAHwQAALADAQCDBQEAhQ4BAP///////wAAOP8AAGINAQD///////8AADoFAABfBQEALywAAJ0KAQAvBAAA5AMBAP///////wAALx8AAPwIAQBJBQAAjAUBAP///////wAAS24BANIPAQA0/wAAVg0BAC0sAACXCgEALQQAAN4DAQD///////8AAC0fAAD2CAEAgQUBAH8OAQB/BQEAeQ4BACv/AAA7DQEAKSwAAIsKAQApBAAA0QMBAP///////wAAKR8AAOoIAQAlBAEA2g0BACUsAAB/CgEAJQQAAMUDAQAjBAEA1A0BACMsAAB5CgEAIwQAAL8DAQARBAEAng0BABEsAABDCgEAEQQAAIMDAQAHBAEAgA0BAAcsAAAlCgEABwQAAPwDAQD///////8AAP///////wAAziQAAAoKAQD///////8AAEECAABKAgEA////////AAD///////8AAPwTAAA8BwEA////////AABCBQAAdwUBAP///////wAA////////AAD///////8AAP///////wAA+BMAADAHAQD///////8AAP///////wAA0QMAAAADAQD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAh6QEAdBABAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAD4FAABrBQEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAn/wAALw0BAP///////wAA////////AAA2BQAAUwUBAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAUwUAAKoFAQD///////8AAP///////wAA////////AABABQAAcQUBAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAC//AABHDQEA////////AAD///////8AAP///////wAAeAUBAGcOAQD///////8AABfpAQBWEAEA////////AAAt/wAAQQ0BAP///////wAAdAUBAFsOAQD///////8AAP///////wAAQQUAAHQFAQD///////8AACn/AAA1DQEA////////AAD///////8AAP///////wAA////////AAAl/wAAKQ0BAP///////wAA////////AAAj/wAAIw0BAB3pAQBoEAEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAFEFAACkBQEA////////AAD///////8AAP///////wAA////////AAD///////8AADgFAABZBQEA////////AAD///////8AAP///////wAAG+kBAGIQAQD///////8AAP///////wAA////////AAD///////8AAP///////wAANAUAAE0FAQAZ6QEAXBABAP///////wAA////////AAD///////8AAE8FAACeBQEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAFekBAFAQAQD///////8AAP///////wAAE+kBAEoQAQD///////8AAP///////wAA////////AAD///////8AAA/pAQA+EAEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAF/sAAHUAAgD///////8AAP///////wAADekBADgQAQD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAL6QEAMhABAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAACekBACwQAQD///////8AAP///////wAA////////AAD///////8AAAXpAQAgEAEA////////AAD///////8AAAPpAQAaEAEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAAAekBABQQAQD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAV+wAAcQACAP///////wAA////////AAAT+wAAeQACAP///////wAA////////AAD///////8AAB/pAQBuEAEA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAB6BQEAbQ4BAP///////wAASwUAAJIFAQD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAD///////8AABHpAQBEEAEABfsAAB0AAgD///////8AAAfpAQAmEAEAA/sAAAAAAwD///////8AAP///////wAA////////AAD///////8AAP///////wAA////////AAAB+wAACAACAP//////////cgdLB9IAqwBuDYcHzwznAG4BIwX8BEgMxgxzDjgFHQL2ATAIbwSDAS8CvwLrCuQMcA7rBycERAHACBsA8wioDEwGMQBiBZUNwwiUA3cFnwCSAiIKDwxJBp4C4gceBDsB0g8MAKMKnwznD9UIUAVGBlMJQA6uCO0EgwKVCQYMEQleDtsHFwQ1AcAPAACgCpkMRAlSDkQF+A2KCMkEyAEFBH0CRQsADI4K/g2NCMwEywG0D1AASAtXBzgJtwBxDagLWgtxAcMLXQcIBb0A/QYRBF0L+QMCApoKDgWCCsICAweGCWgNCAIKDpMI0gTRAWsCXACHC6sLBA6QCM8EzgGxC1YASwuFDnsHawHbALkC8g2HCMYExQFcDSwFQgsPB4kJaQezAskACQB9DV4GCQe9CE0FGgXmDYEIwAQrBuoIFAI8CxQN9wZgBHcBFQ+9D9wK1QxVDkEJ5Ah+CL0EGw/jBacFOQsRDTkMegHrBqoCswXpBVgOcgsWDpkI2ATXAbUOaQC/DX4LwgMLAXcN5QZMClkDEA6WCNUE1AEnD2MA7wkLBFwDlAaaBpQKIQ8bB/UF9QmfC64PVwtcASMJdwLvBbQMDw+6C5UFFQcmDewNhAjDBAMA+QjdBT8LjgZHBZYLYgMFEAAIPAQDD3EJRwABCl8DrQWzCYwFtw+lANEF+wk7CfEGdQi0BFYD/Q6ZCzALDg38D4EL6QmoBGgJfQHLBb8JCw2qCWQOYwQzD6gPUAPfCtgMWw7IAtMGgAndCQEGvA2uB78DLQ88DL4GSQpsDE0DnA/fBxoEOAH7BQYA1wmcDEMO0gtKBREDGAOTAHsLaAOAApYPAwwgCScIVwQNCgkPug/TCswMIw0+CWUD9wczBFAB1wU0ALIKBwowDAoDegX0BzAETQF1Cy4A1wJvCz0O//90BesOOgaQAOoPFw2bAnkOVglTA9YOuQVvCJgJ5A///+MJKgtQCTQOqAjnBOMBkgmHAFQLUgaiDygOogjhBOABag57ACIOnwjeBN0BxwZ1ALoI+QTzAcUJqAA+AzkHHA6cCNsE2gFABm8A//+EDy0H6AckBEEBLgZ3ECcHpQxvD5UBXAXlByEEPgGmDhIAjAKiDAwMIQdWBQ0ONw4XEMwPJhBgAIoACQx6A8YH8AMgAYIGxg95CoQM7QhKCToOqwjqBOcBKAaNAGUC3w7rCxIHPAfOAv/////MB/wDJgFNECwJhQqKDMsCaw3//0UPHwZTDT8HoAZuAj8P8QuuBK0BEwb9BzkEVgHnCEEADQYyCUcDOQ+GBT0GwwfqAx0BXw13A3MKgQwHBv//sAH//8oG9g9xA3gPXwJiCegL//9uA70LpAngDcAH5AMaASoPKQltCn4MKRD//2sD0AZ9CU0N+AUiBlkC///lC9oNvQfeAxcBuA76AmcKewzUDboH2AMUAf//JQZhCngMVgJHDeILtwtMDrQI8wTtAVMCnADeCwQKtg2rB7YDXwElAOIOQwppDEENawWbBR4Dewi6BP//NRA7DTYLzwuMDZYHigPzANsPCxAZClQM6A4aCVEP+gc2BFMBuQk7AD4CHQ22Bd8GgAVKA3gItwT//9ECoQIzCwgJ//9RCJAEmAGsDvAPDAv2DK8OXAl7D/EHLQRKAZ4JKAAvEK4M///ZBm4FwgndDYgG4QMdEJgCiwZqCu4HKgRHAYEPIgDeD6sMdgb//2gFzwcCBCkB//9mBIsKjQwSDOIK2wxhDv/////YD/cOcQKMCfQLxQJEDckH9gMjAf//xQV/CocMhAf//+QAfQP/////RQxpBGUNNQXuC+UK3gxnDv//LALxDs4NtwfRAy8J/////1sKdQz//78F/AhZDdEJyA20B8sDUAL//9sLVQpyDPMDegKQD3QQfArCDbEHxQNNArEP2AtPCm8MNQloAjUNuQ0AA7oDCAHLCQUDRgrVCy4OpQjkBP//Lw2BAOwCig9KAiYJVg2PAZgNnAeXA/kAlw4pDSUKWgwdCUgH//+SDZkHkQP2ADMHIA0fClcMeg2NB8kL7QBwBncJgQdODOEAFAk+Bf//QgwGCEIEMgU1An4H///eAA4JKQKYBT8M+w3//y8F7w2kAk0AwgHpDSYC9gi/AeMNCBBpCLwBpQF0CWAIJAtiAfAItgkbCwUNRQiEBKEFAAeDCQAL9AaaDqcC/wPuBksPXQiICugGuwb//xgLAg2pBv//GQYREFoImQSeAXMGegkVC/8MpQtXCJYEmwFUCJMEEgv8DKMGDwv5DLIO//9iDeEITgiNBP//zAudBgkL8wypDsYLPwh+BIwBlwbtA/oKkQaODnYKWQHAC0oAGA+xDP//DA+PBYUGYgIGDyMQ///mBQAP0w7aBWcGSQ7BDtQF/w///5kAzgVrCdoCSwiKBFANrQn//wYL8AyjDrANqAewA7sO2wj//z0KZgznA///8gn//3AK5gmTCzoDRALgCX8GJgP//9oJXAL//6UP///pAs8Inw8zCHIEhgGZD2wP7grnDHYOWg8iAy0IbASAAUoN///oCuEMbQ7JCF0EGwMDCD8E2QrSDE8OTwZUDxUD//+SBQ4DDwiRDmUBNgxDBrsKvQz//24QqgX9Ao0LAhC5Af//rQJuCRgMQgfgAmoGsAk0BtIHCAQsATEORBCRCpAMsw2EALMDBQFpC///QAriBnQCJQ73C4YNkweDA3gAUQtHAhMK//+ADZAH///wADYHYwv2AlEMOwIXCUEFdA2KB/UN6gD//zgCKgdLDP//Agk7Bf//Rg6xCPAE6gEyApYAHw7//xMOBw62AXIATgtmAFkAAQ6zAfoG/////1MAcgixBKsEqQFsCC0LZgj6Dv//Jwv//yELJAfcBhgHDAebDcgFmgPWBtQCBgcoCk4P///jAs0GxAYgEKUEwQb//7UGHAYIDacNQg+mA/8A/////zQK//+iBKEBYwgQBgwISATUCR4LQQK4CroMuAaLDqQF//90AxIPkw///x8ArwoVDEgIhwRlBbIG4AUDC68GnQ6VAmQGPA/0DjAPJA8xBv//1Q/uDnEQHg8KBsIF/gXyBeUO3A55BrwF2Q7sBc0O//9CCIEE/////+wJ/QpQEJQO////////iQGqDaUHqQOrD38OShA3CmMM0A7OCQoK/gn//zIQbQbICUQD+AkaEEEDjQ80A8oOWAb//8cOhw8bCEsEFBD//ysOxwp+D3UP//9+AHIP//9mDzkIeAS8AjcDJAz0Cu0Mgg42CHUECQhFBP//8QrqDHwOtwwwAzAHngUtA2kPEgjdAmgB//9bBr4KwAz/////sAX//w4QVQZjDz4AtQpgDxsM8AKDBbwJDwCmCrcI9gTwAVMFogD//9gHFAQyAYYC8w+dCpYMZgdfCcYA///DD///oQn//0cJFwX9C9UHDgQvAeYCEQKXCpMMpA2iB6MD/////0gPMQpgDJ8E3gj6C54NnwedA2MHFgbDACsKXQxUBxkOtABRBxQFsQBsAP////8FBQ4CTgcCBa4ArAb/ATwIewT8Af///wT3CtgIiA5oEP//+QHSCB4H///MCCoIWgR0ASQIVATWCv//xgjQCskM//9hBv//////////FQgzDDcGRAAtDMEKwwz//4kFOADLDZALzgMRAX0FsAJYCh4M//8rAP//jw35D40DcQX//2UJHArtD///xA6nCVkJ//8YAKwK//+bCeEPXwX/////TQmKCzYPjwIyDY8JbAsLCf//ZgucBM8PBAYVAKkK/////2ALWQXFDf//yAMOASoDiQJSCmsQrQ3//6wDAgH//8kPOgr//6YGoQ0+EKAD/AD//10PLgoYCIkNOBCGA4MNxAqAAxYK//94BxAK2AAsDSwQ//+2Av//IQwpBXUH1w3VANsD//8jApIBZAr//yYFBQmgDm8H/wjPACACbAdgB8wAwABaByAFugAhCFEEHQURBRoCzQoLBXwGFwILAh4ITgQFAr4OPg3KCtENKgzUA///UxD//14K//////////8nDP////////////////////////////9fEEUH/////////////////////////////zgN////////////////////////tAv///////9XD/////////////+uC/////////////////////////////+iC////////5wLhAv/////eAv////////////////////////////////zAv//////////////////YhD/////////////Gg3//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////1wQ//////////////////////////9WEP///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////0cQ/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////2UQ/////////////////////1kQ//////////////////9BEP////87EAAAAAAAAGUA/QBMAB0AGADvAGAARwBcAEMABAA+AAgAOgDqAG0ApABYAFQAUADWAAAANgAFATIAaQB5AH0AAQEqACYA+QAuAHUADABxAPQA5QDgANsA0QAQAMwAxwDCAL0AuACzAK4AqQAUACIAnwCaAJUAkACLAIYAgQBB8IkRC+EIPgAvAB8AOQApABkANAAkABQAQwAPAAoABQAAAAAAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAMAAAADAAAAAwAAAAMA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AAAABAUAAAcFAAABAAAABgUAAAkFAAABAAAACAUAAAsFAAABAAAACgUAAA0FAAABAAAADAUAAA8FAAABAAAADgUAABEFAAABAAAAEAUAABMFAAABAAAAEgUAABUFAAABAAAAFAUAABcFAAABAAAAFgUAABkFAAABAAAAGAUAABsFAAABAAAAGgUAAB0FAAABAAAAHAUAAB8FAAABAAAAHgUAACEFAAABAAAAIAUAACMFAAABAAAAIgUAACUFAAABAAAAJAUAACcFAAABAAAAJgUAACkFAAABAAAAKAUAACsFAAABAAAAKgUAAC0FAAABAAAALAUAAC8FAAABAAAALgUAAGEFAAABAAAAMQUAAGIFAAABAAAAMgUAAGMFAAABAAAAMwUAAGQFAAABAAAANAUAAGUFAAABAAAANQUAAGYFAAABAAAANgUAAGcFAAABAAAANwUAAGgFAAABAAAAOAUAAGkFAAABAAAAOQUAAGoFAAABAAAAOgUAAGsFAAABAAAAOwUAAGwFAAABAAAAPAUAAG0FAAABAAAAPQUAAG4FAAABAAAAPgUAAG8FAAABAAAAPwUAAHAFAAABAAAAQAUAAHEFAAABAAAAQQUAAHIFAAABAAAAQgUAAHMFAAABAAAAQwUAAHQFAAABAAAARAUAAHUFAAABAAAARQUAAHYFAAABAAAARgUAAHcFAAABAAAARwUAAHgFAAABAAAASAUAAHkFAAABAAAASQUAAHoFAAABAAAASgUAAHsFAAABAAAASwUAAHwFAAABAAAATAUAAH0FAAABAAAATQUAAH4FAAABAAAATgUAAH8FAAABAAAATwUAAIAFAAABAAAAUAUAAIEFAAABAAAAUQUAAIIFAAABAAAAUgUAAIMFAAABAAAAUwUAAIQFAAABAAAAVAUAAIUFAAABAAAAVQUAAIYFAAABAAAAVgUAANAQAAABAAAAkBwAANEQAAABAAAAkRwAANIQAAABAAAAkhwAANMQAAABAAAAkxwAANQQAAABAAAAlBwAANUQAAABAAAAlRwAANYQAAABAAAAlhwAANcQAAABAAAAlxwAANgQAAABAAAAmBwAANkQAAABAAAAmRwAANoQAAABAAAAmhwAANsQAAABAAAAmxwAANwQAAABAAAAnBwAAN0QAAABAAAAnRwAAN4QAAABAAAAnhwAAN8QAAABAAAAnxwAAOAQAAABAAAAoBwAAOEQAAABAAAAoRwAAOIQAAABAAAAohwAAOMQAAABAAAAoxwAAOQQAAABAAAApBwAAOUQAAABAAAApRwAAOYQAAABAAAAphwAAOcQAAABAAAApxwAAOgQAAABAAAAqBwAAOkQAAABAAAAqRwAAOoQAAABAAAAqhwAAOsQAAABAAAAqxwAAOwQAAABAAAArBwAAO0QAAABAAAArRwAAO4QAAABAAAArhwAAO8QAAABAAAArxwAAPAQAAABAAAAsBwAAPEQAAABAAAAsRwAAPIQAAABAAAAshwAAPMQAAABAAAAsxwAAPQQAAABAAAAtBwAAPUQAAABAAAAtRwAAPYQAAABAAAAthwAAPcQAAABAAAAtxwAAPgQAAABAAAAuBwAAPkQAAABAAAAuRwAAPoQAAABAAAAuhwAAP0QAAABAAAAvRwAAP4QAAABAAAAvhwAAP8QAAABAAAAvxwAAKATAAABAAAAcKsAAKETAAABAAAAcasAAKITAAABAAAAcqsAAKMTAAABAAAAc6sAAKQTAAABAAAAdKsAAKUTAAABAAAAdasAAKYTAAABAAAAdqsAAKcTAAABAAAAd6sAAKgTAAABAAAAeKsAAKkTAAABAAAAeasAAKoTAAABAAAAeqsAAKsTAAABAAAAe6sAAKwTAAABAAAAfKsAAK0TAAABAAAAfasAAK4TAAABAAAAfqsAAK8TAAABAAAAf6sAALATAAABAAAAgKsAALETAAABAAAAgasAALITAAABAAAAgqsAALMTAAABAAAAg6sAALQTAAABAAAAhKsAALUTAAABAAAAhasAALYTAAABAAAAhqsAALcTAAABAAAAh6sAALgTAAABAAAAiKsAALkTAAABAAAAiasAALoTAAABAAAAiqsAALsTAAABAAAAi6sAALwTAAABAAAAjKsAAL0TAAABAAAAjasAAL4TAAABAAAAjqsAAL8TAAABAAAAj6sAAMATAAABAAAAkKsAAMETAAABAAAAkasAAMITAAABAAAAkqsAAMMTAAABAAAAk6sAAMQTAAABAAAAlKsAAMUTAAABAAAAlasAAMYTAAABAAAAlqsAAMcTAAABAAAAl6sAAMgTAAABAAAAmKsAAMkTAAABAAAAmasAAMoTAAABAAAAmqsAAMsTAAABAAAAm6sAAMwTAAABAAAAnKsAAM0TAAABAAAAnasAAM4TAAABAAAAnqsAAM8TAAABAAAAn6sAANATAAABAAAAoKsAANETAAABAAAAoasAANITAAABAAAAoqsAANMTAAABAAAAo6sAANQTAAABAAAApKsAANUTAAABAAAApasAANYTAAABAAAApqsAANcTAAABAAAAp6sAANgTAAABAAAAqKsAANkTAAABAAAAqasAANoTAAABAAAAqqsAANsTAAABAAAAq6sAANwTAAABAAAArKsAAN0TAAABAAAArasAAN4TAAABAAAArqsAAN8TAAABAAAAr6sAAOATAAABAAAAsKsAAOETAAABAAAAsasAAOITAAABAAAAsqsAAOMTAAABAAAAs6sAAOQTAAABAAAAtKsAAOUTAAABAAAAtasAAOYTAAABAAAAtqsAAOcTAAABAAAAt6sAAOgTAAABAAAAuKsAAOkTAAABAAAAuasAAOoTAAABAAAAuqsAAOsTAAABAAAAu6sAAOwTAAABAAAAvKsAAO0TAAABAAAAvasAAO4TAAABAAAAvqsAAO8TAAABAAAAv6sAAPATAAABAAAA+BMAAPETAAABAAAA+RMAAPITAAABAAAA+hMAAPMTAAABAAAA+xMAAPQTAAABAAAA/BMAAPUTAAABAAAA/RMAAHkdAAABAAAAfacAAH0dAAABAAAAYywAAI4dAAABAAAAxqcAAAEeAAABAAAAAB4AAAMeAAABAAAAAh4AAAUeAAABAAAABB4AAAceAAABAAAABh4AAAkeAAABAAAACB4AAAseAAABAAAACh4AAA0eAAABAAAADB4AAA8eAAABAAAADh4AABEeAAABAAAAEB4AABMeAAABAAAAEh4AABUeAAABAAAAFB4AABceAAABAAAAFh4AABkeAAABAAAAGB4AABseAAABAAAAGh4AAB0eAAABAAAAHB4AAB8eAAABAAAAHh4AACEeAAABAAAAIB4AACMeAAABAAAAIh4AACUeAAABAAAAJB4AACceAAABAAAAJh4AACkeAAABAAAAKB4AACseAAABAAAAKh4AAC0eAAABAAAALB4AAC8eAAABAAAALh4AADEeAAABAAAAMB4AADMeAAABAAAAMh4AADUeAAABAAAANB4AADceAAABAAAANh4AADkeAAABAAAAOB4AADseAAABAAAAOh4AAD0eAAAB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LAAAAQAAABMsAABELAAAAQAAABQsAABFLAAAAQAAABUsAABGLAAAAQAAABYsAABHLAAAAQAAABcsAABILAAAAQAAABgsAABJLAAAAQAAABksAABKLAAAAQAAABosAABLLAAAAQAAABssAABMLAAAAQAAABwsAABNLAAAAQAAAB0sAABOLAAAAQAAAB4sAABPLAAAAQAAAB8sAABQLAAAAQAAACAsAABRLAAAAQAAACEsAABSLAAAAQAAACIsAABTLAAAAQAAACMsAABULAAAAQAAACQsAABVLAAAAQAAACUsAABWLAAAAQAAACYsAABXLAAAAQAAACcsAABYLAAAAQAAACgsAABZLAAAAQAAACksAABaLAAAAQAAACosAABbLAAAAQAAACssAABcLAAAAQAAACwsAABdLAAAAQAAAC0sAABeLAAAAQAAAC4sAABfLAAAAQAAAC8sAABhLAAAAQAAAGAsAABlLAAAAQAAADoCAABmLAAAAQAAAD4CAABoLAAAAQAAAGcsAABqLAAAAQAAAGksAABsLAAAAQAAAGssAABzLAAAAQAAAHIsAAB2LAAAAQAAAHUsAACBLAAAAQAAAIAsAACDLAAAAQAAAIIsAACFLAAAAQAAAIQsAACHLAAAAQAAAIYsAACJLAAAAQAAAIgsAACLLAAAAQAAAIosAACNLAAAAQAAAIwsAACPLAAAAQAAAI4sAACRLAAAAQAAAJAsAACTLAAAAQAAAJIsAACVLAAAAQAAAJQsAACXLAAAAQAAAJYsAACZLAAAAQAAAJgsAACbLAAAAQAAAJosAACdLAAAAQAAAJwsAACfLAAAAQAAAJ4sAAChLAAAAQAAAKAsAACjLAAAAQAAAKIsAAClLAAAAQAAAKQsAACnLAAAAQAAAKYsAACpLAAAAQAAAKgsAACrLAAAAQAAAKosAACtLAAAAQAAAKwsAACvLAAAAQAAAK4sAACxLAAAAQAAALAsAACzLAAAAQAAALIsAAC1LAAAAQAAALQsAAC3LAAAAQAAALYsAAC5LAAAAQAAALgsAAC7LAAAAQAAALosAAC9LAAAAQAAALwsAAC/LAAAAQAAAL4sAADBLAAAAQAAAMAsAADDLAAAAQAAAMIsAADFLAAAAQAAAMQsAADHLAAAAQAAAMYsAADJLAAAAQAAAMgsAADLLAAAAQAAAMosAADN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AgAwJgIAgCYCAOAmAgD0JgIAACcCALA+AgAAUwIAoFMCAMBTAgCwVAIA0FQCAPBUAgAMVQIAIFUCAEBVAgCwVQIAcFYCAJBWAgDgVgIAAFcCADBXAgBQVwIAcFcCAMBrAgBAcAIAoHACAOBxAgAAcgIAMHICAFByAgCQcgIAsHICAECHAgBwiQIAIJkCAOC6AABgmQIAwJkCAPStAgAArgIAIK4CAHy3AgCItwIAoLcCAOC3AgAAuAIAILgCAEC4AgCAuAIA4LwCAHDCAgCcwgIAsMICANDCAgDwwgIADMMCACDDAgBAwwIA0M0CAPDNAgAwzgIAUM4CAIDOAgCgzgIA4NICAADTAgDgogAAINMCAFDTAgBw0wIAkNMCAADUAgBA1gIA4NYCAADXAgAk1wIAMNcCAEDXAgBg1wIAdNcCAIDXAgCQ1wIApNcCALDXAgC81wIAyNcCAODXAgBg2AIAgNgCAKDYAgDw3wIAUOACACDhAgBQ4QIAgOECAFDiAgCQ5gIAwOUAAMDmAgDs5gIAAOcCAPDnAgAc6AIAMOgCAHDoAgAQ6QIAgOsCANTrAgDg6wIAAOwCAGDsAgAw8gIAcPICAPD0AgAQ9QIAgPUCAJz1AgCw9QIA0PUCAPD1AgBQ/QIAcP0CAJD9AgBA/gIAvAADAMgAAwDgAAMAAAEDACABAwCQAQMAkAIDAKAEAwCACgMAhAsDAJALAwCkCwMAsAsDAMQLAwDQCwMAAAwDACAMAwBADAMAYAwDAJAMAwCwDAMA0AwDAHANAwCQDQMAwA0DADAOAwCMEQMAoBEDAMARAwAAEgMAIBIDADQSAwBAEgMAYBIDAOASAwAQ7AAApCgDALAoAwDgKAMAMCkDAFApAwCw6wAAcCkDAFBBAwDQVQMA8FUDABBWAwBUVgMAYFYDAGxWAwCAVgMAFDABALxWAwDIVgMA1FYDAOBWAwDsVgMA+FYDAARXAwAQVwMAHFcDAChXAwA0VwMAQFcDAExXAwBYVwMAZFcDAHBXAwB8VwMAiFcDAJRXAwCgVwMArFcDALhXAwDEVwMA0FcDANxXAwDoVwMA9FcDAABYAwAMWAMAGFgDACRYAwAwWAMAPFgDAEhYAwBUWAMAYFgDAGxYAwB4WAMAhFgDAJBYAwCcWAMAqFgDALRYAwDAWAMAzFgDANhYAwDkWAMA8FgDAPxYAwAIWQMAFFkDACBZAwAsWQMAOFkDAERZAwBQWQMAXFkDAGhZAwB0WQMAgFkDAIxZAwAw1wIAmFkDAKRZAwCwWQMAvFkDAMhZAwDUWQMA4FkDAOxZAwD4WQMABFoDABBaAwAcWgMAKFoDADRaAwBAWgMATFoDAFhaAwBkWgMAcFoDAHxaAwCIWgMAlFoDAKBaAwCsWgMAuFoDAMRaAwDQWgMA3FoDABxKAQDoWgMA9FoDAABbAwAMWwMAGFsDACRbAwAwWwMAPFsDAEhbAwBUWwMAYFsDAGxbAwB4WwMAhFsDAJBbAwCcWwMAqFsDALRbAwDAWwMAzFsDANhbAwDkWwMA8FsDAPxbAwAIXAMAFFwDACBcAwAsXAMAOFwDAERcAwBQXAMAXFwDAGhcAwB0XAMAgFwDAIxcAwCYXAMApFwDALBcAwC8XAMAyFwDANRcAwDgXAMA7FwDAPhcAwAEXQMAEF0DABxdAwAoXQMANF0DAEBdAwBMXQMAWF0DAGRdAwBwXQMAfF0DAIhdAwCUXQMAoF0DAKxdAwC4XQMAxF0DANBdAwDcXQMA6F0DAPRdAwAAXgMADF4DABheAwAkXgMAMF4DADxeAwBIXgMAVF4DAGBeAwBsXgMAeF4DAIReAwCQXgMAnF4DAKheAwC0XgMAwF4DAMxeAwDYXgMA5F4DAPTjAQDIAAMA8F4DAPxeAwAIXwMAFF8DACBfAwAsXwMAOF8DAERfAwBQXwMA7OYCAFxfAwBoXwMAdF8DAIBfAwAMwwIAjF8DAJhfAwCw1wIAdNcCAKRfAwCwXwMAvF8DAMhfAwDUXwMA4F8DAOxfAwD4XwMABGADABBgAwAcYAMAKGADADRgAwBAYAMATGADAFhgAwBkYAMAcGADAHxgAwCIYAMAvAADAJRgAwCgYAMArGADALhgAwDEYAMA0GADANxgAwDoYAMA9GADAABhAwAMYQMAGGEDACRhAwAwYQMAPGEDAEhhAwBUYQMAYGEDAGxhAwB4YQMAhGEDAJBhAwCcYQMAqGEDALRhAwDAYQMAzGEDANhhAwDkYQMA8GEDAPxhAwAIYgMAFGIDACBiAwAsYgMAOGIDAERiAwBQYgMAXGIDAGhiAwB0YgMAgGIDAIxiAwCYYgMApGIDALBiAwC8YgMAyGIDANRiAwDgYgMA7GIDAPhiAwAEYwMAEGMDABxjAwAoYwMANGMDAEBjAwBMYwMAWGMDAGRjAwBwYwMAfGMDAIhjAwCUYwMAoGMDAKxjAwC4YwMAxGMDANBjAwDcYwMA6GMDAPRjAwAAZAMADGQDABhkAwAkZAMAMGQDADxkAwBIZAMAVGQDAGBkAwBsZAMAeGQDAIRkAwCQZAMAnGQDAKhkAwC0ZAMAwGQDAMxkAwDYZAMA5GQDAPBkAwD8ZAMACGUDABRlAwAgZQMALGUDADhlAwBQZQMAFQAAAAsFAAABAAAAAQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAAAAAAIwAAAAUAQey9Egs9JAAAAEMFAAAEAAAAAQAAABYAAAAlAAAAJgAAACcAAAAoAAAAKQAAACoAAAArAAAALAAAAC0AAAAuAAAAIQBBtL4SCwUvAAAAHwBByL4SCwEFAEHUvhILATAAQey+EgsOMQAAADIAAABooQQAAAQAQYS/EgsBAQBBlL8SCwX/////CgBB2L8SCwPQx1Q=\"), c => c.charCodeAt(0));\n\nconst wasmBinary = binary;\nconst getWasmInstance = async (info) => {\n  return WebAssembly.instantiate(wasmBinary, info).then((wasm) => wasm.instance.exports);\n};\n\nexport { getWasmInstance as default, getWasmInstance, wasmBinary };\n","function hueAngleToColor(hueAngle, saturationMultiplier = 1, lightnessMultiplier = 1) {\n  const saturation = (0.6 + 0.4 * Math.max(0, Math.cos(hueAngle))) * saturationMultiplier;\n  const lightness = (0.5 + 0.2 * Math.max(0, Math.cos(hueAngle + Math.PI * 2 / 3))) * lightnessMultiplier;\n  return `hsl(${hueAngle * 180 / Math.PI}deg, ${Math.round(100 * saturation)}%, ${Math.round(100 * lightness)}%)`;\n}\nlet previousPatternContext;\nlet previousPatternRatio;\nlet previousPatternScale;\nlet patternCanvas;\nlet patternContext;\nlet patternScale = 1;\nlet pattern;\nfunction colorToCanvasFill(color, c, originX, originY, scale) {\n  if (!Array.isArray(color))\n    return color;\n  const ratio = window.devicePixelRatio || 1;\n  if (previousPatternContext !== c || previousPatternRatio !== ratio || previousPatternScale !== scale) {\n    const s = Math.round(64 * ratio) / 64;\n    patternScale = scale;\n    patternScale = Math.log2(patternScale);\n    patternScale -= Math.floor(patternScale);\n    const t1 = patternScale;\n    const t8 = Math.min(1, 8 * t1);\n    patternScale = 2 ** patternScale;\n    const lineWidth = 8 * Math.SQRT2 / patternScale;\n    previousPatternContext = c;\n    previousPatternRatio = ratio;\n    previousPatternScale = scale;\n    patternCanvas ||= document.createElement(\"canvas\");\n    patternContext ||= patternCanvas.getContext(\"2d\");\n    patternCanvas.width = patternCanvas.height = Math.round(64 * s);\n    patternContext.scale(s, s);\n    patternContext.fillStyle = color[0];\n    patternContext.fillRect(0, 0, 64, 64);\n    patternContext.globalAlpha = 0.25;\n    patternContext.fillStyle = color[1];\n    patternContext.fillRect(0, 0, 64, 64);\n    patternContext.globalAlpha = 0.67;\n    patternContext.strokeStyle = color[1];\n    patternContext.beginPath();\n    for (let i = 0; i <= 64; i += 16) {\n      patternContext.moveTo(i - 32, i + 32);\n      patternContext.lineTo(i + 32, i - 32);\n    }\n    patternContext.lineWidth = lineWidth * (1 - (t8 - t1) / 2);\n    patternContext.stroke();\n    if (t8 + t1 > 0) {\n      patternContext.beginPath();\n      for (let i = 8; i < 64; i += 16) {\n        patternContext.moveTo(i - 32, i + 32);\n        patternContext.lineTo(i + 32, i - 32);\n      }\n      patternContext.lineWidth = lineWidth * (t8 + t1) / 2;\n      patternContext.stroke();\n    }\n    pattern = c.createPattern(patternCanvas, \"repeat\");\n    patternScale /= s;\n  }\n  originX /= 64 * patternScale * ratio;\n  originX -= Math.floor(originX);\n  originX *= 64 * patternScale * ratio;\n  pattern.setTransform(new DOMMatrix([\n    patternScale,\n    0,\n    0,\n    patternScale,\n    originX,\n    originY\n  ]));\n  return pattern;\n}\nfunction colorToCssBackground(color) {\n  if (Array.isArray(color)) {\n    return `url('data:image/svg+xml,<svg width=\"26\" height=\"26\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"26\" height=\"26\" fill=\"${color[0]}\"/><rect width=\"26\" height=\"26\" fill=\"${color[1]}\" fill-opacity=\"25%\"/><path d=\"M22.5 -3.5L-3.5 22.5M35.5 9.5L9.5 35.5\" stroke=\"${color[1]}\" stroke-opacity=\"67%\" stroke-width=\"9.19239\"/></svg>')`;\n  }\n  return color;\n}\nfunction createColorGetterFromMap(plain) {\n  return (node) => node.id ? plain[node.id] || node.color : node.color;\n}\nfunction createColorGetterSpectrum(tree, saturationMultiplier = 1, lightnessMultiplier = 1) {\n  const colorMapping = {};\n  assignColorsByDirectory(colorMapping, tree, 0, Math.PI * 2, saturationMultiplier, lightnessMultiplier);\n  return createColorGetterFromMap(colorMapping);\n}\nfunction assignColorsByDirectory(colorMapping, node, startAngle, sweepAngle, saturationMultiplier = 1, lightnessMultiplier = 1) {\n  const totalBytes = node.size;\n  colorMapping[node.id] = hueAngleToColor(startAngle + sweepAngle / 2, saturationMultiplier, lightnessMultiplier);\n  for (const child of node.children) {\n    const childSweepAngle = child.size / totalBytes * sweepAngle;\n    assignColorsByDirectory(colorMapping, child, startAngle, childSweepAngle, saturationMultiplier, lightnessMultiplier);\n    startAngle += childSweepAngle;\n  }\n}\n\nconst urlAlphabet = \"useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict\";\nfunction randomStr(size = 16, dict = urlAlphabet) {\n  let id = \"\";\n  let i = size;\n  const len = dict.length;\n  while (i--)\n    id += dict[Math.random() * len | 0];\n  return id;\n}\n\nfunction normalizeTreeNode(node, parent, sort = (a, b) => b.size - a.size) {\n  if (node.__nanovis)\n    return node;\n  const normalized = {\n    ...node\n  };\n  normalized.id ||= randomStr();\n  normalized.parent ||= parent;\n  normalized.children ||= [];\n  if (normalized.sizeSelf == null && normalized.size != null && normalized.children.length === 0)\n    normalized.sizeSelf = normalized.size;\n  else\n    normalized.sizeSelf ||= 0;\n  normalized.children = (normalized.children || []).map((child) => normalizeTreeNode(child, normalized, sort));\n  normalized.size ||= normalized.children.reduce((acc, child) => acc + child.size, 0) + normalized.sizeSelf;\n  if (sort)\n    normalized.children.sort(sort);\n  Object.defineProperty(normalized, \"__nanovis\", { enumerable: false, value: true });\n  return normalized;\n}\nfunction getTreeMaxDepth(node) {\n  if (node.children.length === 0)\n    return 1;\n  return Math.max(...node.children.map((child) => getTreeMaxDepth(child))) + 1;\n}\n\nconst isFirefox = /\\bFirefox\\//.test(navigator.userAgent);\nlet numberFormat;\nfunction formatInteger(value) {\n  return numberFormat ? numberFormat.format(value) : `${value}`;\n}\nfunction now() {\n  return (window.performance || Date).now();\n}\nfunction formatNumberWithDecimal(value) {\n  const parts = value.toFixed(1).split(\".\", 2);\n  return `${formatInteger(+parts[0])}.${parts[1]}`;\n}\nfunction bytesToText(bytes) {\n  if (bytes === 1)\n    return \"1 byte\";\n  if (bytes < 1024)\n    return `${formatInteger(bytes)} bytes`;\n  if (bytes < 1024 * 1024)\n    return `${formatNumberWithDecimal(bytes / 1024)} kb`;\n  if (bytes < 1024 * 1024 * 1024)\n    return `${formatNumberWithDecimal(bytes / (1024 * 1024))} mb`;\n  return `${formatNumberWithDecimal(bytes / (1024 * 1024 * 1024))} gb`;\n}\nfunction strokeRectWithFirefoxBugWorkaround(c, color, x, y, w, h) {\n  if (isFirefox) {\n    const lineWidth = c.lineWidth;\n    const halfWidth = lineWidth / 2;\n    c.fillStyle = color;\n    c.fillRect(x - halfWidth, y - halfWidth, w + lineWidth, lineWidth);\n    c.fillRect(x - halfWidth, y + halfWidth, lineWidth, h - lineWidth);\n    c.fillRect(x - halfWidth, y + h - halfWidth, w + lineWidth, lineWidth);\n    c.fillRect(x + w - halfWidth, y + halfWidth, lineWidth, h - lineWidth);\n    return;\n  }\n  c.strokeStyle = color;\n  c.strokeRect(x, y, w, h);\n}\nfunction useWheelEventListener(listener) {\n  window.addEventListener(\"wheel\", listener, { passive: false });\n  return () => window.removeEventListener(\"wheel\", listener);\n}\nfunction useResizeEventListener(listener) {\n  window.addEventListener(\"resize\", listener);\n  return () => window.removeEventListener(\"resize\", listener);\n}\ntry {\n  numberFormat = new Intl.NumberFormat();\n} catch {\n}\n\nexport { useResizeEventListener as a, colorToCanvasFill as b, createColorGetterSpectrum as c, bytesToText as d, colorToCssBackground as e, createColorGetterFromMap as f, getTreeMaxDepth as g, hueAngleToColor as h, normalizeTreeNode as i, now as n, strokeRectWithFirefoxBugWorkaround as s, useWheelEventListener as u };\n","import { c as createColorGetterSpectrum, g as getTreeMaxDepth, u as useWheelEventListener, a as useResizeEventListener, n as now, b as colorToCanvasFill, s as strokeRectWithFirefoxBugWorkaround, d as bytesToText } from './shared/nanovis.D50MWeEo.mjs';\nexport { e as colorToCssBackground, f as createColorGetterFromMap, h as hueAngleToColor, i as normalizeTreeNode } from './shared/nanovis.D50MWeEo.mjs';\n\nlet createNanoEvents = () => ({\n  emit(event, ...args) {\n    for (\n      let callbacks = this.events[event] || [],\n        i = 0,\n        length = callbacks.length;\n      i < length;\n      i++\n    ) {\n      callbacks[i](...args);\n    }\n  },\n  events: {},\n  on(event, cb) {\n(this.events[event] ||= []).push(cb);\n    return () => {\n      this.events[event] = this.events[event]?.filter(i => cb !== i);\n    }\n  }\n});\n\nconst DEFAULT_GRAPH_OPTIONS = {\n  getText: (node) => node.text,\n  getSubtext: (node) => node.subtext,\n  animate: true,\n  animateDuration: 350\n};\nconst DEFAULT_PALETTE = {\n  fallback: \"#CCC\",\n  stroke: \"#0008\",\n  text: \"#222\",\n  hover: \"#fff5\",\n  shadow: \"#0008\",\n  fg: \"#fff\",\n  bg: \"#222\"\n};\n\nconst CONSTANT_DOT_CHAR_CODE = 46;\nconst CONSTANT_NORMAL_FONT = \"14px sans-serif\";\nconst CONSTANT_BOLD_FONT = `bold ${CONSTANT_NORMAL_FONT}`;\nclass GraphBase {\n  el;\n  canvas;\n  c;\n  width = 0;\n  height = 0;\n  ratio = 1;\n  root;\n  maxDepth;\n  events;\n  options;\n  palette;\n  disposables;\n  getColor;\n  getText;\n  getSubtext;\n  _animationFrame = null;\n  constructor(tree, options) {\n    this.options = {\n      ...DEFAULT_GRAPH_OPTIONS,\n      ...options\n    };\n    const {\n      getColor = createColorGetterSpectrum(tree),\n      getText = () => void 0,\n      getSubtext = () => void 0\n    } = this.options;\n    this.palette = {\n      ...DEFAULT_PALETTE,\n      ...options.palette\n    };\n    this.el = document.createElement(\"div\");\n    this.canvas = document.createElement(\"canvas\");\n    this.c = this.canvas.getContext(\"2d\");\n    this.root = tree;\n    this.maxDepth = getTreeMaxDepth(tree);\n    this.disposables = [];\n    this.events = createNanoEvents();\n    this.getColor = getColor;\n    this.getText = getText;\n    this.getSubtext = getSubtext;\n    this.setFont(CONSTANT_NORMAL_FONT);\n    if (options.onClick)\n      this.events.on(\"click\", options.onClick);\n    if (options.onHover)\n      this.events.on(\"hover\", options.onHover);\n    if (options.onLeave)\n      this.events.on(\"leave\", options.onLeave);\n    if (options.onSelect)\n      this.events.on(\"select\", options.onSelect);\n    this.el.addEventListener(\"mouseleave\", () => {\n      this.events.emit(\"leave\");\n    });\n  }\n  /**\n   * Invalidate the graph and request a new frame.\n   */\n  invalidate() {\n    if (this._animationFrame === null) {\n      this._animationFrame = requestAnimationFrame(() => {\n        this._animationFrame = null;\n        this.tick();\n      });\n    }\n  }\n  /**\n   * To be overridden by subclasses to implement custom animation logic.\n   */\n  tick() {\n    this.draw();\n  }\n  /**\n   * To be overridden by subclasses to implement custom animation logic.\n   */\n  draw() {\n  }\n  resize() {\n    this.ratio = window.devicePixelRatio || 1;\n    this.canvas.style.width = `${this.width}px`;\n    this.canvas.style.height = `${this.height}px`;\n    this.canvas.width = Math.round(this.width * this.ratio);\n    this.canvas.height = Math.round(this.height * this.ratio);\n    this.c.scale(this.ratio, this.ratio);\n    this.draw();\n  }\n  /**\n   * Select a node. To be overridden by subclasses to implement custom selection logic.\n   *\n   * @param node - The node to select.\n   * @param _animate - Whether to animate the selection.\n   */\n  select(node, _animate) {\n    this.events.emit(\"select\", node);\n  }\n  dispose() {\n    this.disposables.forEach((disposable) => disposable());\n    this.disposables.length = 0;\n    this.el.remove();\n  }\n  [Symbol.dispose]() {\n    this.dispose();\n  }\n  _font = \"14px sans-serif\";\n  _fontWidthCache = /* @__PURE__ */ new Map();\n  ellipsisWidth = 0;\n  getFontCache() {\n    if (!this._fontWidthCache.has(this._font))\n      this._fontWidthCache.set(this._font, {});\n    return this._fontWidthCache.get(this._font);\n  }\n  setFont(font) {\n    this._font = font;\n    this.c.font = font;\n    this.c.textBaseline = \"middle\";\n    this.ellipsisWidth = 3 * this.charCodeWidth(CONSTANT_DOT_CHAR_CODE);\n  }\n  charCodeWidth(ch) {\n    const cache = this.getFontCache();\n    let width = cache[ch];\n    if (width === void 0) {\n      width = this.c.measureText(String.fromCharCode(ch)).width;\n      cache[ch] = width;\n    }\n    return width;\n  }\n  textOverflowEllipsis(text, width) {\n    if (width < this.ellipsisWidth)\n      return [\"\", 0];\n    let textWidth = 0;\n    const n = text.length;\n    let i = 0;\n    while (i < n) {\n      const charWidth = this.charCodeWidth(text.charCodeAt(i));\n      if (width < textWidth + this.ellipsisWidth + charWidth) {\n        return [`${text.slice(0, i)}...`, textWidth + this.ellipsisWidth];\n      }\n      textWidth += charWidth;\n      i++;\n    }\n    return [text, textWidth];\n  }\n}\n\nconst CONSTANT_ROW_HEIGHT = 24;\nconst CONSTANT_TEXT_INDENT = 5;\nconst CONSTANT_FOCUS_PADDING_RATIO = 0.01;\nconst CONSTANT_ZOOMED_OUT_WIDTH = 1e3;\nclass Flamegraph extends GraphBase {\n  mainEl = document.createElement(\"div\");\n  totalBytes;\n  viewportMin;\n  viewportMax;\n  zoomedOutMin = 0;\n  zoomedOutWidth = 0;\n  prevWheelTime = 0;\n  prevWheelWasZoom = false;\n  stripeScaleAdjust = 1;\n  hoveredNode = null;\n  selectedNode = null;\n  nodeStartBytes = /* @__PURE__ */ new Map();\n  animationFromMin = 0;\n  animationFromMax = 0;\n  animationToMin = 0;\n  animationToMax = 0;\n  animationStart = 0;\n  constructor(root, userOptions = {}) {\n    super(root, userOptions);\n    this.totalBytes = root.size;\n    this.viewportMin = this.animationFromMin = this.animationToMin = 0;\n    this.viewportMax = this.animationFromMax = this.animationToMax = this.totalBytes;\n    Object.assign(this.mainEl.style, {\n      position: \"relative\"\n    });\n    Object.assign(this.canvas.style, {\n      position: \"absolute\",\n      left: \"0\",\n      top: \"0\"\n    });\n    let didDrag = false;\n    this.canvas.onmousedown = (e) => {\n      didDrag = false;\n      if (e.button !== 2) {\n        let oldX = e.pageX;\n        const move = (e2) => {\n          const deltaX = e2.pageX - oldX;\n          if (!didDrag && Math.abs(deltaX) < 3)\n            return;\n          didDrag = true;\n          this.modifyViewport(-deltaX, 0, null);\n          oldX = e2.pageX;\n        };\n        const up = () => {\n          document.removeEventListener(\"mousemove\", move);\n          document.removeEventListener(\"mouseup\", up);\n        };\n        e.preventDefault();\n        document.addEventListener(\"mousemove\", move);\n        document.addEventListener(\"mouseup\", up);\n      }\n    };\n    this.canvas.onmousemove = (e) => {\n      this.updateHover(e);\n    };\n    this.canvas.onmouseout = () => {\n      this.changeHoveredNode(null);\n    };\n    this.canvas.onclick = (e) => {\n      if (didDrag)\n        return;\n      const node = this.hitTestNode(e);\n      this.changeHoveredNode(node);\n      this.changeSelectedNode(node);\n      if (node)\n        this.events.emit(\"click\", node, e);\n    };\n    this.disposables.push(useWheelEventListener((e) => {\n      const deltaX = e.deltaX;\n      const deltaY = e.deltaY;\n      const wheelTime = now();\n      const isZoom = wheelTime - this.prevWheelTime < 50 ? this.prevWheelWasZoom : e.ctrlKey || e.metaKey;\n      this.prevWheelTime = wheelTime;\n      this.prevWheelWasZoom = isZoom;\n      if (isZoom || Math.abs(deltaX) >= Math.abs(deltaY)) {\n        e.preventDefault();\n      }\n      this.modifyViewport(deltaX, deltaY, isZoom ? e.pageX : null);\n      this.updateHover(e);\n    }));\n    this.resize();\n    Promise.resolve().then(() => this.resize());\n    this.disposables.push(useResizeEventListener(() => this.resize()));\n    this.mainEl.append(this.canvas);\n    this.el.append(this.mainEl);\n  }\n  tick() {\n    let t = (now() - this.animationStart) / (this.options.animateDuration ?? DEFAULT_GRAPH_OPTIONS.animateDuration);\n    if (t < 0 || t > 1) {\n      t = 1;\n      this.viewportMin = this.animationToMin;\n      this.viewportMax = this.animationToMax;\n    } else {\n      if (t < 0.5) {\n        t *= 4 * t * t;\n      } else {\n        t = 1 - t;\n        t *= 4 * t * t;\n        t = 1 - t;\n      }\n      this.viewportMin = this.animationFromMin + (this.animationToMin - this.animationFromMin) * t;\n      this.viewportMax = this.animationFromMax + (this.animationToMax - this.animationFromMax) * t;\n      this.invalidate();\n    }\n    this.draw();\n  }\n  draw() {\n    this.c.clearRect(0, 0, this.width, this.height);\n    this.drawNode(this.root, 0, 0, -Infinity, 1 /* ROOT */);\n  }\n  changeSelectedNode(node, animate = this.options.animate ?? DEFAULT_GRAPH_OPTIONS.animate) {\n    if (this.selectedNode === node)\n      return;\n    this.selectedNode = node;\n    this.events.emit(\"select\", node);\n    if (node && this.nodeStartBytes.has(node.id)) {\n      let start = this.nodeStartBytes.get(node.id);\n      let end = start + node.size;\n      start = Math.max(0, start - node.size * CONSTANT_FOCUS_PADDING_RATIO);\n      end = Math.min(this.totalBytes, end + node.size * CONSTANT_FOCUS_PADDING_RATIO);\n      this.setViewport(start, end, animate);\n    }\n  }\n  select(node, animate = this.options.animate ?? DEFAULT_GRAPH_OPTIONS.animate) {\n    this.changeSelectedNode(node, animate);\n  }\n  resize() {\n    this.width = this.el.clientWidth;\n    this.height = this.maxDepth * CONSTANT_ROW_HEIGHT + 1;\n    this.zoomedOutMin = this.width - CONSTANT_ZOOMED_OUT_WIDTH >> 1;\n    this.zoomedOutWidth = this.zoomedOutMin + CONSTANT_ZOOMED_OUT_WIDTH;\n    if (this.zoomedOutMin < 0)\n      this.zoomedOutMin = 0;\n    if (this.zoomedOutWidth > this.width)\n      this.zoomedOutWidth = this.width;\n    this.zoomedOutWidth -= this.zoomedOutMin;\n    this.stripeScaleAdjust = this.totalBytes / this.zoomedOutWidth;\n    this.mainEl.style.height = `${this.height}px`;\n    super.resize();\n  }\n  // We want to avoid overlapping strokes from lots of really small adjacent\n  // rectangles all merging together into a solid color. So we enforce a\n  // minimum rectangle width of 2px and we also skip drawing rectangles that\n  // have a right edge less than 1.5px from the previous right edge.\n  drawNode(node, y, startBytes, prevRightEdge, flags) {\n    this.nodeStartBytes.set(node.id, startBytes);\n    const scale = this.zoomedOutWidth / (this.viewportMax - this.viewportMin);\n    const x = this.zoomedOutMin + (startBytes - this.viewportMin) * scale;\n    const w = node.size * scale;\n    const rightEdge = x + w;\n    if (rightEdge < prevRightEdge + 1.5)\n      return prevRightEdge;\n    if (x + w < 0 || x > this.width)\n      return rightEdge;\n    const rectWidth = w < 2 ? 2 : w;\n    const textX = (x > 0 ? x : 0) + CONSTANT_TEXT_INDENT;\n    const textY = y + CONSTANT_ROW_HEIGHT / 2;\n    let text = this.getText(node) || \"\";\n    let subText = this.getSubtext(node) || \"\";\n    let measuredW;\n    let typesetX = 0;\n    const typesetW = w + x - textX;\n    const fillColor = colorToCanvasFill(this.getColor(node) || this.palette.fallback, this.c, this.zoomedOutMin - this.viewportMin * scale, CONSTANT_ROW_HEIGHT, scale * this.stripeScaleAdjust);\n    let textColor = this.palette.text;\n    let childRightEdge = -Infinity;\n    if (flags & 1 /* ROOT */) {\n      textColor = this.palette.fg;\n      this.setFont(CONSTANT_BOLD_FONT);\n    } else {\n      this.c.fillStyle = fillColor;\n      this.c.fillRect(x, y, rectWidth, CONSTANT_ROW_HEIGHT);\n      if (flags & 2 /* HOVER */ || this.hoveredNode && node.id === this.hoveredNode.id) {\n        this.c.fillStyle = this.palette.hover;\n        this.c.fillRect(x, y, rectWidth, CONSTANT_ROW_HEIGHT);\n        flags |= 2 /* HOVER */;\n      }\n    }\n    if (this.ellipsisWidth < typesetW) {\n      measuredW = this.c.measureText(text).width;\n      if (measuredW <= typesetW) {\n        typesetX += measuredW;\n      } else {\n        text = this.textOverflowEllipsis(text, typesetW)[0];\n        typesetX = typesetW;\n      }\n      this.c.fillStyle = textColor;\n      this.c.fillText(text, textX, textY);\n    }\n    if (flags & 1 /* ROOT */) {\n      this.setFont(CONSTANT_NORMAL_FONT);\n    }\n    if (typesetX + this.ellipsisWidth < typesetW) {\n      if (subText && text)\n        subText = ` - ${subText}`;\n      measuredW = this.c.measureText(subText).width;\n      if (typesetX + measuredW > typesetW) {\n        subText = this.textOverflowEllipsis(subText, typesetW - typesetX)[0];\n      }\n      this.c.globalAlpha = 0.5;\n      this.c.fillText(subText, textX + typesetX, textY);\n      this.c.globalAlpha = 1;\n    }\n    for (const child of node.children) {\n      childRightEdge = this.drawNode(child, y + CONSTANT_ROW_HEIGHT, startBytes, childRightEdge, flags & -2 /* ROOT */);\n      startBytes += child.size;\n    }\n    if (!(flags & 1 /* ROOT */)) {\n      strokeRectWithFirefoxBugWorkaround(this.c, this.palette.stroke, x + 0.5, y + 0.5, rectWidth, CONSTANT_ROW_HEIGHT);\n    }\n    return rightEdge;\n  }\n  changeHoveredNode(node) {\n    if (this.hoveredNode !== node) {\n      this.hoveredNode = node;\n      this.canvas.style.cursor = node && !node.children.length ? \"pointer\" : \"auto\";\n      this.invalidate();\n    }\n  }\n  hitTestNode(mouseEvent) {\n    const rect = this.canvas.getBoundingClientRect();\n    const mouseX = mouseEvent.clientX - rect.left;\n    const mouseY = mouseEvent.clientY - rect.top;\n    const mouseBytes = this.viewportMin + (this.viewportMax - this.viewportMin) / this.zoomedOutWidth * (mouseX - this.zoomedOutMin);\n    const visit = (node, y, startBytes) => {\n      if (mouseBytes >= startBytes && mouseBytes < startBytes + node.size) {\n        if (mouseY >= y && mouseY < y + CONSTANT_ROW_HEIGHT && node.id) {\n          return node;\n        }\n        if (mouseY >= y + CONSTANT_ROW_HEIGHT) {\n          for (const child of node.children) {\n            const result = visit(child, y + CONSTANT_ROW_HEIGHT, startBytes);\n            if (result)\n              return result;\n            startBytes += child.size;\n          }\n        }\n      }\n      return null;\n    };\n    return visit(this.root, 0, 0);\n  }\n  modifyViewport(deltaX, deltaY, xForZoom) {\n    let min = this.viewportMin;\n    let max = this.viewportMax;\n    let translate = 0;\n    if (xForZoom !== null) {\n      const mouse = min + (max - min) / this.zoomedOutWidth * (xForZoom - this.zoomedOutMin);\n      const scale = 1.01 ** deltaY;\n      min = mouse + (min - mouse) * scale;\n      max = mouse + (max - mouse) * scale;\n    } else {\n      translate = deltaX * (max - min) / this.zoomedOutWidth;\n    }\n    if (min + translate < 0)\n      translate = -min;\n    else if (max + translate > this.totalBytes)\n      translate = this.totalBytes - max;\n    min += translate;\n    max += translate;\n    if (min < 0)\n      min = 0;\n    if (max > this.totalBytes)\n      max = this.totalBytes;\n    this.setViewport(min, max, false);\n  }\n  setViewport(min, max, animate) {\n    this.animationFromMin = this.viewportMin;\n    this.animationFromMax = this.viewportMax;\n    this.animationToMin = min;\n    this.animationToMax = max;\n    if (animate)\n      this.animationStart = now();\n    else\n      this.animationStart = 0;\n    this.invalidate();\n  }\n  updateHover(e) {\n    const node = this.hitTestNode(e);\n    this.changeHoveredNode(node);\n    this.events.emit(\"hover\", node, e);\n  }\n}\n\nfunction isParentOf(parent, child) {\n  while (child) {\n    if (child === parent)\n      return true;\n    child = child.parent;\n  }\n  return false;\n}\nfunction narrowSlice(root, node, slice) {\n  if (root === node)\n    return;\n  const parent = node.parent;\n  const totalBytes = parent.size || 1;\n  let bytesSoFar = 0;\n  narrowSlice(root, parent, slice);\n  for (const child of parent.children) {\n    if (child === node) {\n      slice.startAngle_ += slice.sweepAngle_ * bytesSoFar / totalBytes;\n      slice.sweepAngle_ = child.size / totalBytes * slice.sweepAngle_;\n      break;\n    }\n    bytesSoFar += child.size;\n  }\n  slice.depth_ += 1;\n}\nconst baseRadiusCache = {};\nfunction baseRadius(depth) {\n  if (!baseRadiusCache[depth])\n    baseRadiusCache[depth] = 50 * 8 * Math.log(1 + Math.log(1 + depth / 8));\n  return baseRadiusCache[depth];\n}\nconst START_ANGLE = -Math.PI / 2;\nclass Sunburst extends GraphBase {\n  currentNode;\n  hoveredNode;\n  centerX = 0;\n  centerY = 0;\n  animationStart = 0;\n  radiusScale = 1;\n  sourceDepth = 0;\n  sourceStartAngle = START_ANGLE;\n  sourceSweepAngle = Math.PI * 2;\n  targetNode;\n  targetDepth = this.sourceDepth;\n  targetStartAngle = this.sourceStartAngle;\n  targetSweepAngle = this.sourceSweepAngle;\n  animatedNode;\n  animatedDepth = this.sourceDepth;\n  animatedStartAngle = this.sourceStartAngle;\n  animatedSweepAngle = this.sourceSweepAngle;\n  previousHoveredNode;\n  historyStack = [];\n  constructor(tree, options = {}) {\n    while (tree.children.length === 1) {\n      tree = tree.children[0];\n    }\n    super(tree, options);\n    this.currentNode = tree;\n    this.targetNode = this.currentNode;\n    this.animatedNode = this.currentNode;\n    this.canvas.onmousemove = (e) => {\n      this.handleMouseMove(e);\n    };\n    this.canvas.onmouseout = (e) => {\n      this.changeHoveredNode(void 0);\n      this.events.emit(\"hover\", null, e);\n    };\n    this.canvas.onclick = (e) => {\n      let node = this.hitTestNode(e);\n      if (!node)\n        return;\n      this.events.emit(\"click\", node, e);\n      let stack = [];\n      if (node !== this.animatedNode.parent) {\n        stack = this.historyStack.concat(this.currentNode);\n      } else if (this.historyStack.length > 0) {\n        node = this.historyStack.pop();\n        stack = this.historyStack.slice();\n      }\n      this.events.emit(\"click\", node, e);\n      if (node.children.length > 0) {\n        this.select(node);\n        this.historyStack = stack;\n      } else {\n        e.preventDefault();\n      }\n    };\n    this.el.append(this.canvas);\n    this.resize();\n    Promise.resolve().then(() => this.resize());\n    this.disposables.push(useResizeEventListener(() => this.resize()));\n    this.disposables.push(useWheelEventListener((e) => this.handleMouseMove(e)));\n  }\n  select(node, animate) {\n    if (this.currentNode !== node || this.root) {\n      this.currentNode = node || this.root;\n      this.updateSunburst(animate);\n      this.events.emit(\"select\", node);\n    }\n  }\n  resize() {\n    this.width = this.el.clientWidth;\n    this.height = this.width;\n    this.centerX = this.width >> 1;\n    this.centerY = this.height >> 1;\n    const maxRadius = 2 * Math.ceil(baseRadius(this.maxDepth));\n    this.radiusScale = this.width / maxRadius;\n    super.resize();\n  }\n  draw() {\n    this.c.clearRect(0, 0, this.width, this.height);\n    this.drawNode(this.animatedNode, this.animatedDepth, this.computeRadius(this.animatedDepth), this.animatedStartAngle, this.animatedSweepAngle, 1 /* ROOT */ | 2 /* FILL */, -Infinity);\n    this.c.strokeStyle = this.palette.stroke;\n    this.c.beginPath();\n    this.drawNode(this.animatedNode, this.animatedDepth, this.computeRadius(this.animatedDepth), this.animatedStartAngle, this.animatedSweepAngle, 1 /* ROOT */, -Infinity);\n    this.c.stroke();\n    if (this.animatedDepth === 0) {\n      this.c.fillStyle = this.palette.stroke;\n      this.setFont(CONSTANT_BOLD_FONT);\n      this.c.textAlign = \"center\";\n      this.c.fillText(bytesToText(this.targetNode.size), this.centerX, this.centerY);\n    }\n  }\n  // We want to avoid overlapping strokes from lots of really small adjacent\n  // slices all merging together into a solid color. So we enforce a\n  // minimum slice width of 2px and we also skip drawing slices that\n  // have a tail edge less than 1.5px from the previous tail edge.\n  drawNode(node, depth, innerRadius, startAngle, sweepAngle, flags, prevTailEdge) {\n    const outerRadius = this.computeRadius(depth + 1);\n    if (outerRadius > this.centerY)\n      return prevTailEdge;\n    if (node === this.hoveredNode) {\n      flags |= 8 /* HOVER */;\n    }\n    const middleRadius = (innerRadius + outerRadius) / 2;\n    const tailEdge = startAngle + sweepAngle;\n    if (tailEdge - prevTailEdge < 1.5 / middleRadius)\n      return prevTailEdge;\n    let clampedSweepAngle = 2 / middleRadius;\n    if (sweepAngle > clampedSweepAngle)\n      clampedSweepAngle = sweepAngle;\n    if (flags & 2 /* FILL */) {\n      this.c.fillStyle = colorToCanvasFill(this.getColor(node) || this.palette.fallback, this.c, this.centerX, this.centerY, 1);\n      this.c.beginPath();\n      this.c.arc(this.centerX, this.centerY, innerRadius, startAngle, startAngle + clampedSweepAngle, false);\n      this.c.arc(this.centerX, this.centerY, outerRadius, startAngle + clampedSweepAngle, startAngle, true);\n      this.c.fill();\n      if (this.hoveredNode && (flags & 8 /* HOVER */ || node.parent === this.hoveredNode)) {\n        this.c.fillStyle = this.palette.hover;\n        this.c.fill();\n      }\n    } else {\n      const isFullCircle = clampedSweepAngle === Math.PI * 2;\n      const moveToRadius = flags & 4 /* CHAIN */ || isFullCircle ? outerRadius : innerRadius;\n      if (flags & 1 /* ROOT */ && innerRadius > 0)\n        this.c.arc(this.centerX, this.centerY, innerRadius, startAngle + clampedSweepAngle, startAngle, true);\n      this.c.moveTo(this.centerX + moveToRadius * Math.cos(startAngle), this.centerY + moveToRadius * Math.sin(startAngle));\n      this.c.arc(this.centerX, this.centerY, outerRadius, startAngle, startAngle + clampedSweepAngle, false);\n      if (!isFullCircle)\n        this.c.lineTo(this.centerX + innerRadius * Math.cos(startAngle + clampedSweepAngle), this.centerY + innerRadius * Math.sin(startAngle + clampedSweepAngle));\n    }\n    const totalBytes = node.size;\n    let childFlags = flags & (2 /* FILL */ | 8 /* HOVER */);\n    let bytesSoFar = 0;\n    let childTailEdge = -Infinity;\n    for (const child of node.children) {\n      childTailEdge = this.drawNode(child, depth + 1, outerRadius, startAngle + sweepAngle * bytesSoFar / totalBytes, child.size / totalBytes * sweepAngle, childFlags, childTailEdge);\n      bytesSoFar += child.size;\n      childFlags |= 4 /* CHAIN */;\n    }\n    return tailEdge;\n  }\n  changeHoveredNode(node, animate) {\n    if (this.hoveredNode !== node) {\n      this.hoveredNode = node;\n      this.updateSunburst(animate);\n    }\n  }\n  hitTestNode(mouseEvent) {\n    const rect = this.canvas.getBoundingClientRect();\n    const x = mouseEvent.clientX - rect.left - this.centerX;\n    const y = mouseEvent.clientY - rect.top - this.centerY;\n    const mouseRadius = Math.sqrt(x * x + y * y);\n    const mouseAngle = Math.atan2(y, x);\n    const visit = (node, depth, innerRadius, startAngle, sweepAngle) => {\n      const outerRadius = this.computeRadius(depth + 1);\n      if (outerRadius > this.centerY)\n        return void 0;\n      if (mouseRadius >= innerRadius && mouseRadius < outerRadius) {\n        let deltaAngle = mouseAngle - startAngle;\n        deltaAngle /= Math.PI * 2;\n        deltaAngle -= Math.floor(deltaAngle);\n        deltaAngle *= Math.PI * 2;\n        if (deltaAngle < sweepAngle) {\n          if (node === this.animatedNode)\n            return node.parent;\n          return node;\n        }\n      }\n      const totalBytes = node.size;\n      let bytesSoFar = 0;\n      for (const child of node.children) {\n        const hit = visit(child, depth + 1, outerRadius, startAngle + sweepAngle * bytesSoFar / totalBytes, child.size / totalBytes * sweepAngle);\n        if (hit)\n          return hit;\n        bytesSoFar += child.size;\n      }\n      return void 0;\n    };\n    return visit(this.animatedNode, this.animatedDepth, this.computeRadius(this.animatedDepth), this.animatedStartAngle, this.animatedSweepAngle);\n  }\n  tick() {\n    let t = (now() - this.animationStart) / (this.options.animateDuration ?? DEFAULT_GRAPH_OPTIONS.animateDuration);\n    if (t < 0 || t > 1) {\n      t = 1;\n      this.animatedNode = this.targetNode;\n      this.targetDepth = 0;\n      this.targetStartAngle = START_ANGLE;\n      this.targetSweepAngle = Math.PI * 2;\n    } else {\n      if (t < 0.5) {\n        t *= 4 * t * t;\n      } else {\n        t = 1 - t;\n        t *= 4 * t * t;\n        t = 1 - t;\n      }\n      this.invalidate();\n    }\n    this.animatedDepth = this.sourceDepth + (this.targetDepth - this.sourceDepth) * t;\n    this.animatedStartAngle = this.sourceStartAngle + (this.targetStartAngle - this.sourceStartAngle) * t;\n    this.animatedSweepAngle = this.sourceSweepAngle + (this.targetSweepAngle - this.sourceSweepAngle) * t;\n    this.draw();\n  }\n  handleMouseMove(e) {\n    const node = this.hitTestNode(e);\n    this.changeHoveredNode(node);\n    if (node && node !== this.animatedNode.parent) {\n      this.events.emit(\"hover\", node, e);\n      this.canvas.style.cursor = \"pointer\";\n    } else {\n      this.events.emit(\"hover\", null, e);\n    }\n  }\n  computeRadius(depth) {\n    return baseRadius(depth) * this.radiusScale;\n  }\n  updateSunburst(animate = this.options.animate ?? true) {\n    if (this.previousHoveredNode !== this.hoveredNode) {\n      this.previousHoveredNode = this.hoveredNode;\n      if (!this.hoveredNode) {\n        this.canvas.style.cursor = \"auto\";\n        this.events.emit(\"hover\", null);\n      }\n      this.invalidate();\n    }\n    if (this.targetNode === this.currentNode)\n      return;\n    this.historyStack.length = 0;\n    this.invalidate();\n    if (animate) {\n      this.animationStart = now();\n    }\n    if (isParentOf(this.animatedNode, this.currentNode)) {\n      const slice = {\n        depth_: this.animatedDepth,\n        startAngle_: this.animatedStartAngle,\n        sweepAngle_: this.animatedSweepAngle\n      };\n      narrowSlice(this.animatedNode, this.currentNode, slice);\n      this.animatedDepth = slice.depth_;\n      this.animatedStartAngle = slice.startAngle_;\n      this.animatedSweepAngle = slice.sweepAngle_;\n      this.targetDepth = 0;\n      this.targetStartAngle = START_ANGLE;\n      this.targetSweepAngle = Math.PI * 2;\n      this.animatedNode = this.currentNode;\n    } else if (isParentOf(this.currentNode, this.animatedNode)) {\n      const slice = {\n        depth_: 0,\n        startAngle_: START_ANGLE,\n        sweepAngle_: Math.PI * 2\n      };\n      narrowSlice(this.currentNode, this.animatedNode, slice);\n      this.targetDepth = slice.depth_;\n      this.targetStartAngle = slice.startAngle_;\n      this.targetSweepAngle = slice.sweepAngle_;\n    } else {\n      this.animationStart = -Infinity;\n      this.animatedNode = this.currentNode;\n    }\n    this.sourceDepth = this.animatedDepth;\n    this.sourceStartAngle = this.animatedStartAngle;\n    this.sourceSweepAngle = this.animatedSweepAngle;\n    this.targetNode = this.currentNode;\n    this.events.emit(\"select\", this.currentNode);\n  }\n}\n\nconst CONSTANT_PADDING = 4;\nconst CONSTANT_HEADER_HEIGHT = 20;\nconst CONSTANT_INSET_X = 2 * CONSTANT_PADDING;\nconst CONSTANT_INSET_Y = CONSTANT_HEADER_HEIGHT + CONSTANT_PADDING;\nfunction layoutTreemap(sortedChildren, x, y, w, h) {\n  const children = [];\n  const worst = (start, end, shortestSide, totalArea, bytesToArea) => {\n    const maxArea = sortedChildren[start].size * bytesToArea;\n    const minArea = sortedChildren[end].size * bytesToArea;\n    return Math.max(\n      shortestSide * shortestSide * maxArea / (totalArea * totalArea),\n      totalArea * totalArea / (shortestSide * shortestSide * minArea)\n    );\n  };\n  const squarify = (start, x2, y2, w2, h2) => {\n    while (start < sortedChildren.length) {\n      let totalBytes = 0;\n      for (let i = start; i < sortedChildren.length; i++) {\n        totalBytes += sortedChildren[i].size;\n      }\n      const shortestSide = Math.min(w2, h2);\n      const bytesToArea = w2 * h2 / totalBytes;\n      let end = start;\n      let areaInRun = 0;\n      let oldWorst = 0;\n      while (end < sortedChildren.length) {\n        const area = sortedChildren[end].size * bytesToArea;\n        const newWorst = worst(start, end, shortestSide, areaInRun + area, bytesToArea);\n        if (end > start && oldWorst < newWorst)\n          break;\n        areaInRun += area;\n        oldWorst = newWorst;\n        end++;\n      }\n      const split = Math.round(areaInRun / shortestSide);\n      let areaInLayout = 0;\n      for (let i = start; i < end; i++) {\n        const child = sortedChildren[i];\n        const area = child.size * bytesToArea;\n        const lower = Math.round(shortestSide * areaInLayout / areaInRun);\n        const upper = Math.round(shortestSide * (areaInLayout + area) / areaInRun);\n        const [cx, cy, cw, ch] = w2 >= h2 ? [x2, y2 + lower, split, upper - lower] : [x2 + lower, y2, upper - lower, split];\n        children.push({\n          node: child,\n          box: [cx, cy, cw, ch],\n          children: cw > CONSTANT_INSET_X && ch > CONSTANT_INSET_Y ? layoutTreemap(\n            child.children,\n            cx + CONSTANT_PADDING,\n            cy + CONSTANT_HEADER_HEIGHT,\n            cw - CONSTANT_INSET_X,\n            ch - CONSTANT_INSET_Y\n          ) : []\n        });\n        areaInLayout += area;\n      }\n      start = end;\n      if (w2 >= h2) {\n        x2 += split;\n        w2 -= split;\n      } else {\n        y2 += split;\n        h2 -= split;\n      }\n    }\n  };\n  squarify(0, x, y, w, h);\n  return children;\n}\nclass Treemap extends GraphBase {\n  hoveredNode = null;\n  currentNode = null;\n  bgOriginX = 0;\n  bgOriginY = 0;\n  layers = {\n    base: null\n  };\n  baseLayoutCache;\n  currentOriginX = 0;\n  currentOriginY = 0;\n  animationStart = 0;\n  animationBlend = 1;\n  animationSource = null;\n  animationTarget = null;\n  constructor(tree, options = {}) {\n    super(tree, options);\n    this.canvas.addEventListener(\"mousemove\", (e) => {\n      this.updateHover(e);\n    });\n    this.canvas.addEventListener(\"mouseout\", (e) => {\n      this.changeHoveredNode(null);\n      this.events.emit(\"hover\", null, e);\n    });\n    this.el.addEventListener(\"click\", (e) => {\n      const layout = this.hitTestNode(e);\n      if (layout) {\n        const node = layout.node;\n        this.events.emit(\"click\", node, e);\n        if (!node.children.length) {\n          this.updateHover(e);\n        } else if (layout !== this.layers.current) {\n          this.changeCurrentLayout(layout);\n          this.changeHoveredNode(null);\n        } else {\n          this.updateHover(e);\n        }\n      } else if (this.currentNode) {\n        this.changeCurrentLayout(null);\n        this.updateHover(e);\n      }\n    });\n    this.el.append(this.canvas);\n    this.resize();\n    Promise.resolve().then(() => this.resize());\n    this.disposables.push(useWheelEventListener((e) => this.updateHover(e)));\n    this.disposables.push(useResizeEventListener(() => this.resize()));\n  }\n  select(node, animate) {\n    let layout = null;\n    if (node === this.root)\n      node = null;\n    if (node)\n      layout = this.searchFor([this.layers.current, this.layers.base], node);\n    else\n      layout = null;\n    this.changeCurrentLayout(layout, animate);\n  }\n  drawBaseLayout() {\n    if (!this.width || !this.height)\n      return;\n    this.c.clearRect(0, 0, this.width, this.height);\n    this.bgOriginX = this.bgOriginY = 0;\n    if (this.baseLayoutCache) {\n      this.c.putImageData(this.baseLayoutCache, 0, 0);\n    } else {\n      this.drawLayout(this.layers.base, 0 /* Disabled */, []);\n      this.baseLayoutCache = this.c.getImageData(0, 0, this.width * this.ratio, this.height * this.ratio);\n    }\n  }\n  draw() {\n    this.drawBaseLayout();\n    if (!this.layers.current)\n      this.drawHoverHighlight(this.layers.base);\n    const transition = !this.layers.current ? 0 : !this.animationSource ? this.animationBlend : !this.animationTarget ? 1 - this.animationBlend : 1;\n    if (this.layers.current) {\n      const [x, y, w, h] = this.layers.base.box;\n      this.c.globalAlpha = 0.6 * (!this.layers.current || !this.animationSource ? 1 : transition);\n      this.c.fillStyle = this.palette.bg;\n      this.c.fillRect(x, y, w, h);\n      this.c.globalAlpha = 1;\n    }\n    if (this.layers.previous) {\n      this.drawLayout(this.layers.previous, 1 /* Enabled */, [this.layers.current]);\n    }\n    if (this.layers.current) {\n      const [x, y, w, h] = this.layers.current.box;\n      const matrix = this.c.getTransform();\n      const scale = Math.sqrt(matrix.a * matrix.d);\n      this.c.save();\n      this.c.shadowColor = this.palette.shadow;\n      this.c.shadowBlur = scale * (30 * transition);\n      this.c.shadowOffsetX = scale * (2 * this.width);\n      this.c.shadowOffsetY = scale * (2 * this.height + 15 * transition);\n      this.c.fillRect(x - 2 * this.width, y - 2 * this.height, w, h);\n      this.c.restore();\n      this.bgOriginX = this.currentOriginX;\n      this.bgOriginY = this.currentOriginY;\n      this.drawLayout(this.layers.current, 0 /* Disabled */, []);\n      this.drawHoverHighlight(this.layers.current);\n    }\n  }\n  tick() {\n    const oldAnimationBlend = this.animationBlend;\n    const oldCurrentNode = this.currentNode;\n    this.animationBlend = (now() - this.animationStart) / (this.options.animateDuration ?? DEFAULT_GRAPH_OPTIONS.animateDuration);\n    if (this.animationBlend < 0 || this.animationBlend > 1) {\n      this.currentNode = this.animationTarget;\n      this.layers.previous = void 0;\n      this.animationBlend = 1;\n    } else {\n      this.animationBlend = 1 - this.animationBlend;\n      this.animationBlend *= this.animationBlend * this.animationBlend;\n      this.animationBlend = 1 - this.animationBlend;\n      this.invalidate();\n    }\n    if (this.animationBlend !== oldAnimationBlend || this.currentNode !== oldCurrentNode) {\n      this.updateCurrentLayout();\n    }\n    this.draw();\n  }\n  resize() {\n    this.baseLayoutCache = void 0;\n    const oldWidth = this.width;\n    const oldHeight = this.height;\n    this.width = Math.min(this.el.clientWidth, 1600);\n    this.height = Math.max(Math.round(this.width / 2), innerHeight - 200);\n    if (this.width !== oldWidth || this.height !== oldHeight || !this.layers.base) {\n      this.layers.base = layoutTreemap([this.root], 0, 0, this.width - 1, this.height - 1)[0];\n      this.updateCurrentLayout();\n    }\n    super.resize();\n  }\n  *iterateNodeToDraw(layout, culling, cullingLayouts) {\n    const node = layout.node;\n    const [x, y, w, h] = layout.box;\n    let flags = (node === this.hoveredNode ? 1 /* CONTAINS_HOVER */ : 0) | (layout === this.animationTarget ? 2 /* CONTAINS_TARGET */ : 0);\n    if (culling === 1 /* Enabled */) {\n      for (const cullingLayout of cullingLayouts) {\n        if (!cullingLayout)\n          continue;\n        const [cx, cy, cw, ch] = cullingLayout.box;\n        if (x >= cx && y >= cy && x + w <= cx + cw && y + h <= cy + ch) {\n          culling = 2 /* Culled */;\n          break;\n        }\n      }\n    }\n    for (const child of layout.children) {\n      flags |= yield* this.iterateNodeToDraw(child, culling, cullingLayouts);\n    }\n    if (culling !== 2 /* Culled */) {\n      yield layout;\n    }\n    return flags;\n  }\n  drawHoverHighlight(layout) {\n    const iter = this.iterateNodeToDraw(layout, 0 /* Disabled */, []);\n    const perviousComposite = this.c.globalCompositeOperation;\n    while (true) {\n      const result = iter.next();\n      if (result.done) {\n        this.c.globalCompositeOperation = perviousComposite;\n        return;\n      }\n      const node = result.value.node;\n      if (this.hoveredNode === node) {\n        this.c.globalCompositeOperation = \"overlay\";\n        const [x, y, w, h] = result.value.box;\n        this.c.fillStyle = this.palette.hover;\n        this.c.fillRect(x, y, w, h);\n      }\n    }\n  }\n  drawNodeBackground(layout, culling, cullingLayouts) {\n    const iter = this.iterateNodeToDraw(layout, culling, cullingLayouts);\n    while (true) {\n      const result = iter.next();\n      if (result.done)\n        return result.value;\n      const [x, y, w, h] = result.value.box;\n      this.c.fillStyle = colorToCanvasFill(this.getColor(result.value.node) || this.palette.fallback, this.c, this.bgOriginX, this.bgOriginY, 1);\n      if (result.value.children.length) {\n        this.c.fillRect(x, y, w, CONSTANT_HEADER_HEIGHT);\n        this.c.fillRect(x, y + h - CONSTANT_PADDING, w, CONSTANT_PADDING);\n        this.c.fillRect(x, y + CONSTANT_HEADER_HEIGHT, CONSTANT_PADDING, h - CONSTANT_INSET_Y);\n        this.c.fillRect(x + w - CONSTANT_PADDING, y + CONSTANT_HEADER_HEIGHT, CONSTANT_PADDING, h - CONSTANT_INSET_Y);\n      } else {\n        this.c.fillRect(x, y, w, h);\n      }\n    }\n  }\n  drawLayout(layout, culling, cullingLayouts) {\n    this.drawNodeBackground(layout, culling, cullingLayouts);\n    this.drawNodeForeground(layout, culling, cullingLayouts);\n  }\n  drawNodeForeground(layout, culling, cullingLayouts) {\n    const iter = this.iterateNodeToDraw(layout, culling, cullingLayouts);\n    while (true) {\n      const result = iter.next();\n      if (result.done)\n        return;\n      const node = result.value.node;\n      const [x, y, w, h] = result.value.box;\n      strokeRectWithFirefoxBugWorkaround(this.c, this.palette.stroke, x + 0.5, y + 0.5, w, h);\n      if (h >= CONSTANT_HEADER_HEIGHT) {\n        this.c.fillStyle = this.palette.text;\n        const maxWidth = w - CONSTANT_INSET_X;\n        const textY = y + Math.round(CONSTANT_INSET_Y / 2);\n        const [nameText, nameWidth] = this.textOverflowEllipsis(this.getText(node) || \"\", maxWidth);\n        let textX = x + Math.round((w - nameWidth) / 2);\n        const text = this.getText(node);\n        const subtext = this.getSubtext(node);\n        if (nameText === text && node.children.length) {\n          let detailText = subtext || \"\";\n          if (detailText && text)\n            detailText = ` - ${detailText}`;\n          const [sizeText, sizeWidth] = this.textOverflowEllipsis(detailText, maxWidth - nameWidth);\n          textX = x + Math.round((w - nameWidth - sizeWidth) / 2);\n          this.c.globalAlpha = 0.5;\n          this.c.fillText(sizeText, textX + nameWidth, textY);\n          this.c.globalAlpha = 1;\n        }\n        this.c.fillText(nameText, textX, textY);\n        if (h > CONSTANT_INSET_Y + 16 && !node.children.length) {\n          const [sizeText, sizeWidth] = this.textOverflowEllipsis(subtext || \"\", maxWidth);\n          this.c.globalAlpha = 0.5;\n          const headerHeight = text ? CONSTANT_HEADER_HEIGHT : CONSTANT_HEADER_HEIGHT / 2 + CONSTANT_PADDING;\n          this.c.fillText(sizeText, x + Math.round((w - sizeWidth) / 2), y + headerHeight + Math.round(h - CONSTANT_INSET_Y) / 2);\n          this.c.globalAlpha = 1;\n        }\n      }\n    }\n  }\n  updateCurrentLayout() {\n    const selectedPaddingRatio = this.options.selectedPaddingRatio ?? 0.2;\n    if (this.currentNode) {\n      const [ox1, oy1, ow, oh] = this.currentNode.box;\n      const ox2 = ox1 + ow;\n      const oy2 = oy1 + oh;\n      const nx1 = Math.round(this.width * selectedPaddingRatio / 2);\n      const ny1 = Math.round(this.height * selectedPaddingRatio / 2);\n      const nx2 = this.width - nx1 - 1;\n      const ny2 = this.height - ny1 - 1;\n      const t = this.animationTarget ? this.animationBlend : 1 - this.animationBlend;\n      const x1 = Math.round(ox1 + (nx1 - ox1) * t);\n      const y1 = Math.round(oy1 + (ny1 - oy1) * t);\n      const x2 = Math.round(ox2 + (nx2 - ox2) * t);\n      const y2 = Math.round(oy2 + (ny2 - oy2) * t);\n      const wrap64 = (x) => x - Math.floor(x / 64 - 0.5) * 64;\n      this.layers.current = layoutTreemap([this.currentNode.node], x1, y1, x2 - x1, y2 - y1)[0];\n      this.currentOriginX = wrap64(-(ox1 + ox2) / 2) * (1 - t) + (x1 + x2) / 2;\n      this.currentOriginY = wrap64(-(oy1 + oy2) / 2) * (1 - t) + (y1 + y2) / 2;\n    } else {\n      this.layers.current = void 0;\n      this.currentOriginX = 0;\n      this.currentOriginY = 0;\n    }\n  }\n  hitTestNode(mouseEvent) {\n    const rect = this.canvas.getBoundingClientRect();\n    const mouseX = mouseEvent.clientX - rect.left;\n    const mouseY = mouseEvent.clientY - rect.top;\n    const visit = (nodes, isTopLevel) => {\n      for (const node of nodes) {\n        const [x, y, w, h] = node.box;\n        if (mouseX >= x && mouseY >= y && mouseX < x + w && mouseY < y + h) {\n          return visit(node.children, false) || (isTopLevel ? null : node);\n        }\n      }\n      return null;\n    };\n    return this.layers.current ? visit([this.layers.current], false) : visit([this.layers.base], true);\n  }\n  updateHover(e) {\n    const layout = this.hitTestNode(e);\n    this.changeHoveredNode(layout && layout.node);\n    this.events.emit(\"hover\", layout?.node || null, e);\n  }\n  changeHoveredNode(node) {\n    if (this.hoveredNode !== node) {\n      this.hoveredNode = node;\n      this.canvas.style.cursor = node && !node.children.length ? \"pointer\" : \"auto\";\n      this.invalidate();\n    }\n  }\n  searchFor(children, node) {\n    for (const child of children) {\n      if (!child)\n        continue;\n      const result = child.node === node ? child : this.searchFor(child.children, node);\n      if (result)\n        return result;\n    }\n    return null;\n  }\n  changeCurrentLayout(node, animate = this.options.animate) {\n    if (this.animationTarget === node)\n      return;\n    this.events.emit(\"select\", node?.node || null);\n    this.layers.previous = node ? this.layers.current : void 0;\n    if (animate) {\n      this.animationBlend = 0;\n      this.animationStart = now();\n      this.animationSource = this.currentNode;\n    }\n    this.animationTarget = node;\n    this.currentNode = node || this.searchFor([this.layers.base], this.currentNode.node);\n    this.updateCurrentLayout();\n    this.invalidate();\n  }\n}\n\nexport { CONSTANT_BOLD_FONT, CONSTANT_NORMAL_FONT, DEFAULT_GRAPH_OPTIONS, DEFAULT_PALETTE, Flamegraph, GraphBase, Sunburst, Treemap, colorToCanvasFill, createColorGetterSpectrum, getTreeMaxDepth };\n"],"names":["l","n","p","q","r","t","u","v","w","x","y","z","A","a","B","C","D","E","b","e","F","G","H","I","J","K","L","M","d","c","k","h","g","f","m","N","O","escape","P","Q","R","S","T","U","V","W","X","react_production_min","reactModule","require$$0","reactJsxRuntime_production_min","jsxRuntimeModule","CONTEXT_LINES_ENDPOINT","RAW_TYPES","SENTRY_CONTENT_TYPE","exports","schedulerModule","aa","ca","require$$1","da","ea","fa","ha","ia","ja","ka","la","ma","oa","pa","qa","ra","sa","ta","ua","va","wa","ya","za","Aa","Ba","Ca","Da","Ea","Fa","Ga","Ha","Ia","Ja","Ka","La","Ma","Na","Oa","Pa","Qa","Ra","Sa","Ta","Ua","Va","Wa","Xa","Ya","Za","ab","bb","cb","db","eb","fb","gb","hb","ib","jb","kb","lb","mb","nb","ob","pb","qb","rb","sb","tb","ub","vb","wb","xb","yb","zb","Ab","Bb","Cb","Db","Eb","Fb","Gb","Hb","Ib","Jb","Kb","Lb","Mb","Nb","Ob","Pb","Qb","Rb","Sb","Tb","Ub","Vb","Wb","Xb","Yb","Zb","$b","ac","bc","cc","dc","ec","fc","gc","hc","ic","jc","kc","lc","mc","oc","nc","pc","qc","rc","sc","tc","uc","vc","wc","xc","yc","zc","Ac","Bc","Cc","Dc","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","Mc","Nc","Oc","Pc","Qc","Rc","Sc","Tc","Uc","Vc","Wc","Xc","Yc","Zc","$c","ad","bd","cd","dd","ed","fd","gd","hd","id","jd","kd","ld","md","nd","od","pd","qd","rd","sd","td","ud","vd","wd","xd","yd","Ad","zd","Bd","Cd","Dd","Ed","Fd","Gd","Hd","Id","Jd","Kd","Ld","Md","Nd","Od","Pd","Qd","Rd","Sd","Td","Ud","Vd","Wd","Xd","Yd","Zd","$d","ae","be","ce","de","ee","fe","ge","he","ie","je","ke","le","me","ne","oe","pe","qe","re","se","te","ue","ve","we","xe","ye","ze","Ae","Be","Ce","De","Ee","Fe","Ge","He","Ie","Je","Ke","Le","Me","Ne","Oe","Pe","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","$e","af","bf","cf","df","ef","ff","gf","hf","jf","kf","lf","mf","nf","of","pf","qf","rf","sf","tf","uf","vf","wf","na","xa","$a","ba","xf","yf","zf","Af","Bf","Cf","Df","Ef","Ff","Gf","Hf","Jf","If","Kf","Lf","Mf","Nf","Of","Pf","Qf","Rf","Sf","Tf","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","cg","dg","eg","fg","gg","hg","ig","jg","kg","lg","mg","ng","og","pg","qg","rg","sg","tg","ug","vg","wg","xg","yg","zg","Ag","Bg","Cg","Dg","Eg","Fg","Gg","Hg","Ig","Jg","Kg","Lg","Mg","Ng","Og","Pg","Qg","Rg","Sg","Tg","Ug","Vg","Wg","Xg","Yg","Zg","$g","ah","bh","ch","dh","eh","fh","gh","hh","ih","jh","kh","lh","mh","nh","oh","ph","qh","rh","sh","th","uh","vh","wh","xh","yh","zh","Ah","Bh","Ch","Dh","Eh","Fh","Gh","Hh","Ih","Jh","Kh","Lh","Mh","Nh","Oh","Ph","Qh","Rh","Sh","Th","Uh","Vh","Wh","Xh","Yh","Zh","$h","ai","bi","ci","di","ei","fi","gi","hi","ii","ji","ki","li","mi","ni","oi","pi","qi","ri","si","ti","ui","vi","wi","xi","yi","zi","Ai","Bi","Ci","Di","Ei","Fi","Gi","Hi","Ii","Ji","Ki","Li","Mi","Ni","Oi","Pi","Qi","Ri","Si","Ti","Ui","Vi","Wi","Xi","Yi","Zi","$i","aj","bj","cj","dj","ej","fj","gj","hj","ij","jj","kj","lj","mj","nj","oj","pj","qj","rj","sj","tj","uj","vj","wj","xj","yj","zj","Aj","Bj","Cj","Dj","Ej","Fj","Gj","Hj","Ij","Jj","Kj","Lj","Mj","Nj","Oj","Pj","Qj","Rj","Sj","Tj","Uj","Vj","Wj","Xj","Yj","Zj","ak","bk","ck","dk","ek","fk","gk","hk","ik","jk","kk","lk","mk","nk","ok","Y","Z","pk","qk","rk","sk","tk","uk","vk","wk","xk","yk","zk","Ak","Bk","Ck","Dk","Ek","Fk","Gk","Hk","Ik","Jk","Kk","Lk","Mk","Nk","Ok","Pk","Qk","Rk","Sk","Tk","Uk","Vk","Wk","Xk","Yk","Zk","$k","al","bl","cl","dl","el","fl","gl","hl","il","jl","kl","ll","ml","nl","ol","pl","ql","rl","sl","tl","ul","vl","reactDom_production_min","checkDCE","err","reactDomModule","_extends","target","i","source","key","Action","PopStateEventType","createBrowserHistory","options","createBrowserLocation","window","globalHistory","pathname","search","hash","createLocation","createBrowserHref","to","createPath","getUrlBasedHistory","createHashHistory","createHashLocation","parsePath","createHashHref","base","href","url","hashIndex","validateHashLocation","location","warning","invariant","value","message","cond","createKey","getHistoryState","index","current","state","_ref","path","parsedPath","searchIndex","getLocation","createHref","validateLocation","v5Compat","action","listener","getIndex","handlePop","nextIndex","delta","history","push","historyState","error","replace","createURL","fn","ResultType","matchRoutes","routes","locationArg","basename","matchRoutesImpl","allowPartial","stripBasename","branches","flattenRoutes","rankRouteBranches","matches","decoded","decodePath","matchRouteBranch","parentsMeta","parentPath","flattenRoute","route","relativePath","meta","joinPaths","routesMeta","computeScore","_route$path","exploded","explodeOptionalSegments","segments","first","rest","isOptional","required","restExploded","result","subpath","compareIndexes","paramRe","dynamicSegmentValue","indexRouteValue","emptySegmentValue","staticSegmentValue","splatPenalty","isSplat","s","initialScore","score","segment","branch","matchedParams","matchedPathname","end","remainingPathname","match","matchPath","normalizePathname","pattern","matcher","compiledParams","compilePath","pathnameBase","captureGroups","memo","paramName","splatValue","caseSensitive","params","regexpSource","_","startIndex","nextChar","resolvePath","fromPathname","toPathname","resolvePathname","normalizeSearch","normalizeHash","getInvalidPathError","char","field","dest","getPathContributingMatches","getResolveToMatches","v7_relativeSplatPath","pathMatches","idx","resolveTo","toArg","routePathnames","locationPathname","isPathRelative","isEmptyPath","from","routePathnameIndex","toSegments","hasExplicitTrailingSlash","hasCurrentTrailingSlash","paths","isRouteErrorResponse","validMutationMethodsArr","validRequestMethodsArr","DataRouterContext","React.createContext","DataRouterStateContext","NavigationContext","LocationContext","RouteContext","RouteErrorContext","useHref","_temp","relative","useInRouterContext","UNSAFE_invariant","navigator","React.useContext","useResolvedPath","joinedPathname","useLocation","useNavigationType","useIsomorphicLayoutEffect","React.useLayoutEffect","useNavigate","isDataRoute","useNavigateStable","useNavigateUnstable","dataRouterContext","future","routePathnamesJson","UNSAFE_getResolveToMatches","activeRef","React.useRef","React.useCallback","OutletContext","useOutlet","context","outlet","React.createElement","useParams","routeMatch","_temp2","React.useMemo","useRoutes","useRoutesImpl","dataRouterState","parentMatches","parentParams","parentPathnameBase","locationFromContext","_parsedLocationArg$pa","parsedLocationArg","parentSegments","renderedMatches","_renderMatches","DefaultErrorComponent","useRouteError","stack","preStyles","React.Fragment","defaultErrorElement","RenderErrorBoundary","React.Component","props","errorInfo","RenderedRoute","routeContext","children","_dataRouterState","_future","errors","errorIndex","renderFallback","fallbackIndex","loaderData","needsToRunLoader","shouldRenderHydrateFallback","errorElement","hydrateFallbackElement","getChildren","useDataRouterContext","hookName","ctx","useDataRouterState","useRouteContext","useCurrentRouteId","thisRoute","_state$errors","routeId","router","logV6DeprecationWarnings","renderFuture","routerFuture","Navigate","_ref4","navigate","jsonPath","React.useEffect","Outlet","Route","_props","Router","_ref5","basenameProp","locationProp","navigationType","staticProp","navigationContext","locationContext","trailingPathname","Routes","_ref6","createRoutesFromChildren","React.Children","element","React.isValidElement","treePath","_objectWithoutPropertiesLoose","excluded","sourceKeys","isModifiedEvent","event","shouldProcessLinkClick","_excluded","_excluded2","REACT_ROUTER_VERSION","ViewTransitionContext","startTransitionImpl","React","BrowserRouter","historyRef","setStateImpl","React.useState","v7_startTransition","setState","newState","UNSAFE_logV6DeprecationWarnings","HashRouter","isBrowser","ABSOLUTE_URL_REGEX","Link","React.forwardRef","_ref7","ref","onClick","reloadDocument","preventScrollReset","viewTransition","UNSAFE_NavigationContext","absoluteHref","isExternal","currentUrl","targetUrl","internalOnClick","useLinkClickHandler","handleClick","NavLink","_ref8","ariaCurrentProp","classNameProp","styleProp","routerState","UNSAFE_DataRouterStateContext","isTransitioning","useViewTransitionState","nextLocationPathname","endSlashPosition","isActive","isPending","renderProps","ariaCurrent","className","style","DataRouterHook","DataRouterStateHook","UNSAFE_DataRouterContext","replaceProp","opts","vtContext","currentPath","nextPath","clone","something","doClone","cloneArray","cloneObj","arr","len","obj","mergeObjects","sources","CAPTURING_REGEX_SOURCE","RegexSource","regexSource","captureSource","captureIndices","commandIndex","command","capture","strcmp","strArrCmp","len1","len2","res","isValidHexColor","hex","escapeRegExpCharacters","CachedFn","__publicField","Theme","_colorMap","_defaults","_root","scopeName","colorMap","parseTheme","resolveParsedThemeRules","scopePath","effectiveRule","_scopePathMatchesParentScopes","StyleAttributes","ScopeStack","_ScopeStack","parent","scopeNames","name","item","other","parentScopes","scopePattern","scopeMustMatch","_matchesScope","fontStyle","foregroundId","backgroundId","settings","resultLen","entry","scopes","_scope","j","lenJ","foreground","background","scope","ParsedThemeRule","FontStyle","FontStyle2","parsedThemeRules","defaultFontStyle","defaultForeground","defaultBackground","incomingDefaults","ColorMap","defaults","root","ThemeTrieElement","ThemeTrieElementRule","rule","color","emptyParentScopes","_ThemeTrieElementRule","scopeDepth","_ThemeTrieElement","_mainRule","rulesWithParentScopes","_children","aParentIndex","bParentIndex","parentScopeLengthDiff","dotIndex","head","tail","rules","child","EncodedTokenMetadata","_EncodedTokenMetadata","encodedTokenAttributes","languageId","tokenType","containsBalancedBrackets","_languageId","_tokenType","_containsBalancedBracketsBit","_fontStyle","_foreground","_background","toOptionalTokenType","standardType","fromOptionalTokenType","createMatchers","selector","matchesName","results","tokenizer","newTokenizer","token","priority","parseConjunction","parseOperand","expressionToNegate","matcherInput","expressionInParents","parseInnerExpression","isIdentifier","identifiers","matchers","matcher2","input","regex","disposeOnigString","str","TopLevelRuleReference","TopLevelRepositoryRuleReference","ruleName","ExternalReferenceCollector","reference","ScopeDependencyProcessor","repo","initialScopeName","deps","dep","collectReferencesOfReference","baseGrammarScopeName","selfGrammar","baseGrammar","collectExternalReferencesInTopLevelRule","collectExternalReferencesInTopLevelRepositoryRule","injections","injection","collectExternalReferencesInRules","patternRepository","include","parseInclude","newContext","BaseReference","SelfReference","RelativeReference","TopLevelReference","TopLevelRepositoryReference","indexOfSharp","HAS_BACK_REFERENCES","BACK_REFERENCING_END","endRuleId","whileRuleId","ruleIdFromNumber","ruleIdToNumber","Rule","$location","contentName","lineText","CaptureRule","retokenizeCapturedWithRuleId","grammar","out","endRegexSource","allowA","allowG","MatchRule","captures","RegExpSource","RegExpSourceList","IncludeOnlyRule","patterns","BeginEndRule","begin","beginCaptures","endCaptures","applyEndPatternLast","BeginWhileRule","_while","whileCaptures","RuleFactory","_RuleFactory","helper","desc","repository","maximumCaptureId","captureId","numericCaptureId","ruleId","localIncludedRule","externalGrammarName","externalGrammarInclude","externalGrammar","externalIncludedRule","skipRule","_RegExpSource","regExpSource","lastPushedPos","output","hasAnchor","pos","nextCh","newSource","capturedValues","g1","A0_G0_result","A0_G1_result","A1_G0_result","A1_G1_result","onigLib","regExps","CompiledRule","string","startPosition","BasicScopeAttributes","BasicScopeAttributesProvider","_a","initialLanguageId","embeddedLanguages","standardTokenType","ScopeMatcher","values","escapedScopes","TokenizeStringResult","stoppedEarly","_tokenizeString","isFirstLine","linePos","lineTokens","checkWhileConditions","timeLimit","lineLength","STOP","anchorPosition","whileCheckResult","_checkWhileConditions","startTime","scanNext","matchRuleOrInjections","matchedRuleId","hasAdvanced","poppedRule","handleCaptures","popped","_rule","beforePush","nameScopesList","pushedRule","contentNameScopesList","whileRules","node","nodeRule","whileRule","ruleScanner","findOptions","prepareRuleWhileSearch","matchResult","matchRule","injectionResult","matchInjections","matchResultScore","injectionResultScore","prepareRuleSearch","bestMatchRating","bestMatchCaptureIndices","bestMatchRuleId","bestMatchResultPriority","matchRating","lineTextContent","localStack","maxEnd","captureRule","captureIndex","stackClone","onigSubStr","captureRuleScopeName","captureRuleScopesList","LocalStackElement","endPos","createGrammar","initialLanguage","tokenTypes","balancedBracketSelectors","grammarRepository","Grammar","collectInjections","ruleFactoryHelper","nameMatcher","identifers","lastIndex","identifier","scopesAreMatching","thisScopeName","_rootScopeName","_onigLib","initGrammar","scopeName2","rawInjections","expression","injectionScopeNames","injectionScopeName","injectionGrammar","i1","i2","factory","rawIncludedGrammar","prevState","emitBinaryTokens","StateStackImpl","rawDefaultMetadata","defaultStyle","defaultMetadata","rootScopeName","scopeList","AttributedScopeStack","onigLineText","LineTokens","_AttributedScopeStack","tokenAttributes","namesScopeList","frame","rawRootMetadata","rootStyle","resolvedTokenAttributes","existingTokenAttributes","basicScopeAttributes","styleAttributes","rawMetadata","newPath","scopeThemeMatchResult","metadata","self","_b","enterPos","anchorPos","beginRuleCapturedEOL","endRule","outIndex","contentNameScopeStack","_c","BalancedBracketSelectors","balancedBracketScopes","unbalancedBracketScopes","excluder","includer","tokenTypeOverrides","endIndex","scopesList","scopes2","SyncRegistry","theme","targetScope","rawGrammar","Registry","configuration","dependencyProcessor","request","INITIAL","htmlVoidElements","Schema","property","normal","space","merge","definitions","definition","normalize","Info","attribute","powers","boolean","increment","booleanish","overloadedBoolean","number","spaceSeparated","commaSeparated","commaOrSpaceSeparated","checks","types","DefinedInfo","mask","mark","check","create","properties","normals","info","aria","caseSensitiveTransform","attributes","caseInsensitiveTransform","html","svg","xlink","xmlns","xml","cap","dash","valid","find","schema","Type","camelcase","dashes","kebab","$0","htmlBase","svgBase","own","zwitch","one","parameters","handlers","defaultSubsetRegex","surrogatePairsRegex","controlCharactersRegex","regexEscapeRegex","subsetToRegexCache","core","charactersToExpressionCached","basic","surrogate","pair","all","character","subset","cached","charactersToExpression","groups","hexadecimalRegex","toHexadecimal","code","next","omit","decimalRegex","toDecimal","characterEntitiesLegacy","characterEntitiesHtml4","dangerous","characters","notAlphanumericRegex","toNamed","formatSmart","numeric","named","decimal","stringifyEntities","htmlCommentRegex","bogusCommentEntitySubset","commentEntitySubset","comment","_1","_2","encode","doctype","_3","ccount","count","stringify","whitespace","thing","empty","siblingAfter","siblings","siblingBefore","emptyChildren","sibling","includeWhitespace","offset","omission","closing","body","headOrColgroupOrCaption","dt","optgroup","option","rubyElement","tbody","cells","tfoot","thead","tr","opening","colgroup","seen","previous","constants","selfClosing","parts","last","serializeAttributes","content","serializeAttribute","quote","commas","spaces","textEntitySubset","text","raw","handle","invalid","unknown","node_","emptyOptions","emptyCharacterReferences","toHtml","tree","options_","alternative","resolveColorReplacements","replacements","themeName","applyColorReplacements","toArray","normalizeGetter","isPlainLang","lang","isSpecialLang","isNoneTheme","isSpecialTheme","addClassToHast","targets","splitLines","preserveEnding","lines","line","createPositionConverter","indexToPos","posToIndex","DEFAULT_COLOR_LIGHT_DARK","COLOR_KEYS","splitToken","offsets","lastOffset","tokens","splitTokens","breakpoints","sorted","breakpointsInToken","flatTokenVariants","merged","variantsOrder","cssVariablePrefix","defaultColor","colorsRendering","styles","getTokenStyleObject","styleKeys","mergedStyles","varKey","keyName","cur","lightIndex","darkIndex","ShikiError$1","lightValue","darkValue","decorations","stringifyTokenStyle","_grammarStateMap","setLastGrammarStateToMap","keys","getLastGrammarStateFromMap","GrammarState","args","stacksMap","themes","getScopes","visited","pushScope","stack2","getGrammarStack","transformerDecorations","map","getContext","shiki","normalizePosition","converter","verifyIntersections","codeEl","applyLineSection","start","decoration","lineEl","applyDecoration","wrapper","applyLine","type","transform","lineApplies","items","foo","bar","isFooHasBarStart","isFooHasBarEnd","isBarHasFooStart","isBarHasFooEnd","builtInTransformers","getTransformers","transformers","sortTransformersByEnforcement","pre","post","transformer","namedColors","findSequence","position","nextEscape","nextClose","parseColor","sequence","colorMode","rgb","parseSequence","commands","codeInt","createAnsiSequenceParser","decorations2","findResult","styleToken","defaultNamedColorsMap","createColorPalette","namedColorsMap","namedColor","rgbColor","colorTable","getColorTable","levels","level","tableColor","tokenizeAnsiWithTheme","fileContents","colorReplacements","colorPalette","parser","bgColor","dimColor","hexMatch","alpha","cssVarMatch","codeToTokensBase","internal","_grammar","tokenizeWithTheme","getLastGrammarState","_tokenizeWithTheme","grammarState","tokenizeMaxLineLength","tokenizeTimeLimit","stateStack","actual","final","lineOffset","resultWithScopes","tokensWithScopes","tokensWithScopesIndex","tokensLength","nextStartIndex","themeSettingsSelectors","setting","selectors","tokenWithScopes","tokenWithScopesText","explainThemeScopesNameOnly","explainThemeScopesFull","themeSelectors","explainThemeScope","matchesOne","selectorParentIndex","parentIndex","selectorPieces","codeToTokensWithThemes","themedTokens","tokens2","syncThemesTokenization","mergedTokens","lineIdx","_token","tokenIdx","mergedToken","themeIdx","__","___","mergedGrammarState","outThemes","outLines","indexes","minLength","codeToTokens","themeTokens","themeRegs","themesOrder","themeColorReplacements","mapThemeColors","_theme","cssVar","t2","codeToHast","transformerContext","_code","_options","mergeWhitespaces","mergeSameStyleTokens","mergeWhitespaceTokens","splitWhitespaceTokens","mergeAdjacentStyledTokens","contextSource","tokensToHast","structure","tabindex","preNode","codeNode","lineNodes","lineNode","col","tokenNode","newLine","carryOnContent","firstOffset","couldMerge","leading","trailing","expanded","prevToken","prevStyle","currentStyle","isPrevDecorated","isDecorated","hastToHtml","codeToHtml","VSCODE_FALLBACK_EDITOR_FG","VSCODE_FALLBACK_EDITOR_BG","RESOLVED_KEY","normalizeTheme","rawTheme","globalSetting","_d","replacementCount","replacementMap","getReplacementColor","replaceFg","replaceBg","replacement","_e","resolveLangs","langs","resolveThemes","_emitDeprecation","warnDeprecated","version","Registry$1","_resolver","_themes","_langs","_alias","textmateTheme","resolved","ShikiError","embeddedLazilyBy","grammarConfig","alias","langsGraphArray","missingLangs","dependents","embeddedLang","Resolver","engine","langIdOrAlias","scopeParts","subScopeName","instancesCount","createShikiInternalSync","isDisposed","resolver","_registry","_lastTheme","getLanguage","ensureNotDisposed","_lang","getTheme","setTheme","getLoadedThemes","getLoadedLanguages","loadLanguageSync","langs2","loadLanguage","loadThemeSync","themes2","loadTheme","dispose","createShikiInternal","createHighlighterCore","options2","createdBundledHighlighter","bundledLanguages","bundledThemes","createHighlighter","resolveLang","bundle","resolveTheme","andromeeda$1","auroraX$1","ayuDark$1","catppuccinFrappe$1","catppuccinLatte$1","catppuccinMacchiato$1","catppuccinMocha$1","darkPlus$1","dracula$1","draculaSoft$1","everforestDark$1","everforestLight$1","githubDark$1","githubDarkDefault$1","githubDarkDimmed$1","githubDarkHighContrast$1","githubLight$1","githubLightDefault$1","githubLightHighContrast$1","gruvboxDarkHard$1","gruvboxDarkMedium$1","gruvboxDarkSoft$1","gruvboxLightHard$1","gruvboxLightMedium$1","gruvboxLightSoft$1","houston$1","kanagawaDragon$1","kanagawaLotus$1","kanagawaWave$1","laserwave$1","lightPlus$1","materialTheme$1","materialThemeDarker$1","materialThemeLighter$1","materialThemeOcean$1","materialThemePalenight$1","minDark$1","minLight$1","monokai$1","nightOwl$1","nord$1","oneDarkPro$1","oneLight$1","plastic$1","poimandres$1","red$1","rosePine$1","rosePineDawn$1","rosePineMoon$1","slackDark$1","slackOchin$1","snazzyLight$1","solarizedDark$1","solarizedLight$1","synthwave84$1","tokyoNight$1","vesper$1","vitesseBlack$1","vitesseDark$1","vitesseLight$1","getHeapMax","_emscripten_get_now","alignUp","multiple","main","init","wasmMemory","buffer","binding","updateGlobalBufferAndViews","buf","_emscripten_memcpy_big","src","num","emscripten_realloc_buffer","size","_emscripten_resize_heap","requestedSize","oldSize","maxHeapSize","cutDown","overGrownHeapSize","newSize","UTF8Decoder","UTF8ArrayToString","heapOrArray","maxBytesToRead","endIdx","endPtr","u0","u1","u2","UTF8ToString","ptr","asmLibraryArg","createWasm","__defProp","__defNormalProp","onigBinding","throwLastOnigError","onigBinding2","UtfString","utf16Length","utf8Length","computeIndicesMapping","utf16OffsetToUtf8","utf8OffsetToUtf16","utf8Value","i8","i16","charCode","codePoint","wasSurrogatePair","nextCharCode","codepoint","_OnigString","utfString","utf8Offset","utf16Offset","OnigString","OnigScanner","strPtrsArr","strLenArr","strPtrsPtr","strLenPtr","scannerPtr","arg","debugCall","resultPtr","HEAPU32","beg","isInstantiatorOptionsObject","dataOrOptions","isInstantiatorModule","isDataOptionsObject","isResponse","isArrayBuffer","data","initPromise","loadWasm","_load","instance","_makeResponseStreamingLoader","_makeResponseNonStreamingLoader","_makeArrayBufferLoader","importObject","arrayBuffer","createOnigurumaEngine","bundledLanguagesInfo","angularHtml","angularTs$1","astro$1","blade$1","c$1","coffee$1","cpp$1","css$1","glsl$1","graphql$1","haml$1","handlebars$1","html$1","htmlDerivative","http$1","imba$1","java$1","javascript$1","jinja$1","jison$1","json$1","json5$1","jsonc$1","jsonl$1","jsx$1","julia$1","less$1","markdown$1","marko$1","mdc$1","mdx$1","php$1","postcss$1","pug$1","python$1","r$1","regexp$1","sass$1","scss$1","shellscript$1","sql$1","stylus$1","svelte$1","tsTags$1","tsx$1","typescript$1","vue$1","vueHtml$1","vueVine$1","wasm$2","wgsl$1","wit$1","xml$1","yaml$1","bundledLanguagesBase","bundledLanguagesAlias","wasm","SHIKI_DEFAULT_THEME","ShikiContext","createContext","ShikiProvider","setValue","useState","useEffect","jsx","useShiki","useContext","removeURLSuffix","suffix","parsedUrl","SPOTLIGHT_PREFIX","_log","_args","activateLogger","log","connectToSidecar","sidecarUrl","contentTypeListeners","setOnline","sidecarStreamUrl","contentType","o","clsx","CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","classParts","getGroupRecursive","getGroupIdForArbitraryProperty","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","classGroupFromNextClassPart","classRest","validator","arbitraryPropertyRegex","arbitraryPropertyClassName","classGroups","processClassesRecursively","classGroup","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","currentClassPartObject","pathPart","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","IMPORTANT_MODIFIER","MODIFIER_SEPARATOR","MODIFIER_SEPARATOR_LENGTH","createParseClassName","prefix","experimentalParseClassName","parseClassName","modifiers","bracketDepth","parenDepth","modifierStart","postfixModifierPosition","currentCharacter","baseClassNameWithImportantModifier","baseClassName","stripImportantModifier","hasImportantModifier","maybePostfixModifierPosition","fullPrefix","parseClassNameOriginal","createSortModifiers","orderSensitiveModifiers","modifier","sortedModifiers","unsortedModifiers","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","getClassGroupId","getConflictingClassGroupIds","sortModifiers","classGroupsInConflict","classNames","originalClassName","variantModifier","modifierId","classId","conflictGroups","group","twJoin","argument","resolvedValue","toValue","mix","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","label","twMerge","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scalePositionWithArbitrary","scaleOverflow","scaleOverscroll","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","scaleBgRepeat","scaleBgSize","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","cn","inputs","getRouteStorageKey","contextId","createStoreImpl","createState","listeners","partial","nextState","previousState","getState","api","initialState","createStore","identity","useStore","slice","createImpl","useBoundStore","ERROR_EVENT_TYPES","TRACE_EVENT_TYPES","PROFILE_EVENT_TYPES","LOG_EVENT_TYPES","ATTACHMENT_EVENT_TYPES","SUPPORTED_EVENT_TYPES","sdkToPlatform","initialEnvelopesState","createEnvelopesSlice","set","get","envelope","header","lastSeen","sdk","traceContext","attachmentsByEventId","envelopeScopedAttachments","eventCount","itemHeader","itemData","rawData","attachment","eventId","existing","attachmentsForEvent","envelopes","newEnvelopes","generateUuidv4","rnd","groupSpans","spans","sortedSpans","parentComp","compareSpans","span","getParentOfSpan","parentParent","idLookup","allSpans","getRootTransactionMethod","trace","transaction","getRootTransactionName","method","_FUNCTION_NAME_FROM_FRAME_CACHE","getFunctionNameFromFrame","module","functionName","lineNo","colNo","consolidateSpans","consolidatedSpans","lastSpan","spanIdx","SENTRY_FRAME_FILTER_PER_PLATFORM","frameIdx","getSpansFromProfile","profile","parent_span_id","startTs","endTs","threadIds","sentryFrameFilter","fillerSpans","sampleIdx","sample","sampleTs","nextSample","timestamp","commonAttributes","sampleSpan","currentSpan","currentStack","lastSentryFrameIdx","frameIdxIdx","op","description","spanFromFrame","consolidated","graftProfileSpans","spanTree","useSentryStore","nextSpan","fillers","isErrorEvent","isProfileEvent","isTraceEvent","isLogEvent","toTimestamp","date","relativeNsToTimestamp","ns","nsStr","initialEventsState","createEventsSlice","_eventsById","logsById","logsByTraceId","logItem","logId","newLogsById","newLogsByTraceId","logSet","eventsById","newEventIds","callback","traceCtx","tracesById","existingTrace","spanMap","txn","roots","newTracesById","profilesByTraceId","newProfilesByTraceId","profileTxn","initialLogsState","createLogsSlice","_set","traceId","initialProfilesState","createProfilesSlice","aggregateCalls","duration","stackId","frameIndices","callData","initialSDKsState","getSDKKey","createSDKsSlice","sdks","existingSdk","newSdks","DEFAULT_SIDECAR_URL","DEFAULT_SIDECAR_STREAM_URL","initialSettingsState","createSettingsSlice","contextLinesProviderUrl","getNativeFetchImplementation","fetchIsWrapped","fetchImpl","createSharedSlice","spanId","getEvents","evt","errorEvent","exception","stackTraceWithContextResponse","stackTraceWithContext","initialSubscriptionsState","createSubscriptionsSlice","subscribers","newSubscribers","currentSubscribers","updatedSubscribers","initialTracesState","createTracesSlice","createTab","title","extra","TelemetryTabs","tabs","nested","tab","tabPath","SvgAstro","titleId","SvgDefault","SvgDotnet","SvgFirefox","SvgGoogle","SvgJavascript","SvgLaravel","SvgMaui","SvgNestjs","SvgNextjs","SvgNodejs","SvgPhp","SvgPython","SvgRemix","SvgRuby","SvgSafari","SvgSymfony","BROWSER_ICON_MAP","SafariIcon","ChromeIcon","FirefoxIcon","DefaultSDKIcon","DefaultIcon","SDK_ICON_MAP","NextJsIcon","AstroIcon","RemixIcon","NestJsIcon","RubyIcon","PythonIcon","JavaScriptIcon","NodeIcon","PhpIcon","PhpLaravelIcon","PhpSymfonyIcon","DotNetIcon","DotNetMauiIcon","PlatformIcon","platform","WrappedIcon","CorePlatformIcon","wrappedWidth","wrappedHeight","jsxs","RuntimeIcon","runtimeName","runtimeTitle","browserName","_f","browserTitle","_h","_g","iconKey","browser","Icon","newTitle","iconName","DEBUG_BUILD","GLOBAL_OBJ","SDK_VERSION","getMainCarrier","getSentryCarrier","carrier","__SENTRY__","getGlobalSingleton","creator","CONSOLE_LEVELS","PREFIX","originalConsoleMethods","consoleSandbox","console","wrappedFuncs","wrappedLevels","originalConsoleMethod","enable","_getLoggerSettings","disable","isEnabled","_maybeLog","warn","debug","STACKTRACE_FRAME_LIMIT","UNKNOWN_FUNCTION","WEBPACK_ERROR_REGEXP","STRIP_FRAME_REGEXP","createStackParser","parsers","sortedParsers","skipFirstLines","framesToPop","frames","cleanedLine","stripSentryFramesAndReverse","stackParserFromStackParserOptions","stackParser","getLastStackFrame","defaultFunctionName","getFunctionName","getFramesFromEvent","instrumented","addHandler","handler","maybeInstrument","instrumentFn","triggerHandlers","typeHandlers","_oldOnErrorHandler","addGlobalErrorInstrumentationHandler","instrumentError","msg","column","_oldOnUnhandledRejectionHandler","addGlobalUnhandledRejectionInstrumentationHandler","instrumentUnhandledRejection","objectToString","isError","wat","isInstanceOf","isBuiltin","isDOMError","isDOMException","isString","isParameterizedString","isPrimitive","isPlainObject","isEvent","isElement","isRegExp","isThenable","isSyntheticEvent","isVueViewModel","isRequest","WINDOW","DEFAULT_MAX_STRING_LENGTH","htmlTreeAsString","elem","currentElem","MAX_TRAVERSE_HEIGHT","height","separator","sepLength","nextStr","keyAttrs","maxStringLength","_htmlElementAsString","keyAttrPairs","keyAttr","keyAttrPair","classes","allowedAttrs","attr","getLocationHref","getComponentName","truncate","max","safeJoin","delimiter","isMatchingPattern","requireExactStringMatch","stringMatchesSomePattern","testString","fill","replacementFactory","original","wrapped","markFunctionWrapped","addNonEnumerableProperty","proto","getOriginalFunction","convertToPlainObject","getOwnProperties","newObj","serializeEventTarget","extractedProps","extractExceptionKeysForMessage","maxLength","firstKey","includedKeys","serialized","getCrypto","gbl","uuid4","crypto","getRandomByte","typedArray","getFirstException","getEventDescription","firstException","addExceptionTypeValue","addExceptionMechanism","newMechanism","defaultMechanism","currentMechanism","mergedData","checkOrSetAlreadyCaught","isAlreadyCaptured","ONE_SECOND_IN_MS","dateTimestampInSeconds","createUnixTimestampInSecondsFunc","performance","timeOrigin","_cachedTimestampInSeconds","timestampInSeconds","cachedTimeOrigin","getBrowserTimeOrigin","threshold","performanceNow","dateNow","timeOriginDelta","timeOriginIsReliable","navigationStart","navigationStartDelta","navigationStartIsReliable","browserPerformanceTimeOrigin","makeSession","startingTime","session","sessionToJSON","updateSession","closeSession","status","initialObj","mergeObj","generateTraceId","generateSpanId","SCOPE_SPAN_FIELD","_setSpanForScope","_getSpanForScope","DEFAULT_MAX_BREADCRUMBS","Scope","newScope","client","lastEventId","user","tags","extras","fingerprint","captureContext","scopeToMerge","scopeInstance","contexts","propagationContext","breadcrumb","maxBreadcrumbs","maxCrumbs","mergedBreadcrumb","newData","hint","syntheticException","getDefaultCurrentScope","getDefaultIsolationScope","AsyncContextStack","isolationScope","assignedScope","assignedIsolationScope","maybePromiseResult","getAsyncContextStack","registry","sentry","withScope","withSetScope","withIsolationScope","getStackAsyncContextStrategy","_isolationScope","getAsyncContextStrategy","getCurrentScope","getIsolationScope","getGlobalScope","acs","getClient","getTraceContextFromScope","parentSpanId","propagationSpanId","SEMANTIC_ATTRIBUTE_SENTRY_SOURCE","SEMANTIC_ATTRIBUTE_SENTRY_SAMPLE_RATE","SEMANTIC_ATTRIBUTE_SENTRY_PREVIOUS_TRACE_SAMPLE_RATE","SEMANTIC_ATTRIBUTE_SENTRY_OP","SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN","SEMANTIC_ATTRIBUTE_SENTRY_IDLE_SPAN_FINISH_REASON","SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT","SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE","SEMANTIC_ATTRIBUTE_SENTRY_CUSTOM_SPAN_NAME","SEMANTIC_ATTRIBUTE_PROFILE_ID","SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME","SEMANTIC_LINK_ATTRIBUTE_LINK_TYPE","SPAN_STATUS_UNSET","SPAN_STATUS_OK","SPAN_STATUS_ERROR","getSpanStatusFromHttpCode","httpStatus","setHttpStatus","spanStatus","SCOPE_ON_START_SPAN_FIELD","ISOLATION_SCOPE_ON_START_SPAN_FIELD","setCapturedScopesOnSpan","getCapturedScopesOnSpan","SENTRY_BAGGAGE_KEY_PREFIX","SENTRY_BAGGAGE_KEY_PREFIX_REGEX","MAX_BAGGAGE_STRING_LENGTH","baggageHeaderToDynamicSamplingContext","baggageHeader","baggageObject","parseBaggageHeader","dynamicSamplingContext","acc","nonPrefixedKey","dynamicSamplingContextToSentryBaggageHeader","sentryPrefixedDSC","dscKey","dscValue","objectToBaggageHeader","curr","currBaggageObject","baggageHeaderToObject","baggageEntry","keyOrValue","object","objectKey","objectValue","currentIndex","newBaggageHeader","ORG_ID_REGEX","DSN_REGEX","isValidProtocol","protocol","dsnToString","dsn","withPassword","host","pass","port","projectId","publicKey","dsnFromString","lastPath","split","projectMatch","dsnFromComponents","components","validateDsn","component","extractOrgIdFromDsnHost","extractOrgIdFromClient","org_id","makeDsn","parseSampleRate","sampleRate","rate","TRACEPARENT_REGEXP","extractTraceparentData","traceparent","parentSampled","propagationContextFromHeaders","sentryTrace","baggage","traceparentData","sampleRand","getSampleRandFromTraceparentAndDsc","generateSentryTraceHeader","sampled","sampledString","dsc","parsedSampleRand","parsedSampleRate","TRACE_FLAG_NONE","TRACE_FLAG_SAMPLED","hasShownSpanDropWarning","spanToTransactionTraceContext","span_id","trace_id","origin","links","spanToJSON","spanToTraceContext","isRemote","spanToTraceHeader","spanIsSampled","convertSpanLinksForEnvelope","traceFlags","restContext","spanTimeInputToSeconds","ensureTimestampInSeconds","spanIsSentrySpan","spanIsOpenTelemetrySdkTraceBaseSpan","endTime","getStatusMessage","castSpan","CHILD_SPANS_FIELD","ROOT_SPAN_FIELD","addChildSpanToSpan","childSpan","rootSpan","removeChildSpanFromSpan","getSpanDescendants","resultSet","addSpanChildren","childSpans","getRootSpan","getActiveSpan","showSpanDropWarning","errorsInstrumented","registerSpanErrorInstrumentation","errorCallback","activeSpan","hasSpansEnabled","maybeOptions","DEFAULT_ENVIRONMENT","FROZEN_DSC_FIELD","freezeDscOnSpan","getDynamicSamplingContextFromClient","public_key","getDynamicSamplingContextFromScope","getDynamicSamplingContextFromSpan","rootSpanJson","rootSpanAttributes","traceState","rootSpanSampleRate","applyLocalSampleRateToDsc","frozenDsc","traceStateDsc","dscOnTraceState","SentryNonRecordingSpan","spanContext","_timestamp","_key","_value","_values","_status","_name","_attributesOrStartTime","_startTime","_link","_links","_exception","_time","depth","maxProperties","visit","normalizeToSize","maxSize","normalized","jsonSize","memoBuilder","memoize","unmemoize","stringified","stringifyValue","remainingDepth","valueWithToJSON","jsonValue","numAdded","visitable","visitKey","visitValue","objName","getConstructorName","prototype","inner","createEnvelope","headers","addItemToEnvelope","newItem","forEachEnvelopeItem","envelopeItems","envelopeItem","envelopeItemType","envelopeContainsItemType","encodeUTF8","decodeUTF8","serializeEnvelope","envHeaders","append","itemHeaders","payload","stringifiedPayload","concatBuffers","buffers","totalLength","parseEnvelope","env","readBinary","length","bin","readJson","envelopeHeader","binaryLength","createSpanEnvelopeItem","spanJson","createAttachmentEnvelopeItem","ITEM_TYPE_TO_DATA_CATEGORY_MAP","envelopeItemTypeToDataCategory","getSdkMetadataForEnvelopeHeader","metadataOrEvent","createEventEnvelopeHeaders","sdkInfo","tunnel","shouldIgnoreSpan","ignoreSpans","isStringOrRegExp","nameMatches","opMatches","reparentChildSpans","dropSpan","droppedSpanParentId","droppedSpanId","_enhanceEventWithSdkInfo","newSdkInfo","eventSdkInfo","createSessionEnvelope","envelopeHeaders","createEventEnvelope","eventType","createSpanEnvelope","dscHasRequiredProps","beforeSendSpan","filteredSpans","droppedSpans","convertToSpanJSON","processedSpan","logSpanStart","isRootSpan","infoParts","logSpanEnd","setMeasurement","unit","timedEventsToMeasurements","events","measurements","MAX_SPAN_COUNT","SentrySpan","link","timeInput","endTimestamp","attributesOrStartTime","time","isSpanTimeInput","sendSpanEnvelope","transactionEvent","isFullFinishedSpan","capturedSpanScope","capturedSpanIsolationScope","normalizedRequest","isStandaloneSpan","spanItems","handleCallbackErrors","onError","onFinally","maybeHandlePromiseRejection","samplingContext","localSampleRateWasApplied","fallbackSampleRate","shouldSample","SUPPRESS_TRACING_KEY","startSpan","getAcs","spanArguments","parseSentrySpanArguments","forceTransaction","customParentSpan","customScope","customForkedScope","getActiveSpanWrapper","parentSpan","getParentSpan","createChildOrRootSpan","startInactiveSpan","withActiveSpan","_startChildSpan","_startRootSpan","initialCtx","mutableSpanSamplingData","finalParentSampled","finalAttributes","currentPropagationContext","TRACING_DEFAULTS","FINISH_REASON_HEARTBEAT_FAILED","FINISH_REASON_IDLE_TIMEOUT","FINISH_REASON_FINAL_TIMEOUT","FINISH_REASON_EXTERNAL_FINISH","startIdleSpan","startSpanOptions","activities","_finished","_idleTimeoutID","_finishReason","_autoFinishAllowed","_cleanupHooks","idleTimeout","finalTimeout","childSpanTimeout","beforeSpanEnd","previousActiveSpan","_startIdleSpan","thisArg","definedEndTimestamp","spanEndTimestamp","onIdleSpanEnded","childEndTimestamps","latestSpanEndTimestamp","spanStartTimestamp","_cancelIdleTimeout","_restartIdleTimeout","_restartChildSpanTimeout","_pushActivity","_popActivity","cleanup","spanJSON","startTimestamp","discardedSpans","childSpanJSON","childEndTimestamp","childStartTimestamp","spanStartedBeforeIdleSpanEnd","timeoutWithMarginOfError","spanEndedBeforeFinalTimeout","stringifiedSpan","startedSpan","endedSpan","spanToAllowAutoFinish","STATE_PENDING","STATE_RESOLVED","STATE_REJECTED","resolvedSyncPromise","SyncPromise","resolve","rejectedSyncPromise","reason","reject","executor","onfulfilled","onrejected","val","onfinally","isRejected","cachedHandlers","setResult","notifyEventProcessors","processors","processor","applyScopeDataToEvent","breadcrumbs","sdkProcessingMetadata","applyDataToEvent","applySpanToEvent","applyFingerprintToEvent","applyBreadcrumbsToEvent","applySdkMetadataToEvent","mergeScopeData","mergeData","eventProcessors","attachments","transactionName","mergeAndOverwriteScopeData","prop","mergeVal","mergedBreadcrumbs","parsedStackResults","lastKeysCount","cachedFilenameDebugIds","getFilenameToDebugIdMap","debugIdMap","debugIdKeys","stackKey","parsedStack","stackFrame","filename","debugId","getDebugImagesForResources","resource_paths","filenameDebugIdMap","images","prepareEvent","normalizeDepth","normalizeMaxBreadth","prepared","integrations","applyClientOptions","applyIntegrationsMetadata","applyDebugIds","finalScope","getFinalScope","clientEventProcessors","isolationData","finalScopeData","applyDebugMeta","normalizeEvent","environment","release","dist","maxValueLength","debug_id","integrationNames","maxBreadth","parseEventHintOrCaptureContext","captureException","captureEvent","setContext","addEventProcessor","startSession","currentScope","userAgent","currentSession","endSession","_sendSessionUpdate","captureSession","SENTRY_API_VERSION","getBaseApiEndpoint","_getIngestEndpoint","_encodedAuth","getEnvelopeEndpointWithUrlEncodedAuth","installedIntegrations","filterDuplicates","integrationsByName","currentInstance","existingInstance","getIntegrationsToSetup","defaultIntegrations","userIntegrations","integration","resolvedUserIntegrations","setupIntegrations","integrationIndex","setupIntegration","afterSetupIntegrations","defineIntegration","createClientReportEnvelope","discarded_events","clientReportItem","getPossibleEventMessages","possibleMessages","lastException","convertTransactionEventToSpanJson","convertSpanJsonToTransactionEvent","ALREADY_SEEN_ERROR","MISSING_RELEASE_FOR_SESSION_ERROR","INTERNAL_ERROR_SYMBOL","DO_NOT_SEND_EVENT_SYMBOL","_makeInternalError","_makeDoNotSendEventError","_isInternalError","_isDoNotSendEventError","Client","hintWithEventId","eventMessage","promisedEvent","timeout","transport","clientFinished","transportFlushed","eventProcessor","integrationName","isAlreadyInstalled","promise","sendResponse","clientReleaseOption","clientEnvironmentOption","sessionAttrs","category","hook","hooks","cbIndex","callbacks","crashed","errored","exceptions","ex","mechanism","sessionNonTerminal","ticked","tick","interval","finalEvent","isTransaction","isTransactionEvent","beforeSendLabel","dataCategory","processBeforeSend","_validateBeforeSendResult","processedEvent","spanCount","spanCountBefore","spanCountAfter","droppedSpanCount","transactionInfo","outcomes","quantity","beforeSendResult","invalidValueError","beforeSend","beforeSendTransaction","processedRootSpanJson","processedSpans","initialSpans","createLogContainerEnvelopeItem","createLogEnvelope","logs","_INTERNAL_flushLogsBuffer","maybeLogBuffer","logBuffer","_INTERNAL_getLogBuffer","clientOptions","_getBufferMap","initAndBind","clientClass","setCurrentClient","SENTRY_BUFFER_FULL_ERROR","makePromiseBuffer","limit","isReady","remove","task","add","taskProducer","drain","counter","capturedSetTimeout","DEFAULT_RETRY_AFTER","parseRetryAfterHeader","now","headerDelay","headerDate","disabledUntil","limits","isRateLimited","updateRateLimits","statusCode","updatedRateLimits","rateLimitHeader","retryAfterHeader","retryAfter","categories","namespaces","delay","DEFAULT_TRANSPORT_BUFFER_SIZE","createTransport","makeRequest","rateLimits","flush","send","filteredEnvelopeItems","filteredEnvelope","recordEnvelopeLoss","requestTask","response","MIN_DELAY","START_DELAY","MAX_DELAY","makeOfflineTransport","store","retryDelay","flushTimer","shouldQueue","flushIn","found","flushWithBackOff","isRetry","isSentryRequestUrl","checkDsn","checkTunnel","removeTrailingSlash","addAutoIpAddressToSession","applySdkMetadata","names","getTraceData","scopeToTraceHeader","debounce","wait","callbackReturnValue","timerId","maxTimerId","maxWait","setTimeoutImpl","invokeFunc","cancelTimers","debounced","DEFAULT_BREADCRUMBS","addBreadcrumb","beforeBreadcrumb","finalBreadcrumb","originalFunctionToString","INTEGRATION_NAME","SETUP_CLIENTS","functionToStringIntegration","originalFunction","DEFAULT_IGNORE_ERRORS","eventFiltersIntegration","mergedOptions","_mergeOptions","_hint","_shouldDropEvent","inboundFiltersIntegration","internalOptions","_isIgnoredTransaction","_isIgnoredError","_isUselessError","_isDeniedUrl","_getEventFilterUrl","_isAllowedUrl","ignoreErrors","ignoreTransactions","denyUrls","allowUrls","_getLastValidUrl","rootException","applyAggregateErrorsToEvent","exceptionFromErrorImplementation","originalException","aggregateExceptionsFromError","prevExceptions","exceptionId","newExceptions","applyExceptionGroupFieldsForParentException","newException","newExceptionId","applyExceptionGroupFieldsForChildException","childError","parentId","addConsoleInstrumentationHandler","instrumentConsole","severityLevelFromString","dedupeIntegration","previousEvent","currentEvent","_isSameMessageEvent","_isSameExceptionEvent","currentMessage","previousMessage","_isSameFingerprint","_isSameStacktrace","previousException","_getExceptionFromEvent","currentException","currentFrames","previousFrames","frameA","frameB","currentFingerprint","previousFingerprint","DEFAULT_BASE_URL","isURLObjectRelative","parseStringToURLObject","urlBase","isRelative","fullUrlObject","getSanitizedUrlStringFromUrlObject","newUrl","parseUrl","query","fragment","stripUrlQueryAndFragment","urlPath","instrumentFetchRequest","handlerData","shouldCreateSpan","shouldAttachHeaders","spanOrigin","shouldCreateSpanResult","endSpan","hasParent","getSpanStartOptions","_addTracingHeadersToFetchRequest","fetchHint","fetchOptionsObj","traceHeaders","originalHeaders","isHeaders","newHeaders","prevBaggageHeader","baggageHeaderHasSentryBaggageValues","prevBaggageHeaderWithSentryValues","existingSentryTraceHeader","existingBaggageHeader","newBaggageHeaders","headerItem","contentLength","contentLengthNum","getFetchSpanAttributes","getBreadcrumbLogLevelFromHttpStatusCode","supportsHistory","_isFetchSupported","isNativeFunction","supportsNativeFetch","doc","sandbox","addFetchInstrumentationHandler","skipNativeFetchCheck","instrumentFetch","addFetchEndInstrumentationHandler","streamHandler","onFetchResolved","originalFetch","virtualError","parseFetchArgs","getHeadersFromFetchArgs","resolveResponse","onFinishedResolving","responseReader","maxFetchDurationTimeout","readingActive","chunkTimeout","done","clonedResponseForResolving","hasProp","getUrlFromResource","resource","fetchArgs","requestArgument","optionsArgument","isBrowserBundle","getSDKSource","isNodeEnv","isElectronNodeRenderer","process","formatTimestamp","LANGUAGE_EXTENSIONS","LANGUAGE_MODULE_PATTERNS","detectLanguage","ext","language","formatFrameHeader","frameIndex","file","formatEventOutput","messageEntry","exceptionEntry","threadsEntry","requestEntry","formatMessageInterfaceOutput","formatExceptionInterfaceOutput","formatThreadsInterfaceOutput","formatRequestInterfaceOutput","formatTags","formatContexts","renderInlineContext","contextLine","renderEnhancedFrame","contextLines","renderContextLines","renderVariablesTable","isChained","getExceptionChainMessage","exceptionTitle","firstInAppFrame","findFirstInAppFrame","_totalExceptions","defaultMessage","_event","crashedThread","contextSize","errorLine","maxLineNoWidth","isErrorLine","lineNoStr","formatVariableValue","truncateAt","truncated","lastComma","vars","entries","valueStr","tag","processErrorEvent","SvgCheck","SvgCopy","setRef","composeRefs","refs","hasCleanup","cleanups","useComposedRefs","createSlot","ownerName","SlotClone","createSlotClone","Slot2","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","React.cloneElement","Slot","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","createSlottable","Slottable2","Fragment2","childProps","overrideProps","propName","slotPropValue","childPropValue","getter","mayWarn","falsyToString","cx","cva","_config_compoundVariants","variants","defaultVariants","getVariantClassNames","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","param","getCompoundVariantClassNames","cvClass","cvClassName","compoundVariantOptions","buttonVariants","Button","asChild","Comp","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","createContextScope","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","Provider","Context","useContext2","consumerName","createScope","scopeContexts","composeContextScopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","NODES","Primitive","primitive","Node","primitiveProps","dispatchDiscreteCustomEvent","ReactDOM.flushSync","useCallbackRef","callbackRef","useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","handleKeyDown","DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","DismissableLayer","disableOutsidePointerEvents","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","force","composedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","focusOutside","useFocusOutside","dispatchUpdate","handleUpdate","BRANCH_NAME","DismissableLayerBranch","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","detail","discrete","useLayoutEffect2","useReactId","useId","deterministicId","setId","useLayoutEffect","reactId","sides","min","round","floor","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","evaluate","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","getSideList","side","isStart","lr","bt","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","computeCoordsFromPlacement","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","strategy","middleware","validMiddleware","statefulPlacement","middlewareData","resetCount","nextX","nextY","reset","detectOverflow","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","shouldAddOffset","alignmentOffset","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","placements","overflow","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextPlacement","_overflowsData$","ignoreCrossAxisOverflow","hasInitialMainAxisOverflow","resetPlacement","_overflowsData$filter2","currentSideAxis","getSideOffsets","isAnySideFullyClipped","hide","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","limitMin","limitMax","_middlewareData$offse2","isOriginSide","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","hasWindow","getNodeName","isNode","getWindow","_node$ownerDocument","getDocumentElement","isHTMLElement","isShadowRoot","isOverflowElement","overflowX","overflowY","display","getComputedStyle","isTableElement","isTopLayer","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","getNodeScroll","getNearestOverflowAncestor","parentNode","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","getCssDimensions","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement","getScale","domElement","$","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","left","top","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","scroll","ignoreScrollbarX","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","getViewportRect","visualViewport","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","rectsAreEqual","observeMove","onMove","io","timeoutId","_io","refresh","skip","elementRectForRootMargin","insetTop","insetRight","insetBottom","insetLeft","isFirstUpdate","handleObserve","ratio","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","size$1","hide$1","arrow$1","limitShift$1","platformWithCache","computePosition$1","deepEqual","getDPR","roundByDPR","dpr","useLatestRef","useFloating","externalReference","externalFloating","whileElementsMounted","open","setData","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","setFloating","floatingRef","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","floatingStyles","initialStyles","isRef","arrow$2","NAME","Arrow","arrowProps","Root","useSize","setSize","borderSizeEntry","borderSize","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","CONTENT_NAME","PopperContentProvider","useContentContext","PopperContent","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","contentProps","setContent","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","collisionPadding","hasExplicitBoundaries","isNotNull","isPositioned","anchorWidth","anchorHeight","contentStyle","floatingUIarrow","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","contentContext","baseSide","ArrowPrimitive.Root","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","Root2","Anchor","Content","PORTAL_NAME","Portal","containerProp","portalProps","mounted","setMounted","container","ReactDOM","useStateMachine","machine","React.useReducer","Presence","present","presence","usePresence","React2.Children","React2.cloneElement","React2.useState","stylesRef","React2.useRef","prevPresentRef","prevAnimationNameRef","React2.useEffect","currentAnimationName","getAnimationName","wasPresent","prevAnimationName","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","React2.useCallback","useInsertionEffect","useControllableState","defaultProp","onChange","caller","uncontrolledProp","setUncontrolledProp","onChangeRef","useUncontrolledState","isControlled","isControlledRef","wasControlled","nextValue","value2","isFunction","prevValueRef","VISUALLY_HIDDEN_STYLES","VisuallyHidden","createTooltipContext","usePopperScope","PROVIDER_NAME","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","isOpenDelayedRef","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","openTimerRef","wasOpenDelayedRef","setOpen","open2","stateAttribute","handleOpen","handleClose","handleDelayedOpen","PopperPrimitive.Root","TRIGGER_NAME","TooltipTrigger","triggerProps","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","PopperPrimitive.Anchor","PortalProvider","usePortalContext","TooltipContent","portalContext","forceMount","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","exitSide","getExitSideFromRect","paddedExitPoints","getPaddedExitPoints","hoverTargetPoints","getPointsFromRect","graceArea","getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","Slottable","ariaLabel","handleScroll","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","TooltipArrow","PopperPrimitive.Arrow","point","bottom","right","polygon","inside","points","newPoints","getHullPresorted","upperHull","lowerHull","Root3","Trigger","Content2","TooltipPrimitive.Provider","TooltipPrimitive.Root","TooltipPrimitive.Trigger","TooltipPrimitive.Content","AICopyButton","isCopied","setIsCopied","useCallback","CheckIcon","CopyIcon","renderValue","CopyToClipboard","handleCopy","SvgPen","SpotlightContextProvider","useSpotlightContext","OpenInEditor","getSidecarUrl","sidecarOpenUrl","openInEditor","PenIcon","TableContext","useTableContext","Table","TableHeader","headerVariant","tableVariant","TableBody","parseComments","matchAlgorithm","splittedElements","isLast","matchToken","rawSplits","splits","isJsxStyle","isValue","trimmed","spaceFront","spaceEnd","endOfLine","v1ClearEndCommentPrefix","createCommentNotationTransformer","onMatch","linesToRemove","parsed","replaced","isEmpty","nextLine","removeLength","escapeRegExp","transformerNotationMap","classActivePre","range","_line","_comment","lineNum","transformerNotationHighlight","classActiveLine","CodeViewer","highlighter","Fragment","resolveFilename","formatFilename","resolvedFilename","ContextLocals","FileActions","Frame","defaultExpand","isOpen","hasSource","fileName","generateCodeFromFrame","relativeLineNo","ErrorTitle","valuesToArray","ErrorSummary","ErrorItem","valueIdx","valueKey","frameKey","getEventMessage","EventTitle","EventSummary","Event","this","gt","et","tt","at","rt","nt","ot","st","it","lt","ct","ut","pt","ft","ht","mt","vt","noop","shouldCollapse","JsonViewer","onUpdateData","editingEnabled","clipboardEnabled","displayDataTypes","quotesOnKeys","collapseStringsAfterLength","collapsedDepth","ReactJson","dayjs","DayJsLocalizedFormat","Time","EXAMPLE_BREADCRUMB","extractBreadcrumbs","EventBreadcrumbs","crumb","crumbIdx","SvgDownload","base64Decode","CONTENT_TYPES_TO_EXTENSION","inferExtension","itemType","known","JSON_CONTENT_TYPES","CODE_CONTENT_TYPES","IMAGE_CONTENT_TYPES","VIDEO_CONTENT_TYPES","Attachment","downloadUrl","setDownloadUrl","extension","createDownloadUrl","blob","Download","Tag","tagKey","flowing","maxWidth","Tags","ContextView","ctxKey","ctxValues","exampleContext","EventContexts","contextEntries","renderEventTitle","EventDetails","getEventById","CardList","useTimeout","savedCallback","useRef","DayJsRelativeTime","TimeSince","SentryEventsContext","eventReducer","SentryEventsContextProvider","subscribe","setEvents","useReducer","contextValue","useSentryEvents","truncateId","EventList","matchingEvents","ErrorsTab","SvgSort","SvgSortDown","DB_SPAN_REGEX","AGGREGATE_CALL_PROFILES_SORT_KEYS","AGGREGATE_PROFILES_HEADERS","AI_TRACES_SORT_KEYS","AI_TRACES_HEADERS","RESOURCES_SORT_KEYS","RESOURCE_HEADERS","QUERIES_SORT_KEYS","QUERIES_HEADERS","QUERY_SUMMARY_SORT_KEYS","QUERY_SUMMARY_HEADERS","WEB_VITALS_SORT_KEYS","WEB_VITALS_HEADERS","PERFORMANCE_SCORE_PROFILES","LOG_LEVEL_COLORS","LOGS_SORT_KEYS","LOGS_HEADERS","SAMPLE_EMPTY_PROFILE_FRAME","useSort","defaultSortType","defaultAsc","sort","setSort","prev","DURATION_LABELS","DURATIONS","getSpanDurationClassName","getFormattedNumber","decimalPlaces","getFormattedDuration","getFormattedSpanDuration","TimeBar","maxValue","percentage","COMPARATORS","Profiles","toggleSortOrder","aggregateCallData","useMemo","profiles","compareProfileInfo","maxTime","SortDown","Sort","useSentryTraces","getTraces","spanReducer","useSentrySpans","calculateQueryInfo","spanData","times","totalTimeInMs","Queries","queriesData","compareQueryInfo","onlyDBSpans","uniqueSpansSet","handleRowClick","SvgChevronDown","Breadcrumbs","crumbs","isActiveTab","ChevronIcon","aTrace","bTrace","QuerySummary","decodedType","filteredDBSpans","compareSpanInfo","dbSpan","formatBytes","bytes","decimals","dm","sizes","calculateResourceInfo","specificResources","avgDuration","avgEncodedSize","getResourceSpans","Resources","resources","filteredResourceSpans","uniqueResourceDescriptionsSet","uniqueResourceDescriptions","compareResourceInfo","SearchContext","SearchProvider","setQuery","showOnlyMatched","setShowOnlyMatched","useSearch","matchesQuery","getAllSpansInTree","AI_SPAN_OP_PREFIX","AI_OPERATION_ID_FIELD","AI_OPERATION_NAME_FIELD","AI_TOOL_CALL_OPERATION","AI_EXECUTE_TOOL_OPERATION","GEN_AI_TOOL_NAME_FIELD","GEN_AI_TOOL_CALL_ID_FIELD","GEN_AI_TOOL_INPUT_FIELD","GEN_AI_TOOL_OUTPUT_FIELD","AI_MODEL_ID_FIELD","AI_MODEL_PROVIDER_FIELD","AI_SETTINGS_MAX_RETRIES_FIELD","AI_SETTINGS_MAX_STEPS_FIELD","AI_TELEMETRY_FUNCTION_ID_FIELD","AI_TELEMETRY_METADATA_PREFIX","AI_PROMPT_FIELD","AI_PROMPT_MESSAGES_FIELD","AI_RESPONSE_FINISH_REASON_FIELD","GEN_AI_RESPONSE_FINISH_REASONS_FIELD","AI_RESPONSE_TEXT_FIELD","AI_RESPONSE_TOOL_CALLS_FIELD","AI_STREAM_TEXT_OPERATION","AI_GENERATE_TEXT_OPERATION","AI_USAGE_PROMPT_TOKENS_FIELD","AI_USAGE_COMPLETION_TOKENS_FIELD","TOKEN_FIELDS","DEFAULT_TRACE_NAME","UNKNOWN_OPERATION","vercelAISDKHandler","resultRoots","findAndCollectAIRoots","spansToSearch","tokenUsage","extractTokenUsage","operationInfo","determineOperation","traceName","determineTraceName","durationMs","formatTokensDisplay","parseSpanData","promptTokens","completionTokens","operation","hasToolCall","toolCallName","foundToolCallAsOperationId","operationId","extractAIMetadata","extractTelemetryMetadata","extractPromptData","extractResponseData","extractToolCallData","metadataKey","promptField","promptMessages","messages","finishReason","finishReasons","responseText","toolCalls","toolName","toolCallId","toolCall","toolInput","toolOutput","aiLibraries","detectAILibraryHandler","extractAllAIRootSpans","rootSpans","createAITraceFromSpan","hasAISpans","useAITraces","allTraces","framework","frameworkRoots","processSpanAsTrace","useSpotlightAITraces","aiRootSpans","badgeVariants","Badge","useGoBackWithFallback","fallback","navigateTo","loc","SidePanelHeader","subtitle","backto","goBackWithFallback","SidePanel","DateTime","Resizer","handleResize","isResizing","setIsResizing","lastUpdateTimeRef","lastPositionRef","handleResizeWrapper","deltaX","deltaY","handleMouseDown","handleMouseUp","SpanResizer","isHovered","setIsHovered","SpanItem","totalDuration","totalTransactions","spanNodeWidth","setSpanNodeWidth","containerRef","childrenCount","isItemCollapsed","setIsItemCollapsed","spanDuration","containerRect","newLeftWidth","isQueried","SpanTree","filteredTree","spanMemo","hasMatchingDescendant","AI_TRACES_ROUTE","ToolCallDetail","AITraceMetadata","PromptSection","messageContent","ResponseSection","ToolCallsSection","AITraceDetailsEmbedded","aiTrace","AITraceDetail","AITraceItem","tokensDisplay","aPrompt","bPrompt","AITraceList","getTraceById","spotlightAITraces","sortedAiTraces","compareFn","selectedRawSpan","handleTraceClick","AItracesTab","useSentryEnvelopes","a_sent_at","b_sent_at","EnvelopeDetails","showRawJSON","setShowRawJSON","envelopeId","EnvelopeItemPanel","getEnvelopeItemSummary","setIsOpen","summary","payloadForViewer","rawPayload","toggle","EnvelopeList","selectedEnvelopeId","allEnvelopes","getEnvelopeById","selectedEnvelope","itemTypes","itemTypesList","EnvelopesTab","useSentrySdks","SdkList","sdkList","SdksTab","SQRT_2","erf","a1","a2","a3","a4","a5","sign","absX","calculateCdfSigma","p10","p50","calculateCdfScore","normalizePerformanceScore","performanceScore","shouldAddTotal","scoreTotal","weightTotal","normalizedComponentWeight","cdf","componentScore","calculateLabelCoordinates","barWidth","metricWeights","labelWidthPadding","labelHeightPadding","radiusPadding","radius","sumMaxValues","BASE_ANGLE","weightToAngle","weight","lcpAngle","fcpAngle","fidAngle","clsAngle","ttfbAngle","lcpX","lcpY","fcpX","fcpY","fidX","fidY","clsX","clsY","ttfbX","ttfbY","WebVitals","measurementEvents","compareEvents","updatedEvent","measurementEvent","handleRowKeyDown","BASE_ROTATE","PADDING","RingChart","maxValues","textCss","segmentColors","backgroundColors","progressEndcaps","onHoverActions","onBlur","foreignObjectSize","foreignObjectOffset","circumference","rings","currentRotate","boundedValue","ringSegmentPadding","maxOffset","progressOffset","rotate","AbortError","getBoundingRect","signal","abortHandler","observer","bounds","useMouseTracking","onPositionChange","onMouseEnter","onMouseMove","onMouseLeave","controller","handlePositionChange","handleOnMouseLeave","WebVitalLabel","webVital","coordinates","labelCoordinates","xOffset","yOffset","PerformanceChart","metricScore","totalScore","webVitalTooltip","setWebVitalTooltip","mousePosition","setMousePosition","mouseTrackingProps","WebVitalsDetail","page","projectScoreHeaders","InsightsTabDetails","InsightsTab","SvgFilter","createCollection","createCollectionContext","createCollectionScope","CollectionProviderImpl","useCollectionContext","CollectionProvider","itemMap","COLLECTION_SLOT_NAME","CollectionSlotImpl","CollectionSlot","ITEM_SLOT_NAME","ITEM_DATA_ATTR","CollectionItemSlotImpl","CollectionItemSlot","useCollection","collectionNode","orderedNodes","DirectionContext","useDirection","localDir","globalDir","useFocusGuards","edgeGuards","createFocusGuard","AUTOFOCUS_ON_MOUNT","AUTOFOCUS_ON_UNMOUNT","EVENT_OPTIONS","FOCUS_SCOPE_NAME","FocusScope","loop","trapped","onMountAutoFocusProp","onUnmountAutoFocusProp","scopeProps","setContainer","onMountAutoFocus","onUnmountAutoFocus","lastFocusedElementRef","focusScope","handleFocusIn2","focus","handleFocusOut2","relatedTarget","handleMutations2","mutations","mutation","mutationObserver","focusScopesStack","previouslyFocusedElement","mountEvent","focusFirst","removeLinks","getTabbableCandidates","unmountEvent","isTabKey","focusedElement","container2","getTabbableEdges","candidates","select","candidate","findVisible","nodes","walker","isHiddenInput","isHidden","upTo","isSelectableInput","createFocusScopesStack","activeFocusScope","arrayRemove","array","updatedArray","ENTRY_FOCUS","GROUP_NAME","Collection","createRovingFocusGroupContext","createRovingFocusGroupScope","RovingFocusProvider","useRovingFocusContext","RovingFocusGroup","RovingFocusGroupImpl","__scopeRovingFocusGroup","orientation","dir","currentTabStopIdProp","defaultCurrentTabStopId","onCurrentTabStopIdChange","onEntryFocus","preventScrollOnEntryFocus","groupProps","currentTabStopId","setCurrentTabStopId","isTabbingBackOut","setIsTabbingBackOut","handleEntryFocus","getItems","isClickFocusRef","focusableItemsCount","setFocusableItemsCount","tabStopId","prevCount","isKeyboardFocus","entryFocusEvent","activeItem","currentItem","candidateNodes","ITEM_NAME","RovingFocusGroupItem","focusable","active","itemProps","autoId","isCurrentTabStop","onFocusableItemAdd","onFocusableItemRemove","focusIntent","getFocusIntent","wrapArray","MAP_KEY_TO_FOCUS_INTENT","getDirectionAwareKey","preventScroll","PREVIOUSLY_FOCUSED_ELEMENT","Item","getDefaultParent","originalTarget","sampleTarget","counterMap","uncontrolledNodes","markerMap","lockCount","unwrapHost","correctTargets","correctedTarget","applyAttributeToOthers","markerName","controlAttribute","markerCounter","hiddenNodes","elementsToKeep","elementsToStop","keep","deep","alreadyHidden","counterValue","markerValue","hideOthers","activeParentNode","__assign","__rest","__spreadArray","pack","ar","zeroRightClassName","fullWidthClassName","noScrollbarsClassName","removedBarSizeVariable","assignRef","initialValue","currentValues","useMergeRefs","defaultValue","newValue","oldValue","prevRefs_1","nextRefs_1","current_1","ItoI","innerCreateMedium","assigned","medium","cbs","pendingQueue","executeQueue","cycle","filter","createSidecarMedium","SideCar","sideCar","Target","exportSidecar","exported","effectCar","nothing","RemoveScroll","parentRef","setCallbacks","forwardProps","removeScrollBar","enabled","shards","noRelative","noIsolation","inert","allowPinchZoom","Container","gapMode","containerProps","getNonce","makeStyleTag","nonce","injectStyles","insertStyleTag","stylesheetSingleton","stylesheet","styleHookSingleton","sheet","isDynamic","styleSingleton","useStyle","Sheet","dynamic","zeroGap","parse","getOffset","cs","getGapWidth","documentWidth","windowWidth","Style","lockAttribute","getStyles","allowRelative","important","gap","getCurrentUseCounter","useLockAttribute","newCounter","RemoveScrollBar","noImportant","passiveSupported","nonPassive","alwaysContainsScroll","elementCanBeScrolled","elementCouldBeVScrolled","elementCouldBeHScrolled","locationCouldBeScrolled","isScrollable","elementCouldBeScrolled","getScrollVariables","scrollHeight","clientHeight","getVScrollVariables","scrollTop","getHScrollVariables","scrollLeft","scrollWidth","clientWidth","getDirectionFactor","endTarget","sourceDelta","noOverscroll","directionFactor","targetInLock","shouldCancelScroll","isDeltaPositive","availableScroll","availableScrollTop","scroll_1","capacity","elementScroll","getTouchXY","getDeltaXY","extractRef","deltaCompare","generateStyle","idCounter","lockStack","RemoveScrollSideCar","shouldPreventQueue","touchStartRef","activeAxis","lastProps","allow_1","shouldCancelEvent","touch","touchStart","currentAxis","moveDirection","canBeScrolledInMainDirection","cancelingAxis","shouldPrevent","sourceEvent","shardNodes","shouldStop","shouldCancel","should","getOutermostShadowParent","scrollTouchStart","scrollWheel","scrollTouchMove","inst","shadowParent","ReactRemoveScroll","SELECTION_KEYS","FIRST_KEYS","LAST_KEYS","FIRST_LAST_KEYS","SUB_OPEN_KEYS","SUB_CLOSE_KEYS","MENU_NAME","createMenuContext","createMenuScope","useRovingFocusGroupScope","MenuProvider","useMenuContext","MenuRootProvider","useMenuRootContext","Menu","__scopeMenu","modal","isUsingKeyboardRef","handleOpenChange","handlePointer","MenuAnchor","MenuPortal","PortalPrimitive","MenuContentProvider","useMenuContentContext","MenuContent","rootContext","MenuRootContentModal","MenuRootContentNonModal","MenuContentImpl","trapFocus","onOpenAutoFocus","onCloseAutoFocus","disableOutsideScroll","rovingFocusGroupScope","currentItemId","setCurrentItemId","contentRef","timerRef","searchRef","pointerGraceTimerRef","pointerGraceIntentRef","pointerDirRef","lastPointerXRef","ScrollLockWrapper","scrollLockWrapperProps","handleTypeaheadSearch","currentMatch","nextMatch","getNextMatch","updateSearch","isPointerMovingToSubmenu","isPointerInGraceArea","intent","RovingFocusGroup.Root","getOpenState","isKeyDownInside","isModifierKey","isCharacterKey","whenMouse","pointerXHasChanged","newDir","MenuGroup","LABEL_NAME","MenuLabel","labelProps","ITEM_SELECT","MenuItem","disabled","onSelect","handleSelect","menuItem","itemSelectEvent","MenuItemImpl","isTypingAhead","textValue","isFocused","setIsFocused","textContent","setTextContent","RovingFocusGroup.Item","CHECKBOX_ITEM_NAME","MenuCheckboxItem","checked","onCheckedChange","checkboxItemProps","ItemIndicatorProvider","isIndeterminate","getCheckedState","RADIO_GROUP_NAME","RadioGroupProvider","useRadioGroupContext","MenuRadioGroup","onValueChange","handleValueChange","RADIO_ITEM_NAME","MenuRadioItem","radioItemProps","ITEM_INDICATOR_NAME","useItemIndicatorContext","MenuItemIndicator","itemIndicatorProps","indicatorContext","SEPARATOR_NAME","MenuSeparator","separatorProps","MenuArrow","SUB_NAME","MenuSubProvider","useMenuSubContext","SUB_TRIGGER_NAME","MenuSubTrigger","subContext","onPointerGraceIntentChange","clearOpenTimer","pointerGraceTimer","contentRect","rightSide","bleed","contentNearEdge","contentFarEdge","SUB_CONTENT_NAME","MenuSubContent","subContentProps","isCloseKey","normalizedSearch","currentMatchIndex","wrappedValues","area","cursorPos","Anchor2","Group","Label","Item2","CheckboxItem","RadioGroup","RadioItem","ItemIndicator","Separator","Arrow2","SubTrigger","SubContent","DROPDOWN_MENU_NAME","createDropdownMenuContext","useMenuScope","DropdownMenuProvider","useDropdownMenuContext","DropdownMenu","__scopeDropdownMenu","menuScope","triggerRef","prevOpen","MenuPrimitive.Root","DropdownMenuTrigger","MenuPrimitive.Anchor","DropdownMenuPortal","MenuPrimitive.Portal","DropdownMenuContent","hasInteractedOutsideRef","MenuPrimitive.Content","originalEvent","ctrlLeftClick","isRightClick","DropdownMenuGroup","MenuPrimitive.Group","DropdownMenuLabel","MenuPrimitive.Label","DropdownMenuItem","MenuPrimitive.Item","DropdownMenuCheckboxItem","MenuPrimitive.CheckboxItem","DropdownMenuRadioGroup","radioGroupProps","MenuPrimitive.RadioGroup","DropdownMenuRadioItem","MenuPrimitive.RadioItem","INDICATOR_NAME","DropdownMenuItemIndicator","MenuPrimitive.ItemIndicator","DropdownMenuSeparator","MenuPrimitive.Separator","DropdownMenuArrow","MenuPrimitive.Arrow","DropdownMenuSubTrigger","subTriggerProps","MenuPrimitive.SubTrigger","DropdownMenuSubContent","MenuPrimitive.SubContent","Portal2","Label2","CheckboxItem2","RadioGroup2","RadioItem2","ItemIndicator2","Separator2","SubTrigger2","SubContent2","SvgBranch","SvgCircle","DropdownMenuPrimitive.Root","DropdownMenuPrimitive.Trigger","DropdownMenuPrimitive.RadioGroup","inset","DropdownMenuPrimitive.SubTrigger","DropdownMenuPrimitive.Portal","DropdownMenuPrimitive.SubContent","DropdownMenuPrimitive.Content","DropdownMenuPrimitive.Item","DropdownMenuPrimitive.CheckboxItem","DropdownMenuPrimitive.ItemIndicator","Check","DropdownMenuPrimitive.RadioItem","Circle","DropdownMenuPrimitive.Label","DropdownMenuPrimitive.Separator","useSentryLogs","getLogs","getLogsByTraceId","useSentryLog","STORAGE_KEY","useColumnVisibility","defaultColumns","visibleColumns","setVisibleColumns","stored","columnId","LogDetails","logData","severity_number","aSdk","bSdk","LogsList","selectedLogId","allLogs","isColumnVisible","toggleColumn","logsData","compareLogData","visibleHeaders","Filter","paddings","Logs","LogsTab","SvgCross","useDebounce","useSearchInput","onSearch","inputValue","setInputValue","showReset","setShowReset","debouncedSearch","parseAITracesToConversation","aiTraces","seenUserPrompts","userMessages","aiContent","ConversationBubble","isSelected","isUser","isToolCall","bubbleContent","rawResult","AITranscription","searchQuery","setSearchQuery","handleChange","handleReset","conversation","filteredConversation","searchLower","aiInteractionCount","CrossIcon","getFirstAISpanId","AITraceSplitView","firstAISpanId","selectedSpanId","FRAME_COLOR","FRAME_TYPES","isApplicationFrame","getFrameColors","compareNodeBySize","sortChildrenBySize","createSentryFrameSubtext","lastDelimIdx","cleanFilename","convertSampleCountsToSizes","totalSamples","samplePercentage","childrenSize","sum","originalSubtext","buildTree","samples","stacks","getColor","getLabel","childNode","removeChildrenMap","convertSentryProfileToNormalizedTree","normalizeTreeNode","FlamegraphLegend","TraceProfileTree","visualizationRef","visualizationType","setVisualizationType","hoveredNode","setHoveredNode","handleMouseMove","nanovisModule","Flamegraph","Treemap","Sunburst","visualization","getVisualizationName","TraceContext","rootTransaction","traceEvent","allAttachments","baseEvent","TraceDetails","aiConfig","hasAI","errorCount","SvgSearch","Input","DEFAULT_SPAN_NODE_WIDTH","TraceTreeWithSearch","Search","TraceTreeviewContent","TraceTreeview","TraceRootTxnName","getPlatformsFromTrace","TraceIcon","platformsInTrace","dominantPlatforms","remainingPlatforms","AIBadge","TraceStatusBadge","TraceHeaderDetails","SpanHeader","TraceItem","truncatedId","TraceList","traceData","aiMode","setAiMode","onToggle","selectedTraceRef","TraceSplitViewLayout","FilterDropdown","activeFilters","onFilterChange","ChevronDown","TraceListFilter","setActiveFilters","filterConfigs","handleFilterChange","clearAllFilters","visibleFilterConfigs","TokenType","createEofToken","EOF_TOKEN","testToken","compareToken","isToken","isReserved","isLogicalOperator","expandPhrases","phrases","expandSinglePhrase","phrase","buildCombinations","parsePhrase","REQUIRED_PART","REQUIRED_BLOCK","OPTIONAL_BLOCK","requiredMatch","optionalBlockMatch","choices","requiredBlockMatch","dedupe","sortByLengthDesc","strings","equalizeWhitespace","flatKeywordList","isMultiline","keywords","functions","reservedSelect","reservedClauses","onelineClauses","reservedSetOperations","reservedJoins","reservedPhrases","bigquery","postProcess","detectArraySubscripts","combineParameterizedTypes","processed","_tokens","findClosingAngleBracketIndex","typeDefTokens","formatTypeDefToken","db2","hive","mariadb","nextToken","mysql","n1ql","plsql","previousReservedToken","postgresql","redshift","spark","sqlite","sql","trino","transactsql","singlestoredb","snowflake","WHITESPACE_REGEX","patternToRegex","toCaseInsensitivePattern","withDashes","prefixesPattern","prefixes","requirePrefix","lineComment","lineCommentTypes","parenthesis","kind","extraParens","parens","operator","operators","rejectIdentCharsPattern","reservedWord","reservedKeywords","identChars","avoidIdentChars","reservedKeywordsPattern","parameter","paramTypes","typesRegex","buildQStringPatterns","specialDelimiterMap","singlePattern","patternList","specialDelimiters","quotePatterns","singleQuotePattern","quoteTypes","variable","varTypes","varType","stringPattern","specialChars","identifierPattern","allowFirstCharNumber","letter","firstChars","restChars","lineColFromIndex","TokenizerEngine","precedingWhitespace","matchedText","START","MIDDLE","END","NestedComment","nestLevel","Tokenizer","cfg","paramTypesOverrides","regex.lineComment","regex.string","regex.reservedWord","toCanonical","regex.variable","regex.identifier","regex.parenthesis","regex.operator","_cfg$paramTypes","_cfg$paramTypes2","_cfg$paramTypes3","_cfg$paramTypes4","_cfg$paramTypes5","regex.parameter","regex.identifierPattern","regex.stringPattern","tokenKey","quoteChar","customParam","createDialect","dialect","dialectFromOptions","dialectOptions","processDialectFormatOptions","indentString","isTabularStyle","Params","symbols","postprocess","withCursorAt","symbolSequence","getSymbolShortDisplay","State","dot","wantedBy","Parser","Column","nextColumn","states","wants","completed","exp","nulls","copy","byName","lexer","StreamLexer","lastLineDigits","pad","chunk","literal","scannable","expect","lexerError","tokenDisplay","lexerMessage","lastColumnIndex","lastColumn","expectantStates","nextSymbol","stateStacks","symbolDisplay","lastDisplay","sameDisplayCount","symbol","getSymbolLongDisplay","childVisited","childResult","considerations","disambiguateTokens","dotKeywordToIdent","funcNameToKeyword","identToArrayIdent","keywordToArrayKeyword","prevNonCommentToken","nextNonCommentToken","isOpenParen","isOpenBracket","isComment","LexerAdapter","tokenize","_info","NodeType","unwrap","toKeywordNode","addComments","addCommentsToArray","lead","statements","expressions","clauses","limitToken","exp1","optional","comma","exp2","nameToken","expr","chain","arrayToken","brackets","close","betweenToken","expr1","andToken","expr2","caseToken","endToken","whenToken","thenToken","elseToken","comments","NearleyParser","nearley","createParser","PRECEDING_WHITESPACE_REGEX","formatCommaPositions","commaPosition","indent","groupCommaDelimitedLines","commaLines","formatTabular","formatBefore","trimTrailingComments","indentComma","trimTrailingCommas","removeLastIndent","formatAliasPositions","newQuery","aliasLines","aliasMaxLength","precedingText","as","WS","Layout","indentation","isHorizontalWhitespace","isRemovableWhitespace","newline","toTabularFormat","tokenText","indentStyle","isTabularToken","INDENT_TYPE_TOP_LEVEL","INDENT_TYPE_BLOCK_LEVEL","Indentation","InlineLayout","expressionWidth","InlineLayoutError","ExpressionFormatter","dialectCfg","layout","inline","inlineLayout","_node","com","oldParamIndex","Formatter","ast","formattedQuery","stat","statement","ConfigError","validateConfig","validateParams","dialectNameMap","supportedDialects","defaultOptions","format","canonicalDialectName","formatDialect","allDialects","DBSpanDescription","dbType","formatSQL","SpanDescription","headerText","SpanContext","SpanDetails","getEventsByTrace","SvgAlertCircle","SvgClock","SvgHash","DURATION_THRESHOLDS","PERFORMANCE_FILTER_VALUES","PERFORMANCE_FILTER_OPTIONS","PERFORMANCE_FILTER_SET","TIME_FILTER_VALUES","TIME_FILTER_OPTIONS","TIME_FILTER_SET","FILTER_TYPES","FILTER_CONFIG_METADATA","FILTER_ICONS","Hash","AlertCircle","Clock","Branch","createFilterOptionsFromSet","groupFiltersByType","availableOptions","grouped","transactionValues","opt","methodValues","statusValues","matchesPerformanceFilter","traceProperties","filterValue","spansSize","matchesTimeFilter","startOfToday","today","startOfYesterday","matchesFilterGroup","traceProps","filterType","filterValues","useTraceFiltering","visibleTraces","filterConfigData","uniqueTransactionNames","uniqueMethodNames","uniqueStatusLabels","TRACE_FILTER_CONFIGS","applyTraceFilters","normalizedSearchQuery","hasSearchCriteria","hasActiveFilters","groupedFilters","MIN_PANEL_WIDTH_PERCENT","MAX_PANEL_WIDTH_PERCENT","DEFAULT_PANEL_WIDTH_PERCENT","AITraceToggle","leftPanelWidth","setLeftPanelWidth","leftPanelRef","newLeftPanelWidth","clampedWidth","TracesTab","traces","filteredTraces","SvgDeleteIcon","SvgGlyph","NavigationLink","notificationCount","isSubItem","TelemetrySidebar","traceCount","logCount","isOnline","clearEventsUrl","clearEvents","isInsightsActive","isElectron","Logo","DeleteIcon","TelemetryView","setSidecarUrlInStore","baseSidecarUrl","Telemetry","App","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","wrap","sentryWrapped","wrappedArguments","getHttpRequestData","referrer","exceptionFromError","parseStackFrames","extractType","extractMessage","eventFromPlainObject","isUnhandledRejection","errorFromProp","getErrorPropertyFromObject","getNonErrorObjectExceptionValue","eventFromError","stacktrace","skipLines","getSkipFirstStackStringLines","getPopFirstTopFrames","reactMinifiedRegexp","isWebAssemblyException","eventFromException","attachStacktrace","eventFromUnknownInput","eventFromMessage","eventFromString","domException","__sentry_template_string__","__sentry_template_values__","captureType","getObjectClassName","DEFAULT_FLUSH_INTERVAL","BrowserClient","applyDefaultOptions","sdkSource","sendDefaultPii","sendClientReports","enableLogs","optionsArg","getRating","thresholds","bindReporter","metric","reportAllChanges","prevValue","forceReport","generateUniqueID","getNavigationEntry","checkResponseStart","navigationEntry","getActivationStart","navEntry","initMetric","instanceMap","initUnique","identityObj","ClassObj","LayoutShiftManager","firstSessionEntry","lastSessionEntry","observe","po","runOnce","called","firstHiddenTime","initHiddenTime","onVisibilityUpdate","removeChangeListeners","addChangeListeners","getVisibilityWatcher","activationStart","whenActivated","FCPThresholds","onFCP","onReport","visibilityWatcher","report","CLSThresholds","onCLS","layoutShiftManager","handleEntries","interactionCountEstimate","minKnownInteractionId","maxKnownInteractionId","updateEstimate","getInteractionCount","initInteractionCountPolyfill","MAX_INTERACTIONS_TO_CONSIDER","prevInteractionCount","getInteractionCountForNavigation","InteractionManager","candidateInteractionIndex","minLongestInteraction","interaction","removedInteractions","onHidden","onHiddenOrPageHide","whenIdleOrHidden","rIC","INPThresholds","DEFAULT_DURATION_THRESHOLD","onINP","interactionManager","inp","LCPEntryManager","LCPThresholds","onLCP","lcpEntryManager","stopListening","TTFBThresholds","whenReady","onTTFB","_previousCls","_previousLcp","_previousTtfb","_previousInp","addClsInstrumentationHandler","stopOnCallback","addMetricObserver","instrumentCls","addLcpInstrumentationHandler","instrumentLcp","addTtfbInstrumentationHandler","instrumentTtfb","addInpInstrumentationHandler","instrumentInp","addPerformanceInstrumentationHandler","instrumentPerformanceObserver","getCleanupCallback","previousValue","isPerformanceEventTiming","isMeasurementValue","startAndEndSpan","startTimeInSeconds","parentStartTime","startStandaloneWebVitalSpan","passedAttributes","replay","replayId","userDisplay","profileId","getBrowserPerformanceAPI","msToSec","extractNetworkProtocol","nextHopProtocol","supportsWebVital","entryType","listenForWebVitalReportEvents","collectorCallback","pageloadSpanId","collected","_runCollectorCallbackOnce","unsubscribeStartNavigation","safeUnsubscribe","unsubscribeAfterStartPageLoadSpan","unsubscribers","trackClsAsStandaloneSpan","standaloneCLsValue","standaloneClsEntry","cleanupClsHandler","reportEvent","sendStandaloneClsSpan","clsValue","routeName","trackLcpAsStandaloneSpan","standaloneLcpValue","standaloneLcpEntry","cleanupLcpHandler","_sendStandaloneLcpSpan","lcpValue","MAX_INT_AS_BYTES","_performanceCursor","_measurements","_lcpEntry","_clsEntry","startTrackingWebVitals","recordClsStandaloneSpans","recordLcpStandaloneSpans","lcpCleanupCallback","_trackLCP","ttfbCleanupCallback","_trackTtfb","clsCleanupCallback","_trackCLS","startTrackingLongTasks","parentOp","parentStartTimestamp","startTrackingLongAnimationFrames","initialScript","invoker","invokerType","sourceURL","sourceFunctionName","sourceCharPosition","startTrackingInteractions","spanOptions","componentName","addPerformanceEntries","performanceEntries","transactionStartTime","_addNavigationSpans","_addMeasureSpans","firstHidden","shouldRecord","_addResourceSpans","_trackNavigator","_addTtfbRequestTimeToMeasurements","measurementName","measurement","_setWebVitalAttributes","ignorePerformanceApiSpans","requestTime","measureStartTimestamp","startTimeStamp","measureEndTimestamp","_addDetailToSpanAttributes","performanceMeasure","_addPerformanceNavigationTiming","_addRequest","eventEnd","_getEndPropertyNameForNavigationTiming","requestStartTimestamp","responseEndTimestamp","responseStartTimestamp","resourceUrl","ignoreResourceSpans","setResourceEntrySizeData","deliveryType","renderBlockingStatus","connection","dataKey","entryVal","responseStart","requestStart","startTrackingElementTiming","_onElementTiming","elementEntry","paintType","renderTime","loadTime","spanStartTime","spanStartTimeSource","DEBOUNCE_DURATION","debounceTimerID","lastCapturedEventType","lastCapturedEventTargetId","addClickKeypressInstrumentationHandler","instrumentDOM","triggerDOMHandler","globalDOMEventHandler","makeDOMEventHandler","originalAddEventListener","handlerForType","originalRemoveEventListener","isSimilarToLastCapturedEvent","shouldSkipDOMEvent","globalListener","getEventTarget","lastHref","addHistoryInstrumentationHandler","instrumentHistory","historyReplacementFunction","originalHistoryFunction","getAbsoluteUrl","urlOrPath","cachedImplementations","getNativeImplementation","impl","document","contentWindow","clearCachedImplementation","setTimeout","SENTRY_XHR_DATA_KEY","addXhrInstrumentationHandler","instrumentXHR","xhrproto","originalOpen","xhrOpenThisArg","xhrOpenArgArray","parseXhrUrlArg","onreadystatechangeHandler","xhrInfo","originalOnreadystatechange","onreadystatechangeThisArg","onreadystatechangeArgArray","originalSetRequestHeader","setRequestHeaderThisArg","setRequestHeaderArgArray","originalSend","sendThisArg","sendArgArray","sentryXhrData","serializeFormData","formData","getBodyString","_debug","getFetchRequestArgBody","LAST_INTERACTIONS","INTERACTIONS_SPAN_MAP","MAX_PLAUSIBLE_INP_DURATION","startTrackingINP","inpCallback","_trackINP","INP_ENTRY_MAP","_onInp","interactionId","interactionType","spanToUse","registerInpInteractionListener","activeRootSpan","makeFetchTransport","nativeFetch","pendingBodySize","pendingCount","requestSize","requestOptions","CHROME_PRIORITY","GECKO_PRIORITY","createFrame","lineno","colno","chromeRegexNoFnName","chromeRegex","chromeEvalRegex","chromeDataUriRegex","chromeStackLineParser","dataUriMatch","noFnParts","subMatch","extractSafariExtensionDetails","geckoREgex","geckoEvalRegex","defaultStackParser","isSafariExtension","isSafariWebExtension","MAX_ALLOWED_STRING_LENGTH","breadcrumbsIntegration","_getConsoleBreadcrumbHandler","_getDomBreadcrumbHandler","_getXhrBreadcrumbHandler","_getFetchBreadcrumbHandler","_getHistoryBreadcrumbHandler","_getSentryBreadcrumbHandler","dom","_isEvent","status_code","parsedLoc","parsedFrom","parsedTo","DEFAULT_EVENT_TARGET","browserApiErrorsIntegration","_wrapTimeFunction","_wrapRAF","_wrapXHR","eventTargetOption","_wrapEventTarget","originalCallback","xhr","wrapOptions","integrationOptions","eventName","isEventListenerObject","unregisterOriginalCallback","browserSessionIntegration","globalHandlersIntegration","_installGlobalOnErrorHandler","globalHandlerLog","_installGlobalOnUnhandledRejectionHandler","getOptions","_enhanceEventWithInitialFrame","_getUnhandledRejectionError","_eventFromRejectionWithPrimitive","ev","ev0","ev0s","ev0sf","getFilenameFromUrl","mimeType","isBase64","httpContextIntegration","reqData","DEFAULT_KEY","DEFAULT_LIMIT","linkedErrorsIntegration","checkAndWarnIfIsEmbeddedBrowserExtension","_isEmbeddedBrowserExtension","_window","extensionObject","extensionProtocols","getDefaultIntegrations","shouldDisableBecauseIsBrowserExtenstion","REPLAY_SESSION_KEY","REPLAY_EVENT_NAME","UNABLE_TO_SEND_REPLAY","SESSION_IDLE_PAUSE_DURATION","SESSION_IDLE_EXPIRE_DURATION","DEFAULT_FLUSH_MIN_DELAY","DEFAULT_FLUSH_MAX_DELAY","BUFFER_CHECKOUT_TIME","RETRY_BASE_INTERVAL","RETRY_MAX_COUNT","NETWORK_BODY_MAX_SIZE","CONSOLE_ARG_MAX_SIZE","SLOW_CLICK_THRESHOLD","SLOW_CLICK_SCROLL_TIMEOUT","REPLAY_MAX_EVENT_BUFFER_SIZE","MIN_REPLAY_DURATION","MIN_REPLAY_DURATION_LIMIT","MAX_REPLAY_DURATION","__defProp$1","__defNormalProp$1","__publicField$1","NodeType$2","NodeType2","isElement$1","n2","isNativeShadowDom","shadowRoot","fixBrowserCompatibilityIssuesInCSS","cssText","escapeImportStatement","stringifyStylesheet","s2","rules2","stringifyRule","fixAllCssProperty","styleDeclaration","isImportant","importStringified","isCSSImportRule","isCSSStyleRule","needsSafariColonFix","needsAllFix","fixSafariColons","cssStringified","Mirror","oldNode","createMirror$2","shouldMaskInput","maskInputOptions","tagName","maskInputValue","isMasked","maskInputFn","toLowerCase","toUpperCase","ORIGINAL_ATTRIBUTE_NAME","is2DCanvasBlank","canvas","chunkSize","getImageData","originalGetImageData","pixel","getInputType","getInputValue","extractFileExtension","baseURL","cachedImplementations$1","getImplementation$1","document2","setTimeout$2","clearTimeout$1","getIframeContentDocument","iframe","_id","tagNameRegex","IGNORED_NODE","genId","getValidTagName$1","processedTagName","extractOrigin","canvasService","canvasCtx","URL_IN_CSS_REF","URL_PROTOCOL_MATCH","URL_WWW_MATCH","DATA_URI","absoluteToStylesheet","quote1","path1","quote2","path2","path3","filePath","maybeQuote","part","SRCSET_NOT_SPACES","SRCSET_COMMAS_OR_SPACES","getAbsoluteSrcsetString","attributeValue","collectCharacters","regEx","chars2","absoluteToDoc","descriptorsStr","inParens","c2","cachedDocument","getHref","isSVGElement","customHref","transformAttribute","maskAttributeFn","ignoreAttribute","_isBlockedElement","blockClass","blockSelector","unblockSelector","eIndex","elementClassMatchesRegex","distanceToMatch","matchPredicate","distance","createMatchPredicate","needMaskingText","maskTextClass","maskTextSelector","unmaskTextClass","unmaskTextSelector","maskAllText","autocomplete","maskDistance","unmaskDistance","onceIframeLoaded","iframeEl","iframeLoadTimeout","fired","readyState","timer","blankUrl","onceStylesheetLoaded","styleSheetLoadTimeout","styleSheetLoaded","serializeNode","mirror2","inlineStylesheet","maskTextFn","dataURLOptions","inlineImages","recordCanvas","keepIframeSrcFn","newlyAddedElement","rootId","getRootId","serializeElementNode","serializeTextNode","docId","parentTagName","isStyle","isScript","isTextarea","forceMask","isInputMasked","needBlock","attributes2","canvasDataURL","blankCanvas","blankCanvasDataURL","image","imageSrc","priorCrossOrigin","recordInlineImage","isCustomElement","lowerIfExists","maybeAttr","slimDOMExcluded","sn","slimDOMOptions","serializeNodeWithId","skipChild","onSerialize","onIframeLoad","onStylesheetLoad","stylesheetLoadTimeout","preserveWhiteSpace","_serializedNode","serializedNode2","recordChild","bypassOptions","childN","serializedChildNode","iframeDoc","serializedIframeNode","serializedLinkNode","snapshot","maskAllInputs","slimDOM","on","DEPARTED_MIRROR_ACCESS_WARNING","_mirror","receiver","throttle$1","remaining","clearTimeout$2","setTimeout$1","hookSetter","isRevoked","patch","nowTimestamp","getWindowScroll","getWindowHeight","getWindowWidth","closestElementOfNode$1","isBlocked","checkAncestors","blockedPredicate","isUnblocked","blockDistance","unblockDistance","isSerialized","isIgnored","isAncestorRemoved","legacy_isTouchEvent","polyfill$1","isSerializedIframe","isSerializedStylesheet","hasShadowRoot","StyleSheetMirror","newId","getShadowHost","shadowHost","getRootShadowHost","rootShadowHost","shadowHostInDom","inDom","getImplementation","onRequestAnimationFrame","EventType","EventType2","IncrementalSource","IncrementalSource2","MouseInteractions","MouseInteractions2","PointerTypes","PointerTypes2","MediaInteractions","MediaInteractions2","getIFrameContentDocument","getIFrameContentWindow","isNodeInLinkedList","DoubleLinkedList","moveKey","MutationBuffer","adds","addedIds","addList","getNextId","nextId","pushAdd","currentN","childSn","isParentRemoved","isAncestorInSet","tailNode","unhandledNode","diffAsStr","unchangedAsStr","attributeName","old","pname","newPriority","nodeId","deepDelete","targetId","addsSet","removes","_isParentRemoved","r2","_isAncestorInSet","errorHandler","registerErrorHandler","unregisterErrorHandler","callbackWrapper","mutationBuffers","initMutationObserver","rootEl","mutationBuffer","mutationObserverCtor","angularZoneSymbol","initMoveObserver","mousemoveCb","sampling","callbackThreshold","positions","timeBaseline","wrappedCb","totalOffset","updatePosition","clientX","clientY","initMouseInteractionObserver","mouseInteractionCb","disableMap","currentPointerType","getHandler","eventKey","pointerType","thisEventKey","e2","initScrollObserver","scrollCb","scrollLeftTop","initViewportResizeObserver","viewportResizeCb","lastH","lastW","updateDimension","INPUT_TAGS","lastInputValueMap","initInputObserver","inputCb","ignoreClass","ignoreSelector","userTriggeredOnInput","eventHandler","userTriggered","isChecked","cbWithDedup","el2","text2","v2","lastInputValue","currentWindow","propertyDescriptor","hookProperties","getNestedCSSRulePositions","recurse","childRule","hasNestedCSSRule","getIdAndStyleId","styleMirror","styleId","initStyleSheetObserver","styleSheetRuleCb","stylesheetManager","insertRule","argumentsList","deleteRule","replaceSync","supportedNestedCSSRuleTypes","canMonkeyPatchNestedCSSRule","unmodifiedFunctions","typeKey","initAdoptedStyleSheetObserver","hostId","patchTarget","originalPropertyDescriptor","sheets","initStyleDeclarationObserver","styleDeclarationCb","ignoreCSSAttributes","setProperty","removeProperty","initMediaInteractionObserver","mediaInteractionCb","currentTime","volume","muted","playbackRate","initFontObserver","fontCb","fontMap","originalFontFace","family","descriptors","fontFace","restoreHandler","initSelectionObserver","selectionCb","collapsed","updateSelection","selection","ranges","startContainer","startOffset","endContainer","endOffset","initCustomElementObserver","customElementCb","constructor","initObservers","o2","_hooks","mousemoveHandler","mouseInteractionHandler","scrollHandler","viewportResizeHandler","inputHandler","mediaInteractionHandler","styleSheetObserver","adoptedStyleSheetObserver","styleDeclarationObserver","fontObserver","selectionObserver","customElementObserver","pluginHandlers","plugin","CrossOriginIframeMirror","generateIdFn","remoteId","idToRemoteMap","remoteToIdMap","idToRemoteIdMap","remoteIdToIdMap","ids","IframeManagerNoop","IframeManager","crossOriginMessageEvent","transformedEvent","iframeMirror","ShadowDomManagerNoop","ShadowDomManager","iframeElement","iframeWindow","manager","chars","lookup","i$1","CanvasManagerNoop","StylesheetManager","linkEl","adoptedStyleSheetData","_linkEl","ProcessedNodeManager","thisBuffer","wrappedEmit","_takeFullSnapshot","cleanFrame","mirror","record","emit","checkoutEveryNms","checkoutEveryNth","_maskInputOptions","_slimDOMOptions","maxCanvasSize","packFn","mousemoveWait","recordDOM","recordCrossOriginIframes","recordAfter","collectFonts","plugins","errorHandler2","onMutation","getCanvasManager","inEmittingFrame","passEmitsToParent","lastFullSnapshotEvent","incrementalSnapshotCount","isCheckout","exceedCount","exceedTime","takeFullSnapshot2","wrappedMutationEmit","wrappedScrollEmit","wrappedCanvasMutationEmit","wrappedAdoptedStyleSheetEmit","iframeManager","processedNodeManager","canvasManager","_getCanvasManager","shadowDomManager","takeFullSnapshot","getCanvasManagerFn","ReplayEventTypeIncrementalSnapshot","ReplayEventTypeCustom","timestampToMs","timestampToS","addBreadcrumbEvent","INTERACTIVE_SELECTOR","getClosestInteractive","getClickTargetNode","getTargetNode","isEventWithTarget","onWindowOpen","monkeyPatchWindowOpen","originalWindowOpen","IncrementalMutationSources","clickDetector","clickBreadcrumb","ClickDetector","slowClickConfig","_addBreadcrumbEvent","cleanupWindowOpen","nowInSeconds","ignoreElement","isClickBreadcrumb","newClick","click","timedOutClicks","hadScroll","hadMutation","isSlowClick","clickCount","timeAfterClickMs","endReason","setTimeout$3","SLOW_CLICK_TAGS","updateClickDetectorForRecordingEvent","isIncrementalEvent","isIncrementalMouseInteraction","createBreadcrumb","ATTRIBUTES_TO_RECORD","getAttributesToRecord","normalizedKey","handleDomListener","handleDom","isClick","getBaseDomBreadcrumb","getDomTarget","handleKeyboardEvent","getKeyboardBreadcrumb","metaKey","shiftKey","ctrlKey","altKey","isInputElement","hasModifierKey","baseBreadcrumb","ENTRY_TYPES","createResourceEntry","createPaintEntry","createNavigationEntry","webVitalHandler","createPerformanceEntries","createPerformanceEntry","getAbsoluteTime","decodedBodySize","domComplete","encodedBodySize","domContentLoadedEventStart","domContentLoadedEventEnd","domInteractive","loadEventStart","loadEventEnd","redirectCount","transferSize","initiatorType","responseEnd","responseStatus","getLargestContentfulPaint","lastEntry","getWebVital","isLayoutShift","getCumulativeLayoutShift","layoutShifts","nodeIds","getInteractionToNextPaint","attributions","rating","setupPerformanceObserver","addPerformanceEntry","onEntries","clearCallbacks","clearCallback","_addBreadcrumb","makeReplayDebugLogger","_capture","_trace","debug$1","EventBufferSizeExceededError","EventBufferArray","eventSize","eventsRet","WorkerHandler","worker","EventBufferCompressionWorker","EventBufferProxy","hasCheckout","waitForCheckout","addEventPromises","createEventBuffer","useCompression","customWorkerUrl","_loadWorker","workerUrl","_getWorkerUrl","hasSessionStorage","clearSession","deleteSession","isSampled","saveSession","started","lastActivity","segmentId","previousSessionId","getSessionSampleType","sessionSampleRate","allowBuffering","createSession","stickySession","fetchSession","sessionStringFromStorage","sessionObj","isExpired","initialTime","expiry","targetTime","isSessionExpired","maxReplayDuration","sessionIdleExpire","shouldRefreshSession","loadOrCreateSession","sessionOptions","existingSession","isCustomEvent","addEventSync","shouldAddEvent","_addEvent","addEvent","eventBuffer","isBufferMode","replayOptions","eventAfterPossibleCallback","maybeApplyCallback","isExceeded","timestampInMs","isReplayEvent","isFeedbackEvent","handleAfterSendEvent","handleTransactionEvent","handleErrorEvent","replayContext","beforeErrorSampling","handleBeforeSendEvent","handleHydrationError","exceptionValue","handleBreadcrumbs","beforeAddBreadcrumb","isBreadcrumbWithCategory","normalizeBreadcrumb","normalizeConsoleBreadcrumb","isTruncated","normalizedArgs","normalizedArg","isRrwebError","resetReplayIdOnDynamicSamplingContext","addFeedbackBreadcrumb","shouldSampleForBufferEvent","handleGlobalEventListener","createPerformanceSpans","handleHistory","handleHistorySpanListener","shouldFilterRequest","addNetworkBreadcrumb","getBodySize","textEncoder","formDataStr","parseContentLengthHeader","mergeWarning","newMeta","existingWarnings","makeNetworkReplayBreadcrumb","buildSkippedNetworkRequestOrResponse","bodySize","buildNetworkRequestOrResponse","normalizedBody","warnings","normalizeNetworkBody","getAllowedHeaders","allowedHeaders","filteredHeaders","exceedsSizeLimit","isProbablyJson","_strIsProbablyJson","truncatedBody","urlMatches","urls","fullUrl","getFullUrl","baseURI","fixedUrl","captureFetchBreadcrumbToReplay","_prepareFetchData","enrichFetchBreadcrumb","reqSize","resSize","requestBodySize","responseBodySize","captureDetails","_getRequestInfo","_getResponseInfo","networkCaptureBodies","networkRequestHeaders","getRequestHeaders","requestBody","bodyStr","networkResponseHeaders","getAllHeaders","bodyText","_parseFetchResponseBody","getResponseData","_tryCloneResponse","_tryGetResponseText","allHeaders","getHeadersFromOptions","_getResponseText","txt","captureXhrBreadcrumbToReplay","_prepareXhrData","enrichXhrBreadcrumb","_getBodySize","getResponseHeaders","requestWarning","responseBody","responseWarning","_getXhrResponseBody","_parseXhrResponse","responseType","handleNetworkBreadcrumbs","networkDetailAllowUrls","networkDetailDenyUrls","beforeAddNetworkBreadcrumb","_isXhrBreadcrumb","_isXhrHint","_isFetchBreadcrumb","_isFetchHint","addGlobalListeners","feedbackEvent","addMemoryEntry","createMemoryEntry","memoryEntry","jsHeapSizeLimit","totalJSHeapSize","usedJSHeapSize","debounce$1","NAVIGATOR","getRecordingSamplingOptions","getHandleRecordingEmit","hadFirstEvent","_isCheckout","addSettingsEvent","earliestEvent","createOptionsEvent","closestElementOfNode","createReplayEnvelope","replayEvent","recordingData","prepareRecordingData","payloadWithSequence","replayHeaders","prepareReplayEvent","event_id","eventHint","preparedEvent","sendReplayRequest","segment_id","eventContext","preparedRecordingData","errorIds","traceIds","initialTimestamp","TransportStatusCodeError","RateLimitError","sendReplay","replayData","retryConfig","THROTTLED","SKIPPED","throttle","maxCount","durationSeconds","_cleanup","_getTotalCount","isThrottled","wasThrottled","ReplayContainer","recordingOptions","slowClickTimeout","slowClickIgnoreSelectors","experiments","errorSampleRate","requiresManualStart","canvasOptions","forceFlush","continueRecording","activityTime","hasStoppedRecording","cbResult","lastActiveSpan","lastRootSpan","_lastActivity","initialTimestampInSeconds","_context","dropReason","tooShort","tooLong","_flushInProgress","ignoreMutations","mutationLimit","mutationBreadcrumbLimit","overMutationLimit","getOption","defaultSelectors","getPrivacyOptions","unmask","block","unblock","ignore","defaultBlockedElements","maskSelector","unmaskSelector","maskAttribute","maskAttributes","privacyOptions","MEDIA_SELECTORS","DEFAULT_NETWORK_HEADERS","_initialized","replayIntegration","Replay","flushMinDelay","flushMaxDelay","minReplayDuration","_experiments","blockAllMedia","maskFn","beforeAddRecordingEvent","_getMergedNetworkHeaders","finalOptions","loadReplayOptionsFromClient","canvasIntegration","initialOptions","replaysSessionSampleRate","replaysOnErrorSampleRate","resourceTimingToSpanAttributes","resourceTiming","timingSpanData","responseToSpanId","spanIdToEndTimestamp","defaultRequestInstrumentationOptions","instrumentOutgoingRequests","traceFetch","traceXHR","trackFetchStreamPerformance","shouldCreateSpanForRequest","enableHTTPTimings","tracePropagationTargets","onRequestSpanStart","shouldAttachHeadersWithTargets","updatedTimestamp","createdSpan","getFullURL","addHTTPTimings","xhrCallback","isPerformanceResourceTiming","attributeArray","resolvedUrl","currentOrigin","isSameOriginRequest","isRelativeSameOriginRequest","urlForSpanName","addTracingHeadersToXhrRequest","setHeaderOnXhr","sentryTraceHeader","sentryBaggageHeader","originalBaggageHeader","baggageHeaderHasSentryValues","registerBackgroundTabDetection","cancelledStatus","PREVIOUS_TRACE_MAX_DURATION","PREVIOUS_TRACE_KEY","PREVIOUS_TRACE_TMP_SPAN_ATTRIBUTE","linkTraces","linkPreviousTrace","consistentTraceSampling","useSessionStorage","inMemoryPreviousTraceInfo","getPreviousTraceFromSessionStorage","oldPropagationContext","addPreviousTraceSpanLink","storePreviousTraceInSessionStorage","isFirstTraceOnPageload","mutableSamplingContextData","spanContextSampled","previousTraceInfo","getSampleRate","updatedPreviousTraceInfo","previousTraceSpanCtx","BROWSER_TRACING_INTEGRATION_ID","DEFAULT_BROWSER_TRACING_OPTIONS","browserTracingIntegration","latestRoute","optionalWindowDocument","enableInp","enableElementTiming","enableLongTask","enableLongAnimationFrame","enableInteractions","enableStandaloneClsSpans","enableStandaloneLcpSpans","beforeStartSpan","markBackgroundSpan","instrumentPageLoad","instrumentNavigation","detectRedirects","_collectWebVitals","lastInteractionTimestamp","_createRouteSpan","makeActive","isPageloadTransaction","finalStartSpanOptions","idleSpan","setActiveIdleSpan","emitFinish","interactionHandler","maybeEndActiveSpan","getActiveIdleSpan","navigationOptions","traceOptions","getMetaContent","startingUrl","startBrowserTracingPageLoadSpan","navigationIsRedirect","isRedirect","startBrowserTracingNavigationSpan","registerInteractionListener","pageloadSpan","metaName","metaTag","inflightInteractionSpan","registerInteractionTransaction","activeIdleSpan","currentRootSpanOp","ACTIVE_IDLE_SPAN_PROPERTY","REDIRECT_THRESHOLD","promisifyRequest","dbName","storeName","dbp","maxQueueSize","unshift","createIndexedDbStore","getStore","deserialized","makeIndexedDbOfflineTransport","makeBrowserOfflineTransport","MS_TO_NS","THREAD_ID_STRING","THREAD_NAME","OS_PLATFORM","OS_PLATFORM_VERSION","OS_ARCH","OS_BROWSER","OS_MODEL","OS_LOCALE","isUserAgentData","userAgentData","firstUa","isProcessedJSSelfProfile","enrichWithThreadInformation","convertJSSelfProfileToSampledFormat","getTraceId","createProfilePayload","profile_id","start_timestamp","processed_profile","enrichedThreadProfile","transactionStartMs","transactionEndMs","applyDebugMetadata","isAutomatedPageLoadSpan","EMPTY_STACK_ID","STACK_ID","firstSample","perfOrigin","adjustForOriginChange","jsSample","stackTop","addProfilesToEnvelope","findProfiledTransactionsFromEnvelope","isValidSampleRate","isValidProfile","PROFILING_CONSTRUCTOR_FAILED","MAX_PROFILE_DURATION_MS","isJSProfilerSupported","maybeProfiler","startJSSelfProfile","JSProfilerConstructor","samplingIntervalMS","maxSamples","shouldProfileSpan","profilesSampleRate","createProfilingEvent","PROFILE_MAP","getActiveProfilesCount","takeProfileFromGlobalCache","addProfileToGlobalCache","startProfileForSpan","profiler","onProfileHandler","maxDurationTimeoutID","originalEnd","profilingWrappedSpanEnd","browserProfilingIntegration","profiledTransactionEvents","profilesToAddToEnvelope","profiledTransaction","profileEvent","_spotlightIntegration","isSpotlightInteraction","setupSidecarForwarding","makeFetch","failCount","spotlightBrowserIntegration","init$1","CLIENTS_WITH_INSTRUMENT_NAVIGATION","createReactRouterV6CompatibleTracingIntegration","initPathName","reactRouterV6BrowserTracingIntegration","SERVER_TIMING_DATA","getDataFromServerTiming","navTiming","serverTiming","TRACE_PARENT_KEYS","initSentry","traceParentData","hasTraceParent","Sentry.reactRouterV6BrowserTracingIntegration","Sentry.replayIntegration","Sentry.browserProfilingIntegration","splitterPos","Sentry.spotlightBrowserIntegration","sentryClient","Sentry.init","Sentry.makeBrowserOfflineTransport","Sentry.makeFetchTransport","Sentry.startBrowserTracingPageLoadSpan","_initOptions","_init","initOptions","customSidecarPort","sidecarBaseUrl","appRoot","styleElement","fontStyles","globalStyles","startApp","andromeeda","auroraX","ayuDark","catppuccinFrappe","catppuccinLatte","catppuccinMacchiato","catppuccinMocha","darkPlus","dracula","draculaSoft","everforestDark","everforestLight","githubDark","githubDarkDefault","githubDarkDimmed","githubDarkHighContrast","githubLight","githubLightDefault","githubLightHighContrast","gruvboxDarkHard","gruvboxDarkMedium","gruvboxDarkSoft","gruvboxLightHard","gruvboxLightMedium","gruvboxLightSoft","houston","kanagawaDragon","kanagawaLotus","kanagawaWave","laserwave","lightPlus","materialTheme","materialThemeDarker","materialThemeLighter","materialThemeOcean","materialThemePalenight","minDark","minLight","monokai","nightOwl","nord","oneDarkPro","oneLight","plastic","poimandres","red","rosePine","rosePineDawn","rosePineMoon","slackDark","slackOchin","snazzyLight","solarizedDark","solarizedLight","synthwave84","tokyoNight","vesper","vitesseBlack","vitesseDark","vitesseLight","javascript","angular_expression","angular_let_declaration","angular_template","angular_template_blocks","angular_html","scss","angular_inline_style","angular_inline_template","angularTs","json","typescript","postcss","tsx","astro","html_derivative","java","blade","coffee","regexp","glsl","cpp_macro","cpp","graphql","haml","yaml","handlebars","shellscript","http","imba","jinja_html","jinja","jison","json5","jsonc","jsonl","python","julia","less","markdown","marko","mdc","mdx","php","pug","sass","stylus","svelte","es_tag_css","es_tag_glsl","es_tag_html","es_tag_sql","es_tag_xml","tsTags","markdown_vue","vue_directives","vue_interpolations","vue_sfc_style_variable_injection","vue","vueHtml","vueVine","wasm$1","wgsl","wit","binary","wasmBinary","getWasmInstance","hueAngleToColor","hueAngle","saturationMultiplier","lightnessMultiplier","saturation","lightness","previousPatternContext","previousPatternRatio","previousPatternScale","patternCanvas","patternContext","patternScale","colorToCanvasFill","originX","originY","t1","t8","lineWidth","createColorGetterFromMap","plain","createColorGetterSpectrum","colorMapping","assignColorsByDirectory","startAngle","sweepAngle","totalBytes","childSweepAngle","urlAlphabet","randomStr","dict","getTreeMaxDepth","isFirefox","numberFormat","formatInteger","formatNumberWithDecimal","bytesToText","strokeRectWithFirefoxBugWorkaround","halfWidth","useWheelEventListener","useResizeEventListener","createNanoEvents","DEFAULT_GRAPH_OPTIONS","DEFAULT_PALETTE","CONSTANT_DOT_CHAR_CODE","CONSTANT_NORMAL_FONT","CONSTANT_BOLD_FONT","GraphBase","getText","getSubtext","_animate","disposable","font","textWidth","charWidth","CONSTANT_ROW_HEIGHT","CONSTANT_TEXT_INDENT","CONSTANT_FOCUS_PADDING_RATIO","CONSTANT_ZOOMED_OUT_WIDTH","userOptions","didDrag","oldX","move","up","wheelTime","isZoom","animate","startBytes","prevRightEdge","flags","rightEdge","rectWidth","textX","textY","subText","measuredW","typesetX","typesetW","fillColor","textColor","childRightEdge","mouseEvent","mouseX","mouseY","mouseBytes","xForZoom","translate","mouse","isParentOf","narrowSlice","bytesSoFar","baseRadiusCache","baseRadius","START_ANGLE","maxRadius","innerRadius","prevTailEdge","outerRadius","middleRadius","tailEdge","clampedSweepAngle","isFullCircle","moveToRadius","childFlags","childTailEdge","mouseRadius","mouseAngle","deltaAngle","hit","CONSTANT_PADDING","CONSTANT_HEADER_HEIGHT","CONSTANT_INSET_X","CONSTANT_INSET_Y","layoutTreemap","sortedChildren","worst","shortestSide","totalArea","bytesToArea","maxArea","minArea","x2","y2","w2","h2","areaInRun","oldWorst","newWorst","areaInLayout","lower","upper","cy","cw","transition","matrix","oldAnimationBlend","oldCurrentNode","oldWidth","oldHeight","culling","cullingLayouts","cullingLayout","iter","perviousComposite","nameText","nameWidth","subtext","detailText","sizeText","sizeWidth","headerHeight","selectedPaddingRatio","ox1","oy1","ow","ox2","oy2","nx1","ny1","nx2","ny2","x1","y1","wrap64","isTopLevel"],"mappings":"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,GAAUJ,EAAMC,EAAMC,EAAM,CAC1C,MAAMhvB,EAAQ,KAAO,OAAO8uB,CAAI,EAChC,OAAOE,GAAQD,GAAQ,CAACE,GAAa,KAAK,OAAO,aAAaF,CAAI,CAAC,EAC/D/uB,EACAA,EAAQ,GACd,CCVO,MAAMmvB,GAA0B,CACrC,QACA,MACA,SACA,QACA,SACA,QACA,SACA,OACA,OACA,SACA,MACA,SACA,QACA,SACA,OACA,KACA,SACA,QACA,SACA,OACA,KACA,SACA,SACA,QACA,SACA,SACA,SACA,OACA,OACA,MACA,QACA,SACA,QACA,SACA,OACA,SACA,SACA,QACA,QACA,QACA,SACA,MACA,QACA,SACA,OACA,SACA,SACA,QACA,OACA,OACA,SACA,MACA,SACA,SACA,QACA,SACA,MACA,OACA,SACA,SACA,SACA,KACA,SACA,QACA,QACA,SACA,SACA,OACA,QACA,KACA,OACA,QACA,SACA,OACA,MACA,SACA,SACA,QACA,SACA,OACA,OACA,SACA,SACA,OACA,OACA,SACA,QACA,OACA,QACA,MACA,OACA,MACA,OACA,OACA,OACA,QACA,QACA,QACA,SACA,QACA,SACA,MACA,OACA,SACA,MACA,MACF,EC3GaC,GAAyB,CACpC,KAAM,IACN,MAAO,IACP,KAAM,IACN,MAAO,IACP,OAAQ,IACR,IAAK,IACL,OAAQ,IACR,KAAM,IACN,IAAK,IACL,KAAM,IACN,KAAM,IACN,MAAO,IACP,IAAK,IACL,IAAK,IACL,IAAK,IACL,KAAM,IACN,IAAK,IACL,OAAQ,IACR,KAAM,IACN,KAAM,IACN,MAAO,IACP,MAAO,IACP,KAAM,IACN,OAAQ,IACR,MAAO,IACP,KAAM,IACN,KAAM,IACN,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,OAAQ,IACR,KAAM,IACN,MAAO,IACP,MAAO,IACP,OAAQ,IACR,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,KAAM,IACN,OAAQ,IACR,OAAQ,IACR,MAAO,IACP,KAAM,IACN,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","x_google_ignoreList":[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,66,67,70,71,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,204,205,206,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,237,242,244,245,258,259,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331,332,333,334,335,336,337,338,339,368,369,370,371,372,373,374,375,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427,428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477,478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577,578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627,628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657]}